计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

目录

一、运输层引入

1. 一些常识

2. 运输层的端口

二、用户数据报协议UDP

1. UDP特点

三、 传输控制协议TCP

1. TCP特点:

2. TCP连接

四、可靠传输工作原理

1. 停止等待协议

五、TCP报文段的首部格式

六、TCP可靠传输的实现

1. 以字节为单位的滑动窗口

2. 超时重传时间的选择

3. 选择确认SACK

七、TCP流量控制

1. 利用滑动窗口实现流量控制

八、TCP的拥塞控制

1. 一般原理

2. 拥塞控制和流量控制

3. 拥塞控制方法

 AIDM算法:

九、TCP的运输连接管理

1. 连接建立(三次握手)

2. 连接释放(四次握手)


一、运输层引入

1. 一些常识

运输层向它上面的应用层提供通信服务,逻辑通信

运输层重要功能:复用  ——  分用

网络层为主机之间提供逻辑通信,而运输层为应用进程之间提供端到端的逻辑通信

运输层需要进行差错检测

有两种不同的协议:面向连接的TCP协议、无连接的UDP协议

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

2. 运输层的端口

    1)硬件端口:不同硬件设备进行交互的接口

    2)软件端口:应用层的各种协议进程与运输实体进行层间交互的一种地址

常用熟知端口号
应用程序 FTP TELNET SMTP DNS TFTP HTTP SNTP SNMP(trap) HTTPS
熟知端口号 21 23 25 53 69 80 161 162 443

二、用户数据报协议UDP

1. UDP特点

    1)UDP是无连接的

    2)尽最大可能交付

    3)面向报文

    4)没有拥塞控制

    5)支持一对一,一对多,多对多通信

    6)首部开销小

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

三、 传输控制协议TCP

1. TCP特点:

    1)面向连接的运输层协议

    2)只有两个端点,只能是点对点

    3)提供可靠交付的服务

    4)提供全双工服务

    5)面向字节流,数据长度任意

2. TCP连接

套接字cocket::=( IP地址 : 端口号 )       如(192.3.4.5 :80)

TCP连接    {socket1 , socket2} = {(IP1 : port1) , (IP2 : port2) }

同一个IP地址可以有多个不同的TCP连接,同一个端口号也可以出现在不同的TCP连接中

四、可靠传输工作原理

1. 停止等待协议

每发送一个分组,就停止发送,等待对方确认

传输分为四种情况

1)无差错传输

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

2)超时重传

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

3)确认丢失

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

4)确认迟到

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

2.信道利用率U

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

TD  ---->  发送所需时间

RTT  ---->  往返所需时间

TA  ---->  确认时间

停止等待协议信道利用率低

3. 连续ARQ协议

采用流水线传输

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

五、TCP报文段的首部格式

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

序号:本报文段所发送的数据的第一个字段的序号

确认号:期望收到对方下一个报文段的第一个数据字节的序号

数据偏移:数据其实距离TCP报文段的其实处有多远(用在分片)

紧急URG:URG=1,表示有紧急数据

确认ACK:ACK=1,确认连接,建立连接轴,所有传送报文必须把ACK置1

复位RST:出现严重差错,释放资源,重连,RST=1时有效

同步SYN:SYN=1,ACK=0,表示建立连接,SYN=1,表示连接请求或接收报文

六、TCP可靠传输的实现

1. 以字节为单位的滑动窗口

特点:1)TCP的滑动窗口是以字节为单位的

           2)A收到B发来的确认号31,表示期望下一个发送过来的序号是31,到30为止的都收到了

           3)设置超时计时器,超时重传

实现:1)根据B给出的窗口值,A构造出自己的发送窗口

           2)在设有收到B的确认情况下,A可以把连接的窗口内的值发送出去

           3)窗口越大,坑内获得更高的效率

2. 超时重传时间的选择

TCP每发送一个报文段,就对这个报文段设置一次计时器

    1)加权平均往返时间RTTs

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

α是常数,RFC6298推荐为 α=1/8

    2)超时重传时间RTO

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

Kam算法能够使运输层区分开来有效的和无效的往返时间样本,从而改进了往返时间的估测,使计算结果更为合理

3. 选择确认SACK

实现:1)用指针来标记这些边界,左边界指出字节块的第一个字节的序号,但右边界减1,才是字节块中的最后一个序号

           2)在TCP报文段中的首部都增加了SACK选项,一个边界要用掉4个字节,最多只能指明8个边界,即4个字节块的边界信息

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

七、TCP流量控制

1. 利用滑动窗口实现流量控制

流量控制:让发送方的发送速率不要太快,接收方来得及接收,也不要使网络拥塞

往回发送确认消息的时候,用rwdn来通知设置接收窗口大小,表示允许发送的最大值

八、TCP的拥塞控制

1. 一般原理

    1)出现拥塞的原因:需要的总资源 > 可用资源

    2)出现拥塞后,网络性能被明显破坏,整个网络的吞吐量随输入符合的增加而下降

    3)拥塞常常趋于恶化

    4)拥塞引起的重传并不会环节网络的拥塞,反而会加剧网络的拥塞

2. 拥塞控制和流量控制

    1)拥塞控制

        ①拥塞控制所要做的前提,是网络能承受现有的网络负荷

        ②拥塞控制是一个全局性的过程,涉及到很多因素

    2)流量控制

        ①流量控制往往指点对点的通信量的控制,是一个端到端的问题

        ②流量控制要做的就是控制发送端的数据

3. 拥塞控制方法

    1)拥塞判断:①重传定时器超时

                           ②收到三个相同的ACK

    2)四种算法

        ①慢开始:每经过一个传输轮次,拥塞窗口大小cwnd就加倍,慢在cwnd初始值为1

        ②拥塞避免算法:让拥塞窗口cwnd缓慢增大,每经过一个传输轮次,cwnd加1,相比慢开始算法,增长速度慢得多

 AIDM算法:

        通常①②两种算法混合使用,即所谓的AIDM算法,用慢开始门限ssthresh判断使用类型

              当 cwnd < ssthresh 时,使用慢开始算法

              当 cwnd = ssthresh 时,即可以使用慢开始,也可以使用拥塞避免算法

              当 cwnd > ssthresh 时,使用拥塞避免算法

              当超时重传时,重新设置ssthresh = 上次的cwnd / 2

              计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

        ③快重传:会一直卡在丢失的数据报中,反复发送重复确认,收到3个连续的重复确认之后,立即快重传,避免超时误认为网络拥塞

        ④快恢复:只丢失了个别报文段,不是从慢开始启动,而是调整门限ssthresh = cwnd / 2,执行拥塞避免

九、TCP的运输连接管理

1. 连接建立(三次握手)

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手

2. 连接释放(四次握手)

计算机网络__第五章运输层__常用熟知端口号+UDP协议+TCP协议+TCP可靠传输+慢开始算法+拥塞避免算法+AIDM算法+三次握手