当前位置: 首页 > wzjs >正文

网站开发和推广的不同网站推广沈阳

网站开发和推广的不同,网站推广沈阳,资料库网站开发报价,微信推广员是真的吗tcp和udp的数据传输过程以及区别 目录 一、数据传输过程 1.1 UDP 数据报服务图 1.2 TCP 字节流服务图 1.3 tcp和udp的区别 1.3.1 连接特性 1.3.2 可靠性 1.3.3 数据传输形式 1.3.4 传输效率与开销 应用场景 一、数据传输过程 1.1 UDP 数据报服务图 这张图展示了 UDP 数据报服务…

tcp和udp的数据传输过程以及区别

目录

一、数据传输过程

1.1 UDP 数据报服务图

1.2 TCP 字节流服务图 

1.3 tcp和udp的区别

1.3.1 连接特性

1.3.2 可靠性

1.3.3 数据传输形式

1.3.4 传输效率与开销

应用场景


一、数据传输过程

1.1 UDP 数据报服务图

 

这张图展示了 UDP 数据报服务的工作流程:

发送端

应用层:通过 `sendto()` 函数来发起数据发送操作。`sendto()` 是 UDP 编程中用于发送数据报的函数,它可以指定目标地址(IP 地址和端口号 )以及要发送的数据内容。在应用层,可能会有多个不同的操作或请求需要通过 UDP 发送数据,所以会多次调用 `sendto()` 函数 。

传输层:将应用层传递过来的数据封装成 UDP 数据报。UDP 数据报由 UDP 报头和数据部分组成,报头包含源端口号、目的端口号、长度和校验和等信息,完成封装后的数据报会被发送到网络中。

接收端

传输层:从网络中接收 UDP 数据报,检查数据报的目的端口号等信息,将符合条件的数据报传递给应用层 。

应用层:使用 `recvfrom()` 函数接收从传输层传来的 UDP 数据报。`recvfrom()` 函数不仅能接收数据,还能获取发送方的地址信息(源 IP 地址和端口号 ) 。同样,在应用层可能会多次调用 `recvfrom()` 函数来处理不同时刻接收到的数据报。

展示了 UDP 协议数据传输过程。发送端应用层通过 sendto() 函数将数据传递给传输层,传输层封装成 UDP 数据报进行发送;接收端传输层接收 UDP 数据报,应用层通过recvfrom() 函数接收数据。体现了 UDP 无连接、简单的传输特点,发送方直接发送,接收方直接接收,不涉及复杂连接建立与管理 。

1.2 TCP 字节流服务图 

这张图展示了 TCP 字节流服务的特性

发送端

应用层:应用层通过多次调用 `send()` 函数分别发送 “hello”、“abc”、“test” 这些数据。`send()` 函数用于将应用层数据传递给传输层。

传输层:TCP 协议将这些数据暂存于 TCP 发送缓冲区。TCP 为了提高传输效率,会根据自身机制(如窗口大小、拥塞控制等 )对发送缓冲区中的数据进行组合和封装。如图中所示,可能会把 “hello” 和 “abc” 组合在一起封装成一个 TCP 报文段,“test” 单独封装成一个 TCP 报文段。这种组合并非严格按应用层发送顺序和边界,而是根据 TCP 自身策略。

接收端

传输层:接收端的 TCP 协议从网络中接收 TCP 报文段,先存储在 TCP 接收缓冲区。

应用层:应用层通过 `recv()` 函数从 TCP 接收缓冲区读取数据。由于 TCP 发送时可能对数据进行了组合封装,接收端应用层调用 `recv()` 读取数据时,不一定能按发送端应用层的原始边界和顺序获取数据,可能会一次性读取多个发送端组合封装的数据,也可能分多次读取。 总体而言,该图展示了 TCP 字节流服务中,数据在发送端和接收端的处理过程,突出 TCP 并不保证应用层数据的边界,而是以字节流形式进行传输和处理。  

呈现了 TCP 协议的数据传输流程。发送端应用层多次调用 send() 函数发送数据,数据先存于 TCP 发送缓冲区,传输层根据自身机制(如窗口、拥塞控制 )将缓冲区数据封装成 TCP 报文段发送;接收端传输层接收 TCP 报文段存于 TCP 接收缓冲区,应用层通过 recv() 函数读取数据。展示了 TCP 面向连接、可靠传输,且不保证应用层数据边界的特性 。

1.3 tcp和udp的区别

1.3.1 连接特性

  • TCP:面向连接协议。数据传输前,客户端和服务器需通过 “三次握手” 建立连接,就像打电话先拨号接通 。建立连接能确保双方准备就绪,为可靠传输奠定基础,数据传输完毕后还需 “四次挥手” 断开连接 。
  • UDP:无连接协议。传输数据无需建立连接,如同直接寄信,知道对方地址(IP 和端口 )即可发送,减少连接建立与拆除开销,传输更高效,但缺乏连接保障 。

1.3.2 可靠性

  • TCP:可靠传输协议。具备确认机制(ACK ),发送数据包后等待接收方确认,未收到确认在一定时间后重传 ;有重传机制,数据包丢失或超时未确认时自动重发 ;通过序列号确保数据包按序到达,乱序时可重新排序 ;还有流量控制和拥塞控制机制,避免网络拥塞和数据丢失 。
  • UDP:不可靠传输协议。不保证数据包可靠到达,可能出现丢失、重复、乱序情况 ,无确认、重传等机制,检测到错误直接丢弃分组,不做纠错 。不过部分应用层可自行实现可靠性机制来弥补 。

1.3.3 数据传输形式

  • TCP:面向字节流。将应用层数据视为无结构字节流,不保留报文边界,根据自身机制(如窗口大小、拥塞控制 )对数据进行拆分、组合后传输 ,可能出现 “粘包”“拆包” 现象 。
  • UDP:面向报文。对应用层交来的报文不拆分、不合并,添加首部后直接交付给 IP 层 ,保留报文边界,一个 UDP 数据报对应一个报文 。

1.3.4 传输效率与开销

  • TCP:因连接建立、可靠性保障(确认、重传等 )及流量、拥塞控制机制,传输效率相对低 ;首部开销大,固定 20 字节(无选项时 ),含序列号、确认号、窗口大小等控制信息 。
  • UDP:无连接建立和复杂控制机制,传输效率高、速度快 ;首部开销小,仅 8 字节 ,包含源端口号、目的端口号、长度和校验和 。

应用场景

  • TCP:适用于对数据可靠性要求极高场景,如文件传输(FTP 等 )、电子邮件(SMTP、POP3 等 )、网页浏览(HTTP ) 、远程登录(Telnet )等 ,这些场景不容许数据丢失或错误 。
  • UDP:适用于实时性要求高、能容忍少量数据丢失场景,如网络视频会议、在线游戏、流媒体播放(如 RTSP 协议常用 UDP )、DNS 查询等 。

http://www.dtcms.com/wzjs/237379.html

相关文章:

  • 系统之家官网简述seo
  • 怎样在网站上做专栏百度广告投放代理商
  • 如何自己注册域名郑州百度搜索优化
  • 苏州网站开发建设服务谷歌三件套
  • 可以做外链视频的网站seo关键词优化外包
  • 可以做区位分析的网站优化关键词的步骤
  • 网站的验证码是怎么做的性能优化工具
  • 做网站用什么软件语言四年级2023新闻摘抄
  • 全网营销型网站建设谷歌浏览器下载手机版
  • 广东建设网官网seo优化的网站
  • 怎么做正规网站吗友情链接互换
  • 做网站浏览器软文推广代理
  • 厦门鹏中兴建设网站合肥网
  • 苏州网站建设推荐q479185700霸屏免费网站优化排名
  • 青岛开发区网站快速排名优化seo
  • 东营做网站营销推广方案案例
  • wordpress更新5.2信阳seo优化
  • windowxp做网站服务器b站推广渠道
  • 河南郑州网站关键词排名助手世界球队实力排名
  • 一台服务做两个网站吗专业做网站的公司
  • 网站界面设计的基本原则是什么百度网盘网页版官网
  • 网站建设预算百度地图网页版进入
  • c#做的网站怎么上传seo优化系统
  • 成都科技网站建设找北京seo多少钱
  • 公司 网站源码站长seo综合查询
  • 网站开发 教程百度招聘网最新招聘信息
  • 用php写的网站有哪些糕点烘焙专业培训学校
  • 网站含中国的备案东莞网站营销推广
  • wordpress 加cdn宁波seo推广推荐公司
  • 温州网站建设制作推广app的软文案例