内容纲要

问:什么是路由表?你可以在 Linux / UNIX 操作系统下解释它的用法吗?

答:几乎所有连接到 Internet 的计算机和网络设备都使用路由表来计算数据包的下一跳。它是存储在路由器或联网计算机中的电子表格。路由表将路由(并且在某些情况下,与这些路由相关的度量)存储到特定的网络目的地。该信息包含紧接在其周围的网络拓扑。路由表的构建是路由协议和静态路由的首要目标。

每个 Linux / UNIX / Windows 或任何使用 TCP / IP 的计算机都需要做出路由决策。路由表用于控制这些决定。要显示路由表,请在 UNIX / Linux shell 提示符处键入以下命令:
$ netstat -r -n
OR
$ route -n
示例输出:

[code]
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 ra0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 ra0
[/code]

如果您使用的是 Windows Server,请在命令提示符处键入以下内容:
c:> route print
标志 G 表示通过网关路由数据包的路径。如果你想从你的计算机访问 yahoo.com,你需要通过 192.168.1.1 网关。这通常意味着您必须事先建立到网关的静态路由。如果你指定一个本地接口的地址,它将被用来决定数据包应该被路由到的接口。路由守护程序使用的度量标准字段。这是大型局域网和广域网设置所必需的。内核路由表的输出组织在以下列中:

  • 目标:目标网络或目标主机。
  • 网关:网关地址或 “*”,如果没有设置。
  • Genmask:目标网络的网络掩码; 主机目标为 255.255.255.255,默认路由为 0.0.0.0。
  • 标志:可能的标志包括
    • U(路线已到)
    • H(目标是主机)
    • G(使用网关)
    • R(恢复动态路由的路由)
    • D(通过守护进程或重定向动态安装)
    • M(从路由守护进程或重定向修改)
    • A(由 addrconf 安装)
    • C(缓存条目)
    • !(拒绝路线)
  • 公制:与目标的距离(通常以跳数计)。最近的内核没有使用它,但可能需要路由守护进程。
  • 参考:此路线的参考号。(不在 Linux 内核中使用。)
  • 使用:查找路线的次数。取决于 – F 和 – C 的使用,这将是路由缓存未命中(-F)或命中(-C)。
  • Iface:将发送此路由的数据包的接口。
  • MSS:通过此路由的 TCP 连接的默认最大段大小。
  • 窗口:此路由上 TCP 连接的默认窗口大小。
  • irtt:初始 RTT(往返时间)。内核使用它来猜测最好的 TCP 协议参数,而不用等待(可能很慢)的答案。
  • HH(仅缓存):引用缓存路由的硬件头缓存的 ARP 条目和缓存路由的数量。如果缓存路由的接口不需要硬件地址(例如 lo),则这将为 – 1。
  • Arp(仅缓存):缓存路由的硬件地址是否是最新的。

您的路由表是根据您的 Linux / UNIX 计算机的当前 TCP / IP 配置自动创建的。您可以使用 route 和 ip 命令手动添加 / 修改 / 编辑路由表。路由表中的条目类型:

  • 网络路由:到互联网络中特定网络 ID 的路由(路径)。
  • 主机路由:指向特定互联网络地址(网络 ID 和主机 ID)的路由。主机路由允许为每个网络地址做出智能路由决策。主机路由用于创建自定义路由来控制或优化特定类型的网络流量。
  • 默认路由:在路由表中找不到其他目的路由的路由。如果路由器或终端系统(如运行 Microsoft Windows 或 Linux 的 PC)无法找到目的地的路由,则使用默认路由。如果没有其他主机或网络路由与目标地址匹配,则使用默认路由。有关路由和 ip 命令的更多示例,请参阅下面的相关常见问题解答。

发表评论

电子邮件地址不会被公开。 必填项已用*标注