第十六篇:走入计算机网络的传输层--传输层概述
1. 传输层的功能
① 分割与重组数据
一次数据传输有大小限制,传输层需要做数据分割,所以在数据送达后必然也需要做数据重组。
② 按端口号寻址
IP只能定位数据哪台主机,无法判断数据报文应该交给哪个应用,传输层给每个应用都设置了一个编号,这个编号就是端口,目的端口可以定位报文应该发给哪个应用处理。
③ 连接管理
面向连接的传输,需要对连接进行管理。
④ 差错控制和流量控制,纠错的功能
传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。
2. 面向连接和无连接
① 面向连接(代表协议:TCP)
面向连接就是通信双方在通信时,要事先建立一条通信线路,然后进行通信。
其过程分为三个阶段:
第一阶段是建立连接;
第二阶段是连接成功建立之后,进行数据传输;
第三阶段是在数据传输完毕后,释放连接。
② 无连接(代表协议:UDP)
无连接是指通信双方不需要事先建立通信线路,而是把每个带有目的地址的包(报文分组)发送到线路上,由系统选定路线进行传输,不需要目标方进行回复。
3. 如何理解面向连接里面的“连接”?
面向连接就是通信双方在通信时,要事先建立一条通信线路,然后进行通信。这条通信线路并不是一条实际的路,而是我们抽象出来的一条路,简单来说就是:⽤于保证可靠性和流量控制而维护的某些状态信息称为连接也可以理解成“通信线路”;这些状态信息包括Socket、序列号和窗⼝⼤⼩等。
- 套接字:由 IP 地址、端⼝号以及传输层协议(TCP或UDP)组成
- 序列号:⽤来解决乱序问题等
- 窗⼝⼤⼩:⽤来做流量控制
两个套接字可以唯一确定一个“连接”,即四元组:源IP、源端口、目的IP、目的端口。