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

能力建设和继续教育中心网站申请注册网站域名.商城

能力建设和继续教育中心网站,申请注册网站域名.商城,郑州建设网站定制,wordpress商品展示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/789530.html

相关文章:

  • 互助盘网站建设企业网站制作 深圳
  • 大学生学风建设专题网站海外推广营销 平台
  • 小游戏开发软件深圳seo网站推广公司
  • 网页设计基础考试题库含答案网站关键词优化的价格
  • 做网站商铺模板公司app开发报价
  • 哪个网站可以做行程怎么知道网站是哪个公司做的
  • wordpress tag标签调用seo专业优化方法
  • 我是做环保类产品注册哪些浏览量大的网站推销自己的产品比较好呢wordpress p
  • 已经有了域名和服务器怎么做网站做短连接的网站
  • 音乐主题的网站设计彭州网站建设28pz
  • 泉州网站建设案例手机和pc合一的网站
  • 旅游网站的设计与制作html家居企业网站建设如何
  • 古董手表网站传媒公司起名大全
  • vultr服务器建wordpress杭州网站优化培训
  • 自己电脑做网站 路由器上海个人网站建立
  • 江苏德丰建设集团网站厦门建设局咨询电话
  • 新加坡网站后缀ppt做的比较好的网站有哪些
  • 怎么做网站seo优化网站申请了如何上传到服务器
  • 网站版面设计说明网页设计导航栏尺寸
  • 怎么样创建网站网络营销方式一般有
  • 免费做海报的网站淮南建设网
  • 企业网站建设的要素网站关键词书写步骤
  • 定制版网站建设费用wordpress 主题制作 视频教程
  • 东莞网站制作支付通道wordpress微信绑定域名
  • 重庆好的网站建设公司莱州网站建设包年多少钱
  • 网站建设公司西安百度快照是什么意思
  • wordpress托管和建站网站建设和维护费用
  • 怎么做网站的优化精品课程网站设计代码
  • phpcms手机网站怎么做网站建设 可行性
  • 贸易网站开发怎么做网站内容