4. 网络层
4.1 概述
- 主要任务:实现网络互连,进而实现数据包在各网络之间的传输。
- 需要解决的问题:
- 网络层向运输层提供怎样的服务(可靠传输还是不可靠传输)。
- 网络层寻址问题。
- 路由器选择问题。
4.2 网络层提供的两种服务
4.2.1 面向连接的虚电路服务
- 可靠通信由网络来保证。
- 必须建立网络层的连接—虚电路VC。
- 通信双方沿着已建立的虚电路发送分组。
- 目的主机的地址仅在连接建立阶段使用,之后每个分组的首部只需携带一条电路的编号。
这种通信方式如果在使用可靠传输的网络协议,就可使所发送的分组最终达到接收方。
通信结束后,需要释放之前所建立的虚电路。
- 很多广域分组交换网都是用面向连接的虚电路服务。
4.2.2 无连接的数据报服务
- 可靠通信应当由主机来保证
- 不需要建立网络层连接
- 每个分组可走不同的路径
- 每个分组的首部必须携带目的主机的完整地址
- 这种通信方式所传送的分组可能误码、丢失、重复和失序
- 由于网络本身不提供端到端的可靠传输服务,这就使网络中的路由器可以做的比较简单,而且价格低廉。
- 因特网采用了这种设计思想,将复杂的网络处理功能置于因特网的边缘(用户主机和其内部的运输层),而将相对简单的尽最大努力的分组交付功能置于因特网核心。
4.3 IPv4地址
4.3.1 概述
- IPv4地址就是因特网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32比特的标识符。
- IPv4地址的编制方法经历了如下三个阶段:分类编址、划分子网、无分类编制。
- 32比特的IPv4地址不方便阅读、记录以及输入,因此采用点分十进制表示方法以便用户使用:

4.3.2 分类编制的IPv4地址
- 一共分为A、B、C、D、E共五类:

根据左起的第一个十进制数的值,可以判断出网络类别:小于127的为A类,128~191的为B类,192-223的为C类。
只有A、B、C类地址可分配给网络中的主机或路由器的各接口。
主机号为全0的地址是网络地址不能分配给主机或路由器的各接口;主机号为全1的地址是广播地址,不能分配给主机或路由器的各接口。
- A类地址:

- B类地址:

- C类地址:

4.3.3 划分子网的IPv4地址
- 32位的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号:
子网掩码使用连续的比特1来对应网络号和子网号;使用连续的比特0来对应主机号;
将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算就可得到IPv4地址所在子网的网络地址。

举个栗子:


- 默认子网掩码:指未划分子网的情况下使用的子网掩码。

4.3.4 无分类编制的IPv4地址
- 划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间大小并没有得到充分使用,而因特网的 IP地址仍在加速消耗,整个IPv4地址面临全部耗尽的威胁。因此因特网工程任务组IETF提出采用无分类编制的方法来解决IP地址紧张的问题,同时还专门成立IPv6工作组研究新版本IP以彻底解决地址耗尽问题。
- 无分类域间路由选择CIDR(Classless Inter-Domain Routing),消除了传统的A、B、C类地址以及划分子网的概念,使用斜线记法,或称CIDR记法。在IPv4地址后面加上斜线“/”,在斜线后面写上网络前缀所占的比特数量。实际上,将网络前缀都相同的连续IP地址组成一个CIDR地址块。


- 路由聚合(构造超网)
可将路由表中多条记录合成一条:

网络前缀越长,地址块越小,路由越具体。
4.4 IP数据报的发送和转发过程
- 主要包含两个部分:1.主机发送IP数据报 2.路由器转IP数据报
- 主机发送IP数据报:
判断目的主机是否与自己在同一个网络,若在同一个网络,属于直接交付;若不在同一个网络,则属于间接交付,传输主机所在网络的默认网关(路由器),由默认网关帮忙转发。

- 路由器转发IP数据报:
检查IP数据报首部是否出错,若出错则直接丢弃该IP数据报并通告源主机;若没有出错,则进行转发。
根据IP数据报的目的地址在路由表中查找匹配的条目,若找到匹配的条目,则转发给条目中指示的吓一跳;若找不到,则丢弃该IP数据报并通告源主机。

4.6 路由选择协议
- 分为两类:静态路由选择和动态路由选择。
- 静态路由选择:由人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由;配置方式简单、开销小,但不能及时适应网络状态的变化;一般只在小规模网络中使用。
- 动态路由选择:路由器通过路由选择协议自动获取路由信息;比较复杂、开销比较大,能较好地适应网络状态的变化;适用于大规模网络。
- 因特网所采用的路由选择协议的主要特点:
自适应:动态路由选择,能较好地适应网络状态的变化;
分布式:路由器之间交换路由信息;
分层次:将整个因特网划分为许多较小的自治系统AS(Autonomous System)。

- 路由器的基本结构:

4.7 IPv4数据报的首部格式

4.8 网际控制保温协议ICMP
- 网际层的一个协议,目的是为了更有效地转发IP数据报和提高交付成功的机会。
- ICMP应用:分组网间探测PING、跟踪路由traceroute。
4.9 虚拟专用网VPN与网络地址转换NAT
4.9.1 虚拟专用网VPN(Virtual Private Network)
- 利用公用的因特网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网。
专用(私有)地址:

给一个内部网络中的主机分配专用地址,然后让该内部网络接入一个使用公用因特网地址的路由器,这样内部网络之间就可以通过使用公用因特网地址的路由器进行通信。
4.9.2 网络地址转换NAT(Network Address Translation)
对于VPN,给一个内部网络的专用地址,如何翻译成公用的因特网地址?
