子网、局域网、网段的关系

一、二层设备和三层设备

二层设备物理层-数据链路层,属于数据链路层的设备,只能识别mac地址,如网桥,二层交换机,
三层设备物理层-数据链路层-网络层,属于网络层的设备,能识别mac地址和ip地址,如路由器,三层交换机,ip网关

三层设备路由器的结构:
这里写图片描述

各层次的作用:

物理层:完成比特流的接受和发送
数据链路层:完成拆帧和封装帧
网络层:处理IP分组头

路由器和网桥的区别:

  1. 网桥能够在数据链路层实现不同数据链路层协议的局域网的连接,而路由器能够实现不同网络的互联
    (1)例如有两个B类网络,192.168.0.1和173.125.1.23,属于不同的网络,路由器可以实现互联,而网桥不能互联
    (2)例如有两个B类网络,192.168.0.1和192.168.1.1,属于同一个的网络的不同子网,路由器可以实现互联,网桥也可以实现互联
  2. 网桥可以划分冲突域,但是不能划分广播域,因为网桥是二层识别,对于高层ip来说是透明的,而路由器可以划分广播域,因为路由器不转发广播ip分组

ps:
冲突域:一次载波监听的范围,一个站点向另一个站点发出信号。除目的站点外,有多少站点能收到这个信号,这些站点就构成一个冲突域;
广播域:是一次广播发生的范围,多个冲突域构成一个广播域

这里写图片描述

二、子网、局域网、网段的关系

局域网

数据链路层的概念,指二层可达的网络(也就是不需要三层设备,如路由器,也能到达的网络),通俗得讲就是小范围的网络

子网

子网是网络层的概念,和局域网没有直接的关系,是把一个ip网络划分为几个小范围的网络,但是在平时不要求精确性的时候,局域网可以对应子网,也就是说,子网也是二层可达,子网之间需要三层设备

网段

是物理层的定义,使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分
1. 使用同一物理层的设备之间必然通过相同的传输介质直接相互连接,(如交叉双绞线直接连接的两台主机),是一个网段
2. 两组其传输介质并非直接相连的网络设备,如果它们的传输介质通过工作在物理层的扩展设备如中继器和集线器等转接连接,则仍然被视为同一物理层中的设备,是一个网段
3. 工作在数据链路层或更高层的设备如网桥、交换机、路由器等等,由它们连接起来的两组设备仍然分别处于各自独立的物理层,是两个网段

总结

在不要求精确性的情况下,子网、局域网和网段可以理解为同一个意思,但是同一个局域网/同一个子网/同一个网段 和 同一个网络不是同一个概念

### 局域网中同一网段的含义及工作原理 #### 同一网段的定义 在同一局域网环境中,当两台设备具有相同的网络号时,则认为它们处于同一个网段内[^1]。具体来说,通过子网掩码对IP地址进行按位与运算得出的结果即为网络号。如果两个设备的网络号一致,则表明这两台设备位于同一网段。 #### 工作原理详解 对于同一网段内的通信流程如下: - **初始判断** 当一台计算机(如PC1)欲向另一台计算机(如PC2)发起数据传输时,它会依据自身的IP配置以及目标IP来决定下一步动作。此过程中,PC1需运用其本地设置中的子网掩码计算出双方所属的网络编号,并对比两者是否相匹配。 - **ARP解析机制** 若确认二者确实在同一网段下,那么源主机将尝试获取目的MAC地址以便完成链路层封装。这一环节通常借助于ARP(Address Resolution Protocol)协议实现。假设Host1要联系Host2,在未命中自身ARP缓存的情况下,它会发出一个广播形式的ARP请求消息;随后,交换机会把该广播包复制分发至所有端口上(除接收方外),同时更新内部转发表记录各节点位置信息[^4]。一旦Host2接收到这个询问且发现正是针对自己的提问后,便会执行反向学习行为并将响应返回给Host1,最终形成一条完整的双向通讯路径。 - **优化措施——虚拟局域网(VLAN)** 值得注意的是,在实际应用当中为了更好地管理和隔离流量,往往会引入VLAN技术概念。尽管物理连接可能仍然共享某个单一硬件设施比如二层以太网交换机,但从逻辑上看却可以划分为多个独立运作的小型局域网环境。这样做的好处在于能够有效遏制不必要的广播风暴扩散范围,提高整体系统的稳定性和保密性能[^3]。 ```python # 示例代码展示如何手动验证 IP 地址是否属于同一网段 def is_same_subnet(ip1, ip2, subnet_mask): import ipaddress network1 = ipaddress.IPv4Network(f"{ip1}/{subnet_mask}", strict=False) network2 = ipaddress.IPv4Network(f"{ip2}/{subnet_mask}", strict=False) return network1.network_address == network2.network_address print(is_same_subnet('192.168.1.5', '192.168.1.10', '255.255.255.0')) # True 表示同属一个网段 ```
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值