首页 > 编程知识 正文

ip跟网关不是同一网段,电脑ip与网关不在同一网段

时间:2023-05-06 11:22:56 阅读:228715 作者:2557

????????关注后回复 “进群” ,拉你进程序员交流群????????

作者丨车ysdrg谈网络

来源丨车ysdrg谈网络(ID:chexiaopangnetwork)

IP与网关不在同一网段,但可以正常上网,这是为什么?

PPPOE拨号成功后,IP信息如下:

1.可以正常上网

2.IP地址和网关不在同一网段

3.掩码居然全是255

拨号以后,是可以正常上网的。这是为什么呢?

 

 

类似的文章写过很多,看来还是有很多读者不理解PPPoE这个知识点。

 

PPPoE隧道连接

PPPoE是一个点对点隧道连接,PPPoE客户端是一个点,PPPoE服务器是另外一个点。这两个点之间的建立一条隧道连接,就是PPPoE隧道连接。

 

现在生活中的隧道(Tunnel)非常好理解,比如黄浦江延安路隧道,延安路隧道里面跑的是啥?

 

这还要问吗,当然是形形色色的小汽车。

 

小汽车里装的是啥?

 

人或者货物。

 

PPPoE这个隧道里,跑的是啥?

PPP小汽车。

 

PPP小汽车里装的是啥?

IP报文(货物)。

 

PPPoE客户端,做为PPPoE隧道的起点,只要将目的IP≠自己的(10.20.20.122)扔进PPPoE隧道。PPPoE隧道的终点就可以看到PPP小汽车,进而看到PPP小汽车里装载的货物。货物就是目的IP ≠10.20.20.122的IP报文。

 

PPPoE隧道终点就可以将IP报文从PPP小汽车卸掉(剥离PPP头)。然后就可以查询路由表进行转发。一般来说,PPPoE隧道的终点是直接或间接连接Internet的。所以来自PPPoE客户端的IP报文就进入了互联网。

 

这个PPPoE隧道是如何建立的?

这就是PPPoE拨号软件所做的工作。PPPoE客户端的网卡在广播域发现了PPPoE服务器及其MAC地址。此外PPPoE服务器也发现了PPPoE客户端及其MAC地址。

 

在这个广播域里,完成客户端身份的认证,PPPoE服务器还给客户端动态分配了IP地址、网络掩码、网关。等这一切都完成了,PPPoE隧道就成功建立。然后就耐心等待PPP小汽车的到来。。。

 

为何PPPoE服务器分配给客户端的网络掩码是255.255.255.255?

 这是最高效使用IP地址的方法,不会造成任何IP地址的浪费。在这个网络里只有一台主机,其IP= 10.20.20.122,没有其它任何IP地址。

 

如果主机Ping 10.20.20.122, 那么就自己与自己通信,TCP/IP协议栈自循环,报文不经过网卡。

 

如果主机Ping 10.20.20.123,那么就将其扔到PPPoE隧道,到了隧道终点(PPPoE),会提取出IP报文,进而继续IP报文转发。如果这里主机使用了网络掩码= 255.255.255.0,那么主机就会认为10.20.20.123和自己在一个网段,于是发ARP广播。结果不言而喻,永远也得不到ARP广播的回复,因为10.20.20.123压根不在本地网络里。

 

为何PPPoE服务器分配给客户端的网关是11.11.11.1?

在上文的讲述里,当主机Ping 10.20.20.123时,直接将IP报文扔到PPPoE隧道,有用到过网关吗?

没有啊。

 

既然没有用到,为何还要分配网关?

 

那是因为如果不给用户分配网关,PPPoE将不会触发产生0.0.0.0/0默认路由。如果没有0.0.0.0/0默认路由,当主机Ping 10.20.20.123时,主机就不知道该如何处理了。

 

而有了0.0.0.0/0默认路由,主机就可以将IP报文扔到PPPoE隧道,因为0.0.0.0/0默认路由的下一跳就是PPPoE隧道。

 

所以网关存在的唯一理由,是为了动态创建一条0.0.0.0/0默认路由。

 

既然这么说,网关可以为任何IP地址?

几乎可以这么说,但是最好不要填0.0.0.0,避免主机循环路由查找。

 

最后留给读者一个问题,网关=11.11.11.1配置在PPPoE服务器某个接口上吗?

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击????卡片,关注后回复【面试题】即可获取

在看点这里好文分享给更多人↓↓

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