计算机网络③-①:传输层&封装顺序&网络包在不同层的名称、TCP/UDP的异同、延迟与丢包、UDP的特点/使用场景/定制化的例子

1 传输层&封装顺序&网络包在不同层的名称

传输层:第四层。该层协议为网络端点主机上的进程之间提供了可靠、有效的报文传送服务。

封装报文是从上层到下层(应用层 --> 传输层 --> 网络层 – > 数据链路层 --> 物理层),解封装报文是从下层到上层。

网络包在链路层交帧,网络层叫包,传输层叫段。

2 TCP/UDP的异同

  1. 应用程序无论是用TCP还是UDP传输数据,都要监听一个端口。
  2. UDP包到达目标机器后,发现MAC地址匹配,把MAC头取下来,把剩下的包交给IP层,把IP头取下来,发现IP地址匹配。之后根据TCP/UDP的端口号把数据交给应用程序。
  3. TCP是面向连接的,UDP是面向无连接的。
  4. 建立连接是指为了维护客户端和服务端的连接而去建立一定的数据结构,从而维护双方交互的状态,并用这样的数据结构来保证面向连接的特性。
  5. UDP是一个一个地发,一个一个地收。而TCP严格的顺序策略要保证前一个包收到了,才能确认下个包;即便前一个包没收到,下一个包先收到,也需要在缓存里面等着。
  6. HTTP是基于TCP的,直播协议RTMP(Real Time Messaging Protocal,实时消息传输协议)是基于TCP的。

2 延迟与丢包

  ①延迟(TCP):200ms,100ms,按了按键后过一段时间英雄才有反应。
  ②丢包(UDP):按了按键,这个包没有送达服务器,英雄没有反应。

3 UDP的三大特点

  ①沟通简单,没有大量的数据结构、处理逻辑、包头字段。
  ②虽然监听某个端口号,但是不会在端口之间建立连接。 UDP下,谁都可以给这个端口传输数据,这个端口也可以给其他端口传输数据,甚至可以同时给多个端口传输数据。
  ③它不会根据网络的情况进行发包的拥塞控制,无论什么网络丢包成啥样了,它该怎么发怎么发。

4 UDP使用的三大场景

  ①需要资源少、网络情况比较好的内网,或者对于丢包不敏感的应用。
  ②不需要一对一沟通来建立连接、可以广播的应用。
  ③要求处理速度快、时延低、可以容忍少量丢包,但是要求即便网络堵塞,也毫不退缩、一往无前的应用。

5 UDP定制化的例子

  ①QUIC(Quick UDP Internet Connection,快速UDP互联网连接)是Google提出的一种基于UDP改进的通信协议。QUIC会在应用层上自己快速建立连接、减少重传时延、自适应拥塞控制, 是应用层定制化的代表。
  ②对于视频直播,TCP要等待老视频帧的策略损失了实时性,增加了延迟。对于视频直播,宁可丢包,也不要卡帧,有选择性的丢帧(隔几个帧丢一个包)不会造成观感影响。另外,网络不好时TCP会主动降低发送速度,更卡。所以很多直播应用基于UDP实现。
  ③在游戏对实时要求较为严格的情况下,可以采用自定义的可靠UDP来传输数据包,通过自定义重传策略,能够把丢包产生的延迟降到最低,减少网络问题对游戏造成的影响。
  ④物联网终端采用UDP降低时延。
  ⑤移动通信领域,采用基于UDP的GTP-U。

③-①小结:
  ①TCP复杂,UDP简单,TCP维护连接,UDP谁都相信,TCP知进退,UDP勇往直前。
  ②UDP虽然简单,但它有简单的用法。它可以用在环境简单、需要多播、应用层自己控制的地方,例如DHCP、VXLAN、QUIC等。VXLAN: Virtual Extensible LAN,虚拟扩展局域网。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值