tcp/ip学习笔记--第4章 arp协议

来源:互联网 发布:产品排名优化流程 编辑:程序博客网 时间:2024/05/20 01:35

前言:

由于公司业务需要,也由于自己的兴趣,开始学习计算机网络。去年暑假的时候看过一本谢希仁老师写的《计算机网络》,看得不够认真,而且由于以前没有任何基础,也没有看懂多少。那是一本典型的教材,将一个一个的知识点罗列出来,缺少实践,也不够易懂。

这次选了经典的tcp/ip卷1:协议,读的是英文原版。一方面是个人认为翻译的技术书籍有些地方实在是翻译得太差,二是想逼自己一把,提升英文阅读的能力。


希望能坚持做到多思多想,重要的章节第个章节输出一篇笔记,从而巩固记忆,加深理解,将来可以对比学习。


第4章 arp协议

arp协议的英文全称是 adress resulation protocol,即地址解析协议。在计算机网络的世界中,每个主机都有两个地址,一个是ip地址,另一个是物理地址--MAC(全称Media Access Control),ip地址是可变的,而物理地址是网卡制造商在制造的时候写入的,不可变而且理论上来说全球唯一。上层程序在使用的时候,都是使用ip地址,而链路层在发送数据的时候,必须使用物理地址。arp协议就是负责将ip地址转换为物理地址。主机会以广播的方式发送arp查询报文,具有目标ip的主机回复arp回应报文。主机拿到物理地址后,就可以将数据报文发送到对应主机上。

arp缓存:如果每次要发送数据报文前都去查询一次,效率肯定不够高,所以就有了arp缓存,将ip地址和物理地址的对应关系缓存起来。一般缓存的有效时间是20分钟。

代理arp:路由器可以代替其子网回复arp查询报文,这样可以对外部隐藏具体的子网细节。

gratuitous arp(免费arp):发送查询自己ip地址对应的物理地址的arp查询报文,一般在系统引导的时候发送,这样可以检测发现是否有ip冲突。如果收到了回复,则说明发生了冲突。

工作在以太网上的arp分组格式:


destination addr:全1地址,表示广播地址。

source  addr :发送查询报文的主机的物理地址。

frame type:数据帧类型,arp请求和响应是0X806

hard type:表示硬件的物理地址类型

prot type:协议类型,表示所要映射的上层协议的类型。如果是ip协议,这个字段就是0X0800

hard size:物理地址的字节长度。以太网地址为6

prot size:协议地址的字节长度。ip协议为4

op:1.arp request 2.arp reply 3.RARP quest 4.RARP reply

剩下的4个字段如字面意思。



arp攻击:

由于arp工作的原理是基于互相信任的, 会相信任何主机发送的arp报文,所以说一旦局域网内混入了其他恶意攻击的机器,或者说arp攻击报文从外部传了进来,局域网将会崩溃甚至发生信息泄露。

这有一篇文章写得比较清楚:

ARP攻击原理简析及防御措施



未解疑惑:

1.为什么链路层在传输数据的时候必须为物理地址,用ip地址行吗?

2.arp协议只是在局域网工作吗?

阅读全文
0 0
原创粉丝点击