(一)网络层的功能
1. 异构网络互联
1.1. IP 网
使用 IP 协议的虚拟互连网络可简称为 IP 网;
互连起来的各种物理网络的异构性本来是客观存在的;
优点:IP 协议使性能各异的网络从用户看起来好像是一个统一的网络,方便互相通信,不用管异构网络的具体细节;
2. (⭐)路由和转发
2.1. 路由表

表项:(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 地址
,和掩码运算后得到网络地址 ; 2)若
是直连网,则启动直接交付; 3)查找是否存在主机路由,若有,则转发给其指定的网关;
4)若无主机路由,则查找网络地址
的路由,若有,则转发给指定网关; 5)若找不到
的路由信息,则转发给默认路由; 6)若没有默认路由,则报错;
优先级:直连转发 > 主机路由 > 网络路由 > 默认路由;
3. 软件定义网络 SDN(Software Defined Network)
3.1. 基本概念
SDN 是一个体系结构,是一种设计、构建和管理网络的新方法或新概念;
SDN 把控制层面和数据层面分离,而让控制层面利用软件控制数据层面的设备;
3.2. 传统控制层面 & 数据层面(以路由器为例)

数据层面
路由器根据本路由器生成转发表,把收到的分组从查找到的对应接口转发出去;
独立工作;
采用硬件进行转发,快;
控制层面
根据路由选择协议所用的路由算法计算路由,创建出本路由器的路由表;
许多路由器协同动作;
采用软件计算,慢;
3.3. SDN 的控制层面 & 数据层面

远程控制器:计算出最佳的路由,生成每个路由器对应的的转发表,并下发给对应路由器;
路由器通过 OpenFlow 协议和远程控制器沟通(此结构中路由器又称 OpenFlow 交换机);
流(Flow):一种分组序列,序列中的分组共享分组首部某些字段的值;
流表(Flow Table):"匹配 + 动作",规定了路由器如何匹配分组,以及匹配成功后执行的动作;
广义转发:通过流表,路由器可以对**不同层次(链路层,网络层,传输层)**首部中的字段进行匹配和转发;
3.4. SDN 体系结构
