ADSL拨号上网时为什么子网掩码是255.255.255.255并且IP地址和网关相同
中国有些地区,比如上海,宽带拨号上网的用户会产生如题的疑问,其实这并未违背通信原理,但与传统的配置方式略有不同.传统网络配置中,一个家庭用户至少要占4个IP地址,子网掩码是/30,比如一个家庭用户的网段是123.123.123.8/30,第一个地址是网络地址– 123.123.123.8/30,最后一个地址是广播地址– 123.123.123.11/30,一个地址是同网段路由器的网关地址,比如123.123.123.9/30,还有一个地址就是给用户电脑分配的了– 123.123.123.10/30.这对于拥有众多用户的大城市来说,一个个家庭用户拥有的小网段浪费了很多IP地址.
解决这个问题是在BAS(ADSL接入服务器)上做文章.当ADSL用户成功拨号链接到BAS后,一个用户的电脑就相当于BAS的一个虚拟接口,比如用户得到如下配置:
IP地址: 58.58.58.58
子网掩码: 255.255.255.255
网关: 58.58.58.58
本地用户与远程主机通信
因为本地用户电脑相当于BAS的虚接口,所以任何发往远程IP地址的数据包都直接丢给BAS接入服务器处理,这并不像您想象中的那样”当本地主机发现目的地址和自己不在一个网段就转发给网关,而网关是自己,这个包岂不是无法转发出去”.当BAS收到用户投递来的数据包后,就像常规路由器那样使用路由表查找到目的地的路由.
远程主机与本地用户通信
当远程主机与本地用户通信时,数据包到达BAS,BAS上应该有类似这样一条路由:
子网掩码:255.255.255.255 目的IP:58.58.58.58 下一跳:-(横杠表示直连) 接口:唯一对应用户电脑的虚接口标识符,根据这条路由,数据包就转发到用户的电脑上了.
也许您还对下面信息感兴趣:
PPP协议
PPPOE协议
以太网通信原理
ip地址跟网关是一样的,为什么会这样呢?
我的回答只是为了帮你顶一下,不一定能说明什么。如果有误请高手指正。
你的路由器是正常的。
协议之间的转换使用网关,现在的说法,网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。
若要使两个完全不同的网络(异构网)连接在一起,一般使用网关,在Internet中两个网络也要通过一台称为网关的计算机实现互联。这台计算机能根据用户通信目标计算机的IP地址,决定是否将用户发出的信息送出本地网络,同时,它还将外界发送给属于本地网络计算机的信息接收过来,它是一个网络与另一个网络相联的通道。为了使TCP/IP协议能够寻址,该通道被赋予一个IP地址,这个IP地址称为网关地址。——这段是转来的。手懒了,不想打字了。
不知道你了解不了解ppp协议,这是个广域网协议。其实当你adsl连入时,网关就被isp定义好了。你用ipconfig -all命令可以看到ppp中你的ip地址和网关地址。有兴趣的话可以看看ppp协议的。
以下是我转来的。出自这里http://blog.chinaunix.net/u/27698/showart_312098.html这个可以说明你的问题。
[转]PPPOE拨号后得到的地址是32位掩码,网关与IP地址相同都是正确的,原因和BAS(接入服务器)的工作原理有关。BAS的主要功能有两个:
终结PPPOE的session,给发送请求的主机分配IP地址;
转发上网流量
我们分析一下PPPOE用户上网的过程,首先用户会在主机上运行PPPOE拨号程序(如ETHERNET600或XP自带的拨号程序),拨号的主要目的就是拿到IP地址,请求到达BAS后,在BAS上会配置的PPPOE Server负责回应请求,进行认证检查(最基本的就是看用户名密码是否正确),决定是否给发送请求的主机分配IP地址。认证通过后BAS就从IP POOL(IP地址池)中挑选一个地址发给主机,这个地址就是你看到的掩码32位的地址。主机得到地址后,网关是自己,那它如何通讯呢?
这就是BAS的基本功能了,主机拨号得到地址后,就相当于与BAS直连的一个虚端口,BAS上面增加一条针对主机地址的直连路由。然后我们分析上网的过程,主机开始发送数据包,数据包到达BAS,BAS此时就象一个router,它检查从主机过来的数据包中的目的地址,如果路由表中有针对此目的地址的条目,那么BAS将数据包发送到下一跳,如果没有,BAS按照缺省路由指定的下一跳转发。通常主机发送的数据包都是按照缺省路由转发的,除非是连到同一个BAS的两个PPPOE主机之间的通讯/
现在我们知道主机发出的数据包如何被转发了,那么回到主机的数据包怎么办呢?
很简单,通常来讲,BAS上面就是router,在router上面做一条针对IP POOL的静态路由,指到BAS,然后将它发布到internet。这样,目的地址是某PPPOE主机的数据包首先会到达BAS,然后BAS会按照32位掩码地址将其转发给指定的主机。
路由器的POS接口地址掩码是30位是因为它需要和对端互通,30位掩码是最合适的,够用而且不浪费。ARP表中不显示应该是因为POS接口是点对点通讯,不象ethernet是点到多点的通讯,需要知道每个MAC地址与IP地址的捆绑关系。有的设备POS接口是有MAC地址的,但是在ARP表中只会显示本地POS接口和IP地址的捆绑关系,不象ethernet接口,即有本地接口的MAC地址与IP地址的捆绑关系,又有通过ARP学习到的对端地址的MAC地址与IP地址的捆绑关系。 你的那个IP是ISP分配的公网ip,不是本机IP。