所有网络通信的本质目标就是进程间通信。

除了寻址(Addressing),IP 协议还有一个非常重要的能力就是路由。
寻址告诉我们去往下一个目的地该朝哪个方向走,路由则是根据下一个目的地选择路径。寻址更像在导航,路由更像在操作方向盘。

多路复用
一台机器上的应用可以有很多。但是实际的出口设备,比如说网卡、网线通常只有一份。因此这里需要用到一个叫作多路复用(Multiplex)的技术。多路复用,就是多个信号,复用一个信道。

传输层多路复用
多个请求复用一个 TCP 连接。

多个请求相当于并行的发送请求。即使其中某个请求发生故障,也不会阻塞其他请求。从这个角度看,多路复用实际上是一种 Non-Blocking(非阻塞)的技术。

如果其中一个数据段(TCP Segment)发生异常,只影响其中一个颜色的请求,其他请求仍然可以到达服务。


网络层多路复用
两个应用之间的线路、设备,需要跨越的网络往往是固定的。在我们的互联网上,每时每刻都有大量的应用在互发消息。而这些应用要复用同样的基础建设——网线、路由器、网关、基站等。

应用层的多路复用,如多个请求使用同一个信道并行的传输,实际上是传输层提供的多路复用能力。传输层的多路复用,比如多个 TCP 连接复用一条线路,实际上是网络层在提供多路复用能力。

多路复用让多个信号(例如:请求/返回等)共用一个信道(例如:一个 TCP 连接)。它有两个明显的优势。
提升吞吐量。多一个信号被紧密编排在一起(例如:TCP 多路复用节省了多次连接的数据),这样网络不容易空载。
多个信号间隔离。信号间并行传输,并且隔离,不会互相影响。

TCP/IP多路复用相关推荐

  1. TCP/IP 协议栈及 OSI 参考模型详解--云平台技术栈04

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的tcp/ip和网络! 来源:王东裕 http://wangdy.blog.51cto.com/3845563/1588379 OS ...

  2. Linux Kernel TCP/IP Stack — 协议栈收包处理流程

    目录 文章目录 目录 L2 NIC Controller 收包处理流程 L3-4 收包处理流程 Socket Layer 收包处理流程 参考文档 L2 NIC Controller 收包处理流程 硬件 ...

  3. Linux Kernel TCP/IP Stack — L7 Layer — Application Socket I/O 接口类型

    目录 文章目录 目录 基本概念 同步与异步 阻塞与非阻塞 I/O 操作的执行流程 Socket I/O 接口类型 阻塞 IO 缺点 非阻塞 IO 缺点 阻塞 IO 与非阻塞 IO 的区别 IO 多路复 ...

  4. TCP/IP协议基础

    1.TCP/IP协议栈 四层模型  TCP/IP这个协议遵守一个四层的模型概念:应用层.传输层.互联层和网络接口层. 网络接口层  模型的基层是网络接口层.负责数据帧的发送和接收,帧是独立的网络信息传 ...

  5. TCP/IP协议-概念、应用、开发、Hack

    TCP/IP协议 一 协议概述 <一> 概念 1 基本概念     Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协 ...

  6. TCP/IP之大明内阁---协议的制定

    个人感言:真正的知识是深入浅出的,码农翻身" 公共号将苦涩难懂的计算机知识,用形象有趣的生活中实例呈现给我们,让我们更好地理解.感谢"码农翻身" 公共号,感谢你们的成果, ...

  7. TCP/IP面试常问合集,JavaWeb内容及HTTP协议

    1. TCP/IP 1.1 传统的OSI(Open System Interconnection)参考模型是7层:应用层.表示层.会话层.传输层.网络层.数据链路层.物理层.而TCP/IP是5层参考模 ...

  8. TCP/IP 协议栈及 OSI 参考模型详解

    TCP/IP 协议栈及 OSI 参考模型详解 转载地址:http://www.codeceo.com/article/tcp-ip-osi-model.html OSI参考模型 OSI RM:开放系统 ...

  9. OSI七层与TCP/IP五层

    OSI七层与TCP/IP五层网络架构详解 OSI和TCP/IP是很基础但又非常重要的网络基础知识,理解得透彻对运维工程师来说非常有帮助.今天偶又复习了一下: (1)OSI七层模型 OSI中的层 功能 ...

最新文章

  1. Asp.net core 启动流程
  2. springboot+swagger传递参数的几种格式
  3. 01Spring的helloworld程序
  4. 项目中的那些事---下载pdf文件
  5. 华为照片在哪个文件夹_原来华为手机还能这样清理垃圾,怪不得你的手机可以多用5年...
  6. java中常量定义在interface中好还是定义在class中
  7. 元素之和最接近 0 的区间(部分和)
  8. [Android] [Java] Process 创建+控制+分析 经验浅谈
  9. 关键路径转化率分析——漏斗模型
  10. 使用 AppleALC 驱动黑苹果声卡
  11. MATLAB gcf图窗保存图像,黑色背景/透明背景
  12. 【计算机网络】网络安全 : 数字签名 ( 数字签名简介 | 数字签名实现 | 数字签名功能 | 保密数字签名 )
  13. 51CTO下载-千万级大型系统集成项目
  14. 论坛php board,Crossday Discuz! Board 论坛系统Discuz!
  15. h5新标签video详解
  16. 【Python3脚本分享】三个常用图片处理脚本(镜像处理,gif分解,多图合并)
  17. 线缆水平垂直燃烧测试及测试设备
  18. Android/ios 如何识别app下载来源追踪
  19. Ubutun18.04安装gtx1080ti显卡驱动
  20. 实验一 网络扫描与网络侦察

热门文章

  1. 归并排序【算法解析,代码模板】
  2. 计算机连接不上蓝牙鼠标,win7系统蓝牙鼠标连接不上的解决方法
  3. 设计模式03 - 装饰者模式
  4. 小程序 自定义picker组件 picker-view
  5. 机器学习小组知识点17:对数正态分布(Logarithmic Normal Distribution)
  6. iPhone通过CPU确定手机型号
  7. Java 的垃圾回收
  8. 【人工智能数学基础(三)】数学优化
  9. 推荐几个优秀的echarts 图表网站,让你轻松搞定全部报表
  10. 项目上线,部署到服务器(腾讯服务器),http协议及https协议(微信小程序必须https协议才可发布)、Nginx配置