找回密码
 注册
查看: 565|回复: 0

ip 路由和子网详细讲解

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-7-29 17:19:56 | 显示全部楼层 |阅读模式
IP 路由和子网
[size=1.25]
本文介绍了 IP 路由的基础知识。我们将考虑一个简单网络的示例,并在数据包从一个节点路由到另一个节点时跟踪它的生命周期。将讨论每个节点的路由表。
在深入了解 IP 路由之前,我们需要了解 IP 地址。这将在下一节中介绍。
IP 地址分类
IP 地址是 32 位整数,以熟悉的基于点的符号表示。基于点的表示法只不过是 IP 地址每个字节的十进制表示。例如,十六进制值为 0x800A080B 的 IP 地址表示为 128.10.8.11。
互联网,顾名思义,是网络的网络。因此,要唯一标识 Internet 上的主机,需要知道网络的 id 和网络中的主机 id。因此IP地址由两部分组成,网络ID和主机ID。网络 ID 是分配给 Internet 中网络的编号。Host id 表示分配给网络中主机的 id。
下图显示了不同类别的 IP 地址。这些地址的不同之处在于分配给网络和主机 ID 的位数。不同类别的地址服务于不同的需求。例如,A 类 IP 地址适用于 Internet 由少量网络组成但每个网络由大量主机组成的情况。另一方面,C 类寻址适用于具有大量网络的互联网,每个网络只有少量主机。
互联网示例子网
下图描述了一个由三个网络 128.8、128.9.1 和 128.9.2 组成的小型 Internet。严格来说,互联网由 128.8 网络和 128.9.1 和 128.9.2 子网(子网)组成。正如我们在上一节中看到的,128.8 和 128.9 应该被归类为 B 类 IP 地址的网络部分。在这个网络中 128.9 通过使用两字节主机 id 的一个字节作为子网 id 被划分为两个子网(128.9.1 和 128.9.2)。
另一种看法是,128.9.1 和 128.9.2 子网中 IP 地址的前三个字节用于路由数据包。从路由的角度来看,IP 地址中的其他位是无关紧要的。通过将子网掩码与路由条目相关联来指定应该用于路由的位的规范。在本例中,子网掩码为 255.255.255.0 (0xFFFFFF00)。
IP 路由
互联网中的网络通过路由器相互连接。路由器将流量从一个网络/子网传输到另一个网络/子网。路由器维护一个路由表来决定如何路由 IP 数据包。每个路由条目由目标地址、子网掩码和“路由到”字段组成。当需要将消息路由到 IP 地址时,请执行以下步骤:
  • 目标 IP 地址使用子网掩码进行掩码,然后与路由表中所有条目的目标字段进行比较。
  • 这种比较可能会产生与多个条目的匹配,将选择具有最长子网掩码的条目。例如,目的地为 128.8.1.2 的数据包到达主机 A 将匹配对应于 128.8.1.2 和 128.8.0 的条目。将选择对应于 128.8.1.2 的条目,因为它具有更长的子网掩码。
  • 一旦选择了一个条目,就会查询“路由到”字段,并且采取的操作取决于该字段的内容:
    * j3 g" c6 e9 L' Q2 F& t3 ]
    • 如果“路由到”字段包含 SELF,则数据包是针对该节点的。IP数据包被传递给操作系统进行应用程序处理
    • 如果“路由到”字段包含 LAN 接口 ID,则数据包的目的地是直接连接到路由器/主机的 LAN。在这种情况下,数据包直接在 LAN 上路由。
    • 如果“路由到”字段包含 IP 地址,则数据包被转发到指定的 IP 地址。数据包的进一步路由将由指定的 IP 地址执行。
      2 u* ]! b0 a5 R: g3 m- ^

    ) c4 ?9 y; `* b
注意: IP 路由还支持默认条目。如果数据包不匹配任何其他条目,则根据默认条目进行路由。
多个 IP 地址
互联网的另一个重要方面是互联网中的一个节点可以有多个 IP 地址。每个接口将有一个 IP 地址。例如上图中的Router有3个IP地址,即。128.8.1.1、128.9.1.1 和 128.9.2.1。
数据包从主机 A 到主机 C 的路由
在这里,我们将跟踪从主机 A 发送到主机 C 的 IP 数据包所采用的路径。显示了以太网 MAC 标头和 IP 标头中的路由相关字段。
主机 A 向主机 C 发起一个 IP 数据包
  • 应用程序通过将消息发送到 128.9.2.2 IP 地址(主机 C 的 IP 地址)向主机 C 发送消息。
  • 此 IP 地址与 128.9.0.0 对应的条目匹配。所选条目的“路由至”字段包含另一个 IP 地址 - 128.8.1.1。这是路由器的 IP 地址。
  • 再次访问 128.8.1.1 的 IP 路由表。
  • 匹配 128.8.1.1 的条目包含 LAN 0 接口 ID。这指定目标节点直接连接到主机。
  • 此数据包被传递给设备驱动程序。
  • 设备驱动程序查询 ARP 缓存以识别与 128.8.1.1 对应的以太网 MAC 地址。(ARP在另一篇文章中介绍)。
  • 以太网帧被发送到 ARP 找到的 MAC 地址。3 d% v' Q, t& h
在 128.8 局域网上发送的数据包是:
以太网 MAC 标头
IP 数据包负载
目标 MAC 地址
源 MAC 地址
目标 IP 地址
源 IP 地址
有效载荷
路由器 MAC 地址主机 A MAC 地址128.9.2.2128.8.1.2
路由器将IP数据包发送到主机C
  • 路由器接收以太网帧并将其传递给 IP 层。
  • 查询 IP 路由表并找到对应于 128.9.2 子网的匹配条目。
  • 数据包在 LAN 2 接口上路由。
  • 主机 C 的 MAC 地址是从 ARP 缓存中找到的。
  • 以太网帧寻址到主机 C MAC 地址。& P& y  d1 y: E, h
通过 128.9.2 LAN 发送的数据包是:
以太网 MAC 标头
IP 数据包负载
目标 MAC 地址
源 MAC 地址
目标 IP 地址
源 IP 地址
有效载荷
主机 C MAC 地址路由器 MAC 地址128.9.2.2128.8.1.2
主机C收到IP包
  • 主机 C 接收以太网帧并将其传递给 IP 层。
  • 搜索 IP 路由表并检测到与 128.9.2.2 条目匹配。
  • “路由到”字段包含 SELF,因此消息被传递到更高层以传递给应用程序。
    ) [( ]  F# |# I- a
: |1 y, v6 ^( V
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 02:19 , Processed in 0.086488 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表