计算机网络(第十三弹) --- ARP 协议及子网掩码的相关概念

ARP 协议及子网掩码

1 ARP 协议

ARP 协议就是介于数据链路层和网络层之间的协议; 建立了主机 IP 协议和 MAC 地址的映射关系.

在网络通讯时, 源主机的应用程序知道目的主机的 IP 地址和端口号, 却不知道目的主机的硬件地址, 数据报首先是被网卡接收到再去处理上层协议的, 如果接收到的数据包的硬件地址与本机不符合, 则直接丢弃; 因此在双方通讯前必须获得目的主机的硬件地址, 流程如下图所示:
在这里插入图片描述
关于 ARP 的工作流程:

源主机发送 ARP 请求, 询问主机 B 的硬件地址是多少, 并将这个请求广播出去;
目的主机接收到广播的 ARP 请求后, 发现其中的 IP 地址与本机一致, 则发送 ARP 响应数据给主机 A, 将自己的 MAC 写入到应答包中;
每台主机都维护一个 ARP 缓存表, 缓存表中的表项有过期时间, 如 20 分钟后没有再次使用某个表项, 则该表项失效, 下次还要发送 ARP 请求来获得目的主机的硬件地址.

2 子网掩码

  子网掩码格式和 IP 地址是一样的, 都是 32 位的二进制数; 子网掩码很有特点, 左边都是 1, 右边都是 0. 子网掩码必须结合 IP 地址一起使用, 子网掩码只有一个作用: 将某个 IP 地址划分为网络地址和主机地址两部分.

  网络通信时, 子网掩码结合 IP 地址可以计算获得划分子网后的网络号及划分子网后的主机号; 一般用于判断目的 IP 与 本 IP 是否为同一个网段.

关于子网掩码的计算方式:

  • 将 IP 地址和子网掩码进行按位与操作得到的结果就是网络号;
  • 将子网掩码按位取反然后再与 IP 地址按与操作, 得到的就是主机号;
  • 网络号就是为了标识网段, 保证相互连接的两个网段具有不同的标识;
  • 主机号就是为了标识主机, 同一个网段内, 主机之间具有相同的网络号, 但是必须有不同的主机号.

总之, 通过合理设置网络号和主机号, 就可以保证在相互连接的网络中, 每台主机的 IP 地址都是唯一的.

猜你喜欢

转载自blog.csdn.net/Onion_521257/article/details/129697766