计算机网络——17多路复用和解复用

多路复用和解复用

多路复用/解复用

在发送方主机多路复用

从多个套接字接收来自多个进程的报文,根据套接字对应的IP地址和端口号等信息对报文段用头部加以封装(连头部信息用于以后的解复用)

在接收方主机多路解复用

根据报文段的头部信息中的IP地址和端口号接收到的报文段发给正确的套接字(和对应的应用进程)

多路解复用工作原理

  • 解复用原理
    • TCP或者UDP实体采用哪些信息,将报文段的数据部分交给正确的socket,从而交给正确的进程
  • 主机收到IP数据报
    • 每个数据报有源IP地址和目标地址
    • 每个数据包承载一个传输层报文段
    • 每个报文段有一个源端口号和目标端口号(特定应用有著名的端口号)
  • 主机联合使用IP地址和端口号将报文段发送给合适的套接字

无连接(UDP)多路解复用

  • 在接收端,UDP套接字用二元组标识(目标IP地址、目标端口号)
  • 当主机接收到UDP段时:
    • 检查UDP段中的目标端 口号
    • 将UDP段交给具备那个端口号的套接字
  • 如果两个不同源IP地址/源端口号的数据报,但是有相同的目标IP地址和端口号,则被定位到相同的套接字

面向连接(TCP)的多路解复用

  • TCP套接字:四元组本 地标识:
    • 源IP地址
    • 源端口号
    • 目的IP地址
    • 目的端口号

解复用:接收主机用 这四个值来将数据报 定位到合适的套接字

  • 服务器能够在一个TCP端口上同时支持多个TCP套接字:
    • 每个套接字由其四元组标识(有不同的源IP和源PORT)
  • Web服务器对每个连接客户端有不同的套接字
    • 非持久对每个请求有不同的套接字

无连接的解复用:例子

面向连接的解复用:例子

相关推荐
承渊政道3 分钟前
Linux网络学习【数据链路层、ARP工作过程与ARP欺骗详解】
linux·网络·学习·数据链路层·arp
Novproxy_Z9 小时前
商用代理避坑:如何识别商家拿机房 IP 冒充住宅 IP
java·网络·tcp/ip
垆边人似月.10 小时前
RDMA 文件传输踩坑(五):READY 发送成功后,为什么出现 Work Request Flushed Error?
服务器·网络·tcp/ip
HideF10 小时前
nmcli
linux·服务器·网络
qetfw11 小时前
UOS DHCP Relay:跨网段分配与 IP、DNS、网关验证
linux·服务器·网络·tcp/ip·uos
尹人入圣11 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
中屹指纹浏览器svip12 小时前
只用指纹浏览器,不搭配IP可以吗?
网络
jimmyleeee12 小时前
Agent安全之八:OWASP ASI08 级联失效------当每一个 Agent 都“正确”,系统却走向灾难
网络·安全·web安全
缓慢更新12 小时前
AI 辅助生成单测:从接口定义到用例的流水线
java·服务器·前端·网络·数据库·人工智能
叼烟扛炮13 小时前
Linux 学习笔记(四十一):TCP 并发演进——从单进程到多线程服务器
linux·运维·服务器·网络·笔记·学习·tcp/ip