网络层在TCP/IP标准中被称为Internet Layer
在OSI基本模型中,对网络层的定义是:网络层提供必要的功能和规程,使传输层实体之间能够进行无连接方式或面向连接方式的传输。层
根据TCP/IP标准,明确指出网络层应该只有一种协议IP协议,将源主机传送至目的主机。
「网络层使传输层实体不必考虑底层的路由选择和中继转发问题」
4.1.1 异构网络互联
我们在今天的网络体系中把链路层作为广播域。不过早期
异构指的是通讯技术和运行协议的不同,在数据链路层,我们有以太网,有无线网,它们之间就是异构的。
要想让异构网络互联,基本策略是协议转换和构建虚拟互联网络.
假设三个网络A和B和C互联,协议转换的思路是这样的。
- A 网络发出符合协议 A 的分组。
- 中间设备将协议 A 的分组转换为协议 B 的分组
- 下一个中间设备再将协议 B 转换为协议 C。
- 最终由 C 网络接收。
这时,各个网络仍然遵循各自的协议,中间设备负责解决它们之间的不兼容问题。
而虚拟互联网络的概念就是建立一个更高一层的抽象协议,在逻辑上把它们构成一个互联的网络。
1974年,RFC 675在阿帕网中首次发明了网关这个概念
一个数据包需要从网络 A 到达网络 B。会经历以下过程。
- 网络 A 将数据包交给连接两个网络的网关。
- 网关移除网络 A 的封装,检查互联网数据包。
- 网关决定下一步经过哪个网络。
- 网关重新封装数据包,使其适应网络 B,再进行转发
到了90年代之后,网关通常被称为路由器。
而这个更高层面的协议也就是IP协议。
当然,实际上它们并不是真的互联的,中间有路由器,但是高层的协议通过屏蔽掉了这些。
网络层分割了广播域,把多个链路层网络连接到一起。
4.1.2 路由与转发
显然网关需要承担以下职责:
转发: 通过一条链路收到分组后,向哪条链路发送出去
路由: 当分组从源主机流向目的主机的时候,需要通过某种方法决定分组经过的路径,称之为路由算法。路由器通过路由表来实现路由选择
从80年代开始,逐渐兴起路由器这一用法。
4.1.3 SDN 基本概念
Software Defined Network
SDN把网络层分为两个平面,控制层面和数据层面