文章目录
3 传输层
网络层提供主机之间的逻辑通信机制,而传输层提供应用进程之间的逻辑通信机制
3.1 多路复用和多路分用
- 多路复用(发送端):从多个Socket接收数据,为每块数据封装上头部信息,生成Segment,交给网络层
- 多路分用(接收端):传输层依据头部信息将收到的Segment交给正确的Socket,即不同的进程工作方式:
- 主机接收IP数据报:每个数据报携带源IP地址和目的IP地址,还携带一个传输层的段(Segment),每个段携带源端口号和目的端口号
- 收到Segment之后,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket:网络层不关心端口号信息
3.1.1 无连接的多路分用
- 利用端口号创建Socket
- UDP的Socket用二元组标识:(目的IP地址,目的端口号)
- 主机收到UDP段后检查段中的目的端口号,将UDP段导向绑定在该端口号的Socket,所以只要目的IP和目的端口号相同,来自不同源IP地址和/或源端口号的IP数据包被导向同一个Socket
3.1.2 面向连接的多路分用
-
TCP的Socket用四元组标识:(源IP地址,源端口号,目的IP地址,目的端口号)
-
接收端利用所有的四个值将Segment导向合适的Socket
-
服务器可能同时支持多个TCP Socket,每个Socket用自己的四元组标识:Web服务器为每个客户端开不同的Socket,可能创建多个进程,每个进程一个Socket;也可能创建多个线程,每个线程一个Socket
3.2 无连接传输协议UDP
UDP基于IP协议,解决了<