网络层概述

网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输

要实现网络层任务,需要解决以下主要问题:

因特网(Internet)是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈

由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层

综上所述,我们通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。

路由选择协议概述

静态路由选择

动态路由选择

因特网所采用的路由选择协议的主要特点

因特网采用分层次的路由选择协议

域间路由选择采用外部网关协议EGP

域内路由选择采用内部网关协议IGP

只是路由选择协议的分类名称,不是具体的路由选择协议。网关一词是因为在早期

常见的路由选择协议

路由选择协议

内部网关协议IGP

外部网关协议EGP

路由器的基本结构

路由表一般仅包含从目的网络到下一跳的映射

路由表需要对网络拓扑变化的计算最优化

转发表是从路由表得出的 转发表的结构应当使查找过程最优化

为方便理解,不严格区分路由表和转发表。

路由信息协议RIP的基本工作原理

路由信息协议RIP(Routing Information Protocol)是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC 1058。

RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录。这是一组距离,称为“距离向量D-V(Distance-Vector)”。

RIP使用跳数(Hop Count)作为度量(Metric)来衡量到达目的网络的距离

RIP认为好的路由就是“距离短”的路由,也就是所通过路由器数量最少的路由。当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡

RIP包含以下三个要点:

RIP基本工作过程

路由器刚开始工作时,只知道自己到直连网络的距离为1

每个路由器仅和相邻路由器周期性地交换并更新路由信息

若干次交换和更新后,每个路由器都知道到达本AS内各网络的最短距离和下一跳地址,称为收敛。

RIP的路由条目的更新规则

C将其路由表发给D,结果D改造,对D原有路由表进行更新。

例题:某自治系统内采用RIP协议,若该自治系统内的路由器R1收到其邻居路由器R2的距离矢量,距离矢量中包含信息< net1,16 >,则能得出的结论是

A.R2可以经过R1到达net1,跳数为17 B.R2可以到达net1,跳数为16

C.R1可以经过R2到达net1,跳数为17 D.R1不能经过R2到达net1

解析:在RIP协议中,距离16表明目的网络不可达。因此,R2无法到达net1,R1也无法通过R2到达net1。选D

RIP存在“坏消息传播得慢”的问题

R1与N1连接出现故障。将N1改成16跳,并发送路由信息给R2,而此时R2也发路由信息给R1.若R2发送的路由信息先到,R1更新路由表N1为3跳,发送回R2,R2收到后,更新自身路由表N1为4跳,再发回R1…直到R1R2路由表关于N1的均为16跳才停止,这叫做收敛。

“坏消息传播得慢”又称为路由环路距离无穷计数问题,这是距离向量算法的一个固有问题。可以采取多种措施减少出现该问题的概率或减小该问题带来的危害。

例题:假设R1、R2、R3采用RIP协议交换路由信息,且均已收敛。若R3检测到网络201.1.2.0/25不可达,并向R2通告一次新的距离向量,则R2更新后,其到达该网络的距离是

A.2 B.3 C.16 D.17

解析:

由题知,R3与201.1.2.0/25连接之间出现故障,R3将其改为201.1.2.0/25为16跳,并向R2通告一次新的距离向量。则R2也将201.1.2.0/25改为为16跳。

由知,R2更新后,则是R1给R2发送了RIP更新报文,R2又将201.1.2.0/25改为3跳。

选B

开放最短路径优先OSPF的基本工作原理

开放最短路径优先OSPF(Open Shortest Path First),是为克服RIP的缺点在1989年开发出来

OSPF是基于链路状态的,而不像RIP那样是基于距离向量的。

OSPF采用SPF算法计算路由,从算法上保证了不会产生路由环路

OSPF不限制网络规模,更新效率高,收敛速度快

链路状态是指本路由器都和哪些路由器相邻,以及相应链路的“代价”(cost)。

举例:思科路由器中OSPF计算代价的方法: 100Mbps/链路带宽

计算结果小于1的值仍记为1;大于1且有小数的,舍去小数。

OSPF相邻路由器之间通过交互问候(Hello)分组,建立和维护邻居关系

使用OSPF的每个路由器都会产生链路状态通告LSA(Link State Advertisement)。LSA中包含以下内容:

LSA被封装在链路状态更新分组LSU中,采用洪泛法发送。

使用OSPF的每个路由器都有一个链路状态数据库LSDB,用于存储LSA。

通过各路由器洪泛发送封装有自己LSA的LSU分组,各路由器的LSDB最终将达到一致。

使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自到达其他各路由器的最短路径,即构建各自的路由表。

OSPF有以下五种分组类型

OSPF的基本工作过程

OSPF在多点接入网络中路由器邻居关系的建立

为了使OSPF能够用于规模很大的网络,OSPF把一个自治系统再划分为若干个更小的范围,叫做区域(Area)

区域内路由器IR(internal router): R1,R2,R8,49

区域边界路由器ABR(area border router): R3,R4,R7

主干路由器BBR(backbone router): R3,R4,R5,R6,R7

自治系统边界路由器ASBR(AS border router): R6

边界网关协议BGP的基本工作原理

因特网采用分层次的路由选择协议

内部网关协议IGP(例如路由信息协议RIP或开放最短路径优先OSPF)

外部网关协议EGP(例如边界网关协议BGP)

外部网关协议EGP(例如边界网关协议BGP)

在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人“不同自治系统的BGP发言人要交换路由信息,首先必须建立TCP连接,端口号为179

BGP发言人交换网络可达性的信息(要到达某个网络所要经过的一系列自治系统)

当BGP发言人互相交换了网络可达性的信息后,各BGP发言人就根据所采用的策略从收到的路由信息中找出到达各自治系统的较好的路由。也就是构造出树形结构、不存在回路的自治系统连通图

BGP适用于多级结构的因特网

BGP-4有以下四种报文

例题:R1与R2之间利用哪个路由协议交换路由信息?该路由协议的报文被封装到哪个协议的分组中进行传输?

解析:

R1和R2分别位于两个不同的自治系统AS1和AS2中;

自治系统之间需要使用外部网关协议EGP这一类协议,具体为边界网关协议BGP,目前使用最多的版本是BGP-4;

BGP-4报文被封装在TCP报文段中进行传输。

例题:直接封装RIP、OSPF、BGP报文的协议分别是

A.TCP、UDP、IP B.TCP、IP、UDP C.UDP、TCP、IP D.UDP、IP、TCP

解析: