首页 > 编程知识 正文

下一跳网关,下一跳

时间:2023-05-05 23:38:40 阅读:187419 作者:1612

 作者:感性的项链br> 链接:https://www.zhihu.com/question/50458692/answer/136765337
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

回自己专业答一发。主要解释。
————————————————————————
罗夏
说的没错但是太简单了,起码没有解释默认的下一跳为什么是网关,非默认又可以设置什么,下一跳和网关的区别是什么。
mdfn
说的又基本是基于路由相关做的回答,或者说的就是在路由中网关地址和下一跳地址的静态与动态的问题。
kadjw
说的最后一句有助于理解。我们在写终端路由表的时候,首先所加的默认路由为网关是目前大部分局域网内部机的统一做法,所以将网关作为特殊的下一跳来理解是个好想法。
赵亮
说的也很好,网关是相对客户端而言的一个定义,而下一跳是路由上概念。

————————————————
先总的说一句,路由器是设备,路由器上有路由表,路由表中的路由是一个个的地址,而网关指的是网段之间的一部分,具体讲可以说网关地址就是两个具体的地址,如常见的192.168.0.1,而下一跳则强调的是数据传输的路径,并不是必然直接就到网关地址的。

我从赵亮说的来解释一下,
首先,之所以会对网关和下一跳产生混淆,是因为目前局域网基本是采取星形或树形拓扑。这就使得终端如果要跨网通信必然会经过网关,所以一般下一跳就是网关。
那么假如所用的是环形拓扑呢,下一跳就不一定是网关了。
所以,理解上来说,下一跳是数据传递中一个形象的运动描述。
而网关是一个网间的关口,所负责的主要是内外有别。
如果一般家庭局域网中来看待这个问题大概是下图这样:

<img src="https://pic1.zhimg.com/50/v2-37a2bb0934aa40bf4072f10c9b62e47c_hd.png" data-rawwidth="518" data-rawheight="382" class="origin_image zh-lightbox-thumb" width="518" data-original="https://pic1.zhimg.com/v2-37a2bb0934aa40bf4072f10c9b62e47c_r.png">AB分别是家庭路由兼具网关的作用,那么1和2的默认网关都是A,下一跳也是A,因为如果1想要和3进行通信,通过网关无疑是最快捷的,而1和2进行通信,在两者没有物理连接的情况下,走网关也是必然的。
但是实际上,通过将1和2进行物理连接后,设置2的下一跳设置为1是可能的,只是一般不会这样做。

所以最好还是放到网络中来讲:
<img src="https://pic3.zhimg.com/50/v2-5160e355724c422de6cde8c7e8946e2a_hd.png" data-rawwidth="313" data-rawheight="312" class="content_image" width="313">1和2分别是路由,而A、B是网关,
那么默认情况下2路由想要和B网络通信路线是:2-A-B,也就是A网关在2路由被默认为了下一跳地址。
但是假如我们设计中不希望2和A直接通信,也是可以的,那么我们将2路由的下一跳设置为1路由的地址,则2和B的通信路线将会是:2-1-A-B。

所以,默认下一跳是网关是一种便捷的逻辑,但是实际上下一跳不一定是网关。
至于为什么要绕路,这就要深入去讲讲网关是什么以及路由是什么等问题了

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。