为什么要进行多路复用和多路分用,如果某层的一个协议对应直接上层的多个协议或者实体,则与要多路复用和多路分用
分用如何工作
每一个传输层的报文段都必须携带源端口号和目的端口号,主机数到segment之后,传输层协议提取ip地址和端口号信息,将segment导向相应的socket。网络层不关心报文段的端口号信息。
无连接的分用(udp)
1利用端口号创建socket,2udp的socket用二元组标识(目的ip地址,目的端口号)3主机收到udp段后,检查段中的目的端口号,再将udp段导向绑定在该端口号的socket4来自不同源ip地址或源端口的ip数据包被导向同一个socket
面向连接的多路分用
tcp的socket用四元组标识
源ip地址,源端口号,目的ip地址,目的端口号,会创建多个进程,多个tcpsocket。
这两个连接的唯一不同在于源端口号,tcp协议是一对一的,一个客户机进程对应一个服务器进程。一个进程可以创建多个线程,把他们和不同的进行tcp连接,通过不同的线程维持tcp连接提供服务。