网络层,也是OSI第三层,从传输层接收数据分段或PDU。这些比特流已经被处理成为可传输的大小并进行了编号已实现可靠性。现在网络层使用的协议为PDU添加地址和其他信息,并将其沿最佳路径发送到下一台路由器或目的网络。
网络层描述要执行的4个基本任务:
- 用IP地址编址
- 封装
- 路由
- 解封装
IP是最常使用的网络层协议。IP第4版(IPv4)是目前使用最为广泛的一个版本。它是通过Internet传送数据时唯一使用的一个第三层协议。网际协议是作为低开销协议来设计的,它只提供通过互联网络从源主机到目的主机传送数据包的必须功能。该协议不负责跟踪和管理数据包的流动。这些功能由其他层中别的协议执行具体操作.
IPv4的基本特征是:
- 无连接-发送数据之前不建立连接
- 尽力(不可靠传输)-IPv4不使用任何过程来保证数据包到达,这会减少路由器的处理时间并减少确认消息所占用的带宽
- 介质无关性-协议的运行与具体使用的传输介质无关
IP是无连接的,意味着在发送者和接受者之间不用建立连接。IP在没有确认接收者的情况下就发送数据包,无连接对IP不是问题,这是“尽力”传输类型设计的一部分。也是在TCP/IP协议族中IP和TCP共同工作的原因。如果数据包延迟或丢失,将在第4层中纠正这个问题,IP可以高效工作在第3层。
由于IP不负责可靠性、维护连接,因此同TCP相比,在头部不用那么多的信息。IP只需要很少的数据就可以完成任务,因此它比TCP的带宽开销要小得多。
关于介质无关性,还有一点需要注意:有些网络有介质的限制,必须要满足最大传输单元(MTU)的要求。MTU由数据链路层确定,这一要求送到网络层,网络层根据此要求创建数据包。如果通过网络的数据包大于此要求,与这个网络连接的路由器将数据转发到介质上之前要对数据包分割。这一过程称为分片。
IP头中包含传输和处理IP数据包的指令。当数据包到达路由器接口,路由器需要知道是IPv4还是IPv6数据包。路由器查看头中特定的字段就可知道是什么类型的数据包。头中还包含了地址信息和沿路径传输时决定如何处理数据包的其他数据。
下图显示了IPv4数据包头的内容:
具体解释下部分字段的含义:
生存时间(TTL)—8位TTL字段描述的是数据包被丢弃或可传输之前可经过的最大跳数。处理数据包的每台路由器将TTL值减1,TTL值为0的数据包被丢弃。
服务类型(Tos)—此字段的8个比特描述路由器在处理数据包时所使用的优先级别。如:数据包中含有IP语音的的数据优先级高于流媒体音乐。路由器处理数据包的方法成为Qos,服务质量。
标志和分段偏移—路由器将数据包从一种介质转发到另一种MTU值小的介质时可能对数据包进行分片。发生分片后,数据包到达目的主机时,IPv4数据包利用报头中的分片偏移和MF标志位重建数据包。分片偏移字段指明重建时数据包分片的次序。
主机需要本地路由表才能确保网络层数据层数据包转发到正确的目的网络。与路由器中包含本地路由和远程路由不同,主机本地路由表一般包含的是与其直接相连的网络或默认路由。在主机上创建默认网关就会创建本地默认路由。没有默认网关或路由,目的为外网的数据包会被丢弃。
路由是指为每个到达网关接口的数据包做出转发决定的过程。为将数据包转发到目的网络,路由器需要到那个网络的路由。如果路由器上的目的网络路由不存在,数据包将会被转发到缺省网关。如果没有配置缺省网关,数据包将被丢弃。
路由协议
当路由器注意到自身充当网关的网络发生变化或者路由器之间的链路变更时,会将此类信息转发给其他的路由器。当一台路由器收到有关新路由更改的信息时,它会更新自己的路由表并依次将该信息传递给更多的路由器。通过这种方式,所有的路由器都会有准确的动态更新路由表,而且可以掌握相距很多跳的远程网络路由。
常用的路由协议包括:
- 路由信息协议(RIP)
- 增强型内部网关路由协议(EIGRP)
- 开放最短路径优先(OSPF)