您的位置 首页 报告

Linux体系IP路由基础理论

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

或许你知道如安在Linux体系上用指令netstat或route来查找(乃至是添加/删去)现已存在的路由。可是在你做这些操作的时分你或许并不知道IP路由是怎么作业的。本文将协助你了解IP路由的原理,以及它是怎么作业的。IP路由涉及到IP数据报文的转发。假如主机与意图主机直接相连,那么主机能够直接发送IP报文到意图主机,这个进程比较简略。例如,经过点对点的链接或经过网络共享。假如主机与意图主机没有直接相连,那么主机会将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指令检查路由表信息。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ceping/baogao/186641.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部