APR协议及RARP协议

来源:互联网 发布:神盾局特工 it是什么 编辑:程序博客网 时间:2024/06/06 07:26

1 逻辑地址和物理地址

逻辑地址(IP):工作在网络层

  • 全局唯一
  • 用软件实现
  • 日常以十进制方式表示,二进制为32位
  • 接口的网络层地址
  • 用于标识网络层(第3层)分组,支持分组转发

物理地址(LAN地址、以太网地址、硬件地址、链路地址、MAC地址):工作在网络接口层

  • 本地范围唯一
  • 用硬件实现
  • 日常以16进制表示,二进制为48位
  • 作用:用于局域网内标识一个帧从哪个接口发出,到达
    哪个物理相连的其他接口
  • 48位MAC地址(用于大部分LANs),固化在网卡的ROM中,有时也可以软件设置
    • e.g.: 1A-2F-BB-76-09-AD

MAC地址

这里写图片描述

  • MAC地址由IEEE统一管理与分配
  • 网卡生产商购买MAC地址空间(前24比特)
  • 类比:
    • MAC地址:身份证号
    • IP地址:邮政地址
  • MAC地址是“平面”地址: ➜ 可“携带”
    • 可以从一个LAN移到另一个LAN
  • IP地址是层次地址: ➜ 不可“携带”
    • IP地址依赖于结点连接到哪个子网

这里写图片描述

windows中查看IP地址和MAC地址的命令:ipconfig /all。

有了IP地址为什么还要是使用MAC地址

  • IP地址一般情况下容易改动,具有随意性,不能在网络上固定标识一台设备
  • MAC地址一般情况出厂时由厂家烧录到硬件中,不容易修改,在居于范围内容易定位唯一一台设备
  • 从拓扑结构和分层上分析,IP地址属于网络层部分,主要功能是广域网内路由寻址,选择最佳路由,而MAC在网络接口层要形成适合于网络媒体上传输的数据帧。

2 ARP协议

这里写图片描述

ARP协议的概念

  • ARP(Address Resilution Protocol)地址解析协议用于将计算机的网络IP地址转化为物理MAC地址。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的
  • 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址
  • 每一个主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表
  • 当主机A欲访问本局域网上某个主机B发送IP数据报时,就先在ARP高速缓存中查看有无主机B的IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该MAC帧发往此硬件地址

ARP高速缓存的作用

  • 为了减少网络上的通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到硬件地址的映射写入ARP请求分组
  • 当主机B收到A的ARP请求分组时,就将主机A的这一地址映射写到主机B自己的ARP高速缓存中。主机B以后向A发送数据时就更方便了。

ARP应该注意的问题

  • 从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的
  • 只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动将该IP地址解析为链路层所需的硬件地址
  • 默认情况下ARP缓存的超时时限是两分钟

ARP相关命令

  • arp -d清除本机arp缓存表
  • arp -a查看本机当前arp表
  • arp -s绑定arp地址(注意:本次机器生效,下次重启后会全部失效)

局域网内的ARP举例

  • A想要给同一局域网内的B发送数据报
    • B的MAC地址不在 A的ARP 表中.
  • A广播ARP查询分组,其中包含B的IP地址
    • 目的MAC地址 = FF-FFFF-FF-FF-FF
    • LAN中所有结点都会接收ARP查询
  • B接收ARP查询分组, IP地址匹配成功,向A应答B的MAC 地址
    • 利用单播帧向A发送应答
  • A在其ARP表中,缓存B的IP-MAC地址对,直至超时
    • 超时后,再次刷新
  • ARP是“即插即用”协议:
    • 结点自主创建ARP表,无需干预

这里写图片描述

这里写图片描述

不在同一个局域网时需要获取目标IP地址的物理地址

这里写图片描述

应该注意的问题

  • ARP时解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题
  • 如果要找的主机和源主机不在同一个局域网上,那么就要通过ARP找到一个位于本局域网上的某个路由器的硬件地址(MAC地址为某个路由器的MAC地址,而IP地址则为目标IP地址),然后把分组发送给这个路由器,让这个路由器把分组转发给下一个网络,剩下的工作就由下一个网络来做,这就是所谓的代理ARP。

寻址: 从一个LAN路由至另一个LAN

通信过程: A通过路由器R向B发送数据报

  • 关注寻址: IP地址(数据报中)和MAC地址(帧中)
  • 假设A知道B的IP地址(怎么知道的?)
  • 假设A知道第一跳路由器R (左)接口IP地址 (怎么知道的?)
  • 假设A知道第一跳路由器R (左)接口MAC地址 (怎么知道的?)

这里写图片描述

  • A构造IP数据报,其中源IP地址是A的IP地址,目的IP地址是B的IP地址
  • A构造链路层帧, 其中源MAC地址是A的MAC地址, 目的MAC地址是R(左)接口的MAC地址,封装A到B的IP数据报。

这里写图片描述

  • 帧从A发送至R
  • R接收帧,提取IP数据报,传递给上层IP协议

  • R转发IP数据报(源和目的IP地址不变! )

  • R创建链路层帧,其中源MAC地址是R(右)接口的MAC地址,目的MAC地址是B的MAC地址,封装A到B的IP数据报。

这里写图片描述

ARP分组格式

这里写图片描述

  • 硬件类型:16位,一般为Ethernet(1)
  • 协议类型:16位,一般为IPv4(0x0800)
  • 硬件长度:8位,一般为6
  • 协议长度:8位,一般为4
  • 操作:16位,request(1)或reply(2)

ARP分组的二层封装

这里写图片描述

3 RARP协议

这里写图片描述

  • 逆地址解析协议RARP使只知道自己硬件地址的主机能够知道其IP地址
  • 往往是向服务器请求IP地址
  • 这种主机往往是无盘工作站,因此RARP协议目前已经很少使用
原创粉丝点击