TCP/IP协议之ARP与RARP
2016-01-29 22:07
471 查看
链路层中工作的协议有两个非常重要:ARP协议与RARP协议。
一般我们不会与这个两个协议打交道,毕竟工作在链路层,但是了解这两个协议是十分必要的。
ARP协议称为地址解析协议。地址是指哪个地址?是ip地址,解析成什么?解析成mac地址。设想路由器收到一份数据报,要将该数据报转发给另一个路由,那么具体怎么转发呢?先要将路由表中要转发的路由ip拿出来,将它解析成mac地址,然后将数据报封装成以太网桢才行,传送到另一个路由中。如何解析就是arp做的事情了。
ARP协议的过程:
1.主机发送一份称为ARP请求的以太网桢给以太网上的每个主机(广播方式)。
2.目的主机收到arp请求后识别出这是发送端在寻问它的IP地址,于是发送一个arp应答。这个arp应答包含ip地址及对应的硬件地址。
3.主机收到应答以后得知目的主机的mac地址,然后发送ip数据报到目的主机。
ARP数据报的格式:
注意arp协议是工作在链路层的哦!!!
要发送ip数据报,必须知道发送目的主机(不是最终的目的主机)的mac地址才能发送,这样会不会很麻烦?是不是需要我们每次发送前都要进行arp请求呢!答案是不需要的。ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。这个高速缓存中存放了最近ip地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般为20分钟,起始时间从被创建时开始算起。
我们可以用arp命令来查看一下本机的arp高速缓存中的内容:
没有响应的ip地址为incomplete标记mac地址部分。
可以看到目前路由的mac地址。
RARP为逆地址解析协议,即将mac地址解析为ip地址。这个协议的实现过程要比arp协议复杂困难很多。
rarp协议是许多无盘系统在引导时用来获取ip地址的。rarp分组格式基本上与arp分组一致。一个rarp请求在网络上进行广播,它在分组中标明发送端的硬件地址,以请求相应的ip地址的响应。应答通常是单播传送。
一般我们不会与这个两个协议打交道,毕竟工作在链路层,但是了解这两个协议是十分必要的。
ARP协议称为地址解析协议。地址是指哪个地址?是ip地址,解析成什么?解析成mac地址。设想路由器收到一份数据报,要将该数据报转发给另一个路由,那么具体怎么转发呢?先要将路由表中要转发的路由ip拿出来,将它解析成mac地址,然后将数据报封装成以太网桢才行,传送到另一个路由中。如何解析就是arp做的事情了。
ARP协议的过程:
1.主机发送一份称为ARP请求的以太网桢给以太网上的每个主机(广播方式)。
2.目的主机收到arp请求后识别出这是发送端在寻问它的IP地址,于是发送一个arp应答。这个arp应答包含ip地址及对应的硬件地址。
3.主机收到应答以后得知目的主机的mac地址,然后发送ip数据报到目的主机。
ARP数据报的格式:
注意arp协议是工作在链路层的哦!!!
要发送ip数据报,必须知道发送目的主机(不是最终的目的主机)的mac地址才能发送,这样会不会很麻烦?是不是需要我们每次发送前都要进行arp请求呢!答案是不需要的。ARP高效运行的关键是由于每个主机上都有一个ARP高速缓存。这个高速缓存中存放了最近ip地址到硬件地址之间的映射记录。高速缓存中每一项的生存时间一般为20分钟,起始时间从被创建时开始算起。
我们可以用arp命令来查看一下本机的arp高速缓存中的内容:
没有响应的ip地址为incomplete标记mac地址部分。
可以看到目前路由的mac地址。
RARP为逆地址解析协议,即将mac地址解析为ip地址。这个协议的实现过程要比arp协议复杂困难很多。
rarp协议是许多无盘系统在引导时用来获取ip地址的。rarp分组格式基本上与arp分组一致。一个rarp请求在网络上进行广播,它在分组中标明发送端的硬件地址,以请求相应的ip地址的响应。应答通常是单播传送。
相关文章推荐
- Linux socket 初步
- android wifi 无线调试
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程