Skip to content

(一)网络层的功能

1. 异构网络互联

1.1. IP 网

  • 使用 IP 协议的虚拟互连网络可简称为 IP 网;

  • 互连起来的各种物理网络的异构性本来是客观存在的;

  • 优点:IP 协议使性能各异的网络从用户看起来好像是一个统一的网络,方便互相通信,不用管异构网络的具体细节;

2. (⭐)路由和转发

2.1. 路由表

img_5FhgpYNKRv

  • 表项:(1) 目的主机所在网络,(2) 下一跳地址,或直接交付接口号;

    • 间接交付时,下跳地址和接口号都要有;

    • 直接交付时只需要接口号;

  • 路由器的直接交付接口所连网络称为直接交付网络,称直连路由

    • 例如:图中网 2 和 网 3 就是路由器 R2 的直连路由网,分别连到接口 0 和 1;
  • 下跳地址:用于间接交付,用于将数据包转发给指定的路由器;

    • 含义:通常和直接交付接口号一起,将数据包转发给直连网,并指定直连网转发给下一个路由器所在的地址

    • 例如:图中 R2 不能直接访问到网 1,因此对于网 1 范围地址,需要先转发给网 2,由网 2 发送给 R1 再进行交付

    • 注意:图中 R2 下跳地址不能直接写 10.0.0.4 和 40.0.0.4(超出本路由器直连网范围)

  • 默认路由,子网掩码和直连网关

    • 子网掩码:路由器将目的 IP 地址和子网掩码进行按位与运算,再去和路由表中的表项匹配,确定如何转发;

    • 下一跳地址(网关)为 0.0.0.0 说明此表项为直连地址,不需要再路由了;

    • 默认路由:表项中目的地址为 0.0.0.0 表示此表项为默认路由地址

      • 子网掩码也为 0.0.0.0;

      • 作用:当一个目的地址不能和其他任何一个表项匹配时,走这个表项(子网掩码保证了一定可以匹配);

      • 网关可以自由确定;

    • 简化写法xxx.yyy.zzz.www/r 同时给出目的地址和子网掩码;

      • xxx.yyy.zzz.www:表示目的地址;

      • r:一个正整数,表示 32 位子网掩码前面连续 1 的个数

        • /16:子网掩码为 255.255.0.0,/27:子网掩码为 255.255.255.224;
  • 主机路由:路由器为某个特定 IP 地址的主机专门创建一个表项,子网掩码为 255.255.255.255;

2.2. 分组转发

  • 步骤:

    • 1)从数据包中提取出目的 IP 地址 D,和掩码运算后得到网络地址 N

    • 2)若 N 是直连网,则启动直接交付;

    • 3)查找是否存在主机路由,若有,则转发给其指定的网关;

    • 4)若无主机路由,则查找网络地址 N 的路由,若有,则转发给指定网关;

    • 5)若找不到 N 的路由信息,则转发给默认路由;

    • 6)若没有默认路由,则报错;

  • 优先级:直连转发 > 主机路由 > 网络路由 > 默认路由;

3. 软件定义网络 SDN(Software Defined Network)

3.1. 基本概念

  • SDN 是一个体系结构,是一种设计、构建和管理网络的新方法或新概念

  • SDN 把控制层面和数据层面分离,而让控制层面利用软件控制数据层面的设备

3.2. 传统控制层面 & 数据层面(以路由器为例)

img_qTortFSOul

  • 数据层面

    • 路由器根据本路由器生成转发表,把收到的分组从查找到的对应接口转发出去;

    • 独立工作;

    • 采用硬件进行转发,快;

  • 控制层面

    • 根据路由选择协议所用的路由算法计算路由,创建出本路由器的路由表;

    • 许多路由器协同动作;

    • 采用软件计算,慢;

3.3. SDN 的控制层面 & 数据层面

img_MwXxc6Kw4w

  • 远程控制器:计算出最佳的路由,生成每个路由器对应的的转发表,并下发给对应路由器;

  • 路由器通过 OpenFlow 协议和远程控制器沟通(此结构中路由器又称 OpenFlow 交换机);

  • 流(Flow):一种分组序列,序列中的分组共享分组首部某些字段的值;

  • 流表(Flow Table):"匹配 + 动作",规定了路由器如何匹配分组,以及匹配成功后执行的动作;

  • 广义转发:通过流表,路由器可以对**不同层次(链路层,网络层,传输层)**首部中的字段进行匹配和转发;

3.4. SDN 体系结构

img_jUlgIWymhQ