zoukankan      html  css  js  c++  java
  • 网关和IP必须设置在同一个网段吗

    多层交换下IP的网段是和网关不在一个网段的。

    比如,路由器A局网IP段为192.168.1.x段,下接2个交换设备分别为192.168.2.1和192.168.100.1,这2个交换设备又分别连接不同的电脑192.168.2.2-100,192.168.100.2-100。

    那么这些PC的网关都需要设置成192.168.1.1才能上网。

    电脑可以和路由不是一个网段,但必须和交换一个网段。

    解释二,仅供参考,如有不正确,请指正:

    要深入理解这个问题,首先要搞清楚网络通讯的原理,网络上通讯工作在物理层和数据链路层,源地址和目标地址是通过源和目的的mac地址进行通讯的。

    当源主机访问目标主机时,首先看两者的IP在不在同一网段,结果是:

    1 两者在同一网段,就会直接把包发向目标IP,这时要做:

            1.1 查本地arp缓存,看看是否有IP和Mac的对应表.

                  1.1.1 有,直接向网络上发包,包中包括原mac及目标mac。

                   1.1.2 没有,则向网络发arp广播,用来查找与目标IP对应的mac地址(ARP发送的是广播数据,电缆上的每个以太网接口都要接收广播的数据帧)。

                             1.1.2.1 如果查到了,则向网络发包。

                             1.1.2.2 没查到,则不通讯。

    2 两者不在同一网段,则把目标地址转为网关地址(也就是平时说的向网关发包),然后查找本地arp缓存,继续1.1 。

    由此可以看出,源主机和网关的通讯过程中,并不会检查两者是不是同一网段,而是直接去查arp缓存或者发送ARP广播。所以是可能通讯的。

    当然,这里说的只是单向的,要想让目标主机响应的包能回到源地址上,还要在路由器上做路由策略,这里不说了。

    什么情况下用这样,一般情况下单臂路由时用到的较多。路由器的一个内网接口接几个不同的子网,网管为了省事儿,就这样设了。

    这样有什么好处呢,我想,这样可以对网关起到一定的保护作用,使得网关不轻易暴露(外部攻击)。但这样做对于网络调试可能会有麻烦,或者当网络故障时,查错比较麻烦。一般不建议这样做。

  • 相关阅读:
    mingw-gcc-10.0.1-experimental-i686-posix-sjlj-20200202-0303907
    可以修改 QtScrcpy 窗口大小的小工具
    autosub 添加代理服务器参数 -P --proxy
    Python网络数据采集系列-------概述
    【刷题笔记】I'm stuck! (迷宫)-----java方案
    【刷题笔记】火车购票-----java方案
    mvc自定义全局异常处理
    使用html2canvas实现浏览器截图
    再谈Newtonsoft.Json高级用法
    Spire.Doc组件读取与写入Word
  • 原文地址:https://www.cnblogs.com/fpcbk/p/12252001.html
Copyright © 2011-2022 走看看