大家回顾一下以太网数据包的格式

图4-1以太网包
那么有个问题,比如想要发送报文内容为你好,到ip为192.168.1.2的电脑,那么怎样知道对应的mac为多少?这个时候就是arp协议来从ip地址获取对应的mac

图4-2arp报文格式
这个是arp请求格式,这里说明一下,arp协议也属于以太网数据包,现在来一个个分析每个格式
1、以太网目的地址:因为不知道对端的以太网目的地址,所以这里填写全ff
2、源地址,填写发送端的以太网mac地址
3、帧类型:大家记得如果为IP报文应该填写0800,这里为arp协议,那么应该填写0806
4、硬件类型:如果是以太网这里就填写1,其他的先不用考虑,因为硬件类型大多数都是以太网
5、协议类型:如果是IP协议就填写0800,其他的不用考虑
6、硬件地址长度:MAC的长度为6所以填写6
7、协议地址长度:ip长度为4这里填写4
8、Op:op为1表示arp请求,op2为2为应答(这里晚点会在实例里面讲解请求与应答具体概念)
9、发送端以太网地址:发包主机的mac地址
10、发送端ip地址:发包主机的ip地址
11、目的以太网地址:arp请求的时候填写全0,应答的时候填写真实的mac地址
12、目的IP地址:请求哪个IP 的mac就填写哪个IP

这个就是arp地址协议了,让我们来看一下arp地址协议怎样工作的

图4-3arp请求与应答

从这个图里面通过arp请求与应答主机就双方就知道对方的mac以及ip地址了,这里只发送了一次请求为什么双方都知道?因为在arp请求的时候里面有发送者的ip以及mac这样接受者可以进行学习。

图4-4arp应答
讲了arp之后再来讲一个arp代理以及免费arp
免费arp:
免费arp的作用:
1、如果有一台主机进入网络,假设他配置的ip地址为192.168.1.2,那么如果网络上面已经有一台与他配置一样的主机那么就会导致ip配置冲突,怎样知道网络有没有IP配置与他配置为一样的主机?这个时候就可以用免费arp
2、如果一台电脑的mac地址改变,这个时候也可以发送免费arp通知其他主机他真实的mac地址
来看一下免费arp与之前的arp报文有什么区别与联系。

图4-5arp请求与免费arp联系与区别

Arp代理:

大家看到这个组网,hosta在以太网a里面,host x在以太网b里面,
以太网a属于192.168.1.0网段,以太网b属于192.168.2.0网段,
这个时候hosta想知道hostx的mc地址,


图4-7arp请求
发送这样的arp请求,这个时候只能在以太网a传播,因为到了路由器,他不会传送到以太网b里面,路由器启动arp代理就会给应答把对应port a的mac地址回答给host a
来看一下hosta 的arp请求hostx的具体数据报文

图4-8arp请求与arp代理应答
在hosta拿到mac地址之后,传送的报文就可以传到路由器,然后路由器识别数据包的目的mac在进行转发数据包了
有问题可以留言,多谢

tcpip详解卷一arp 地址解析协议相关推荐

  1. 【TCP-IP详解卷一:协议】ch1概述

    目录 1. 分层 2. 互联网的地址 三类IP地址: 3. 域名系统(DNS) 4. 封装 5. 分用 6. 客户-服务器模型 6.1 重复型服务器 6.2 并发型服务器 7. 端口号 7.1 服务器 ...

  2. TCP-IP详解卷一(一)概述

    2020年9月17日16:49:32 概述 分层,通常网络分层有两种分层方式,分别是七层结构和四层结构,这里说的分层是四层结构: 1.应用层(FTP和e-mail等) 2.运输层(TCP和UDP) 3 ...

  3. 【TCP-IP详解卷一:协议】ch16 BOOTP:引导程序协议

    目录 1. 引言 2. BOOTP的分组格式 2.1 BOOTP请求和应答的格式: 2.2 端口号 3. BOOTP服务器的设计 4. BOOTP穿越路由器 5. 特定厂商信息 6. 小结 1. 引言 ...

  4. 【TCP-IP详解卷一:协议】ch28 SMTP:简单邮件传送协议

    目录 1. 引言 2. SMTP协议 2.1 SMTP命令 2.2 信封.首部和正文 2.3 中继代理 2.4 NVT ASCII 2.5 重试间隔 1. 引言 TCP邮件交换是由报文传送代理MTA完 ...

  5. TCP-IP详解笔记3

    TCP-IP详解笔记3 地址解析协议 IP协议的设计目标是为跨越不同类型物理网络的分组交换提供互操作. 网络层软件使用的地址和底层网络硬件使用的地址之间进行转换. 对于TCP/IP网络,地址解析协议( ...

  6. 《TCP/IP详解卷1:协议》读书笔记

    <TCP/IP详解卷1:协议>读书笔记 - QingLiXueShi - 博客园 https://www.cnblogs.com/mengwang024/p/4425834.html &l ...

  7. TCP-IP详解卷1-3分享

    TCP-IP详解可以说是对TCP-IP协议进行了非常详细的讲解,对于初学网络编程的同学非常友好,现在分享给大家 TCP-IP详解卷1:协议 https://url12.ctfile.com/f/397 ...

  8. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议

    4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址.数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的.一个网络如 ...

  9. ARP地址解析协议详解

    ARP地址解析协议详解 网络层的ARP协议完成IP地址与物理地址的映射.首先,每台主机都会在自己的ARP缓冲区中建立一个ARP缓存表,以表示IP地址和MAC地址的对应关系.当源主机需要将一个数据包发送 ...

  10. 《TCP/IP详解卷1:协议》第5章 RARP:逆地址解析协议---读书笔记

    <TCP/IP详解卷1:协议>第5章 RARP:逆地址解析协议---读书笔记 1.引言 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址.但是无盘机,如X终端或无盘工作站, ...

最新文章

  1. LeetCode简单题之买卖股票的最‭佳时机
  2. 基于UDP的DDos反射放大攻击
  3. 弹出模态窗口并传递数值
  4. 【vue】ios中从详情页中返回到列表页出现空白的问题
  5. 【深度学习】L1、L2损失 和 L1、L2正则化
  6. inputstream 初始化_MyBatis初始化之加载初始化
  7. 20211209 为什么Barbalat引理推论中必须有导数一致有界,才能得到导数趋于0
  8. leetcode60.第k个排列java题解
  9. linux gcc出错,编译arm-linux-gcc出错
  10. 接口压测_Locust接口压测和插入集合点实战
  11. python return返回值_Python return语句 函数返回值
  12. 想招到优秀的程序员?这些坑一定不要踩
  13. c#:无限极树形结构
  14. [数据集]新浪微博数据集MicroblogPCU
  15. eclipse 重构功能。
  16. CSS面试题汇总(四)
  17. NATS 分布式消息队列系统
  18. 计算机内存不足应该换什么,电脑内存不够用了怎么办
  19. 前端代码规范(依据腾讯团队前端代码规范整理与补充)
  20. 世界黄金价格走势,十大香港国际黄金交易平台排行榜

热门文章

  1. 程序员应该怎么学数学
  2. 虚拟机连接锐捷校园网
  3. Mysql时间函数及格式处理
  4. linux运维故障案列,linux 运维故障排查思路
  5. 全网最详细的VMware虚拟机下载安装教程
  6. 5.MySQL常用函数
  7. OCR图像识别与汽车后市场
  8. xml转excel(Office XML转excel)
  9. VC6.0用file-open后,出现“MSDEV.EXE-应用程序错误 遇到问题需要关闭“
  10. SPSS中介效应与调节效应插件Process简介(1)