首页 > 其他 > 详细

多路复用和多路分用

时间:2020-08-05 00:27:15      阅读:107      评论:0      收藏:0      [点我收藏+]

1 多路复用/分用

如果某层的一个协议对应直接上层的多个协议/实体,则需要复用/分用。

技术分享图片

2 分用如何工作?

  • 主机接收到IP数据报(datagram)
    • 每个数据报携带源IP地址、目的IP地址。
    • 每个数据报携带一个传输层的段(Segment
      )。
    • 每个段携带源端口号和目的端口号
  • 主机收到Segment之后,传输层协议提取IP地址和端口号信息,将Segment导向相应的Socket
    • TCP做更多处理

技术分享图片

无连接分用

  • 利用端口号创建Socket

    DatagramSocket mySocket1 = new DatagramSocket(99111);
    DatagramSocket mySocket2 = new DatagramSocket(99222);

  • UDP的Socket用二元组标识 (目的IP地址,目的端口号)

  • 主机收到UDP段后
    • 检查段中的目的端口号
    • 将UDP段导向绑定在该端口号的Socket
  • 来自不同源IP地址和/或源端口号的IP数据包被导向同一个Socket

技术分享图片

面向连接的分用

  • TCP的Socket用四元组标识
    • 源IP地址
    • 源端口号
    • 目的IP地址
    • 目的端口号
  • 接收端利用所有的四个值将Segment导向合适的Socket
  • 服务器可能同时支持多个TCPSocket
    • 每个Socket用自己的四元组标识
  • Web服务器为每个客户端开不同的Socket

技术分享图片

面向连接的分用:多线程Web服务器

技术分享图片

多路复用和多路分用

原文:https://www.cnblogs.com/likui360/p/13436916.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!