当前位置:网站首页>复用和分用
复用和分用
2022-07-02 11:21:00 【Kallou】
多路复用和多路分用是传输层协议必须提供的服务。
多路复用和多路分用在网络传输过程中是普遍存在的,非传输层独有。
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。
多线程的面向连接分用:

边栏推荐
- Daily learning 2
- Qt原代码基本知识
- Design and implementation of car query system based on php+mysql
- How many knowledge points can a callable interface have?
- 当贝投影4K激光投影X3 Pro获得一致好评:万元投影仪首选
- Fabric.js 元素被选中时保持原有层级
- Do you know that there is an upper limit on the size of Oracle data files?
- P1908 reverse sequence pair
- Golang quickly generates model and queryset of database tables
- 无主灯设计:如何让智能照明更加「智能」?
猜你喜欢

HMS core machine learning service helps zaful users to shop conveniently

Systemserver process

Whole house Wi Fi: a pain point that no one can solve?

Design and implementation of car query system based on php+mysql

The most complete analysis of Flink frame window function

由粒子加速器产生的反中子形成的白洞
![[development environment] Dell computer system reinstallation (download Dell OS recovery tool | use Dell OS recovery tool to make USB flash disk system | install system)](/img/e0/e9cb42f241a60995d4598ba6a1a2fe.jpg)
[development environment] Dell computer system reinstallation (download Dell OS recovery tool | use Dell OS recovery tool to make USB flash disk system | install system)

关于Flink框架窗口(window)函数最全解析
![[development environment] StarUML tool (download software | StarUML installation | StarUML creation project)](/img/08/9f25515e600a3174340b2589c81b0e.jpg)
[development environment] StarUML tool (download software | StarUML installation | StarUML creation project)

Launcher startup process
随机推荐
Fabric.js 手动加粗文本iText
Whole house Wi Fi: a pain point that no one can solve?
Quarkus learning IV - project development to deployment
自定义事件,全局事件总线,消息订阅与发布,$nextTick
《可供方案开发》口算训练机/数学宝/儿童口算宝/智能数学宝 LCD液晶显示驱动IC-VK1622(LQFP64封装),原厂技术支持
Advanced usage of C language -- function pointer: callback function; Conversion table
Fabric. JS upper dash, middle dash (strikethrough), underline
Route (II)
3、函数指针和指针函数
Design of non main lamp: how to make intelligent lighting more "intelligent"?
threejs的控制器 立方体空间 基本控制器+惯性控制+飞行控制
没有从远程服务器‘‘映射到本地用户‘(null)/sa‘的远程用户‘sa‘及服务主密码解密错误的解决办法
数据湖(十一):Iceberg表数据组织与查询
[development environment] Dell computer system reinstallation (download Dell OS recovery tool | use Dell OS recovery tool to make USB flash disk system | install system)
Fabric.js 动态设置字号大小
The global special paper revenue in 2021 was about $27 million, and it is expected to reach $35 million in 2028. From 2022 to 2028, the CAGR was 3.8%
Golang quickly generates model and queryset of database tables
Do you know that there is an upper limit on the size of Oracle data files?
< schematic diagram of oral arithmetic exercise machine program development> oral arithmetic exercise machine / oral arithmetic treasure / children's math treasure / children's calculator LCD LCD driv
什么是 eRDMA?丨科普漫画图解