传输层
该笔记整理自湖科大教书匠和计算机网络(谢希仁)第八版,仅供参考或者学习复习使用。
文章目录
1. 概述
- 运输层向它上面的应用层提供通信服务。
- 真正进行通行的是主机中的应用进程,也就是应用进程与应用进程之间进行通信,也叫端到端通信。
- 因为是不同主机应用进程间进行通信,所以引入端口号的概念用于表示不同应用进程,同时需要屏蔽不同操作系统之间进程标识符的差异。
- 这一层主要的协议是无连接的UDP和面向连接的TCP,具体要使用那个协议取决于应用层需要用到那个。
2. 运输层端口号、复用和分用
2.1 端口号
2.2 复用和分用
- 复用:是指在发送方不同的应用进程都可以使用同一个运输层协议传送数据(要加上适当的首部)。
- 分用:是指接收方的运输层在剥去报文的首部后能够把这些数据正确的交付目的应用进程。
3. 传输控制协议TCP
- TCP(Transmission Control Protocol),即为传输控制协议,是一种面向连接的协议。
- 每一条TCP连接只能有两个端点,也就是点对点通信。
- TCP提供可靠交付服务,通过TCP连接传送的数据,无差错,不丢失,不重复,并且按序到达。
- TCP提供全双工通信。TCP允许双方的应用进程在任何时候都能发送数据。
- TCP是面向字节流的。
3.1 TCP的流量控制
流量控制是基于滑动窗口的。
举例:
例题:
3.2 TCP的拥塞控制
到这里时我开始意识到TCP协议实在是太伟大了。。。
TCP为保证网络的传输质量做了很多的考虑,光是阅读笔记可能无法一下子理解:可以回看5.4~5.5节的内容。
大体上有四个拥塞控制算法:
- 慢开始
- 拥塞避免
- 快重传
- 快恢复
这几种算法一起使用的,并且要知道拥塞窗口的概念,它是一个可以变换大小的滑动窗口。
**慢开始:**到达门限值(阈值),转为使用拥塞避免算法。
拥塞避免:慢开始到达门限值,拥塞窗口就不是慢开始时的指数增长了,而是线性慢慢增长,出现丢失分组现象,就可能出现了拥塞现象,就将拥塞窗口调整为1,门限值调为拥塞窗口的一半,再使用慢开始算法。
快重传:
快恢复:
结合四个算法使用:
例题:
3.3 TCP重传时间的选择
超时重传时间选择的问题比较复杂,因为实际网络传输有很多差异,比如路由器进行转发时的速度不一样。
4. TCP可靠传输的实现
TCP以字节为单位实现可靠传输。
例题:
5. TCP的运输连接管理 ⭐
可以回看网课5.8.2复习,同时可以结合:小林的图解网络进行复习。
5.1 TCP连接的建立
- 要建立连接的一方是客户端,另一方则是服务端
- 一开始客户端是处于
CLOSED
的状态,服务端主动监听某个端口,处于LISTEN
状态。
TCP建立连接的过程
如果该不采用“三次握手”会参生什么样的问题?
总结:
5.2 TCP连接的释放
没有等待的情况:
客户端如果出现故障了,服务端如何发现呢?
总结: