设备 A 想把数据发给设备 B先判断 B 是不是“本地人”。如果是同一个子网就直接找 B如果不是就把数据交给网关让网关继续转发。IP 用来标识最终要找谁。MAC 用来标识下一跳发给谁。子网掩码用来判断目标是不是本地人。子网掩码用来判断两个 IP 是不是在同一个局域网里。网关用来访问外部网络。路由表用来决定下一跳是谁。主机就是网络里的具体设备比如电脑、手机、服务器、摄像头、PLC、每台主机一般至少有 IP 地址 子网掩码 默认网关 DNS MAC 地址 例如设备 A IP192.168.1.10 子网掩码255.255.255.0 网关192.168.1.1 MACAA-AA-AA-AA-AA-AA工控机等。 每台主机一般至少有 IP 地址 子网掩码 默认网关 DNS MAC 地址 例如设备 A IP192.168.1.10 子网掩码255.255.255.0 网关192.168.1.1 MACAA-AA-AA-AA-AA-AA“网络”就是一组能互相通信的设备。 比如 192.168.1.0/24 表示一个局域网里面通常有这些主机 192.168.1.1 192.168.1.2 192.168.1.3 ... 192.168.1.254 这个网络的地址范围是 192.168.1.0 - 192.168.1.255 其中 192.168.1.0 网络地址 192.168.1.255 广播地址 192.168.1.1-254 可用主机地址网关 网关就是“离开当前网络的门”。 比如 A 的配置 IP192.168.1.10 掩码255.255.255.0 网关192.168.1.1 如果 A 要访问192.168.1.20 A 发现对方和自己同网段直接发给 B。 如果 A 要访问 192.168.2.20 8.8.8.8 www.baidu.com A 发现对方不在本地网段就把数据发给192.168.1.1 这个 192.168.1.1 通常是路由器、三层交换机、防火墙或者网关设备。 网关现实中指的是 通常说的“默认网关”一般是主机以外的三层设备比如 路由器 三层交换机 防火墙 工控网关 Linux 网关服务器 例如 A192.168.20.100/24 网关192.168.20.1 这里 192.168.20.1 通常是另一台设备的 IP。 但也有特殊情况本机也可以充当网关。比如一台 Linux 主机有两张网卡 eth0192.168.20.100/24 eth110.10.10.1/24 如果它开启了 IP 转发它就可以帮别的设备转发数据此时它对别的设备来说就是网关。 但对“本机自己访问外网”来说默认网关一般不会配置成自己而是配置成能帮它继续转发的下一跳设备。 一句话 网关不是一个固定硬件名而是“下一跳路由设备”的角色。ARP 全称是 Address Resolution Protocol地址解析协议。 它解决的问题是 我知道对方 IP但我不知道对方 MAC怎么办 在以太网里真正发出去的数据帧需要目标 MAC 地址。 所以当 A 想发给同网段的 B A192.168.20.100 B192.168.20.158 A 会广播一句 谁是 192.168.20.158请告诉 192.168.20.100 B 收到后回答 我是 192.168.20.158我的 MAC 是 xx:xx:xx:xx:xx:xx 然后 A 把这个对应关系缓存起来 192.168.20.158 - B 的 MAC 这个缓存叫 ARP 表。 可以理解为 IP 地址你家地址 MAC 地址你本人身份证/门牌的底层标识 ARP在本地小区里喊一声问这个 IP 是谁 注意ARP 只在同一个二层广播域里工作。跨网段时A 不会 ARP 远端 B而是 ARP 网关。真实的网络交互 情况一A 和 B 在同一个子网 A192.168.1.10/24 B192.168.1.20/24 网关192.168.1.1 A 要访问 B。 第一步A 判断 B 是否和自己同网段 A 网络192.168.1.0/24 B 网络192.168.1.0/24 发现是同一个网络。 第二步A 需要知道 B 的 MAC 地址。 因为在局域网里真正发送数据靠的是 MAC 地址不是只靠 IP。 于是 A 发 ARP 广播 谁是 192.168.1.20请告诉 192.168.1.10 交换机会把这个广播发给同一局域网里的设备。 B 收到后回复 我是 192.168.1.20我的 MAC 是 BB-BB-BB-BB-BB-BB 第三步A 发送数据 源 IP192.168.1.10 目标 IP192.168.1.20 源 MACA 的 MAC 目标 MACB 的 MAC 交换机根据目标 MAC把帧转发给 B。 注意这个过程中 网关不参与。 情况二A 和 B 不在同一个子网 A192.168.1.10/24 网关192.168.1.1 B192.168.2.20/24 A 要访问 B。 第一步A 判断 B 是否和自己同网段 A 网络192.168.1.0/24 B 网络192.168.2.0/24 发现不是同一个网络。 第二步A 决定把数据交给网关 192.168.1.1 但 A 还是要先知道网关的 MAC 地址。 于是 A 发 ARP 谁是 192.168.1.1请告诉 192.168.1.10 网关回复 我是 192.168.1.1我的 MAC 是 GG-GG-GG-GG-GG-GG 第三步A 把数据发给网关。 这里很关键 源 IP192.168.1.10 目标 IP192.168.2.20 源 MACA 的 MAC 目标 MAC网关的 MAC 也就是说 IP 目标还是 B但 MAC 目标是网关。 第四步网关收到后查看自己的路由表发现 192.168.2.0/24 怎么走然后转发出去。 如果 B 就在网关的另一个接口下网关会再 ARP 找 B 的 MAC然后发给 B。 发送到 B 时变成 源 IP192.168.1.10 目标 IP192.168.2.20 源 MAC网关另一个接口的 MAC 目标 MACB 的 MAC 所以跨网段通信时 IP 地址通常端到端不变 MAC 地址每经过一跳都会变 这是理解网络交互的核心。
网络简要学习
发布时间:2026/6/26 16:36:22
设备 A 想把数据发给设备 B先判断 B 是不是“本地人”。如果是同一个子网就直接找 B如果不是就把数据交给网关让网关继续转发。IP 用来标识最终要找谁。MAC 用来标识下一跳发给谁。子网掩码用来判断目标是不是本地人。子网掩码用来判断两个 IP 是不是在同一个局域网里。网关用来访问外部网络。路由表用来决定下一跳是谁。主机就是网络里的具体设备比如电脑、手机、服务器、摄像头、PLC、每台主机一般至少有 IP 地址 子网掩码 默认网关 DNS MAC 地址 例如设备 A IP192.168.1.10 子网掩码255.255.255.0 网关192.168.1.1 MACAA-AA-AA-AA-AA-AA工控机等。 每台主机一般至少有 IP 地址 子网掩码 默认网关 DNS MAC 地址 例如设备 A IP192.168.1.10 子网掩码255.255.255.0 网关192.168.1.1 MACAA-AA-AA-AA-AA-AA“网络”就是一组能互相通信的设备。 比如 192.168.1.0/24 表示一个局域网里面通常有这些主机 192.168.1.1 192.168.1.2 192.168.1.3 ... 192.168.1.254 这个网络的地址范围是 192.168.1.0 - 192.168.1.255 其中 192.168.1.0 网络地址 192.168.1.255 广播地址 192.168.1.1-254 可用主机地址网关 网关就是“离开当前网络的门”。 比如 A 的配置 IP192.168.1.10 掩码255.255.255.0 网关192.168.1.1 如果 A 要访问192.168.1.20 A 发现对方和自己同网段直接发给 B。 如果 A 要访问 192.168.2.20 8.8.8.8 www.baidu.com A 发现对方不在本地网段就把数据发给192.168.1.1 这个 192.168.1.1 通常是路由器、三层交换机、防火墙或者网关设备。 网关现实中指的是 通常说的“默认网关”一般是主机以外的三层设备比如 路由器 三层交换机 防火墙 工控网关 Linux 网关服务器 例如 A192.168.20.100/24 网关192.168.20.1 这里 192.168.20.1 通常是另一台设备的 IP。 但也有特殊情况本机也可以充当网关。比如一台 Linux 主机有两张网卡 eth0192.168.20.100/24 eth110.10.10.1/24 如果它开启了 IP 转发它就可以帮别的设备转发数据此时它对别的设备来说就是网关。 但对“本机自己访问外网”来说默认网关一般不会配置成自己而是配置成能帮它继续转发的下一跳设备。 一句话 网关不是一个固定硬件名而是“下一跳路由设备”的角色。ARP 全称是 Address Resolution Protocol地址解析协议。 它解决的问题是 我知道对方 IP但我不知道对方 MAC怎么办 在以太网里真正发出去的数据帧需要目标 MAC 地址。 所以当 A 想发给同网段的 B A192.168.20.100 B192.168.20.158 A 会广播一句 谁是 192.168.20.158请告诉 192.168.20.100 B 收到后回答 我是 192.168.20.158我的 MAC 是 xx:xx:xx:xx:xx:xx 然后 A 把这个对应关系缓存起来 192.168.20.158 - B 的 MAC 这个缓存叫 ARP 表。 可以理解为 IP 地址你家地址 MAC 地址你本人身份证/门牌的底层标识 ARP在本地小区里喊一声问这个 IP 是谁 注意ARP 只在同一个二层广播域里工作。跨网段时A 不会 ARP 远端 B而是 ARP 网关。真实的网络交互 情况一A 和 B 在同一个子网 A192.168.1.10/24 B192.168.1.20/24 网关192.168.1.1 A 要访问 B。 第一步A 判断 B 是否和自己同网段 A 网络192.168.1.0/24 B 网络192.168.1.0/24 发现是同一个网络。 第二步A 需要知道 B 的 MAC 地址。 因为在局域网里真正发送数据靠的是 MAC 地址不是只靠 IP。 于是 A 发 ARP 广播 谁是 192.168.1.20请告诉 192.168.1.10 交换机会把这个广播发给同一局域网里的设备。 B 收到后回复 我是 192.168.1.20我的 MAC 是 BB-BB-BB-BB-BB-BB 第三步A 发送数据 源 IP192.168.1.10 目标 IP192.168.1.20 源 MACA 的 MAC 目标 MACB 的 MAC 交换机根据目标 MAC把帧转发给 B。 注意这个过程中 网关不参与。 情况二A 和 B 不在同一个子网 A192.168.1.10/24 网关192.168.1.1 B192.168.2.20/24 A 要访问 B。 第一步A 判断 B 是否和自己同网段 A 网络192.168.1.0/24 B 网络192.168.2.0/24 发现不是同一个网络。 第二步A 决定把数据交给网关 192.168.1.1 但 A 还是要先知道网关的 MAC 地址。 于是 A 发 ARP 谁是 192.168.1.1请告诉 192.168.1.10 网关回复 我是 192.168.1.1我的 MAC 是 GG-GG-GG-GG-GG-GG 第三步A 把数据发给网关。 这里很关键 源 IP192.168.1.10 目标 IP192.168.2.20 源 MACA 的 MAC 目标 MAC网关的 MAC 也就是说 IP 目标还是 B但 MAC 目标是网关。 第四步网关收到后查看自己的路由表发现 192.168.2.0/24 怎么走然后转发出去。 如果 B 就在网关的另一个接口下网关会再 ARP 找 B 的 MAC然后发给 B。 发送到 B 时变成 源 IP192.168.1.10 目标 IP192.168.2.20 源 MAC网关另一个接口的 MAC 目标 MACB 的 MAC 所以跨网段通信时 IP 地址通常端到端不变 MAC 地址每经过一跳都会变 这是理解网络交互的核心。