运输层协议概述
进程之间的通信
运输层的作用
为相互通信的应用进程提供了逻辑通信
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JPt0Srne-1658979327241)(https://api2.mubu.com/v3/document_image/d49c7c24-1b2f-4c4e-a4e8-3e2ca0edf7c0-16574888.jpg)]
“逻辑通信”的意思是“好像是这样通信,但事实上并非真的这样通信”。
从IP层来说,通信的两端是两台主机。但这种说法还不够清楚。严格地讲,两台主机进行通信就是两台主机中地应用进程互相通信
从运输层地角度看,通信地真正端点并不是主机而是主机中地进程。也就是说,端到端地通信是应用进程之间的通信。
这表明运输层有一个很重要的功能:复用和分用

根据应用程序的不同需求,运输层需要两种不同运输协议
运输层两个主要协议
两个对等运输实体在通信时传送的数据单位叫做运输协议数据单元TPDU
用户数据报协议UDP
DNS,TFTP,RIP,DHCP,SNMP,NFS,IGMP……
传输控制协议TCP
SMTP,TELNET,HTTP,FTP……
运输层的端口
背景
端口概念

常用熟知端口

用户数据报协议UDP
UDP概述
UDP只在IP数据报服务之上增加了很少一点的功能
主要特点
无连接的
使用尽最大努力交付
面向报文的

没有拥塞控制
UDP支持一对一、一对多、多对一、多对多的交互通信
UDP首部开销小
UDP首部格式

在计算校验和时,临时把伪首部和UDP用户数据报连接在一起。伪首部仅仅是为了计算校验和,在传递给下层时伪首部丢弃。
传输控制协议TCP概述
TCP最重要的特点
面向连接
每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的
可靠交付服务(不重复不丢失不失序)
全双工通信
面向字节流


TCP连接

可靠传输工作原理
理想的传输条件特点的两个特点
然而实际网络都不具备以上两个理想条件。但我们可以使用一些可靠传输协议,当出现差错时让发送方重传出现差错的数据,同时在接收方来不及处理收到的数据时即时告诉发送方适当降低发送数据的速度。
停止等待协议
使用确认和重传机制我们就可以在不可靠的传输网络上实现可靠通信,可靠传输协议常常称为自动重传请求ARQ,意思是重传的请求是自动进行的,接收方不需要请求发送方重传某个出错的分组
概念
理想状态无差错情况
不理想三种情况
请注意
发送分组掉了or接受M1时检测出了差错丢弃了M1【这两种情况B都不会发送任何信息】

确认分组掉了

都没掉但是堵车绕远路了

优点
缺点

连续ARQ协议


TCP报文段的首部格式

TCP可靠传输的实现
以字节为单位的滑动窗口。


超时重传时间的选择


TCP流量控制

TCP拥塞控制
拥塞控制的一般原理
TCP拥塞控制方法
增加资源(加大带宽或者路由器性能提升等)

拥塞控制与流量控制的区别
拥塞控制作用

检测网络拥塞的指标(这些指标的上升都标志拥塞的增长 )
TCP拥塞控制方法
开环控制
闭环控制
TCP采用基于窗口的方法进行拥塞控制。该方法属于闭环控制方法。
TCP发送方维持一个拥塞窗口CWND
拥塞的判断

TCP拥塞控制算法(自动)
慢开始

拥塞避免

快重传
快恢复
主动队列管理AQM
背景
先进先出处理规则
路由器的队列通常都是按照“先进先出”FIFO的规则处理到来的分组。
当队列已满时,以后再到达的所有分组(如果能够继续排队,这些分组都将排在队列的尾部)将都被丢弃。这就叫做尾部丢弃策略
路由器的尾部丢弃往往会导致一连串分组的丢失,这就使发送方出现超时重传,使TCP进入拥塞控制的慢开始的状态。结果使TCP连接的发送方突然把数据的发送速率降低到很小的数值
随机早期检测RED

TCP运输连接管理
TCP连接建立
运输连接的三个阶段
TCP连接建立过程中要解决的三个问题
客户服务器方式
三次握手

客户服务器之间交换三个TCP报文段,主要是为了防止已失效的连接请求报文段突然又传送到了,因而产生错误
TCP连接释放
四次握手

保活计时器
TCP有限状态机

状态个数是有限个