同一网段访问
如何区分两个IP地址为同一网段呢?这就需要设置子网掩码了 。子网掩码是标志两个IP地址是否同属于一个子网的 。子网掩码不能单独存在,它必须结合IP地址一起使用 。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分 。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中 。同一子网的计算机就可以直接进行通信,子网掩码也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位 。
因此,如果我们设置这两台计算机的子网掩码都为“255.255.252.0”,可以计算出相应的子网段 。
192.168.2.1二进制表示为:11000000.10101000.00000010.00000001
192.168.1.1二进制表示为:11000000.10101000.00000001.00000001
子网掩码二进制表示为:11111111.11111111.11111100.00000000
按位与可计算出它们的网段都为“192.168.0.0/22” 。当然你也可以设置为其他的子网掩码,比如“255.255.0.0”,那么网段都为“192.168.0.0/16”,只要保证同一网段就行了 。

两台单独运行的同网段计算机如果要进行通信,此时它们之间可以直接拉一条网线进行连接,这样就可以相互访问实现了 。

当然一般情况下,计算机都是连接到交换机了,同网段主机通信 , 交换机的工作原理会根据MAC地址表进行数据转发了 。

不同网段访问
这两个IP地址是“192.168”开头的其实是属于C类地址 , C类地址默认的子网掩码是“255.255.255.0” 。如果是这样 , 计算出PC1的网段为“192.168.2.0/24” , PC2的网段为“192.168.1.0/24”,它们属于不同的网段了 。不同网段之间就不能直接进行二层MAC地址表转发通信了 , 只能采用三层路由方式去解决 。这样就得依靠三层网络层的设备了,路由器它就是网络层的设备,另外像一些交换机它也是具备三层路由功能的 , 我们称为三层交换机 。
这里主要有以下几种通信方式:
1.多臂路由器实现
如下图,以华为路由器为例配置各自接口IP地址作为两台主机的网关 。
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip address 192.168.2.254 24
[AR1-GigabitEthernet0/0/0]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip address 192.168.1.254 24

两台主机连接到路由器并设置各自的网关地址,这样就可以通信了 。这是因为当路由器接口IP地址配置完成后,路由器就会自动将这两个网段的直连路由加入到路由表 , 路由器就是通过直连路由来转发不同网段的数据包 。

当然 , 计算机一般都先接入到交换机,接各自一台交换机如下:

如果接同一台交换机上的话,一般不同的网段就会划分出不同的VLAN,相当于把交换机逻辑上分成两台 。

2.单臂路由器实现
【如何访问192.168.1.2】
多臂路由器实现不同VLAN网段通信有个很大的弊端,就是太浪费路由器端口了,因为每个VLAN你都需要去占用路由器的一个物理端口作为该网段的网关 , 而路由器的端口往往是很有限的 , 许多路由器甚至只有两个端口,因此这种方式在实际工作上基本上不会用了,有没有一种做法就是使用路由器的一个物理端口去连接多个不同的VLAN , 就跟交换机之间Trunk干道一样可以去承载多个VLAN,我们称这样的实现方式为单臂路由 。
如下拓扑所示,路由器只使用一个物理接口来互联交换机上的多个VLAN,每个VLAN网段的网关都指向路由器,路由器虽然只有一个物理接口但它可以启用子接口功能 , 可以把每个子接口想象成一个物理接口,每个子接口为一个单独的广播域,并且是所属网络中主机的默认网关 , 这样路由器上就具备了多条直连的网络,自然就可以通过路由表来转发数据报文了 。

3.三层交换机实现
虽然单臂路由可以节省路由器的物理接口,但是这种方式也有不足之处,如果VLAN的数量众多 , 不同VLAN网段间的通信流量就会很大 , 单条链路所能提供的带宽很可能无法支撑这些通信流量,另外如果这条链路一旦发生故障,那么所有VLAN间的通信就此中断 。所以在我们实际工作中 , 最常用的做法是会引入一台三层交换机来实现VLAN间的通信,通过三层交换机是最经济、最快速、也是最可靠地实现VLAN间三层通信的方式 。
如下所示在三层交换机需要配置VLAN2和VLAN3的接口IP作为这两个网段的网关实现不同VLAN间的通信 。

应邀解答本行业的问题 。
因为没有说明是哪种场景下,所以不清楚组网拓扑是个什么情况 , 所以我们就把他看成一个最简单的跨网段问题 。

解决跨网段访问的方法有很多 , 常见的有以下三种:
1.增加静态路由;
2.修改子网掩码;
3.上端设备采用路由器或三层交换机 。
下面我们来逐一分析一下:
增加静态路由
增加静态路由应该是最简单的,但这个需要提前规划好VLAN , 接着绑定交换机侧的端口到vlan中,最后在交换机上增加一条静态路由指定下一条(一般是网关) 。随后就可以在第一台PC上ping通另一台2.1网段的电脑了 。

修改子网掩码
因为之前子网掩码是24位,192.168.1.1和192.168.2.1不再同一网段,所以不能互通 。但当我们将子网掩码变成16位(255.255.0.0),192.168.1.1和192.168.2.1就变成了同一网段的地址 , 就可以实现互访了 。

虽然这么做必将快捷方便,但是存在着安全性和管理侧的的隐患,所以还是尽量不要修改现有的子网掩码 。
采用三层交换机或者路由器
PC属于终端,需要借上端交换设备实现互通,也就是俗称的交换 。
目前市面上多采用三层交换机,路由器也是有的 。根据题意假设拓扑结构如下:

在GE0口和GE1口分别配置好网关地址(192.168.1.254和192.168.2.254),路由信息就会自动生成,可以通过路由表查看 。此时两台PC之间通过直连路由也可以实现互通互访 。

需要注意的是,上述讨论的问题都是在理想范围内 , 真正的组网环境要比题中复杂的多,两台设备之间可能会经过很多台交换设备,也会根据实际需求划分到不同的VLAN中,因为篇幅问题这里不做过多讨论 。如有不足,还请各位在评论区补充纠正 。