网络基础协议-ARP

ARP 位于七层模型里的第二层,即数据链路层。数据链路层有什么?答对了,是MAC地址。MAC地址指网络接口的硬件地址,是一个48bit的值,用来标识以太网或令牌环(已经很少听到了)的网络接口。送货总要有地址吧,在硬件层次上,MAC地址就是干这个的。发送数据的前提,就必须知道目的硬件地址。
总之,在以太网里面,一台主机要发送数据帧,必须知道对方的以太网地址才能发送数据。而我们只知道IP地址,这时就要喊ARP协议来干活了,将IP地址翻译成MAC地址。
一般认为ARP协议只适用于局域网。

现在我们知道ARP是干嘛的了,就是用于解析MAC地址。

TCP/IP协议栈是从上层到下层依次封装的,其中呢,第三层需要封装目的IP地址,第二层需要封装目的MAC地址。目的IP地址由用户/应用程序/DNS解析得到,而目的MAC地址哪来呢?ARP解析来的。

来看一下ARP解析MAC地址过程:
比如上层数据发送一个数据包过来,假设目的IP地址已经知道了。这个时候需要在数据链路层把MAC地址封装进去。可是主机说,我不知道啊,那封装就失败了,目的IP到目的MAC封装映射不成功。怎么办呢?那就先干些别的吧。 我先发个广播,就是ARP Request请求,源MAC是发起者的MAC, 目的MAC地址是FFFF:FFFF:FFFF (所有主机)。所有收到广播的设备,对收到的ARP Request拆封,读取ARP数据包中需要解析的目的IP,看看找谁。 两种结果,一种是主机发现,你要找的目的IP地址跟我的不一样啊,那就不管了,直接忽略。另一种是目的IP正确的设备,一看奥是找我的啊,那我回复一下吧。就发个ARP Reply来回应。ARP Reply消息,源MAC为被解析设备的MAC,目的MAC是ARP Request发起者的MAC地址。发起者接收到ARP Reply后,把目的IP地址与目的MAC地址的对应关系添加到ARP表里去。然后再继续未完成的封装工作,现在可以把正确的目的MAC封装到数据帧里发送出去了。

我们再看看ARP在TCP连接建立的过程中干了些啥,这次接收者是一台路由器。
当一个应用通过交互界面提交了数据请求,需要建立TCP连接。我们知道TCP需要三次握手,当TCP的第一个SYN报文到达IP层后,IP层就开始查找路由表。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值