复用和分用

多路复用和多路分用是传输层协议必须提供的服务。

多路复用和多路分用在网络传输过程中是普遍存在的,非传输层独有。

1. 一个例子

host1的p3进程向host2的p1进程传输信息,与此同时host3的p4进程也向host2的p2进程传输信息。

对于接收端,接收端运输层对到达的多个运输层报文进行识别,提取socket信息,将报文段定位到对应的socket上,该过程称为多路分用。

对于发送端,从不同socket上收集信息并分别加上首部,通过网络层发送出去,称为多路复用。

2. 多路分用的具体工作方式

主机接收一个IP数据报,该IP数据报携带源IP地址目的IP地址。对IP数据报解封装后得到一个传输层的segment,segment中有源端口号目的端口号,对应着源进程目的进程,传输层协议根据端口号正确的分发数据。

3. 无连接分用(UDP)

无连接分用的特点:

  • 创建socket,并将socket绑定到某个端口号上,UDP使用目的IP地址目的端口号组成二元组唯一标识socket
  • 主机收到UDP段后,检查目的端口号,UDP段连接到对应端口上的socket。
  • 来自不同主机而传输给同一进程的UDP段会被连接到同一个socket上。

 4. 面向连接分用(TCP)

 面向连接分用的特点:

  • TCP采用包含源IP地址、源端口号、目的IP地址、目的端口号的四元组来标识socket。
  • TCP协议是面向连接的(点对点的)协议,体现在传输层上就是接收进程会为每一个不同来源的TCP段创建socket。

多进程的面向连接分用:


 

由于创建和维护进程的成本较高,通常服务器会采用一种更低成本的方法,也就是创建一个进程下的多个线程来与客户机通信,每个线程会有独立的socket。

多线程的面向连接分用:

 

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值