为什么电脑的ip地址要和网关的ip同一个子网才可以上网?
2018-02-01 19:26
701 查看
假设一台电脑通过网线连接路由器(LAN:192.168.1.1 WAN:公网ip)上网,现在设置该电脑的的ip为192.168.0.1,网关为192.168.1.1,DNS为8.8.8.8,发现该电脑不能上网。
已知不能上网的原因是主机ip和网关不在同一子网,问:主机ip和网关不在同一子网就不能上网的原因是什么?
分析:
网关的意义是生成一条默认路由。默认路由的意思就是:当我要通信的对象不在我这个子网里的时候,我该把报文发送给谁?
在Windows命令行中使用route print命令可以打印出本机的路由表,如下图,第一条就是默认路由:
默认路由的目标网络是0.0.0.0,掩码是0.0.0.0表示“全部网络”。所以,如果没有默认路由,那么你的通信范围就仅限于当前的子网了,任何外部的网络,包括你指定的DNS:8.8.8.8都无法访问,因为你的计算机不知道如何访问到除子网以外的其它网络。
当你指定了网关以后,网关必须跟你计算机在同一个网段,否则,计算机无法计算出如何到达网关,也就是计算机不知道当前子网的出口。
如果网关和你当前计算机不在同一个子网,那么除非你再指定一个转发设备,并确保这个转发设备同时能访问网关和你的计算机(通常,可以称之为网桥),那么你在手动指定一条默认路由,那么计算机就可以访问外部网络了。
所以,网关的本质是告诉计算机:当前子网的出口在哪。只有子网相同,计算机才能最终计算出出口。
原文链接:https://www.zhihu.com/question/27887800/answer/38549907
已知不能上网的原因是主机ip和网关不在同一子网,问:主机ip和网关不在同一子网就不能上网的原因是什么?
分析:
网关的意义是生成一条默认路由。默认路由的意思就是:当我要通信的对象不在我这个子网里的时候,我该把报文发送给谁?
在Windows命令行中使用route print命令可以打印出本机的路由表,如下图,第一条就是默认路由:
默认路由的目标网络是0.0.0.0,掩码是0.0.0.0表示“全部网络”。所以,如果没有默认路由,那么你的通信范围就仅限于当前的子网了,任何外部的网络,包括你指定的DNS:8.8.8.8都无法访问,因为你的计算机不知道如何访问到除子网以外的其它网络。
当你指定了网关以后,网关必须跟你计算机在同一个网段,否则,计算机无法计算出如何到达网关,也就是计算机不知道当前子网的出口。
如果网关和你当前计算机不在同一个子网,那么除非你再指定一个转发设备,并确保这个转发设备同时能访问网关和你的计算机(通常,可以称之为网桥),那么你在手动指定一条默认路由,那么计算机就可以访问外部网络了。
所以,网关的本质是告诉计算机:当前子网的出口在哪。只有子网相同,计算机才能最终计算出出口。
原文链接:https://www.zhihu.com/question/27887800/answer/38549907
相关文章推荐
- 相同MAC地址,相同IP的两天电脑为什么可以同时上网互不影响(转自Nothel的blog)
- Android 手机上获取手机当前上网IP地址(手机网关给手机号分配的IP)
- 两台电脑可以用同一IP上网吗?
- 我在家里地电脑可以登陆地FTP,为什么在公司确不可以?我在公司能上网的
- 远程桌面连接时,用电脑名不能连接,用IP就可以,为什么
- MAC和IP相同两台电脑同时可以上网
- 电脑能够上QQ,可以ping IP,玩网络游戏,就是不能上网,收发电子邮件的解决办法
- 为什么拨号得到的32位掩码的IP可以上网?
- 上网的时候不知道自己电脑的IP地址怎么办? 找藏拙IP搜索
- 上网的时候不知道自己电脑的IP地址怎么办? 找藏拙IP搜索
- 台式电脑用网线可以上网,为什么把网线插到笔记本电脑上就连不上网的问题的解决
- 固定IP和绑定了MAC,可以在设置无线路由器供笔记本电脑和平板上网吗?
- 电脑上所有浏览器都不能上网但是qq可以登陆上
- Rocks 头结点更改public IP 上网IP地址
- Linux如何配置IP和DNS才可以上网?以及ping: unknown host www.baidu.com
- 为什么用IP无法访问网站,域名可以访问?
- 华为无线网络AC下的有线可以上网,无线无法ping通网关,无法上网的解决办法
- 网线直接接电脑可以上网,但是接到无线路由器上,就不能上网了
- 笔记本电脑和台式电脑在家里没有装网也可以上网(真后悔现在才看到...,因为我安了网线)
- 笔记本电脑和台式电脑在家里没有装网也可以上网(真后悔现在才看到...,因为我安了网线)2