网络通信流程

目录

♫IP地址

♫子网掩码

♫MAC地址

♫相关设备

♫ARP寻址

♫网络通信流程


♫IP地址

我们已经知道 IP 地址由网络号+主机号组成,根据 IP 地址的不同可以有5钟划分网络号和主机号的方案:

其中,各类地址的表示范围是:

|--------|------------------------------|----------|----------|----------------------|
| 分类 | 范围 | 适用网络 | 网络数量 | 主机最大连接数 |
| A类 | 0.0.0.0 ~ 127.255.255.255 | 大型网络 | 126 | 16777214 【(2^24)-2】 |
| B类 | 128.0.0.0 ~ 191.255.255.255 | 中等规模网络 | 约16000 个 | 65534 【(2^16)-2】 |
| C类 | 192.0.0.0 ~ 223.255.255.255 | 小型网络 | - | 254 【2^8-2】 |
| D类 | 224.0.0.0 ~ 239.255.255.255 | | | |
| E类 | 240.0.0.0 ~ 247.255.255.255 | | | |

上面 A 类、B 类、C 类的 IP 地址由网络号标识不同的广域网网段,而若想在广域网里再划分子网,就要通过子网掩码对 IP 地址进行子网划分。

♫子网掩码

子网掩码是一个32位地址,由连续的1和0组成,连续的1表示网络号,连续的0表示主机号,通过0的个数可以计算出子网中主机的IP地址范围。

如:用子网掩码255.255.255.252划分一个 C 类 IP 192.1.1.0:

①.将255.255.255.252转换为二进制为11111111.11111111.11111111.11111100,表示每个子网中只有4个IP地址(2^2)

②.192.1.1.0~192.1.1.255的地址段共可划分64(256/4)个子网,其中第一个子网的地址范围是192.1.1.0-192.1.1.3,第二个子网的地址范围是192.1.1.4-192.1.1.7,以次类推。

将 IP 地址和子网掩码进行"按位与"操作(二进制相同位,与操作,两个都是1结果为1,否则为0),得到的结果就是网络标识(划分子网后的网络号/ 网段(划分前的网络号+子网号))。 将子网掩码二进制按位取反,再与 IP 地址位与计算,得到的就是主机号。

注:

①.每个子网的第一个IP地址为网段地址(如:192.1.1.0、192.1.1.4),最后一个IP地址(如:192.1.1.3、192.1.1.7)为广播地址,都不可用。

②.IP 地址描述的是路途总体的起点和终点,是给人使用的网络逻辑地址。

♫MAC地址

MAC地址,即 Media Access Control Address,用于标识网络设备的硬件物理地址(每个网卡都有唯一的一个MAC地址),用于识别数据链路层中相连的节点,在网卡出厂时就确定了,不能修改。MAC地址长度为48位,一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19) 。

注:

①.广播数据报(对象为同网段所有主机)的MAC地址为: FF:FF:FF:FF:FF:FF。

②.MAC地址描述的是路途上的每一个区间的起点和终点,是给网络硬件设备使用的网络物理地址。

♫相关设备

***♩.集线器:***集线器工作在物理层,发送到集线器的任何数据,都只是简单的将数据复制并转发到其他所有端口(集线器后边的物理端口)。

***♩.交换机:***交换机工作在数据链路层,交换机内部会记录并维护一张 MAC 地址转换表:

①. MAC 地址转换表主要记录 MAC 地址与端口(交换机后边的物理端口)之间的映射。

②. 主机连接到交换机,及主机发送数据的时候,交换机都可以学习并记录该主机 MAC 地址与端口信息。

③. 交换机接收到数据报以后,在 MAC 地址转换表中,通过目的 MAC 查找到对应的端口,则目的主机为与该端口相连接的主机,只需要将数据报转发到对应端口上即可。

④.如果通过目的 MAC 找不到对应端口,交换机则设置数据报目的 MAC 为广播地址 FF:FF:FF:FF:FF:FF,发送到其他所有端口,目的主机返回响应后,交换机再记录该主机MAC与端口的映射信息。

***♩.路由器:***配有 IP 地址,可以进行路由选择(在复杂的网络结构中,找出一条通往终点的路线);是一种网关设备,可以划分公网和局域网(内网),同时还可以把局域网划分为多个子网(不同网段):

①. 划分局域网多个子网时,可以直接通过ARP寻址找到局域网任意主机。(这里的局域网就是路由器下的多个子网组成的局域网)。

②. 划分公网和局域网时,局域网内主机发送数据报到公网主机时,需要基于NAPT协议,将局域网主机的IP地址和端口号,转换为路由器公网IP和端口号(指路由器中运行的程序的端口)。

注:局域网IP+端口需要转换为公网IP+端口,原因是接收端返回的响应数据报,目的IP和目的端 口无法使用局域网IP和端口。

♫ARP寻址

ARP是一个介于数据链路层和网络层之间的协议,ARP 协议建立了IP地址与 MAC 地址的映射关系。 在数据链路层,寻找下一跳设备 MAC 地址的过程,称为 ARP 寻址:

①.主机和路由器中都保存了一张 ARP 缓存表,通过 IP 地址可以找到对应的 MAC 地址。

②.根据下一跳设备的 IP 地址,在 ARP 缓存表中能找到对应的 MAC 地址,则可以设置目的 MAC 并发送数据报。

③.如果找不到,则发送 ARP 广播数据报:目的 MAC 为广播地址,询问下一跳设备的 MAC 地址。

♫网络通信流程

发送数据报时,发送端主机都需要先根据网络分层从上到下封装:

封装过程中需要根据根据目的 IP 通过 ARP 寻址获取到目的设备的 MAC 地址,在数据链路层以太网帧头中,设置目的MAC并发送数据包。封装好数据后,就需要根据发送端主机(源主机)与接收端主机(目的主机)是否在同一网段,来设置下一跳设备:

①. 源主机和目的主机在同一个网段时,下一跳设备就是目的主机:

集线器找到目的 MAC 地址的情况:

集线器没找到目的 MAC 地址的情况:

交换机情况:

②.源主机和目的主机在不同网段时,发送端主机是无法知道目的主机在哪,此时会设置下一跳设备为网关设备:

相关推荐
卓豪终端管理21 小时前
安全事件实时预警:构筑企业终端安全的“智能防线”
网络·安全·web安全
妹妹够啦21 小时前
宝塔部署-Nginx配置
运维·nginx·junit
love530love21 小时前
【笔记】解决 ComfyUI 安装节点 ComfyUI-Addoor (葵花宝典)后启动报错:No module named ‘ComfyUI-Addoor’
linux·运维·前端·人工智能·windows·笔记·python
Shelley种了一只橙子1 天前
第一章部署 chrony服务器
运维·服务器
Full Stack Developme1 天前
Linux 有哪些功能相似的命令
linux·运维·服务器
低音钢琴1 天前
【从零开始构建性能测试体系-08】如何诊断性能瓶颈:从服务器到数据库的全方位分析
服务器·数据库·php
馨谙1 天前
Linux 服务管理:重新加载 vs 重新启动的本质区别
linux·运维·服务器
HenrySmale1 天前
计算机网络:物理层
网络·计算机网络
小白银子1 天前
零基础从头教学Linux(Day 55)
java·linux·服务器·python
laoma-cloud1 天前
网络基础综合实验
网络·php