1.3.0 [一步步跑完前端学习路线] 前端内容系统化梳理-Internet-网络层

77 阅读4分钟

基本概念

网络层运行在数据链路层之上, 传输层之下. 那网络层主要做了什么事情呢? 直接说网络层的各种概念是比较模糊的, 能不能在现实生活中找到和网络层比较相关的例子? 还真有, 那就是快递业务. 这里我们尝试用快递业务来模拟和理解网络层中各种相关的概念.

网络层相关概念快递行业相关概念
它提供了主机到主机之间的通信提供的发件地到收件地的运输服务.
主机网卡允许普通客户收发包裹的快递站点
路由器快递的中转站
网络层协议规定包裹上的地址填写的规范、识别地址信息规范
每个主机和路由器都运行网络层协议快递行业的快递收发站, 中间站都需要检查收件人和发件人信息(包括地址等)
分包/分片客户要送的货物太多, 需要拆分为多个包裹(分片是在运输途中进行的, 这里不太准确,只是大概)
无连接不需要在传输前规划路线
有连接需要在传输前确认好路径

整合起来聊一下网络层: 主机相当于千家万户人家. 源主机(发件人)通过网卡(快递站点)可以收发信息(快递包裹). 网卡收到信息后, 也不是直接就发到目标主机了, 会经过一个个路由器(快递中转站)一步步转发, 每次转发过程中都需要核实路由信息(快递地址),最终才能发到目的主机.

当然上述过程是最理想的情况, 其实还会存在发送信息太大需要分包(分成多个包裹一起发), 网络拥堵延迟(路上堵车), 网络异常导致信息丢失(快递运输过程中发生车祸)等等, 这些都是网络层协议需要考虑的内容.

路由的核心功能

  • 转发forwarding: 将分组从路由器的输入端口转移的输出端口(中转站收到快递后分发快递)
  • 路由routing:确定分组从源到目的经过的路径(快递根据地址走过的路程)
  • 路由协议: 确认端到端(主机到主机)之间的路径的算法协议
  • 连接建立: ATM网络等部分网络所支持的协议. 互联网协议Internet是不支持的

转发表

路由协议的其中一部分内容. 每一个路由器都会维护一份自己的转发表且不一样. 当报文到达需要转发时, 会检索转发表内容然后转发到对应的其他路由器.

具体转发表应该如何设计呢. 不同路由协议的设计是不相同的, 我们后面具体在IP协议里去探讨IP协议的转发表.

虚电路网络(虚电路信令协议)

当前主要的网络层协议分两类, 一类叫虚电路网络(有连接), 另外一类数据报网络(无连接), 这里简单讨论下虚电路网络, 而互联网的核心IP协议就属于数据报网络. 后续重点讨论IP网络.

传统的Internet不支持虚电路网络, 目前支持虚电路网络的主要是ATM网络(异步传输模式Asynchronous Transfer Mode), 主要用于实时性需求强、延迟低、速度快的需求场景.

虚电路网络会在数据传输前, 在网络层完全确认从源主机到目标主机之间的所经过的所有路由器(所有的路由器相连组成一条虚拟链路), 而这个建立和拆除虚拟链路的过程就是通过虚电路信令协议来规范和实现的, 后续传输数据的过程全部经由这条链路, 直到传输结束后销毁电路

建立的目的是什么? 提前申请资源, 告诉经过的路由器, 你需要给我分配多少带宽等资源. 反正一条链路的带宽也决定了能建立的虚电路的性能和数量.

虚电路信令协议SIgnaling protocols

路劲建立

一般经历以下过程

  1. 初始呼叫
  2. 呼叫到达
  3. 接收呼叫
  4. 呼叫建立

下图是建立路径时经过路由R1时, 路由存储的专用于信令协议的转发表示意图 image.png 图像来自于计算机网络_中国大学MOOC(慕课) (icourse163.org)

数据报网络

  • 属于无连接网络, Internet 所使用的IP协议就属于数据报网络.
  • 每一个分组(数据报)携带目的地址.
  • 路由器基于分组的目的地转发分组, 基于路由协议检索转发表, 每个分组独立选路.

IP协议 Internet Protocol

IP协议属于互联网协议的核心, 这里单开一篇文章来讲.