网络层(下)

ICMP网际控制报文协议

ICMP报文是在IP数据报的一部分。
因为IP数据报首部的检验和并不检验IP数据报的内容,因此不能保证经过传输的ICMP报文不产生差错。
ICMP报文分为差错报告报文和询问报文。

路由选择算法

所有的在自治系统内部的路由选择协议都是要寻找一条最短的路径。

内部网关协议之RIP协议

特点:

  • 只和相邻路由器交换信息
  • 交换整个网络链路状态的路由表(较大,使用UDP协议传输)
  • 固定时间间隔交换信息

优点:简单,好消息传播得快
缺点:适用小网络(最多15个路由),坏消息传播得慢

内部网关协议之OSPF协议

特点:

  • 使用洪泛法向本自治系统内的所有区域发送信息
  • 只发送与自己相邻路由器的链路状态(使用IP数据报传输)
  • 只有当链路发生变化,才洪泛地去通知所有路由器

为了更快地更新整个自治系统内的所有路由器的路由表,在自治系统内一般会划分区域。在各个区域会有专门的路由器与别的区域进行沟通。这些专门的路由器一般都在主干区域内,同时在主干区域内还会有个BGP发言人,负责与其他自治系统沟通。这样划区域后更新路由表速度就上去了。

外部网关协议BGP

首先要了解一下自治系统(AS),就是一个网络不希望外界知道自己内部的一些网络的布局细节或者使用的网络协议,然后通过一个BGP发言人(一个专门沟通的路由器,一般用边界路由器)来与别的AS进行联系的网络,比如我们的电信ISP就是一个自治系统。

类似OSPF里面划区域。就是各个自治系统都挑出一个BGP发言人,专门负责与别的自治系统沟通。

IP多播

在互联网上进行多播就叫IP多播,IP多播所传送的分组需要使用多播IP地址。

多播通过使用讲网络上的IP进行分组的方式,通过建立一个多播组(有特定的标识符),然后想要进行多播的主机加入到这个组(会设法将多播组标识和该主机的IP进行关联),然后源地址想要发送数据的时候只需要将目的地址改为多播组的标识就可以进行多播了。而多播组的标识其实就是D类的IP地址,一个组使用一个D类IP。

除了路由器要支持多播,实现多播还要使用两个协议,IGMP网际组管理协议和多播路由选择协议。

隧道技术

隧道技术使用到很多地方,主要是再封装的思想。比如两个要进行多播的路由器,他们要经过一个不支持多播的网络,那么他们就要把目前的IP数据报,当成是数据部分插入到一个新的IP数据报中,这样就可以通过该不支持多播的网络,进行数据传输了。

虚拟专用网VPN

要了解虚拟专用网,首先先知道什么是专用网。所谓专用网,就是一些被规定用做特殊用途的网络地址。

在IP地址块中,从10.0.0.0到10.255.255.255,从172.16.0.0到172.31.255.255,从192.168.0.0到192.168.255.255,这三个地址块,是专用地址。在互联网中的所有路由器,对目的地址是专用地址的数据报一律不转发。

这些地址块便可以拿来内部机构使用,自己搭建内部网络,给每台主机分配这些专用IP地址,然后进行沟通。若是一个公司想要在两个不同的地方搭建利用专用地址搭建网络(虚拟专用网),刚才说到互联网中的路由器不会转发这些目的地址是专用地址的数据报。那么怎么办呢,这个时候还是要使用隧道技术。只需要在两个地方的各自路由器转发数据的时候用路由器的全球IP地址再封装一下我们的前一个IP数据报(作为数据部分),然后通过网络传输就可以啦。

再说NAT地址转换。如果使用了专用地址的主机还想要使用全球IP地址与互联网通信,而不只是与内部人员沟通。这时候就需要那个与外界互联网沟通的路由器转一个NAT转换软件。通过给每个内部IP对应一个端口,轮流使用有限的全球IP地址,来实现与互联网沟通。