运输层的TCP与UDP协议(学习笔记)

一、运输层

1. 逻辑通信结构

2. 端口号、复用与分用


二、TCP与UDP的区别

1. 概览图

2. 用户数据报协议UDP(User Datagram Protocol)

  1. UDP面向应用层报文,可以在任何时候发起传输(无连接),向上层提供不可靠传输服务,即如果传输过程中出现误码,也不会触发重传。

  2. 可以支持一对一、一对多、一对全通信

基于这样的特性,UDP常用于视频、音频通话等实时应用。

3. 传输控制协议TCP(Transmission Control Protocol)

  1. TCP是面向字节的,有连接的协议。能保证接收方收到的字节流与发送方发出的字节流完全相同(提供可靠的传输服务),实际应用中使用全双工通信

  2. 只能支持一对一通信

基于TCP的这种特性,常用于要求可靠传输的应用,如文件传输。

4. TCP与UDP报文的区别(简略)

UPD与TCP报文格式详解可以看文末的链接,其他博主写得很好很详细。

三、TCP可靠传输的实现

1. 流量控制

(1)总结

(2)应用举例

(3)持续计时器

2. 拥塞控制

(1)背景


实际的拥塞曲线与理想曲线越接近越好

(2)拥塞控制方法

  1. 慢开始与拥塞避免

  1. 快重传与快恢复

补充:实际的发送方窗口应当考虑服务器ACK指定的窗口和网络拥塞算法得出的窗口,取小。

3. 超时重传及时间选择

结论计算公式如下:

四、TCP运输连接管理

1. 概览

2.TCP三报文握手建立连接

TPC规定,SYN为1的报文不携带数据,但要消耗一个序号(seq)。ack=x+1是指对上一个收到的报文进行确认。

3.TCP四报文挥手释放连接

五、TCP报文格式

参考这两篇文章,写得很详细了

  1. TCP/UDP/IP报文理论格式

  2. TCP报文格式与抓包实战

本来还是有点兴致想要去研究一下cheksum机制的,但是今天因为某些事导致世界观遭到了打击和刷新,已经没有心情去看了,以后再说吧。😢

posted @ 2024-02-02 22:32  wyuu101  阅读(8)  评论(0编辑  收藏  举报