一、网际协议(IP)
IP 协议及配套协议1. IP 地址及其分类
我们把整个因特网看成为一个单一的、抽象的网络。IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。
IP 地址被分为五类,每一类地址都由两个固定长度的字段组成,其中一个字段是网络号
,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号
,它标志该主机(或路由器)。
- IP 地址是一种分等级的地址结构。分两个等级的好处是:
第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。
第二,路由器仅根据目的主机所连接的网络号来转发分组(而不考虑目的主机号),这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。 - 当一个主机或路由器同时连接到两个网络上时,其必须同时具有两个相应的 IP 地址,它们的网络号必须是不同的。这种主机被称为
多归属主机
。由于一个路由器至少应当连接到两个网络,这样才能将 IP 数据报从一个网络转发到另一个网络,因此一个路由器至少应当有两个不同的 IP 地址。 -
用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号。
互联网中的 IP 地址
2. 地址解析协议 ARP
不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。每一个主机都设有一个 ARP 高速缓存,里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。
当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。如果没有,主机 A 将广播发送 ARP 请求分组。为了减少网络上的通信量,主机 A 在发送其 ARP 请求分组时,就将自己的 IP 地址到硬件地址的映射写入 ARP 请求分组。当主机 B 收到 A 的 ARP 请求分组时,就将主机 A 的这一地址映射写入主机 B 自己的 ARP 高速缓存中。这对主机 B 以后向 A 发送数据报时就更方便了。
ARP 协议是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射问题。如果所要找的主机和源主机不在同一个局域网上,那么就要通过 ARP 找到一个位于本局域网上的某个路由器的硬件地址,然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络。剩下的工作就由下一个网络来做。
3. 逆地址解析协议 RARP
逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其 IP 地址。这种主机往往是无盘工作站。 因此 RARP协议目前已很少使用。
4. IP 数据报的格式
4. 网络层转发分组流程
有四个 A 类网络通过三个路由器连接在一起,则每一个网络上都可能有成千上万个主机。可以想像,若按目的主机号来制作路由表,则所得出的路由表就会过于庞大。但若按主机所在的网络地址来制作路由表,那么每一个路由器中的路由表就只包含 4 个项目,这样就可使路由表大大简化。
路由器还可采用默认路由
以减少路由表所占用的空间和搜索路由表所用的时间。这种转发方式在一个网络只有很少的对外连接时是很有用的。如果一个主机连接在一个小网络上,而这个网络只用一个路由器和因特网连接,那么在这种情况下使用默认路由是非常合适的。
分组转发算法:
(1) 从数据报的首部提取目的主机的 IP 地址 D,得出目的网络地址为 N。
(2) 若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行(3)。
(3) 若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。
(4) 若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)。
(5) 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行(6)。
(6) 报告转发分组出错。
二、子网和超网
1. 子网划分
IP 地址空间的利用率有时很低,如果给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变低,显然两级的 IP 地址不够灵活。
从1985年起在 IP 地址中又增加了一个“子网号”字段,使两级的 IP 地址变成为三级的 IP 地址。划分子网的基本思路:
子网示意图从
主机号
借用若干个位作为子网号
,而主机号
也就相应地减少了若干个位:
IP地址 = {<网络号>, <子网号>, <主机号>}
2. 子网掩码
从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分,使用子网掩码
可以找出 IP 地址中的子网部分。
3. CIDR 地址块
无分类的两级编址的记法是:
IP地址 ::= {<网络前缀>, <主机号>}
CIDR 还使用“斜线记法”,它又称为 CIDR 记法,即在 IP 地址面加上一个斜线“/”,然后写上网络前缀所占的位数(这个数值对应于三级编址中子网掩码中 1 的个数)。CIDR 把网络前缀都相同的连续的 IP 地址组成“CIDR 地址块”。例如:
128.14.32.0/20
表示的地址块共有 2^12 个地址(因为斜线后面的 20 是网络前缀的位数,所以这个地址的主机号是 12 位)。
4. 路由聚合和超网
一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合
,它使得路由表中的一个项目可以表示很多个原来传统分类地址的路由。路由聚合
也称为构成超网
。
三、网际控制报文协议(ICMP)
为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议 ICMP (Internet Control Message Protocol)
。ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。ICMP 不是高层协议,而是 IP 层的协议。ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
四、因特网的路由选择协议
1. 自治系统(Autonomous System)
自治系统
的定义:在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由。
现在对自治系统 AS 的定义是强调下面的事实:尽管一个 AS 使用了多种内部路由选择协议和度量,但重要的是一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略。
2. 路由选择协议
因特网有两大类路由选择协议:
-
内部网关协议 IGP(Interior Gateway Protocol)
:即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如 RIP 和 OSPF 协议。 -
外部网关协议 EGP(External Gateway Protocol)
:若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。这样的协议就是外部网关协议 EGP。在外部网关协议中目前使用最多的是 BGP-4。
网友评论