TCP/IP协议卷学习---基础部分(四 ARP协议)

1 ARP过程(ftp bsdi bsdi一个域名举例)
①通过DNS解析出主机IP地址
②准备与目标地址建立TCP链接,发送TCP数据包并通过IP包装
③如果目标主机在本地网络上,那么数据可以直接发送到目标主机,如果数据不在本地网络上,则通过选路函数先发送给默认路由,再有下一站路由转发
④假定目标机器是本地以太网上的一台机器,则需要知道这台机器的MAC地址才能发送数据,因此首先需要将ARP请求广播到本地网络的每台主机上。包括目标主机的IP,意思为谁为这个IP则回复你的MAC地址
⑤目标主机收到这份广播后判断自己是不是这个IP,如果是则应答ARP请求并附上自己的IP+MAC。
⑥收到ARP应答之后将目标硬件地址与IP缓存到本地的ARP高速缓存中,默认存储20分钟。并发送IP数据包。(通过 arp -a 可以看到高速缓存中的arp地址)。
2 ARP的数据包
在这里插入图片描述
①以太网目标地址,目标地址全为1表示广播。源地址表示发起ARR请求主机MAC
②帧类型,表示后面的数据是什么类型的,ARP的帧类型为0X0806
③硬件类型,1表示以太网地址。协议类型,0X0800表示IP地址。因为ARP协议可以适用于多网络类型的多网络类型地址,所以这里区分硬件以及协议。
④硬件地址长度,以太网为6。协议地址长度,IP为4。
⑤op,操作字段。ARP请求(值为1)、ARP应答(值为2)、RARP请求(值为3)和RARP应答(值为4)。
⑥发送端以太地址,IP地址。接收端以太地址,IP地址。字面意思,注意,以太网首部的目的地址与这里的发送端以太网地址是相同的。在ARP请求中,没有的字段都是可以填充的,例如ARP请求中,没有目的以太地址,这里就可以填充占位。
⑦当主机发现自己就是目的以太地址时,只需要把OP改为2,然后写入发送端以太地址,并把目的以太地址换为发送端的以太地址即可。
3 不存在的ARP主机
如果ARP的目的主机不存在,则第1次请求发生后5.5秒进行第2次请求,在24秒
之后又进行第3次请求(后面看T C P的超时和重发算法的细节)。tcpdump命令输出的超时限制为 29.5秒,大多数的超时时间都是75秒。
4 ARP代理
如果A R P请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程称作委托 A R P或A R P代理(Proxy ARP)。这样可以欺骗发起A R P请求的发送端,使它误以为路由器就是目的主机,而事实上目的主机是在路由器的“另一边”。路由器的功能相当于目的主机的代理,把分组从其他主机转发给它。
5 免费ARP
在主机启动的时候可以发送一个ARP请求,携带自己的IP地址以及MAC,并且发送端以及接收端IP都是自己的IP,这个时候如果收到一个应答,则说明网络中有一个其他主机IP与自己重复,此时会在终端记录一条错误日志,并交给管理员来处理
主机关机重启可能换了网卡,这个时候其他主机接收到ARP请求之后,必须更新自己ARP高速缓存中的地址。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值