网络层
4. 网络层(Network Layer)

4.1. 基本术语
虚电路(Virtual Circuit) : 在两个终端设备的逻辑或物理端口之间,通过建立的双向的透明传输通道。虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发方式传送,而并不是真正建立了一条物理连接。
IP(Internet Protocol ) : 网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一,是 TCP/IP 体系结构网际层的核心。配套的有 ARP,RARP,ICMP,IGMP。
ARP(Address Resolution Protocol) : 地址解析协议。地址解析协议 ARP 把 IP 地址解析为硬件地址。
ICMP(Internet Control Message Protocol ) :网际控制报文协议 (ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告)。
子网掩码(subnet mask ) :它是一种用来指明一个 IP 地址的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合 IP 地址一起使用。
**CIDR( Classless Inter-Domain Routing ) **:无分类域间路由选择 (特点是消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,并使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号)。
默认路由(default route) :当在路由表中查不到能到达目的地址的路由时,路由器选择的路由。默认路由还可以减小路由表所占用的空间和搜索路由表所用的时间。
路由选择算法(Virtual Circuit) :路由选择协议的核心部分。因特网采用自适应的,分层次的路由选择协议。
4.2. 知识点总结
TCP/IP 协议中的网络层向上只提供简单灵活的,无连接的,尽最大努力交付的数据报服务。网络层不提供服务质量的承诺,不保证分组交付的时限所传送的分组可能出错,丢失,重复和失序。进程之间通信的可靠性由运输层负责
在互联网的交付有两种,一是在本网络直接交付不用经过路由器(局域网),另一种是和其他网络的间接交付,至少经过一个路由器,但最后一次一定是直接交付。
地址解析协议 ARP 把 IP 地址解析为硬件地址。ARP 的高速缓存可以大大减少网络上的通信量。因为这样可以使主机下次再与同样地址的主机通信时,可以直接从高速缓存中找到所需要的硬件地址而不需要再去广播方式发送 ARP 请求分组。
网际控制报文协议是 IP 层的协议。ICMP 报文作为 IP 数据报的数据,加上首部后组成 IP 数据报发送出去。使用 ICMP 数据报并不是为了实现可靠传输。ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP 报文的种类有两种 ICMP 差错报告报文和 ICMP 询问报文。
虚拟专用网络 VPN 利用公用的互联网作为本机构专用网之间的通信载体。VPN 内使用互联网的专用地址。一个 VPN 至少要有一个路由器具有合法的全球 IP 地址,这样才能和本系统的另一个 VPN 通过互联网进行通信。所有通过互联网传送的数据都需要加密。
4.3. 重点总结
4.3.1. 虚拟互联网络和两种服务、两个层面的概念
网络层的两种服务
虚电路服务
数据报服务
网络层上不提供可靠传输服务,可靠传输服务由主机的运输层来做的。所谓的TCP/IP中的IP是不保证可靠传输的,而是交给TCP来做的。
网络层的两个层面
4.3.2. 网际协议IP
IP 数据报分为首部和数据两部分。首部的前一部分是固定长度,共20字节,是所有IP数据包必须具有的(源地址,目的地址,总长度等重要地段都固定在首部)。一些长度可变的可选字段固定在首部的后面。IP首部中的生存时间给出了IP数据报在互联网中所能经过的最大路由器数。可防止IP数据报在互联网中无限制的兜圈子。
4.3.3. 网际控制报文协议ICMP
4.3.4. IP地址与MAC地址的关系
不同层次、不同区间使用的源地址和目的地址
- 尽管互连在一起的网络的 MAC 地址体系各不相同,但 IP 层抽象的互联网却屏蔽了下层这些很复杂的细节。
- 只要我们在网络层上讨论问题,就能够使用统一的、抽象的 IP 地址研 究主机和主机或路由器之间的通信。
4.3.5. 传统分类的IP地址
分类的 IP 地址由网络号字段(指明网络)和主机号字段(指明主机)组成。网络号字段最前面的类别指明 IP 地址的类别。IP 地址是一种分等级的地址结构。IP 地址管理机构分配 IP 地址时只分配网络号,主机号由得到该网络号的单位自行分配。路由器根据目的主机所连接的网络号来转发分组。一个路由器至少连接到两个网络,所以一个路由器至少应当有两个不同的 IP 地址。
4.3.6. 路由选择CIDR
无分类域间路由选择 CIDR 是解决目前 IP 地址紧缺的一个好办法。CIDR 记法把 IP 地址后面加上斜线“/”,然后写上前缀所所占的位数。前缀(或网络前缀用来指明网络),前缀后面的部分是后缀,用来指明主机。CIDR 把前缀都相同的连续的 IP 地址组成一个“CIDR 地址块”,IP 地址分配都以 CIDR 地址块为单位。
例题:
要解决IP地址耗尽的问题,最根本的办法是采用具有更大地址空间的新版本IP协议-IPv6。
4.3.7. 内部网关协议RIP的工作原理
RIP(Routing Information Protocol)协议——路由信息协议,是一种分布式的基于距离向量的路由选择协议,最大的优点是简单。
RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录(距离向量)。RIP协议对距离的定义如下:
(1) 从一路由器到直接连接的网络的距离定义为1。
(2) 从一路由器到非直接连接的网络的距离定义为所经过的路由器数加1。
RIP协议的距离也称为跳数,RIP协议允许一条路径最多只能包含15个路由器。因此,距离等于16时即相当于不可达。
上图表示路由器R2的转发表,R2与网络Net2和Net3直接相连,所以距离为1,下一跳不需要经过任何路由器,所以是直接交付。R2到达网络Net1需要经过一个路由器即R1,所以距离为经过的路由器个数加1,即2。所以R2路由器维护的到各个网络的距离向量为(2,1,1,2)。
RIP协议特点
RIP协议是通过每个路由器要不断的和其他路由器交换路由信息,从而达到自治系统中所有节点都得到正确的路由信息。
RIP协议考虑了和哪些路由器交换信息、交换什么信息以及什么时候交换信息这三个问题,RIP协议特点:
(1) 仅和相邻路由器交换信息。
(2) 交换的信息是当前本路由器所知道的全部信息,即自己现在路由表。
(3) 按固定的时间间隔交换信息,如每隔30s或网络拓扑发生变化时。
路由器在刚开始工作时,它的路由表是空的,然后路由器就得出到直接相连的几个网络的距离(这些距离为1),接着每个络器也只是和自己相邻的路由器交换并更新信息。经过若干次交换后,所有路由器都会知道到达本自治系统汇总任何一个网络的最短距离和下一跳地址。
在上图的自治系统中,假设三个路由器都是刚开始工作,刚开始R1只有到网络1和2的距离信息,R2有网络2和3的距离信息,R3有网络3和4的距离信息。
第一轮交换:R1和R2交换,R2和R3交换,交换后R2从R1得到了到网络1的距离信息,从R3得到了到网络4的距离信息,即第一轮交换后R2得到了到本自治系统所有网络的距离信息。
第二轮交换:同样R1和R2交换,R2和R3交换,由于R2已经包含了所有的信息,所以经过此次交换后,R1和R3也就得到了到本自治系统所有网络的到达信息。
注:RIP协议不能在两个网络之间同时使用多条路由,只能有一条最短距离的路由。
距离向量算法
对每一个相邻路由器发送过来的RIP报文,会进行一下步骤:
(1) 路由器R1接收到其相邻路由器R2发送过来的报文,先修改此报文的所有项目:把“下一条”字段中的地址都改为R2,并把所有的“距离”字段的值加1。每个项目都有三个关键字段:到目的网络N,距离是d,下一跳路由器是X。
假设R1接收到R2的报文中某一项是:Net2,2,Y,意思是从R2到Net2的距离是2,并且下一步应该走Y路由器,那么对于R1来说,到Net2的最短走法是先到R2,在按照R2的走法,即从R1到Net2的距离是2 + 1 = 3,下一步走R2,即将 Net2,2,Y 下一跳字段改为R2,将距离字段加1。
(2) 对修改后的RIP报文中的每一项,进行以下步骤:
- 若原来的路由表中没有网络N,则把该项目添加到路由表中。
还是上例,如果R1路由表中没有到Net2的路由,表明这是新的目的网络,应当加入到自己的路由表中。
- 如果R1路由表中已经有目的网络N,这时查看下一跳的地址,如果下一跳地址是R2,则把收到的项目替换原路由表中的项目。
这里要替换的原因是:因为网络拓扑可能发生变化或新的节点加入网络,现在接收到的是最新的消息,要以最新的消息为准。
- 如果下一跳的地址不是R2,那么如果收到项目中距离小于路由表中的距离,则进行替换,否则什么也不做。
如果收到的项目距离小于路由表中的距离,说明有更短的路径,所有更换为更短的路径,如果比路由表中的路径还长,那么显然不用更新,如果距离相同,也没必要更新。
- 若3分钟还没有收到相邻路由器的更新路由表,则把此路由器记为不可达的距离,即把距离设置为16。
- 返回。
举个例子说明,已经路由器R6有以下的路由表,现在收到相邻的路由器R4发来的更新信息,试更新R6路由表。
第一步:修改R4发来的更新路由表,将所有的下一跳修改为R4,所有的距离加1,得出下表
第二步:将上表的每一项和R6路由器的转发表进行对比
(1) 第一行,目的网络为Net1,R6路由器转发表没有这个目的网路,因此需要把这一行添加到转发表。
(2) 第二行,转发表中有Net2,并且下一跳地址就是R4,所以需要更新。
(3) 第三行,转发表有Net3,并且下一跳地址不是R4,但是距离2小于转发表中的距离4,所以也需要更新。

浙公网安备 33010602011771号