为什么局域网网段不同不能通信

最近在上计算机网络的实验,发现处在相同校园网中的台式机和我带来的pc(通过无线网连接)ping不通,然后问了老师说:网段不同,就ping不同。通过ipconfig查询了一下两台电脑,网段的确不同,但还是有些不解:既然都在同一个交换机中(将问题简化一下),这台交换机上的机器都可以互相通信嘛,为什么还有考虑网段什么的?,然后开始查资料:

1.我们先要明确局域网的概念:
      首先要搞清楚同一局域网不同 IP 网段的设置方法:从广义上讲,局域网可以分为物理上的,和逻辑上的局域网段。
物理局域网段是指:比如 21 台电脑主机的 21 条网线都连接在同一台 24 口的交换机上,该 IP 地址段范围:192.168.50.1 - 192.168.50.21,这时不考虑任何一台机器上关闭了 ping 服务的情况,应该是任意两台电脑之间都能够 ping 通的。
逻辑局域网段是指:有些机器,比如说上面 21 台机器中的任意 10 台,虽然物理上都是在同一个交换机下,但是你仍然可以将这 10 台机器的 IP 地址段强制设置成 192.168.40.1 - 192.168.40.10。这个时候就属于逻辑上的局域网情况了。也就是说,这 10 台属于同一个局域网 192.168.40.x,另外 11 台机器属于另一个局域网 192.168.50.x。这时候你在这 10 台机器上就 ping 不通另外 11 台机器的 IP 地址了。子网掩码一般缺省是 255.255.255.0,非标准的子网掩码算起来更麻烦,要算子网号和主机号,一般可以不用。
节选自:https://zhidao.baidu.com/question/437065729.html

2.再来了解两个ip如何通信:
1. 如果目标IP地址是本地地址,就送回本地上层处理,根本不会发到网卡去
2. 如果目标IP地址是同一网段中的其他地址,查ARP表,找到目标IP对应的MAC地址(如果ARP缓存里没有,发ARP广播请求去获取)。把MAC地址填写到报文里发送出去,如果找不到对应的ARP项,就会发送失败。注意:报文是要靠MAC地址才能找到目标主机的。
3. 如果目标IP地址不在同一网段,如果有网关,根据网关的ip地址,发送arp广播请求网关的mac地址将网关的MAC地址作为目标MAC地址,将数据发送给网关(网关进行下一步操作寻找目的主机的mac地址);如果没有填写网关,那么主机连arp广播或者其他任何数据都不往外发,直接丢弃该包(因为两个ip网络地址不一致,且没有网关地址)。
(节选自知乎:大熊https://www.zhihu.com/question/63031867/answer/641836803)
这就解决了我之前的疑惑:就算在连接同一个二层交换机,不同网段也不能通信:因为他发送的mac帧中的mac地址为网关地址,不是目标地址,因此目的主机接受不到发送的消息。

3.有人会问什么是网关:
 网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关的结构也和路由器类似,不同的是互连层。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。大多数网关运行在OSI 7层协议的顶层--应用层。
https://blog.csdn.net/huangyimo/article/details/82887367

关于网关的问题:

1.网关和IP必须设置在同一个网段吗
https://blog.csdn.net/king523103/article/details/47727293
https://blog.csdn.net/bytxl/article/details/41897287

2.网关可不可以设成路由器的端口地址?如果可以那平时设置的网关又有什么作用呢?路由器上面做NAT可不可以从私有地址转换到私有地址?

   可以,用途是用来转发数据。把本网段的数据转到其他网段中。可以。
补充一下:如果你有大量的公网地址,则不需要NAT转化,直接做路由就可以了;如果没有,也不用做NAT,下一跳或N跳的路由器会完成NAT转化的;如果你有公网地址,但不够用,则需要NAT转化,这样你会有充足的私有地址来使用INTERNAT。
节选自:https://zhidao.baidu.com/question/6049606.html

4.结论:
对于两台网段不同的主机通讯来说:因为网段不同,而必须使用网关,对于二层交换机来说,因为不能当做网关,必须加一个路由器才能使得不同网段进行通信。而对于三层交换机来说则可以通过其带的路由功能来完成不同网段的通信。

 二层交换机能做网关吗 
不能。什么叫网关?,网关(Gateway)就是一个网络连接到另一个网络的“关口”。网关有两个功能。第一个就是路由数据。就是把本地的数据从这个接口放送出去。你应该知道internet通信是通过ip地址来完成。实际上说的更严格点是套接字。ip+端口 这些都是在三层网络层实现的。二层交换机不具备路由功能。另外网关还有一个重要的功能就是连接异构网络。这一点有些人会忽视。不同网络中下层数据帧是不同的,这个也需要三层设备去修改。
至于你说的VLAN设置ip,我希望你自己去思考一下。其实道理很简单。
节选自:http://bbs.51cto.com/thread-661839-1.html

5.后序问题:
1.那么二层交换机可以设管理ip,那个有什么用呢?
你说的二层交换机vlan能配ip地址 这个地址是vlan的管理地址啊。。。不是接口地址。所以不能做网关。。再说了 二层交换机又没有路由功能,怎么做网关
https://zhidao.baidu.com/question/156515041.html

2.管理ip讲解:(忘记来源了)
本地任何一个VLAN都能做管理VLAN
配置VLAN就是在交换机或者路由器上建立一个VLAN就行了,再给VLAN配地址
如:VLAN 2
interface VLAN 2
ip address 10.0.0.1 255.255.255.0
这样VLAN 2属于本地VLAN,但是你也可以用telnet 10.0.0.1 去登陆设备管理  二层的IP只用于管理
没有路由功能  只是用于Telnet等的管理地址。。。

3.然而在查询资料中,发现还是可以通过某些手段使二层交换机可以做到不同网段通信的:(真?p)

https://www.zhihu.com/question/23013729/answer/60920958

4..两个不同网段的IP地址能ping通,但是为什么不能在ARP上找到另一个的MAC地址?

还是因为不同网段之间通信需要通过网关实现。
建议参看这个答案:https://www.zhihu.com/question/20579906/answer/360222644

5.那么会有人问了:到底两台在不同局域网的电脑如何通信?

如果一个城域网/广域网下面的不同网段的局域网,是可以互相通信的,
假如在一个高校里,10.0.0.1/24和10.0.1.0/24一般来说是可以互通的,完全没有问题,因为10.0.0.1和10.0.1.0可以通过边界路由进行通信,无需NAT。
而对于跨局域网则可以通过vpn,端口映射,nat等来实现
参考:https://www.zhihu.com/question/316422039

6.上个问题涉及到了p2p通信技术:qq传输文件也是通过p2p技术来的,还有bt下载等。

P2P技术原理及应用
https://blog.csdn.net/dianliang01/article/details/80757733
p2p通信原理及实现
https://blog.csdn.net/yunlianglinfeng/article/details/54018113

7.NAT(地址转换技术)详解
https://blog.csdn.net/gui951753/article/details/79593307
————————————————
版权声明:本文为CSDN博主「七和路过」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40493277/article/details/90267862

  • 9
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值