当前位置:首页 > 通信技术 > 通信技术
[导读]也许你知道如何在Linux系统上用命令netstat或route来查找(甚至是增加/删除)已经存在的路由。但是在你做这些操作的时候你可能并不知道IP路由是如何工作的。本文将帮助你理解IP路由的原理,以及它是如何工作的。  

也许你知道如何在Linux系统上用命令netstat或route来查找(甚至是增加/删除)已经存在的路由。但是在你做这些操作的时候你可能并不知道IP路由是如何工作的。本文将帮助你理解IP路由的原理,以及它是如何工作的。

  IP路由涉及到IP数据报文的转发。如果主机与目的主机直接相连,那么主机可以直接发送IP报文到目的主机,这个过程比较简单。例如,通过点对点的链接或通过网络共享。如果主机与目的主机没有直接相连,那么主机会将IP报文发送给默认的路由器,然后由路由器来决定往哪发送IP报文。

  路由原理

  一个普通的主机与路由器之间的根本区别在于,主机不会将一个报文从一个接口转发到另一个接口,而路由器可以转发报文。

  如今,大多数的多用户系统都可以被配置,从而被当作路由器来用。因此,一个普通路由算法可以被用在路由器上,同样也可以用在一台普通主机上。当一台主机可以用作路由器时,我们通常说这台主机嵌入了路由器的功能。这种具备嵌入路由器功能的主机平常不会转发报文,除非我们对它进行了配置,使它开启这种功能。

  

  IP层维护着一张路由表,当收到数据报文时,它用此表来决策接下来应该做什么操作。当从网络侧接收到数据报文时,IP层首先会检查报文的IP地址是否是主机自身的地址相同。

  如果数据报文中的IP地址是主机自身的地址,那么报文将被发送到传输层相应的协议中去。如果报文中的IP地址不是主机自身的地址,并且主机配置了具备路由的功能,那么报文将被转发;否则,报文就被丢弃。

  路由表中的数据一般是以条目形式存在。一个典型的路由表条目包含以下主要的条目项:

  ● 目的IP地址:此字段表示目标的IP地址。这个IP地址可以是某一台主机的地址,也可以是一个网络地址。如果这个条目包含的是一个主机地址,那么它的主机ID标记为非零;如果这个条目包含的是一个网络地址,那么它的主机ID被标记为零。

  ● 下一个路由器的IP地址:为什么我们使用“下一个”的说法,是因为下一个路由器并不总是最后的目的路由器,但它很可能是一个中间路由器。条目给出下一个路由器的地址是用来转发从相应接口收到的IP数据报文。

  ● 标志:这个字段提供了另一组重要信息,如目的IP地址(之前提到的)是一个主机地址还是一个网络地址。此外,从标志中可以得知下一个路由器(之前提到的)真的是一个路由器还是一个直接相连的接口。

  ● 网络接口规范:一些数据报文的网络接口规范,这个规范跟随报文一起传播。

  基本的路由是如何工作的?

  因此,如果我们现在想简单而形象地描述路由过程,我们将会看到:一旦主机(被配置成具备路由功能)的IP层接收到从网络侧来的数据报文,它将核实数据包中的目的IP地址,如果此IP不是主机的IP地址,那么包将通过路由表转发。

  如果任何条目的第一个字段完全匹配目的IP地址(主机)或部分匹配目的IP地址(网络),那么它将指示下一个路由器的IP地址。这是一个重要的信息,因为这些信息直接告诉主机(具备路由功能的)数据包应该转发到哪一个“下一个路由器”去。而条目中所有其它的字段将提供更多辅助的信息来为路由转发做决定。

  在上一段中我们对路由转发过程建立了基本的了解,但如果我们试图深入了解更多的东西,就必须看看以下关于路由表算法的一些详细信息。

  ● 首先,路由表会去搜索一个“目的IP地址”字段与数据报文中目的IP地址完全相同的条目。这就意味着IP地址的主机ID与网络ID完全的匹配。如果找到,则数据包被发送到相应接口或中间路由器。

  ● 如果没有找到一个完全的匹配IP,那么就接着搜索相匹配的网络ID。如果找到,那么该数据报文会被转发到指定的路由器。所以我们看到,这个网络上的所有主机都通过这个路由表中的单个(这个)条目来管理。

  ● 如果上述两个条件都不匹配,那么该数据报文将转发到一个“默认路由器”。

  ● 如果上述步骤失败,即没有默认路由器,那么该数据报文最终无法被转发。任何无法投递的数据报文都将产生一个ICMP主机不可达或ICMP网络不可达的错误,并将此错误返回给生成此数据报文的应用程序。

  有时人们会问,为什么路由表中会有两种类型的条目?有了更精确的主机条目为什么还需要网络相关的条目?嗯…在路由表中包含与网络相关的路由条目是一个很大的优点。其优点在于,拥有一个与完整网络相关的条目,能够避免包含此网络中所有单独的主机条目(这个数据量非常巨大)。这使得路由表的大小降到一个可收受的数量级,这样就非常好。

  查看路由表信息的命令

  你可以使用netstat命令查看路由表信息,如下所示:

  $ netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 其输出提供目的IP地址和网关相关的详细信息。标志“U”表明该路由器可达;“G”表明该路由器与一个网关(路由器)相连。如果这个标志没有被设置,那么我们可以认为主机与目标是直接相连的。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

近日,一位博主对小米最新发布的BE6500 Pro路由器进行了拆解。结果发现,该款路由器在多个关键零部件上进行了减配,令消费者颇感失望。

关键字: 路由器

路由器、交换机与集线器作为网络架构的基石设备,默默支撑着从家庭宽带到企业核心网的通信需求。尽管三者常被并称“网络三剑客”,但其技术原理、功能定位与适用场景却存在本质差异。理解这些设备的特性,是构建高效、安全网络的关键前提...

关键字: 路由器 交换机 集线器

路由器作为现代计算机网络的核心枢纽,承担着跨网络数据传输、路由决策与流量管理的关键任务。从家庭宽带接入到全球互联网通信,路由器通过其智能化转发机制,将不同物理网络连接成无缝的逻辑整体。理解路由器的工作原理与技术架构,是掌...

关键字: 路由器 计算机网络

北京2025年4月2日 /美通社/ -- 3月28日-3月30日,北京,中国电动汽车百人会论坛(2025)在钓鱼台国宾馆隆重召开。本次论坛围绕"夯实电动化 推进智能化 实现高质量发...

关键字: 路由器 电网 电站 智慧能源

在物联网(IoT)快速发展的今天,Thread协议作为一种基于IPv6的低功耗无线Mesh网络协议,正逐渐成为智能家居、智能城市等领域的重要通信技术。Thread边界路由器作为连接Thread网络与其他IP网络(如Wi-...

关键字: Thread协议 路由器

在构建现代计算机网络时,路由器和交换机是两种不可或缺的核心设备。它们各自承担着不同的职责,共同协作以确保数据的顺畅传输和网络的稳定运行。本文将深入探讨路由器与交换机的基本功能、工作原理以及配置方法,帮助读者更好地理解这些...

关键字: 路由器 交换机

罗德与施瓦茨(以下简称“R&S”)的R&S TS8980FTA-M1 5G一致性测试系统率先通过了测试平台认证标准(TPAC),随即全球认证论坛(GCF)最新的无线资源管理(RRM)一致性测试工作项目已进入“激活”状态。...

关键字: 5G 路由器 射频

2025年2月20日,澳大利亚悉尼和美国加州尔湾——摩尔斯微电子,全球领先的 Wi-Fi HaLow 芯片供应商,今日宣布全球首款通过 Wi-Fi 联盟认证的 Wi-Fi 4 及 Wi-Fi HaLow 路由器HaLow...

关键字: Wi-Fi 4 Wi-Fi HaLow 路由器

当为这个项目选择木材时,你可能想检查一下当地木材供应商的废料/切断箱。你不需要太多的木材(它只需要比模具大一点),所以你可以以较低的价格找到真正好的木材。

关键字: 数控铣床 路由器 3D打印

路由器是一种网络设备,用于连接多个网络,并传输数据包。它可以根据数据包的目的地,选择最佳路径,将数据从一个网络传输到另一个网络。简单来说,路由器就像是互联网的交通警察,指挥着数据包的传输方向。

关键字: 路由器 网络
关闭