<计算机网络自顶向下> 多路复用与解复用

多路复用/解复用

  • 端口号区分进程到进程
  • 多路解复用工作原理
    • 解复用作用:TCP或者UDP实体采用哪些信息,将报文段的数据部分交给正确的socket,从而交给正确的进程
    • 主机收到IP数据报
      • 每个数据报有源IP地址和目标地址
      • 每个数据报承载一个传输层报文段
      • 每个报文段有一个源端口号和一个目标端口号(特定应用有著名的端口号)
    • 主机联合使用IP地址和端口号将报文段发送给合适的套接字
  • TCP和UDP的多路复用/解复用过程
    • TCP:socket使得在应用层到传输层的时候,到传输层之前segment(包括源端端口号和目标端口号)封装 从传输层到网络层的时候要传入segment和IP地址信息,然后传输和网络层之间要封装为datagram(包括源IP地址和目标IP地址)

      目标主机收到的时候到网络层把IP地址拿出来变为TCP段,然后路过传输层将端口号拿出来(其实就是传输层解析数据报头部),然后把IP地址啥的传上去传输层,传输层解析端口号,把端口号传上去,达到应用层之前查询socket,把数据发送给正确的应用进程。

    • UDP:应用层到传输层要传message,socket和自己的的端口号和IP地址,然后下面和TCP一样的方式封装,解复用的部分也和TCP基本一致

    • TCP和UDP解复用区别

      • UDP:只要目标一样就可以到同一个进程

      • TCP:源端口和源IP,目标IP和目标端口都必须一样才是同一个进程

相关推荐
步步为营DotNet6 分钟前
深入理解IAsyncEnumerable:异步迭代的底层实现与应用优化
java·服务器·数据库
_OP_CHEN8 分钟前
【Git原理与使用】(一)告别文件混乱!Git 初识:从版本灾难到高效管理的终极方案
linux·运维·git·github·运维开发·版本控制·企业级组件
装不满的克莱因瓶11 分钟前
【Java架构 搭建环境篇三】Linux安装Git详细教程
java·linux·运维·服务器·git·架构·centos
博语小屋18 分钟前
线程同步与条件变量
linux·jvm·数据结构·c++
wanhengidc23 分钟前
云手机深度解析其原理与功能
服务器·科技·游戏·智能手机
黑客思维者26 分钟前
突破 Python 多线程限制:GIL 问题的 4 种实战解法
服务器·数据库·python·gil
至善迎风29 分钟前
Linux 服务器安全防护工具完全指南
linux·服务器·安全·防火墙
MC皮蛋侠客29 分钟前
Linux安装go及环境配置教程
linux·运维·golang
满天点点星辰41 分钟前
Linux命令大全-find命令
linux·运维·服务器
Henry Zhu1231 小时前
VPP中FIB(转发信息库)和VRF(虚拟路由转发)详解:从设计理念到实际应用
网络·计算机网络·云原生·云计算·智能路由器