四川省省建设厅网站,硬件优化大师,中信建设有限公司是央企吗,网站建设的目的意义文章目录 IPv4地址与MAC地址的封装位置IPv4地址与MAC地址的关系地址解析协议ARP工作原理ARP高速缓存表 IPv4地址与MAC地址的封装位置
在数据传输过程中#xff0c;每一层都会添加自己的头部信息#xff0c;最终形成完整的数据包。具体来说#xff1a;
应用层生成的应用程序… 文章目录 IPv4地址与MAC地址的封装位置IPv4地址与MAC地址的关系地址解析协议ARP工作原理ARP高速缓存表 IPv4地址与MAC地址的封装位置
在数据传输过程中每一层都会添加自己的头部信息最终形成完整的数据包。具体来说
应用层生成的应用程序数据被称为应用层报文。当数据传递到运输层时会被加上运输层首部形成运输层段。接下来网际层会在前面的基础上再添加IP首部形成IP数据报。最后在网络接口层数据会被封装成带有MAC地址的数据帧并通过物理链路进行传输。
在整个过程中数据从高层向下层层封装直至最底层的物理信号流。反向传输时则是逐层解封恢复成最初的应用层数据。 在数据包的传送过程中数据包的源IP地址和目的IP地址保持不变因为IP地址是用来识别网络中的逻辑位置而不是物理位置。 在数据包的传送过程中数据包的源MAC地址和目的MAC地址逐链路或逐网络变化 当数据包从一个局域网LAN移动到另一个局域网时其源 MAC 地址和目的 MAC 地址会发生改变。例如从 H1 发出的数据包最初的源 MAC 地址是 MAC1到达 R1 时源 MAC 变成了 MAC3然后从 R1 转发到 R2 时源 MAC 变成 MAC4以此类推直到达到目的地 H2此时源 MAC 是 MAC6。
网络通信的本质IP 地址用于跨网络的寻址和路由而 MAC 地址用于同一局域网内的直接通信。每次数据包跨越不同的局域网边界时都需要重新确定 MAC 地址以适应新环境下的通信需求。
IPv4地址与MAC地址的关系
如果仅使用 MAC 地址进行通信则会出现以主要问题 因特网中的每台路由器的路由表中就必须记录因特网上所有主机和路由器各接口的MAC地址 手工给各路由器配置路由表几乎是不可能完成的任务即使使用路由协议让路由器通过相互交换路由信息来自动构建路由表也会因为路由信息需要包含海量的MAC地址信息而严重占用通信资源。 包含海量 MAC 地址的路由信息需要路由器具备极大的存储空间并且会给分组的查表转发带来非常大的时延。
因特网的网际层使用IP地址进行寻址就可使因特网中各路由器的路由表中的路由记录的数量大大减少因为只需记录部分网络的网络地址而不是记录每个网络中各通信设备的各接口的 MAC 地址。
路由器收到 IP 数据报后根据其首部中的目的IP地址的网络号部分基于自己的路由表进行查表转发。
查表转发的结果可以指明 IP 数据报的下一跳路由器的 IP 地址但无法指明该 IP 地址所对应的 MAC 地址。因此在数据链路层封装该 IP 数据报成为帧时帧首部中的目的 MAC 地址字段就无法填写该问题需要使用网际层中的地址解析协议ARP来解决
地址解析协议ARP
地址解析协议ARPAddress Resolution Protocol是一种用于将网络层IP层的32位IP地址解析为数据链路层物理层的48位MAC地址的协议。用于解决同一局域网内主机之间或路由器的 IP 地址和 MAC 地址的映射问题不能跨网络使用。 由于 ARP 协议的主要用途是从网际层使用的IP地址解析出在数据链路层使用的MAC地址。因此有的教材将 ARP 协议划归在网际层而有的教材将 ARP 协议划归在数据链路层。这两种做法都是可以的。 ARP 协议还有其他类型的报文例如用于检查 IP 地址冲突的“无故ARP”(Gratuitous ARP) 由于 ARP 协议很早就制定出来了1982年11月当时并没有考虑网络安全问题。因此ARP 协议没有安全验证机制存在ARP欺骗和攻击等问题 ARP 高速缓存表用来记录 IP 地址与 MAC 地址的对应关系
工作原理 请求广播 当一个设备发送方需要发送数据包给另一个设备目标方时它首先检查本地ARP缓存中是否有目标方的MAC地址。 如果没有发送方会广播一个ARP请求ARP请求报文包含发送方的IP地址和MAC地址以及目标方的IP地址。
主机A 发送广播 ARP 请求 主机A 想要与 主机B 通信但它只知道 主机B 的 IP 地址192.168.0.2不知道其 MAC 地址。 主机A 构造一个 ARP 请求报文其中包含它自己的 IP 地址192.168.0.1和 MAC 地址00-0C-85-72-AB-72以及它想知道的目标 IP 地址192.168.0.2。 这个 ARP 请求报文是一个广播报文目的 MAC 地址设置为 FF-FF-FF-FF-FF-FF它会被发送到同一个局域网LAN中的所有设备。 ARP响应 网络上的所有设备都会收到广播ARP请求网卡将广播帧交付上层处理但只有目标方即 IP 地址与 广播请求中的目的 IP 地址相同会响应。 目标方检查请求中的 IP 地址是否与其自身的 IP 地址匹配如果匹配则发送一个ARP响应单播需要封装在以太网帧中发送ARP响应报文包含目标方的MAC地址。
主机 B 单播 ARP 响应 主机B 看到 ARP 请求中的目标 IP 地址是自己于是构建一个 ARP 响应报文其中包括它自己的 IP 地址192.168.0.2和 MAC 地址00-E0-F9-A3-43-77。 主机B 将这个 ARP 响应报文单播发送回 主机A而不像 ARP 请求那样是广播。 更新ARP缓存 发送方收到ARP响应后将目标方的IP地址和MAC地址的对应关系存储在本地ARP缓存中。
更新 ARP 缓存 主机A 接收到 主机B 的 ARP 响应后就会将 主机B 的 IP 地址和 MAC 地址记录在其 ARP 高速缓存表中这样以后就可以直接用 MAC 地址与 主机B 通信而不需要再次广播 ARP 请求。
通过这个过程主机A 成功获得了 主机B 的 MAC 地址从而能够在局域网中实现两台设备间的通信。
ARP高速缓存表
ARP高速缓存表ARP Cache是一个临时表用于存储最近IP地址到硬件地址即MAC地址之间的映射记录。这个缓存表对于提高网络通信效率非常重要因为它允许设备在发送数据前快速查找目标设备的MAC地址而无需每次都进行ARP请求。
ARP 高速缓存表中的记录分为动态记录和静态记录 动态记录由主机通过 ARP 协议自动获取到的随时间推移自动添加和删除。因为ARP高速缓存表中的IP地址与MAC地址的对应关系并不是永久不变的。例如主机更换了一块新网卡。 当设备需要解析一个 IP 地址到 MAC 地址的映射时如果 ARP 缓存表中不存在这个映射设备会发送 ARP 请求并等待响应。一旦收到响应这个映射就会被添加到 ARP 缓存表中。 每个动态 ARP 缓存项都有一个生存时间TTLTime to Live默认为两分钟当 TTL 为 0 时这个缓存项就会被删除。在 Windows 系统中TTL通常不超过 10 分钟。 静态记录静态 ARP 缓存条目是永久性的不会随时间自动删除。这些条目可以通过 TCP/IP 工具手动添加和删除。静态 ARP 缓存条目通常用于禁止节点发送对常用本地 IPv4 地址如路由器和服务器的 IPv4 地址的 ARP 请求。不同操作系统下的生命周期不同例如系统重启后不存在或系统重启后依然有效。