第2章 ARP协议分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13
总结ARP的工作原理
1. 首先,每台主机都会在自己的ARP缓冲区 (ARP Cache)中建立一个 ARP列表,以表示IP地 址和MAC地址的对应关系。 2. 当源主机需要将一个数据包要发送到目的主机 时,会首先检查自己 ARP列表中是否存在该 IP 地址对应的MAC地址,如果有﹐就直接将数据 包发送到这个MAC地址;如果没有,就向本地 网段发起一个ARP请求的广播包,查询此目的 主机对应的MAC地址。此ARP请求数据包里包 括源主机的IP地址、硬件地址、以及目的主机 的IP地址。
度。 协议地址长度(PLEN)字段:网络层协议地址长 度。 操作(Operation)字段:指明是ARP请求,分四 种情况:代码“1”ARP响应;代码“2”ARP响应; 代码“3”RARP请求;代码“4”RARP响应。
19
字段说明
发送方硬件地址(0-3字节):源主机硬件地址的前3个字节;
6
ARP协议工作原理示意图
7
2. ARP高速缓存技术
为提高解析效率,ARP使用了高速缓存技术
(caching)。在每台使用ARP的主机中(用户 网络工作站),都保留了一个专用的内存区 (即高速缓存),存放最近获得的IP地址到物 理地址映射数据。一收到ARP应答,主机就将 信宿机(目标主机)的IP地址和物理地址存入 缓存。
发送方硬件地址(4-5字节) :源主机硬件地址的后3个字节;
发送方IP(0-1字节) :源主机IP地址的前2个字节; 发送方IP(2-3字节) :源主机IP地址的后2个字节;
目标硬件地址(0-1字节) :目的主机硬件地址的前2个字节;
目标硬件地址(2-5字节) :目的主机硬件地址的后4个字节; 目标IP(0-3字节) :目的主机的IP地址。
3
6.1.1 直接映射
(1)表格方式 表格方式是事先在各主机中建立一张IP地址到物理 地址映射表。 这种方式很简单,但有两个缺点;第一,映射表要 人工建立;第二,映射表要人工维护。 总之表格方式全靠人来完成,由于人的速度太慢, 因此表格方式不适应大规模和长距离网络或映射关 系变化频繁的网络。
4
1. 直接映射
第二章 ARP协议分析
1
引言
Internet地址表现在IP层,而网络接口层使用的
是物理地址。即Internet真正做的工作是在各 种物理网络技术上覆盖一层IP软件,将物理地 址隐藏起来。 两种地址之间必须要建立映射关系,这就涉及 到地址映射问题。 地址之间的映射也称地址转换或地址解析 (resolution),它包括两方面内容:从IP地址 到物理地址的解析(ARP,Address Resolution Protocol,地址转换协议 )和从物理地址到IP地 址的解析(RARP,Reverse Address Resolution Protocol,逆向地址转换协议 )。
22
ARP小结
提高解析效率一些措施: 高速缓存技术(caching):
每台 主 机 都 有 1 个缓存区 , 存放最近获得的 IP 地址
/MAC地址映射。帧封装时,先去缓存中找,再解析。
在ARP请求报文中放入源站地址映射;
源站在广播自己的地址映射时 , 网上所有主机
都将它存入高速缓存; 新主机入网时,主动广播自己的地址映射。
欲发送报文时,首先去缓存中查找相应数据,
若找不到,再利用ARP进行地址转换。这样就 不必每发一个报文都要事先进行动态绑定。
8
ARP缓存的超时机制
缓存提高了ARP效率,但对ARP缓存必须建立一种
超时机制,才能确保ARP可靠运行,使得信息可以 在没有任何警告的情况下自动变成“失效”。 ARP协议使用计时器方法,当计时器超时后则删除 状态信息。例如,当地址绑定信息放入ARP缓存时, 协议需要设置一个计时器,典型的超时时间是20分 钟。当计时器超时后,必须把信息删除。
15
6.1.3 ARP的分组格式
1. ARP报文封装到帧
为了识别携带ARP报文的帧,发送方给帧首部的类型字段 分配了一个特殊值,并把ARP报文含在该帧的数据字段中。 当每一帧到达计算机时,网络软件通过帧类型确定其内容。 在大多数技术中,所有携带ARP报文的帧都使用一种类型 值,而接收方的网络软件必须进一步区分ARP请求和ARP 应答。例如,在以太网中,携带ARP报文的帧类型字段是 0x0806。
12
接收方要处理两种到达的ARP分组
如果到达的是一个ARP请求,则接收方机器要
查看它自己是否是请求的目标(也就是说,某 个其他机器广播了一个对自己物理地址的请求, 则该接受方的ARP软件就用本机的物理地址形 成应答,并把应答直接发给请求机器)。
如果发送方的地址对不在接收方的高速缓存中,
则接收方还要把这个地址对添加到缓存中。如 果在ARP请求中提到的IP地址与本地IP不匹配, 则分组是在请求网上其他机器物理地址,可忽 略该分组。
9
超时机制的必要性
假设有两台计算机A和B,都连接到一个以太网上。
A已经发送了一个ARP请求,B做出了应答,当然 此时A的ARP缓存中就建立了关于B的IP地址与物 理地址的绑定。再假设应答后B出现故障。计算机 A不会接到任何关于该故障的通告。而且,因为在 A的ARP缓存中已经有了B的地址绑定信息,A将 继续把分组发送给B。以太网硬件没有提供B不在 线的指示,因为以太网并不为发送提供保证。这 样,A没有办法知道自己的ARP缓存中的信息什么 时候变成过时的或错误的。
10
超时机制的必要性
假设有两台计算机A和B,都连接到一个以太网上。
A已经发送了一个ARP请求,B做出了应答,当然 此时A的ARP缓存中就建立了关于B的IP地址与物 理地址的绑定。再假设应答后B出现故障。计算机 A不会接到任何关于该故障的通告。而且,因为在 A的ARP缓存中已经有了B的地址绑定信息,A将 继续把分组发送给B。以太网硬件没有提供B不在 线的指示,因为以太网并不为发送提供保证。这 样,A没有办法知道自己的ARP缓存中的信息什么 时候变成过时的或错误的。
ARP基本原理 地址转换协议ARP允许主机在只知道同一物理网络上一个 目的站IP地址的情况下,找到目的主机的物理地址。
思路:主机A要向主机B发送数据,A当然应该首先知道B的 IP地址,但未必知道物理地址。为了根据B的IP地址IB确 定它的物理地址PB,主机A向网上的所有机器广播一个 包含IB的ARP请求;网络上所有机器均会收到这样信息 包,但由于信息包中包含了IB,只有主机B做出响应并发 出一个包含自己IP地址和物理地址(IB,PB)的ARP应 答。主机A收到应答后,即获得主机B的物理地址PB.。然 后就用该物理地址把IP分组直接发送给B。
ARP报文
帧首部
16
帧数据区
ARP分组的格式
ARP分组包括:ARP请求分组和ARP应答分组。
ARP分组的格式如图所示。
0
8
16
31
硬件类型
硬件地址长度 协议地址长度
协议类型
操作 发送方硬件地址(0~3) 发送方硬件地址(4-5) 发送方IP 地址(0~1)
发送方IP 地址(2~3) 目标硬件地址(0~1) 目标硬件地址(2~5) 目标IP 地址(0~3)
17
字Βιβλιοθήκη Baidu说明
硬件类型(Hardware Type)字段:表示运行ARP
的网络类型;对于以太网,该类型的值为“1”。 协议类型( Protocol Type)字段:指明发送方提供 的高层协议地址类型;对于 IP地址,这个值为 0x0806。
18
字段说明
硬件地址长度(HLEN)字段:表示物理地址的长
(1) 函数方式 选择一个使地址转换高效的编号方法就是选择一个 函数f,由该函数把IP地址映射到物理地址,即 PHA=f(IPA) 实际的ARP协议中,为加快映射效率,常采用一些 高效搜索算法,来处理IP地址和物理地址映射表数 据。如用传统的哈希(hash)函数搜索地址表。
5
6.1.2、动态绑定
1.
20
字段说明
当发出请求时,发送方用目标 IP地址(Target
IP)字段提供目标IP地址(对于ARP协议), 在“操作”域填入“1”(ARP请求)。在目标 主机响应之前,它填入所缺的地址,交换目标 和发送方地址对中数据的位置,并把操作字段 中的值改成改成应答代码,将“操作”域改为 “2”(ARP响应)。因此,一个应答携带了最 初请求方的IP和硬件地址,以及所寻找机器的 绑定IP和硬件地址。
11
ARP高速缓存的改进
⑴在ARP请求报文中放入信源机的IP地址与物
理地址的绑定,以防信宿机紧接着为解析信源 机的物理地址而再来一次动态绑定。
⑵信源机在广播自已的地址绑定时,网上所有
主机都可以将该绑定信息存入自已的高速缓存。
⑶新机入网时或主机更换网卡时,令其主动广
播地址绑定,以免其他主机对它运行ARP。
2
6.1地址解析协议ARP
网络上的任何两台计算机的信息传送,最终都
要靠物理地址来实现,即信息帧的传送是通过 物理地址到达目的机器的。而网络上的任何一 次从IP层以上,包括IP层,发起的数据传输都 使用IP地址,一旦到了物理网络就必须转换成 网卡地址,否则物理网络根本不能识别地址信 息,更谈不上传输数据。 IP地址到物理地址映射有两种方式,一种是直 接映射(direct mapping),一种动态绑定 (dynamic binding,有时称动态联编)方式。 直接映射又有表格方式和函数方式两种。
21
ARP小结
IP 地址→ MAC地址 动态绑定(dynamic binding),请求报文→响应报 文 操作过程如下;
在某物理网络上,主机a欲解析主机b的IP地址IP(b); 主机 a 先广播一个 ARP 请求报文 , 请求 IP 地址为 IP(b)
的主机回答其物理地址PY(b); 网上所有主机都将收到该 ARP 请求,但只有主机 b识别 出自己的 IP(b) 地址,并做出应答,向a 发回一个ARP响 应报文,回答自己的物理地址PY(b)。
14
总结ARP的工作原理
3. 网络中所有的主机收到这个ARP请求后,会检查数据 包中的目的IP是否和自己的IP地址一致。如果不相同就 忽略此数据包;如果相同,该主机首先将发送端的 MAC地址和IP地址添加到自己的ARP列表中,如果ARP 表中已经存在该IP的信息,则将其覆盖,然后给源主 机发送一个 ARP响应数据包,告诉对方自己是它需要 查找的MAC地址; 4. 源主机收到这个ARP响应数据包后,将得到的目的主 机的IP地址和MAC地址添加到自己的ARP列表中,并 利用此信息开始数据的传输。如果源主机一直没有收 到ARP响应数据包,表示ARP查询失败。
23
总结ARP的工作原理
1. 首先,每台主机都会在自己的ARP缓冲区 (ARP Cache)中建立一个 ARP列表,以表示IP地 址和MAC地址的对应关系。 2. 当源主机需要将一个数据包要发送到目的主机 时,会首先检查自己 ARP列表中是否存在该 IP 地址对应的MAC地址,如果有﹐就直接将数据 包发送到这个MAC地址;如果没有,就向本地 网段发起一个ARP请求的广播包,查询此目的 主机对应的MAC地址。此ARP请求数据包里包 括源主机的IP地址、硬件地址、以及目的主机 的IP地址。
度。 协议地址长度(PLEN)字段:网络层协议地址长 度。 操作(Operation)字段:指明是ARP请求,分四 种情况:代码“1”ARP响应;代码“2”ARP响应; 代码“3”RARP请求;代码“4”RARP响应。
19
字段说明
发送方硬件地址(0-3字节):源主机硬件地址的前3个字节;
6
ARP协议工作原理示意图
7
2. ARP高速缓存技术
为提高解析效率,ARP使用了高速缓存技术
(caching)。在每台使用ARP的主机中(用户 网络工作站),都保留了一个专用的内存区 (即高速缓存),存放最近获得的IP地址到物 理地址映射数据。一收到ARP应答,主机就将 信宿机(目标主机)的IP地址和物理地址存入 缓存。
发送方硬件地址(4-5字节) :源主机硬件地址的后3个字节;
发送方IP(0-1字节) :源主机IP地址的前2个字节; 发送方IP(2-3字节) :源主机IP地址的后2个字节;
目标硬件地址(0-1字节) :目的主机硬件地址的前2个字节;
目标硬件地址(2-5字节) :目的主机硬件地址的后4个字节; 目标IP(0-3字节) :目的主机的IP地址。
3
6.1.1 直接映射
(1)表格方式 表格方式是事先在各主机中建立一张IP地址到物理 地址映射表。 这种方式很简单,但有两个缺点;第一,映射表要 人工建立;第二,映射表要人工维护。 总之表格方式全靠人来完成,由于人的速度太慢, 因此表格方式不适应大规模和长距离网络或映射关 系变化频繁的网络。
4
1. 直接映射
第二章 ARP协议分析
1
引言
Internet地址表现在IP层,而网络接口层使用的
是物理地址。即Internet真正做的工作是在各 种物理网络技术上覆盖一层IP软件,将物理地 址隐藏起来。 两种地址之间必须要建立映射关系,这就涉及 到地址映射问题。 地址之间的映射也称地址转换或地址解析 (resolution),它包括两方面内容:从IP地址 到物理地址的解析(ARP,Address Resolution Protocol,地址转换协议 )和从物理地址到IP地 址的解析(RARP,Reverse Address Resolution Protocol,逆向地址转换协议 )。
22
ARP小结
提高解析效率一些措施: 高速缓存技术(caching):
每台 主 机 都 有 1 个缓存区 , 存放最近获得的 IP 地址
/MAC地址映射。帧封装时,先去缓存中找,再解析。
在ARP请求报文中放入源站地址映射;
源站在广播自己的地址映射时 , 网上所有主机
都将它存入高速缓存; 新主机入网时,主动广播自己的地址映射。
欲发送报文时,首先去缓存中查找相应数据,
若找不到,再利用ARP进行地址转换。这样就 不必每发一个报文都要事先进行动态绑定。
8
ARP缓存的超时机制
缓存提高了ARP效率,但对ARP缓存必须建立一种
超时机制,才能确保ARP可靠运行,使得信息可以 在没有任何警告的情况下自动变成“失效”。 ARP协议使用计时器方法,当计时器超时后则删除 状态信息。例如,当地址绑定信息放入ARP缓存时, 协议需要设置一个计时器,典型的超时时间是20分 钟。当计时器超时后,必须把信息删除。
15
6.1.3 ARP的分组格式
1. ARP报文封装到帧
为了识别携带ARP报文的帧,发送方给帧首部的类型字段 分配了一个特殊值,并把ARP报文含在该帧的数据字段中。 当每一帧到达计算机时,网络软件通过帧类型确定其内容。 在大多数技术中,所有携带ARP报文的帧都使用一种类型 值,而接收方的网络软件必须进一步区分ARP请求和ARP 应答。例如,在以太网中,携带ARP报文的帧类型字段是 0x0806。
12
接收方要处理两种到达的ARP分组
如果到达的是一个ARP请求,则接收方机器要
查看它自己是否是请求的目标(也就是说,某 个其他机器广播了一个对自己物理地址的请求, 则该接受方的ARP软件就用本机的物理地址形 成应答,并把应答直接发给请求机器)。
如果发送方的地址对不在接收方的高速缓存中,
则接收方还要把这个地址对添加到缓存中。如 果在ARP请求中提到的IP地址与本地IP不匹配, 则分组是在请求网上其他机器物理地址,可忽 略该分组。
9
超时机制的必要性
假设有两台计算机A和B,都连接到一个以太网上。
A已经发送了一个ARP请求,B做出了应答,当然 此时A的ARP缓存中就建立了关于B的IP地址与物 理地址的绑定。再假设应答后B出现故障。计算机 A不会接到任何关于该故障的通告。而且,因为在 A的ARP缓存中已经有了B的地址绑定信息,A将 继续把分组发送给B。以太网硬件没有提供B不在 线的指示,因为以太网并不为发送提供保证。这 样,A没有办法知道自己的ARP缓存中的信息什么 时候变成过时的或错误的。
10
超时机制的必要性
假设有两台计算机A和B,都连接到一个以太网上。
A已经发送了一个ARP请求,B做出了应答,当然 此时A的ARP缓存中就建立了关于B的IP地址与物 理地址的绑定。再假设应答后B出现故障。计算机 A不会接到任何关于该故障的通告。而且,因为在 A的ARP缓存中已经有了B的地址绑定信息,A将 继续把分组发送给B。以太网硬件没有提供B不在 线的指示,因为以太网并不为发送提供保证。这 样,A没有办法知道自己的ARP缓存中的信息什么 时候变成过时的或错误的。
ARP基本原理 地址转换协议ARP允许主机在只知道同一物理网络上一个 目的站IP地址的情况下,找到目的主机的物理地址。
思路:主机A要向主机B发送数据,A当然应该首先知道B的 IP地址,但未必知道物理地址。为了根据B的IP地址IB确 定它的物理地址PB,主机A向网上的所有机器广播一个 包含IB的ARP请求;网络上所有机器均会收到这样信息 包,但由于信息包中包含了IB,只有主机B做出响应并发 出一个包含自己IP地址和物理地址(IB,PB)的ARP应 答。主机A收到应答后,即获得主机B的物理地址PB.。然 后就用该物理地址把IP分组直接发送给B。
ARP报文
帧首部
16
帧数据区
ARP分组的格式
ARP分组包括:ARP请求分组和ARP应答分组。
ARP分组的格式如图所示。
0
8
16
31
硬件类型
硬件地址长度 协议地址长度
协议类型
操作 发送方硬件地址(0~3) 发送方硬件地址(4-5) 发送方IP 地址(0~1)
发送方IP 地址(2~3) 目标硬件地址(0~1) 目标硬件地址(2~5) 目标IP 地址(0~3)
17
字Βιβλιοθήκη Baidu说明
硬件类型(Hardware Type)字段:表示运行ARP
的网络类型;对于以太网,该类型的值为“1”。 协议类型( Protocol Type)字段:指明发送方提供 的高层协议地址类型;对于 IP地址,这个值为 0x0806。
18
字段说明
硬件地址长度(HLEN)字段:表示物理地址的长
(1) 函数方式 选择一个使地址转换高效的编号方法就是选择一个 函数f,由该函数把IP地址映射到物理地址,即 PHA=f(IPA) 实际的ARP协议中,为加快映射效率,常采用一些 高效搜索算法,来处理IP地址和物理地址映射表数 据。如用传统的哈希(hash)函数搜索地址表。
5
6.1.2、动态绑定
1.
20
字段说明
当发出请求时,发送方用目标 IP地址(Target
IP)字段提供目标IP地址(对于ARP协议), 在“操作”域填入“1”(ARP请求)。在目标 主机响应之前,它填入所缺的地址,交换目标 和发送方地址对中数据的位置,并把操作字段 中的值改成改成应答代码,将“操作”域改为 “2”(ARP响应)。因此,一个应答携带了最 初请求方的IP和硬件地址,以及所寻找机器的 绑定IP和硬件地址。
11
ARP高速缓存的改进
⑴在ARP请求报文中放入信源机的IP地址与物
理地址的绑定,以防信宿机紧接着为解析信源 机的物理地址而再来一次动态绑定。
⑵信源机在广播自已的地址绑定时,网上所有
主机都可以将该绑定信息存入自已的高速缓存。
⑶新机入网时或主机更换网卡时,令其主动广
播地址绑定,以免其他主机对它运行ARP。
2
6.1地址解析协议ARP
网络上的任何两台计算机的信息传送,最终都
要靠物理地址来实现,即信息帧的传送是通过 物理地址到达目的机器的。而网络上的任何一 次从IP层以上,包括IP层,发起的数据传输都 使用IP地址,一旦到了物理网络就必须转换成 网卡地址,否则物理网络根本不能识别地址信 息,更谈不上传输数据。 IP地址到物理地址映射有两种方式,一种是直 接映射(direct mapping),一种动态绑定 (dynamic binding,有时称动态联编)方式。 直接映射又有表格方式和函数方式两种。
21
ARP小结
IP 地址→ MAC地址 动态绑定(dynamic binding),请求报文→响应报 文 操作过程如下;
在某物理网络上,主机a欲解析主机b的IP地址IP(b); 主机 a 先广播一个 ARP 请求报文 , 请求 IP 地址为 IP(b)
的主机回答其物理地址PY(b); 网上所有主机都将收到该 ARP 请求,但只有主机 b识别 出自己的 IP(b) 地址,并做出应答,向a 发回一个ARP响 应报文,回答自己的物理地址PY(b)。
14
总结ARP的工作原理
3. 网络中所有的主机收到这个ARP请求后,会检查数据 包中的目的IP是否和自己的IP地址一致。如果不相同就 忽略此数据包;如果相同,该主机首先将发送端的 MAC地址和IP地址添加到自己的ARP列表中,如果ARP 表中已经存在该IP的信息,则将其覆盖,然后给源主 机发送一个 ARP响应数据包,告诉对方自己是它需要 查找的MAC地址; 4. 源主机收到这个ARP响应数据包后,将得到的目的主 机的IP地址和MAC地址添加到自己的ARP列表中,并 利用此信息开始数据的传输。如果源主机一直没有收 到ARP响应数据包,表示ARP查询失败。
23