TCP/IP协议六:通俗易懂说网络协议-ARP

TCP/IP协议六:通俗易懂说网络协议-ARP

1. ARP定义

ARP: address resolution protocol 地址解析协议

2. ARP功能

将ip地址解析为以太网mac地址

3. ARP背景

在网络传输中,主机A要发数据给主机B,那么A需要知道B的IP地址才能通信,由于ip地址必须要封装成帧才能通过物理网络发送,因此还需要知道对方的物理地址,所以设备上需要存在一个从ip地址到物理地址的映射关系,那么ARP应运而生。

4. ARP报文

在这里插入图片描述
其中,每个字段的含义如下。

硬件类型:指明了发送方想知道的硬件接口类型,以太网的值为 1。
协议类型:表示要映射的协议地址类型。它的值为 0x0800,表示 IP 地址。
硬件地址长度和协议长度:分别指出硬件地址和协议的长度,以字节为单位。
		对于以太网上 IP 地址的ARP请求或应答来说,它们的值分别为 6 和 4。
操作类型:用来表示这个报文的类型,
		ARP 请求为 1,ARP 响应为 2,RARP 请求为 3,RARP 响应为 4。
发送方 MAC 地址:发送方设备的硬件地址。
发送方 IP 地址:发送方设备的 IP 地址。
目标 MAC 地址:接收方设备的硬件地址。
目标 IP 地址:接收方设备的IP地址。

说明:

1. arp报文共28字节,后面的数字表示占字节数
2. OP操作类型:1表示ARP请求,2表示ARP应答
3. 请求报文中:目标mac地址为全0
4. 应答报文中:目标mac地址为实际目标地址

5. ARP解析过程

主机A向主机B发数据

  1. 首先,主机A查看自己的ARP表,确定其中是否包含有主机B的ARP表项,如果找到对应的mac地址,就直接将ip数据报封装成帧发送出去。
  2. 如果没有找到,则将先缓存该ip数据报,然后广播方式发送一个ARP请求报文。ARP请求报文中包括A的ip,mac地址,B的ip地址和全0的mac地址。广播方式发送,该网段上所有主机都能收到,但只有B会对该请求做处理;
  3. B收到ARP请求报文后,首先将ARP请求报文中的A的ip,mac地址存入自己的ARP表中,然后单播方式发送ARP应答报文给主机A,其中包含主机B的mac地址。
  4. 主机A收到ARP应答报文后,将主机B的ip,mac地址加入自己的ARP表中以用于后续报文的转发,同时将缓存的ip数据报发送出去。
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP/IP高效编程:改善网络程序的44个技巧》是一本关于优化网络程序的重要参考书籍。该书作者为Dima Ruban,对网络编程的各个方面做了全面而细致的介绍。 该书主要分为两个部分,前半部分介绍了网络编程的基础知识和常见问题的解决方案,包括协议栈、数据传输、套接字编程等。通过深入讲解TCP/IP协议栈的工作原理和实现细节,读者可以更好地理解网络编程的原理和实践技巧。同时,在网络传输的过程中,遇到的问题和解决方案也在书中得到了详细的描述,帮助读者尽可能地优化网络程序的性能。 后半部分则介绍了一些高级的技术和技巧,如优化网络通信、提高并发性能、防止网络攻击等。通过学习这些高级技术,读者可以在实际应用中更好地解决网络程序中的问题,提高系统的可靠性和效率。 该书的特点是既深入理论又具有实践指导意义。作者通过详细的理论阐述和实际示例,使读者能够更好地理解网络编程的原则和技巧,并能够应用到实际项目中。此外,该书还涵盖了当今最流行的网络编程技术,可以帮助读者跟上时代的步伐。 总的来,《TCP/IP高效编程:改善网络程序的44个技巧》是一本非常值得阅读的网络编程参考书籍。通过学习该书,读者可以深入了解网络编程的基础知识和高级技巧,提高网络程序的性能和可靠性,为自己的职业发展打下坚实的基础。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值