建设局网站投诉,个人网站域名起名,点评网站模板,重庆建网站 私单一.网络层概述
1.1分组转发和路由选择 网络层的主要任务就是将分组从源主机经过多个网络和多段链路传输到目的主机#xff0c;可以将该任务划分为分组转发和路由选择两种重要的功能。 如图所示#xff1a;这些异构型网络如果只是需要各自内部通信#xff0c;那它们只需要实…一.网络层概述
1.1分组转发和路由选择 网络层的主要任务就是将分组从源主机经过多个网络和多段链路传输到目的主机可以将该任务划分为分组转发和路由选择两种重要的功能。 如图所示这些异构型网络如果只是需要各自内部通信那它们只需要实现各自的物理层和数据链路层即可但是如果需要将这些异构型网络互连起来形成一个更大的互联网就需要使用网络互连设备路由器。假设主机 A 是网络 N1 中的主机主机 B是网络 N3 中的主机。 为了简单起见有时我们可以不用画出这些网络而将它们看作是一条链路即可。假设主机 A 给主机 B 发送分组路由器 R1 收到后对其进行转发从该网络拓扑可以看出R1 可将该分组从自己的接口 2 转发也可将该分组从自己的接口 3 转发。 R1如何知道应从自己的哪个接口转发分组
答案是转发表路由器在自己的转发表中查找该分组的目的地址以便对其按照查表结果进行转发。
那么转发表又是如何得来的呢 答案是路由表那么路由表又是如何得来的呢路由表是由路由器的路由选择处理机执行路由选择协议并与其他相关路由器交换路由信息后得来的如果网络拓扑比较简单也可通过在路由器命令行输入命令的方式对路由表进行静态配置。
注意路由表需要对网络拓扑变化的计算最优化而转发表是从路由表得出的转发表的结构应当使查找过程最优化。为了简单起见这里在讨论路由选择的原理时并不严格区分路由表和转发表而是以路由表来表述问题
1.2网络层向其上层提供的两种服务
1.2.1面向连接的虚电路服务 1.2.2无连接的数据报服务 对比 二.网际协议IP 这是四层 TCP/IP 体系结构网络接口层支持各种网络接口网际协议 IP 是 TCP/IP 体系结构网际层中的核心协议网际协议 IP 可以互连各种不同的网络接口TCP 和 UDP 是运输层中的两个重要协议TCP 为应用层中的某些协议提供可靠传输服务而 UDP 为应用层中的某些协议提供不可靠传输服务TCP 和 UDP 都是用网际协议 IP 提供的不可靠传输服务。
由于网际协议 IP 是 TCP/IP 体系结构网络层中的核心协议因此 TCP/IP 体系结构的网络层常被称为网际层或 IP 层。
在网际层中与 IP 协议配套使用的还有四个协议分别是
网际控制报文协议 ICMP网际组管理协议 IGMP逆地址解析协议 RARP已淘汰地址解析协议 ARP
在网际层中RARP 和 ARP 画在 IP 下面这时因为 IP 协议经常要使用这两个协议。RARP 现在已被淘汰不使用了。
ICMP 和 IGMP画在 IP 的上面因为它们要使用 IP 协议。
2.1异构网络互连
2.1.1需要解决的问题 2.1.2IP网 2.2IPv4地址及其编址方法
2.2.1IPv4地址概述 IPv4地址是给因特网上的每一个主机或路由器的每一个接口分配的一个在全世界范围内唯一的32比特的标识符。 IPv4地址的编址方法经历了三个历史阶段 2.2.2IPv4地址的表示方法
由于IPv4地址由32比特构成不方便阅读、记录以及输入等因此IPv4地址采用点分十进制表示方法以方便用户使用。 2.2.3分类编址方法
两级结构的IPv4地址网络标识网络地址主机标识主机地址 分类编址方法把 IPv4地址分为A~E五类 注意
A类、B类和C类地址都是单播地址只有单播地址可以分配给网络中的主机或路由器的各接口。主机号为“全0”的地址是网络地址不能分配给主机或路由器的各接口。主机号为“全1”的地址是广播地址不能分配给主机或路由器的各接口。
网络地址和广播地址
网络地址是一个 IP 地址的一部分它用于标识一个特定的网络。IP 地址通常分为网络地址和主机地址两部分其中网络地址用于确定数据包应该发送到哪个网络而主机地址用于标识网络中的具体主机或设备。网络地址的长度通常由 IP 地址的子网掩码决定。子网掩码中的“1”表示网络地址的位而“0”表示主机地址的位。通过对 IP 地址和子网掩码进行逻辑与运算可以提取网络地址。网络地址用于路由数据包确保它们在网络中正确传递到目标网络。广播地址是用于将数据包发送到同一网络中的所有主机或设备的特殊 IP 地址。它是一个特殊的 IP 地址通常设置为目标网络的网络地址但主机地址部分全部为二进制 1。因此广播地址将数据包发送到了目标网络上的所有设备而不需要明确知道每个设备的 IP 地址。广播通常用于一些特定的网络通信需求如 DHCP动态主机配置协议请求ARP地址解析协议请求等。
2.2.3.1A类地址 2.2.3.2B类地址 注意: 有些教材中指出128.0是保留网络号B类第一个可指派的网络号为128.1。但根据2002年9月发表的RFC 3330文档128.0网络号已经可以分配了。
2.2.3.3C类地址 注意: 有些教材中指出192.0.0是保留网络号C类第一个可指派的网络号为192.0.1。但根据2002年9月发表的RFC 3330文档192.0.0网络号已经可以分配了。只不过目前还没有分配出去。
2.2.3.4各类地址范围 根据地址左起第一个十进制数的值可以判断出网络类别 小于127的为A类128~191的为B类192~223的为C类根据网络类别就可找出地址中的网络号部分和主机号部分 A类地址网络号为左起第一个字节B类地址网络号为左起前两个字节C类地址网络号为左起前三个字节)以下三种情况的地址不能指派给主机或路由器接口 A类网络号为 0 和 127主机号为 “全0” 这是网络地址主机号为 “全1” 这是广播地址 2.2.3.5一般不使用的特殊IPv4地址 2.2.3.6分类编址方法的缺点 注意在第二步计算各网络中的主机和路由器的接口总数量时需特别留意加上路由器的接口数
首先应该找出图中都有哪些网络。左边两个网络右边三台交换机在一起也组成了一个网络不要忘记两台路由器通过一段链路直连它们的直连接口也属于同一个网络之后可以根据各网络中主机和路由器接口总数量来决定各网络分配哪个类别的网络号。 左上角的网络的主机数量为 655334加上一个路由器接口需要可分配的 IP 地址数量为65535只能该网络分配一个 A 类网络号左下角的网络的主机数量为 254加上一个路由器接口需要可分配的 IP 地址数量为 255可以给网络分配一个 A 类或 B 类网络号本着节约IP 地址的原则给该网络分配一个 B 类网络号右边网络的主机数量为 40再加上一个路由器接口需要可分配的 IP 地址数量为 41给该网络分配一个 A 类B 类或 C 类网络号都可以本着节约 IP 地址的原则给该网络分配一个 C 类网络号中间连接的网络没有主机只有两个路由器接口需要可分配的 IP 地址数量为 2给该网络分配一个 A 类B 类或 C 类网络号都可以本着节约 IP 地址的原则给该网络分配一个 C 类网络号依据网络号的类别为每一个网络挑选一个网络号A 类网络号的取值范围是 1-126可在该范围内挑选一个网络号分配给相应网络B 类网络号的取值范围是 128.0-191.255可在该范围内挑选一个网络号分配给相应网络C 类网络号的取值范围是 192.0.0~223.255.255可在该范围内挑选两个网络号分配给相应网络不同网络的网络号不能相同网络号分配完毕后就可给各主机和路由器的各接口分配 IP 地址了。 需要注意的是所分配的 IP 地址应该互不相同并且其主机号部分不能出现“全 0”因为这是网络地址也不能出现“全 1”因为这是广播地址网络地址或广播地址都不能分配给主机或路由器的各接口因为它们无法唯一标识一台主机或路由器的某个接口。 随着更多的中小网络加入因特网IPv4分类编址方法不够灵活、容易造成大量IPv4地址资源浪费的缺点就暴露出来了。 如图所示某单位有一个大型的局域网需要连接到因特网如果申请一个 C 类网络地址其可分配的 IP 地址数量只有 254 个不够使用因此该单位申请了一个 B 类网络地址其可分配的 IP 地址数量达到了 65534 个给每台计算机和路由器的接口分配一个 IP 地址后还有大量的 IP 地址剩余这些剩余的 IP 地址只能由该单位的同一个网络使用而其他单位的网络不能使用。
随着该单位计算机网络的发展和建设该单位又新增了一些计算机并且需要将原来的网络划分成三个独立的网络我们称其为子网 1子网 2 和子网 3。假设子网 1 仍然使用原先申请到的 B 类网络地址那么就需要为子网 2 和子网 3 各自申请一个网络地址但这样会产生一些弊端申请新的网络地址需要等待很长的时间并且要花费更多的费用即便申请到了两个网络地址这也会使其他路由器的路由表新增针对这两个新的网络的路由记录另外这样还会浪费原有网络中剩余的大量 IP 地址。
2.2.4划分子网编址方法
IPV4 地址编址方法的第二个历史阶段也就是划分子网的 IPV4 地址。
如果可以从 IP 地址的主机号部分借用一些位为子网号来区分不同的子网就可以利用原有网络中剩余的大量 IP 地址而不用申请新的网络地址。 例如对于本例我们可以借用 16 位主机号中的 8 位作为子网号假设我们给子网 1 分配的子网号为 0给子网 2 分配的子网号为 1给子网 3 分配的子网号为 2之后就可以给各自子网中的主机和路由器接口分配 IP 地址了。 如果未在图中标记子网号部分那么我们或计算机又如何知道在分类地址中主机号有多少比特被借用作为子网号了呢这样我们就引出了一个划分子网的工具他就是子网掩码。
2.2.4.1子网掩码
子网掩码可以表明分类IPv4地址的主机号部分被借用了几个比特作为子网号。
与IPv4地址类似子网掩码也是由32比特构成的。
用左起多个连续的比特1对应IPv4地址中的网络号和子网号之后的多个连续的比特0对应IPv4地址中的主机号 将划分子网的IPv4地址与相应的子网掩码进行逐比特的逻辑与运算就可得到该IPv4地址所在子网的网络地址主机号全为0。这样网络号和子网号被保留而主机号被清零 结果为 IP 地址所在子网的网络地址。
2.2.4.2根据IP地址和子网掩码得出子网划分细节
只要给定了一个分类的IPv4地址及其相应的子网掩码就可以得出子网划分的全部细节。 分析
题目给定网络地址为 218.75.230.0从它的左起第一个十进制数可知这是一个 C 类网络地址因此网络号占三个字节主机号占一个字节。我们把主机号转为8比特表示从左起有 1个 连续的1表示从主机号借用1个 比特作为子网号。
划分细节 218.75.230.0 是该网络上的第一个地址由于这是一个 C 类网地址因此网络号占 3 个字节主机号占 1 个字节将网络号保持不变而主机号取最大值 255这就是该网络上的最后一个地址。该 C 类网共有256 个地址其中第一个地址作为该网络的网络地址也就是主机号“全 0”的地址。最后一个地址作为该网络的广播地址也就是主机号“全 1”的地址。 之前分析过题目所给的子网掩码表明从主机号部分借用 1 比特作为子网号也就是将该 C 类网均分为两个子网。我们将主机号写成 8比特的形式从主机号借用 1 个比特作为子网号子网号只能是 0 或 1。使用子网掩码255.255.255.128 可将 C 类网 218.75.230.0 均分为两个子网。
练习 2.2.4.3默认子网掩码 默认子网掩码是指在未划分子网的情况下使用的子网掩码。 2.2.5无分类编制方法(CIDR)
2.2.5.1诞生背景 重新回到两级结构的IPv4地址网络标识网络地址主机标识主机地址 2.2.5.2地址掩码 与子网掩码类似用左起多个连续的比特1对应IPv4地址中的网络前缀之后的多个连续的比特0对应IPv4地址中的主机号。 2.2.5.3CIDR的斜线记法 为了简便起见可以不明确给出配套的地址掩码的点分十进制形式而是在无分类编址的IPv4地址后面加上斜线“/”在斜线之后写上网络前缀所占的比特数量也就是地址掩码中左起连续比特1的数量这种记法称为斜线记法。 2.2.5.4CIDR地址块
无分类域间路由选择CIDR是将网络前缀都相同的、连续的多个无分类IPv4地址组成一个CIDR地址块只要知道CIDR地址块中的任何一个地址就可以知道该地址块的以下全部细节
地址块中的最小地址地址块中的最大地址地址块中的地址数量地址块中聚合某类网络A类、B类、C类的数量地址掩码 2.2.5.5使用CIDR地址块有效地分配IPv4地址空间
使用无分类编址方法可以根据客户的需要分配适当大小的CIDR地址块因此可以更加有效地分配IPv4的地址空间。 2.2.5.6路由聚合
使用无分类编址方法的另一个好处是路由聚合也称为构造超网。 如图所示路由器 R1 与 5 个网络以及路由器 R2 直接相连。路由器 R1 和 R2 互为相邻路由器它们周期性地通告自己所知道的路由信息给对方。R1 应该怎样地将路由信息通告给 R2 呢
如果 R1 将自己直连的这五个网络的路由记录都通告给 R2则 R2 的路由表会增加 5 条路由记录。为了减少路由记录对路由表的占用能否将这 5 条记录聚合成 1 条呢
答案是肯定的其方法是“找共同前缀”也就是找出这 5 个目的网络地址的共同前缀。这 5 个目的网络地址的左起前两个字节都是相同的从第三个字节开始不同因此只需将第三个字节转换成二进制形式这样就可以很容易找出这 5 个目的网络地址的共同前缀共 22 个比特我们将其记为“/22”。将共同前缀保持不变而剩余的 10 个比特全部取 0然后写成点分十进制形式放在“/22”前面。这就是聚会后的地址块也可以称为超网。 注意这里求的是主机数需要减去网络地址和广播地址 2.3IPv4地址的应用规划 IPv4地址的应用规划是指将给定的IPv4地址块或分类网络划分成若干个更小的地址块或子网并将这些地址块或子网分配给互联网中的不同网络进而可以给各网络中的主机和路由器的接口分配IPv4地址。 2.3.1定长子网掩码(FLSM)和变长子网掩码(VLSM) 2.3.2采用定长的子网掩码(FLSM)进行子网划分 ①需求分析 ②根据需求分析找出一个 用于子网划分的子网掩码 用三个十进制数 255 来对应网络号部分也就是用 24 个连续的比特 1 来对应网络号而最后 8 个比特为 11100000其中 3 个连续的比特 1 表示从主机号部分借用 3 个比特作为子网号将这 8 个比特写为十进制数为 224。
③根据网络地址和子网掩码 得出子网划分细节 ④子网分配 现在我们就可以从子网 1-8 中任选 5 个分配给图中的网络 1~5通过本例可以看出采用定长的子网掩码进行子网划分只能划出 2^n 个子网其中 n 是从主机号部分借用的用来作为子网号的比特数量每个子网所分配的 IP 地址数量相同容易造成 IP 地址的浪费例如图中的网络 5 只需要 4 个 IP 地址但是我们只能给它分配 32 个 IP 地址这样就造成了 IP 地址的严重浪费。
2.3.3采用变长的子网掩码(VLSM)进行子网划分 ①需求分析 ②根据需求分析找出用于各子网的地址块前缀 既然网络 1 需要 9 个地址那么分配给网络 1 的地址的主机号应为 4 个比特因为 2^4 等于 16这样网络 1 就可有 16 个地址由于使用 4 个比特作为主机号因此剩余 28 个比特可作为网络前缀既然网络 2 需要 28 个地址那么分配给网络 2 的地址的主机号应为 5 个比特因为 2^5 等于 32这样网络 2 就可有 32 个地址由于使用 5 个比特作为主机号因此剩余 27 个比特可作为网络前缀。
③从给定地址块中为各子网选择子块 注意理解网络地址的含义
2.4 IPv4地址与MAC地址
2.4.1 MAC地址、IP地址概述 2.4.2 IPv4地址与MAC地址的封装位置 如图所示这是 TCP/IP 的四层体系结构这是某个应用层协议封装的应用层报文也称为应用层协议数据单元。
应用层将其向下交付给运输层运输层也看不懂也无需看懂应用层报文的结构和内容因此我们将其用黑色表示。运输层的相应协议仅仅为其添加一个运输层首部使之称为运输层协议数据单元并将其向下交付给网际层。网际层看不懂也无需看懂运输层协议数据单元的结构和内容因此我们将其用黑色表示。网际层的 IP 协议仅仅为其添加一个 IP 首部使之成为网际层协议数据单元也就是 IP 数据报并将其向下交付给数据链路层。数据链路层看不懂也无需看懂网际层协议数据单位的结构和内容因此我们将其用黑色表示数据链路层的相应协议仅仅为其添加一个首部和一个尾部使之成为数据链路层协议数据单元也就是封装成帧并将其向下交付给物理层。物理层看不懂也无需看懂数据链路层协议数据单元的结构和内容仅仅将它们看作是比特流以便将它们转换为相应的电信号发送到传输媒体。由于 IP 地址属于 TCP/IP 体系结构中网际层的范畴因此在 IP 首部中应该封装有源 IP 地址和目的 IP 地址相应的由于 MAC 地址属于数据链路层的范畴因此在帧首部中应该封装有源 MAC 地址和目的 MAC 地址。
2.4.3 数据包传送过程中IPv4地址与MAC地址的变化情况 如图所示这是三个局域网通过两个路由器互传起来的小型互联网假设主机 H1 给 H2 发送一个分组该分组需要依次经过路由器 R1 和 R2 的转发才能最终到达 H2我们从网络体系结构的角度来看看数据包在传送过程中IP 地址与 MAC 地址的变化情况我们所关注的重点是网际层在封装IP 数据报时源 IP 地址和目的 IP 地址应该填写什么数据链路层在封装帧时源 MAC 地址和目的 MAC 地址应该填写什么。因此我们忽略网络体系结构中除网际层和数据链路层外的其他各层各网际层进行水平方向的逻辑通信各数据链路层进行水平方向的逻辑通信。
不难发现
在数据包的传送过程中数据包的源IP地址和目的IP地址保持不变在数据包的传送过程中数据包的源MAC地址和目的MAC地址逐链路或逐网络改变。
2.4.4 IPv4地址与MAC地址的关系
如果仅使用MAC地址进行通信则会出现以下主要问题
因特网中的每台路由器的路由表中就必须记录因特网上所有主机和路由器各接口的MAC地址。手工给各路由器配置路由表几乎是不可能完成的任务即使使用路由协议让路由器通过相互交换路由信息来自动构建路由表也会因为路由信息需要包含海量的MAC地址信息而严重占用通信资源。包含海量MAC地址的路由信息需要路由器具备极大的存储空间并且会给分组的查表转发带来非常大的时延。
而因特网的网际层使用IP地址进行寻址就可使因特网中各路由器的路由表中的路由记录的数量大大减少因为只需记录部分网络的网络地址而不是记录每个网络中各通信设备的各接口的MAC地址。
路由器收到IP数据报后根据其首部中的目的IP地址的网络号部分基于自己的路由表进行查表转发。查表转发的结果可以指明IP数据报的下一跳路由器的IP地址但无法指明该IP地址所对应的MAC地址。因此在数据链路层封装该IP数据报成为帧时帧首部中的目的MAC地址字段就无法填写该问题需要使用网际层中的地址解析协议ARP来解决。
2.5地址解析协议ARP
2.5.1ARP高速缓存表 这是一个小型交换式以太网为了简单起见我们仅画出了该网络中的三台主机这是它们各自所配置的 IP 地址和其网卡上固化的 MAC 地址。假设主机 A 要给主机 B 发送一个分组主机 A 知道主机 B 的 IP 地址然而主机 A 不知道主机 B 的 MAC 地址因此主机 A 的数据链路层在封装以太网帧时无法填写目的 MAC 地址。 实际上每台主机都会维护一个 ARP 高速缓存表ARP 高速缓存表中记录了 IP 地址和 MAC 地址的对应关系。
2.5.2ARP广播请求和ARP单播响应 主机 A 的 ARP 高速缓存表中的第一条记录是主机 A 之前获取到的主机 C 的IP 地址与 MAC 地址的对应关系当主机 A 要给主机 B 发送分组时会首先在自己的 ARP 高速缓存表中查找主机 B 的 IP 地址所对应的 MAC 地址但未找到。
于是主机 A 发送 ARP 请求报文来获取主机 B 的 MAC 地址ARP 请求报文是广播报文需要封装在以太网帧中发送帧的目的 MAC 地址为广播地址也就是 48 比特为全 1十六进制为全 F 形式的地址。 为了简单起见我们用简单的语言来描述 ARP 请求报文的内容实际上 ARP 请求报文有其具体的格式。交换机收到封装有该 ARP 请求报文的以太网广播帧后将其从自己的其他所有接口转发出去这样主机 B 和 C 都可以收到该广播帧。
主机 C 的网卡收到该广播帧后将其所封装的 ARP 请求报文送交上层处理上层的 ARP 进程解析该ARP 请求报文发现所询问的 IP 地址不是自己的地址因此不予理会。主机 B 的网卡收到该广播帧后将其所封装的 ARP 请求报文送交上层处理上层的 ARP 进程解析该 ARP 请求报文发现所询问的 IP 地址正是自己的 IP 地址需要进行响应主机 B 首先将 ARP 请求报文中所携带的主机A 的 IP 地址与 MAC 地址记录到自己的 ARP 高速缓存表中然后给主机 A 发送 ARP 响应报文以告知自己的 MAC 地址。 主机 A 将其所包含的主机 B 的 IP 地址与 MAC 地址记录到自己的 ARP 高速缓存表中主机 A 现在可以给主机 B 发送分组了。
2.5.3ARP高速缓存表中的记录类型和生命周期
需要说明的是ARP 高速缓存表中的每一条记录都有其类型分为动态和静态两种。 2.5.4ARP相关注意事项
注意ARP协议被用来解决同一个局域网上的主机或路由器的 IP 地址和 MAC 地址的映射问题不能跨网络使用。 如图所示主机 H和 H之间有路由器 R和 R共个路由器当主机 H要给主机 H发送分组时不能跨网络使用 ARP而是要逐段链路或逐个网络使用 ARP。
由于ARP协议的主要用途是从网际层使用的IP地址解析出在数据链路层使用的MAC地址。因此有的教材将ARP协议划归在网际层而有的教材将ARP协议划归在数据链路层。这两种做法都是可以的。除了ARP请求报文和响应报文ARP协议还有其他类型的报文例如用于检查IP地址冲突的“无故ARP”。由于ARP协议很早就制定出来了1982年11月当时并没有考虑网络安全问题。因此ARP协议没有安全验证机制存在ARP欺骗和攻击等问题。
2.6IP数据报的发送和转发过程
IP数据报的发送和转发过程包含以下两个过程
主机发送IP数据报路由器转发IP数据报
为了将重点放在TCP/IP体系结构的网际层发送和转发IP数据报的过程上在之后的举例中将忽略以下过程
使用ARP协议来获取目的主机或路由器接口的MAC地址的过程。以太网交换机自学习和转发帧的过程。
2.6.1主机发送IP数据报 如图所示路由器 R 的接口连接了一个由交换机 S和台主机互连而成的交换式以太网记为以太网路由器 R 连接了一个由交换机 S和台主机互连而成的另一个交换式以太网记为以太网。
假设以太网分配到的 CIDR 地址块为...以太网的 CIDR 地址块为...我们从这两个 CIDR 地址块中选择可分配给主机或路由器接口的 IP 地址分别分配给这两个网络中各主机和路由器的各接口。
2.6.1.1直接交付和间接交付 同一个网络中的主机之间可以直接通信这属于直接交付不同网络中的主机之间的通信需要通过路由器来中转这属于间接交付。那么源主机如何判断出目的主机是否与自己在同一个网络中呢
2.6.1.2源主机判断目标主机是否与源主机在同一网络中的方法 假设主机 C 要给主机 F 发送 IP 数据报主机 C 知道主机 F 的 IP 地址于是将主机 F 的 IP 地址的前25个比特取出与主机 C 自己的 IP 地址的前25个比特的网络前缀进行比较可以发现它们的 IP 地址的左起前25个比特并不完全相同这就表明主机 C 与 F 不在同一个网络。综上所述主机 C 给主机 F 发送 IP 数据报这属于间接交付也就是说主机 C 给主机 F 发送 IP 数据报需要经过路由器的转发。
2.6.1.3默认网关 那么主机 C 又是如何知道需要将 IP 数据报交给哪个路由器来转发呢 实际上用户为了让本网络中的各主机能与其他网络中的各主机进行通信就必须给本网络中的各主机指定本网络中的一个路由器由该路由器帮忙进行转发所指定的路由器也就被称为默认网关。 对于本例我们可以将路由器接口的 IP 地址指定给该接口所直连网络中的各主机作为默认网关。同理可将路由器接口的 IP 地址指定给该接口所直连网络中的各主机作为默认网关这样当本网络中的主机要和其他网络中的主机进行通信时会将 IP 数据报发送给默认网关由默认网关主机将 IP 数据报转发出去。
2.6.2路由器转发IP数据报
假设本例中的主机 A 要给主机 D 发送 IP 数据报这属于间接交付主机 A 会将该 IP 数据报发送给自己的默认网关也就是图中所示的路由器那么当路由器收到 IP 数据报后又是如何进行转发的呢 路由器首先会检查收到的 IP 数据报是否正确例如该 IP 数据报的生存时间是否结束首部是否出现了误码等若不正确则丢弃该 IP 数据报并向发送该 IP 数据报的源主机发送相应的 ICMP 差错报告。假设该 IP 数据报没有出现差错路由器基于 IP 数据报首部中的目的 IP 地址在自己的路由表中查找匹配的路由条目若找到匹配的路由条目则按该路由条目的指示进行转发否则丢弃该 IP 数据报并向发送该 IP 数据报的源主机发送相应的 ICMP 差错报告。
2.6.2.1查表转发 该 IP 数据报首部中源 IP 地址...是主机 A 的 IP 地址而目的 IP 地址...是主机 D 的 IP 地址。在我们给路由器的接口配置 IP 地址和地址掩码后路由器就可自行得出自己的接口所直连网络的网络地址目的网络为...相应的地址掩码为...不需要下一跳路由器因为该目的网络与接口是直连的同理在我们给路由器的接口配置 IP 地址和地址掩码后路由器可自行得出接口的直连网络路由条目目的网络为...相应的地址掩码为...不需要下一跳路由器因为该目的的网络与接口是直连的。
需要说明的是路由表中可能还会有其他路由条目这可能是用户或网络管理员手工配置的静态路由条目也可能是路由器通过路由选择协议自动获取到的动态路由条目。 路由器根据 IP 数据报的目的 IP 地址在自己的路由表中查找匹配的路由条目将 IP 数据报的目的地址..与第条路由条目中的地址掩码...进行逻辑与运算得到网络地址..该网络地址与第条路由条目中的目的网络地址...不相同因此第条路由条目不匹配。 将 IP 数据报的目的地址...与第条路由条目中的地址掩码...进行逻辑与运算得到网络地址...该网络地址与第条路由条目中的目的网络地址...因此第条路由条目匹配路由器根据匹配的路由条目中的下一跳的指示。
从自己的接口直接交付 IP 数据报给主机 D路由器只需通过 ARP 协议获取到与自己的接口处于同一网络中的目的主机 D 的 MAC 地址就可将 IP 数据报封装成帧后发送给目的主机 D。
2.6.2.2路由器隔离广播域
我们再来看路由器对广播 IP 数据报的处理 假设主机 A 发送了一个广播 IP 数据报该 IP 数据报首部中目的地址字段的值可以设置为..这是主机 A 所在网络的广播地址也可以设置为受限的广播地址...。主机 A 所在网络中的各主机和路由器的接口都会收到该广播 IP 数据报默认情况下路由器不会对广播IP 数据报进行转发也就是说路由器是隔离广播域的。试想一下如果因特网中数量巨大的路由器收到广播 IP 数据报后都进行转发则会造成巨大的广播风暴严重浪费因特网资源。