[ 路丁前言 ] 今日见到一个难题:B可否ping通A。这儿详细叙述一下难题:
今日见到一个难题:B可否ping通A。这儿详细叙述一下难题:
如下图,网络服务器A的IP地址为192.168.26.129,掩码为255.255.255.0,网络服务器B的IP地址192.168.26.3,掩码被不正确的设定为255.255.255.224。假定如今网络服务器B ping网络服务器A,我想问一下能ping通吗?
最先看系统软件是怎样开展IP地址的路由器的。我们知道,处在同一互联网中的两部主机遇立即将数据文件发至目地IP地址,不用作一切路由器。同一网段(由子网掩码区划出去的子网同样)分辨规范是什么呢?IP地址与掩码与运算的結果同样则二者处在同一互联网,假如没有同一个互联网中,则必须根据路由器找寻网关ip来分享数据文件。因而,最先网关ip务必IP地址在同一互联网,不然配备互联网时,会全自动出错。
对于处在不一样互联网中的两部服务器:最先,分辨规范是:IP地址与子网掩码与运算的結果,与目地IP与本端网关ip的与运算結果不同样。系统软件则会到当地的路由表中查寻可以配对得上的路由器信息内容,危害路由器的好多个要素有:策略路由、主路由器和默认网关。对于上边的难题,当B对A进行ping时,根据测算,发觉A与自身在不一样的互联网中,因而B会将数据文件发送给网关ip,网关ip将数据文件发送给A,当B给A回应ICMP报文格式时,发觉A与自身在同一个互联网中,因而立即将数据文件发送给了B。那样具体的数据文件传送的全过程为:
因而要是B端沒有配备网关ip或是网关ip失灵得话,就没法ping通。假如是以A对B进行ping,而且B沒有网关ip,那麼抓包软件会发觉,A上边能够 一切正常传出ICMP包,可是不能收到B答复的ICMP包,一样在B侧抓包软件,会发觉,能接到ICMP包,可是没法答复给A。
从这个问题略微做一点拓宽,路由表与默认网关的基本原理。
在我们必须特定什么对端网络能够 浏览本机后,就可以配备实际的路由器来完成。在这篇blog中详尽叙述了路由表的实际操作:linux路由表的配备。一般状况下,大家将会只必须主路由表,如:服务器根据一个网口连接到局域网络中,根据网关ip完成局域网络与外界互联网的联接,这个时候,无线路由做为网关ip,完成数据文件的路由器和分享。
如圖,那样的网络配置,Windows系统软件会为大家转化成一条路由器信息内容:
说明全部的数据文件都走192.168.1.1,也就是互联网中无线路由特定的网关地址。
当系统软件的网络空间非常复杂时,如服务器有二块网口,分别连接一个单独互联网中,特定了二块网口的配备为:
A网口,IP:192.168.1.2,网关ip:192.168.1.1,掩码:255.255.255.0
B网口,IP:100.100.1.2,网关ip:100.100.1.2,掩码:255.255.255.0
在其中A连接的是內部互联网,B根据网关ip连接外界互联网(Internet)。在Linux系统软件上边,假如将A、B2个互联网的网关ip另外做为服务器的默认网关,那麼会产生什么事情,假如有一个Internet上的服务器200.200.1.2根据B网关ip转来数据文件,必须解决和答复。当答复数据文件时,系统软件在路由表中找寻能用的路由器。会发觉,沒有路由器能与之配对,因而仅有将数据文件走给默认网关。可是这时,系统软件又有两个默认网关,没法决策到底是用哪一个。一般而言会任意挑选在其中的某一个。假如恰好挑选的也是B,那麼这时互联网会通,假如挑选的是A,则数据文件最后会被A的网关ip丢掉。互联网主要表现为时断时通。
处理这个问题的方法有:1、对于外界互联网的IP地址加上实际的路由器,使之关联B互联网的网关ip上边。2、除掉A互联网的网关ip做为默认网关。一般大家并不了解什么是外界互联网,因而操作方法2较为非常容易实际操作。因而对于二块网口,并不可以对等的去配备互联网,只是要视实际的状况有所差异。通常有时,由于对配备指令的实际的功效不足了解,会造成 服务器在某一互联网中展现时断时通的状况。
评论