1, 因特网设计的思路:网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络层不提供服务质量的保证。

这样设计的好处:网络的造价大大降低,运行方式灵活,能够适应多种应用。因特网能够发展到今天的规模,充分证明了当初采用这种设计思路的正确性。

2, 网际协议 IP 是 TCP/IP 体系中最主要的两个协议之一,是最重要的因特网标准之一。与 IP 协议配套使用的还有四个协议:

(1) 地址解析协议 (ARP)

(2) 逆地址解析协议 (RARP)

(3) 网际报文协议 (ICMP)

(4) 网际组管理协议 (IGMP)

3, 网络互连需要的四种中间设备:

(1), 物理层使用的中间设备叫做转发器

(2),数据链路层使用的中间设备叫做网桥或者桥接器

(3),网络层使用的中间设备叫做路由器

(4),在网络层以上的使用的中间设备叫做网关,用网关连接两个不兼容的系统需要在高层进行协议转换。

4,虚拟互联网:逻辑互联网,即互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性能各异的网络在网络层上看起来好像是一个统一的网络。

5,IP 地址及其表示方法

IP 地址就是给因特网上的每一个主机 (或者路由器) 的每一个接口分配一个在全球范围是唯一的 32 为的标识符。IP 地址由因特网名字与号码指派公司分配。

IP 地址的分类经过了三个阶段:

(1) 分类的 IP 地址

(2) 子网的划分

(3) 构成超网

分类的 IP 地址就是将 IP 地址划分为若干个固定的类,每一个类的地址都由两个固定长度的字段组成,第一个字段是网络号,它标识主机或者路由器连接到的网络,一个网络号在整个因特网的范围内必须是唯一的,第二个字段是主机号,它标识了该主机或者路由器,一个主机号在它前面的网络号中所指明的网络范围内必须是唯一的。所以一个 IP 地址在全球范围内是唯一的。

IP 地址::={<网络号>,< 主机号 >}

为了提高可读性,我们常常把 32 位地址中的每 8 位用其等效的十进制数表示,并且在这些数字之间加上一个点,这就是点分十进制记法。

分类的 IP 地址:

6,IP 地址的特点:

(1) 每一个 IP 地址都由网络号和主机号组成。IP 地址是一种等级的地址结构,分两个等级的好处是 1,IP 地址管理机构在分配 IP 地址时,只分配网络号 (第一级),而剩下的主机号,则由得到该网络号的单位自行分配,这样做方便了 IP 地址的管理。第二,路由器仅根据目的主机所在的网络号来转发分组,这样就是路由表中的项目数大大减少,从而减少了路由表所占的存储空间以及查找路由表所用的时间。

(2) 实际上 IP 地址是标识一个主机(或路由器)和一条链路的接口,当一个主机同时连接到两个网络上时,该主机就必须同时拥有两个相应的 IP 地址,其网络号必须是不同的。这种主机就是多归属主机。

(3) 按照因特网的观点,一个网络是指带有相同网络号的主机的集合, 因此,用转发器或者网桥连接起来的若干个局域网仍然是一个网络。

(4) 在 IP 地址中,所有分配到网络号的网络,都是平等的。

7,IP 地址与硬件地址

物理地址是数据链路层和物理层使用的地址,IP 地址是网络层以及以上的层使用的地址,是一种逻辑地址。

在数据报中,IP 地址放在数据报的首部,而硬件地址放在 MAC 帧的首部,在网络层及以上使用 IP 地址,在数据链路层及以下使用硬件地址地址。当 IP 数据报作为 MAC 帧的数据部分被封装后,就称为了 MAC 数据报,所以在 MAC 层看不到 IP 地址。

8,在 IP 数据报传送过程中要注意的几点: (1) 在 IP 层抽象的互联网上只能看到 IP 数据报。

(2) 虽然 IP 数据报中有源 IP 和目的 IP,但是路由器只根据目的 IP 的网络号进行路由选择

(3) 在局域网的数据链路层只能看到 MAC 帧。

(4) 尽管互连在一起的网络的硬件地址体系各不相同,可是 IP 层抽象的互联网却屏蔽了下层这些复杂的细节。只要我们在网络层上讨论问题,就可以用统一的抽象的 IP 地址来研究主机和主机或者路由器之间的通信。

9,地址解析协议和逆地址解析协议

地址解析协议结局这个问题的方法是在主机 ARP 缓存中应存放一个从 IP 地址到硬件地址的一个映射表,并且这个映射表经常动态更新。

ARP 是解决同一个局域网上的主机或者路由器的 IP 地址和硬件地址的映射问题。从 IP 地址到硬件地址的解析是自动进行的。主机的用户对这种地址解析过程是不知道的。

10,IP 数据报的格式

各个部分的解释:

(1) 版本 占 4 位,指 IP 协议的版本

(2) 首部长度 占 4 位,可表示的最大二进制数是 15,这个字段表示数据的单位是 32 位字,就是说如果说是 1111,就意味着首部是 (1111)2 * 4 =60 个字节。

(3) 区分服务 占 8 位,用来获得更好的服务,这个字段在旧标准中叫做服务类型。

(4) 总长度 指的是 IP 数据报的首部和数据部分长度的和,是一个 16 位数,所以数据报的最大长度是 - 1 = 65535 个字节

(5) 标识 占 16 位 IP 软件在储存器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。标明了一个数据段,但是不表示顺序。

(6) 标志 占 3 位,表明是否分片和是否还有分片

最低位为 MF,表示是否还有分片

中间位为 DF,表示是否可以分片

(7) 片偏移 占 13 位,是完成按顺序重组的标志

(8) 生存时间 占 8 位,英文缩写是 TTL,表明数据报在网络中的寿命。由发出这个数据报的主机设置这个字段,防止数据报在网络中丢圈子,所以每经过一次路由,该字段减 1,直到为 0,则丢弃数据报。

(9) 协议 占 8 位,协议字段指出次数据报使用的是何种协议,以便目的主机的 IP 层知道把数据上交给哪个处理。

(10) 首部检验和占 16 位,这个字段只检验数据报的首部,不检验数据部分。

(11) 源地址占 32 位,

(12) 目的地址占 32 位

11,IP 数据报的可变部分

该项字段用来支持排错,测量,安全等措施,内容丰富。

12,IP 分组的转发过程

在互联网上转发分组时,是从一个路由器转发到下一个路由器。

一条路由的两个信息:(目的网络地址,下一跳地址)

我们就根据目的网络地址来确定下一跳路由,这样做的结果是:

(1) IP 数据报最终一定能够找到目的主机所在网络的路由器 (可能要通过多次间接交付)。

(2) 只有到达最后一个路由器时,才试图向目的主机交付。

因特网所有分组的转发都基于目的主机所在的网络,但在大多数情况下都有这样的特例,即对特定的主机指明一条特定的路由,这种路由叫做特定主机路由。路由器还可以采用默认路由来减少路由表所占的空间和搜索路由表所占的时间。

13,划分子网

(1) IP 地址空间的利用率有时很低。

(2) 给每一个物理网络分配一个网络号会使路由表变得太大,而使网络性能变坏。

(3) 两级 IP 地址不够灵活。

14,划分子网的基本思路如下:

(1) 一个拥有多个物理网络的单位,可以将所属的物理网络划分为若干个子网。

(2) 划分子网的方法是从网络的主机号借用若干位作为子网号,当然主机号也就减少了相应的位数。三级 IP 地址可以用下面的形式定义

IP 地址 ::={<网络号>,< 子网号 >,< 主机号 >};

(3) 凡是从其他单位发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号找到连接在本单位的网络上的路由器。

15, 子网掩码

把子网掩码和收到的数据报的目的 IP 地址逐位相” 与”,得到了所要找的子网的网络地址。

子网掩码是一个网络或者一个子网的重要属性。

划分子网增加了灵活性,但是减少了能够连接在网络上的主机数。

16,使用子网时的网络分组转发

路由表包含以下三项内容:目的网络地址,子网掩码,下一跳地址。

17,无分类的地址编码 CIDR

CIDR 的特点:

(1) CIDR 消除了传统的 A 类,B 类,C 类地址以及划分子网的概念。把 32 位的地址空间划分为网络前缀和主机号。所以 IP 地址的定义可以变为 IP 地址 ::={< 网络前缀 >,< 主机号 >};

(2) CIDR 把网络前缀相同的连续 IP 地址组成一个 CIDR 地址块。

在斜线记法中,斜线后面的数字就是地址掩码中 1 的个数。

由于一个 CIDR 中有很多地址,所以在路由器中就利用 CIDR 块查找目的网络,这种地址的聚合常称为路由聚合,也称构成超网。

18,最长前缀匹配:在进行目的网络匹配的时候,可能会有多个目的网络都能够匹配,这时应当从匹配结果中选择具有最长匹配前缀的路由,这叫做最长前缀匹配,也称为最长匹配或者最佳匹配。

19,使用二叉线索查找路由表

为了更有效的进行查找,通常把无分类编址的路由表存放在一种层次的数据结构中,然后自上而下的按层次进行查找,这里最常用的就是二叉线索。

20,网际报文控制协议

为了更有效的转发 IP 数据报和提高交付成功的机会,在网际层使用了网际报文控制协议 (ICMP)。

ICMP 分两种:ICMP 差错报告报文和 ICMP 询问报文。

ICMP 报文的格式:

21,ICMP 差错报文的分类

(1) 终点不可达 当路由器或者主机不能交付数据报时,就向源点发送终点不可达报文。

(2) 源点抑制 当主机或者路由器由于拥塞而丢弃数据报时,就向源点发送抑制报文,使源点知道应当把发送数据报的速率减慢。

(3) 时间超过 当路由器收到生存时间为 0 的报文时,除了丢弃该报文外,还要向源点发送时间超过报文。

(4) 参数问题 当路由器或者目的主机收到数据报的首部中有的字段的值不正确时,就丢弃该数据报,并向源点发送参数问题报文.

(5) 改变路由 (重定向) 路由器把改变路由报文发送给主机,让主机知道下次应把数据报发送给另外的路由器 (可通过更好的路由)。

22,常见的 ICMP 询问报文

(1) 回送请求和回答 ICMP 回送请求报文是主机或者路由器向一个特定的目的主机发出的询问。收到此报文的主机必须向源主机或者路由器发送一个 ICMP 回送回答报文。这种报文用来测试目的主机是否可达以及了解其有关状态。

(2) 时间戳请求和回答 ICMP 时间戳请求报文是请某个主机或者路由器回答当前的日期和时间。ICMP 时间戳回答报文中有个 32 位的字段,写入的整数值代表从 1990 年 1 月 1 日起到当前时刻一共多少秒。时间戳请求与回答可以用来进行时钟同步和测量时间。

23,理想的路由选择算法

(1) 算法必须是正确的和完整的。沿着各个路由表所指引的路由,分组一定能够最终到达最终的目的网络和目的主机。

(2) 算法在计算上应简单。路由选择的计算不应使网络通信量增加太多的额外开销。

(3) 算法应能适应网络通信量和拓扑的变化。要有自适应性。

(4) 算法要有稳定性。

(5) 算法应是公平的。

(6) 算法应是最佳的。所谓最佳只能是相对于某一种特定要求下得到的较为合理的选择而已。

路由选择的方法分为静态路由选择和动态路由选择。

24,分层次的路由选择协议

因特网将整个互联网划分为许多较小的自治系统。一个自治系统相对于其他的自治系统表现出的是一个单一的和一致的路由选择策略。

(1) 内部网关协议

(2) 外部网关协议

25,内部网关协议 RIP

RIP 是一种分布式的基于距离向量的路由选择协议。是因特网的标准协议,其最大的特点就是简单。

距离向量:从一个路由器到直接连接的网络的距离为 1,从一个路由器到非直接连接的路由器的距离,等于所经过的路由器加 1。RIP 的距离也称为跳数,只适应于小型网络。

RIP 协议的特点:

(1) 仅和相邻的路由交换信息。

(2) 路由器交换的信息是当前本路由所知道的全部信息,即自己的路由表。

(3) 按固定的时间间隔交换路由信息。

路由表中最重要的信息就是:到某个网络的距离 (即最短距离),以及应经过的下一跳地址。路由表更新的原则是找到到每个目的网络的最短距离。

25,RIP 协议的报文格式

RIP 存在的一个问题是当网络出现故障的时候,要经过比较长的时间才能将此信息传送到所有的路由器。他的这个特点叫做:好消息传播的快,坏消息传播的慢。最大的特点是:实现简单,开销小。

26,OSPF 协议

开放最短路径优先: 开放是指 OSPF 是公开发表的。最短路径优先是因为使用了 Dijkstra 的最短路径算法。

OSPF 协议的特点:

(1) 向本自治系统的所有路由器发送信息,这里使用的方法是洪泛法。

(2) 发送是信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器知道的部分信息。

(3) 只有当链路状态发生变化时,路由器才用洪泛法向所有的路由器发送此信息。

由于各个路由器之间频繁的交换链路状态信息,因此所以的路由器最终都能建立起一个链路状态数据库,这个数据库实际上就是全网的拓扑结构图。这个拓扑结构图在全网范围内是一致的。

OSPF 的更新过程收敛的快是它的最重要的特点。

OSPF 使用层次结构的区域划分,分为主干区域和边缘区域。

OSPF 不用 UDP 而是直接使用 IP 数据报传送 (其 IP 数据报首部的协议字段的值为 89)。

27,OSPF 数据报的格式个特点

特点: (1) OSPF 可以对不同的链路根据 IP 分组的不同服务类型,设置成不同的代价。因此可以对

于不同类型的业务可以计算出不同的路由。

(3) 如果到同一个目的网络有多条代价相同的路径,可以将通信量分配给这几条路径。这叫做多路径间的负载平衡。

(4) 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能,因此保证了尽在可信赖的路由器之间交换信息

(5) OSPF 支持可变长度的子网划分和无分类编址 CIDR

(6) 由于网络中的链路状态可能经常变化,所以 OSPF 让每个链路状态都带上一个 32 位的序号,序号越大,状态越新。

28.OSPF 的五种分组类型:

(1) 类型 1, 问候 (Hello) 分组,用来发现和维持邻站的可达性

(2) 类型 2 数据库描述分组,向邻站给出自己的链路状态数据库中所有链路状态项目的摘要信息。

(3) 类型 3,链路状态请求,向对方请求某些链路状态项目的详细信息。

(4) 类型 4,链路状态更新,用洪泛法对全网更新链路状态,这种分组是最复杂的也是 OSPF 协议最核心的部分.

(5) 类型 5 链路状态确认,对链路更新分组的确认。

29,外部网关协议 BGP

使用 BGP 的原因:

(1) 因特网的规模太大,使得 AS 之间的路由选择非常困难。

(2) AS 之间的路由选择必须考虑有关策略。

边界网关协议 BGP 只能是力求寻找一条比较好的路由,而并非一条最佳路由。BGP 采用了路径向量路由选择协议,它与距离向量协议和链路状态协议都有很大的区别。

在配置 BGP 的时候,每个 AS 的系统管理员都要选择至少一个路由器作为该 AS 的系统发言人。而系统发言人往往也就是边界路由器。

30,BGP 交换信息的过程

一个 BGP 发言人先跟另一个 BGP 发言人交换信息时先建立 TCP 连接,然后在此基础上会话。

BGP 协议交换路由信息的结点数量级是自治系统 AS 数的量级,这要比这些 AS 中的网络数少很多。

31,路由器的结构

转发就是路由器根据转发表把收到的 IP 数据报从路由器的合适端口转发出去,只涉及到一个路由器,而路由选择则涉及到很多路由器,路由表则是许多路由器协同工作的结果。

路由器的交换结构:

左上角:通过存储器,右边:通过总线;左下角:通过互联网络