这是最近在看《TCP/IP具体解释》系列书总结出来的,之后会陆续把其它协议部分分享出来。

我尽量以简单易读、易懂的方式呈现出来,可是,因为文笔和水平有限。有些地方或许存在描写叙述上的不足或繁琐或缺失,还请各位看官指出。我会尽量去弥补和更正。

这序列文章,首版是在公众平台公布。同一时候会同步到csdn(http://my.csdn.net/xiongxianhe),欢迎大家指正和交流。


ARP协议。将分下面序列:

1、什么是ARP协议

2、ARP协议格式具体解释

3、ARP协议编程

4、ARP协议欺骗和攻击

5、ARP安全防护



一、什么是ARP协议
1、我们先来看看TCP/IP协议族的四个层次。如图(图片来自《TCP/IP具体解释卷1》)

我们计算机接入互联网的主要目的是获取别人计算机上的资源,或者供别人获取我们的资源。
那我们怎样能到达别人的计算机呢?聪明的人类就用地址来标识互联网上的每台机器,我们日常所说的IP地址等。

比方。要获取我之前写的“在线编译器”代码的话。你就能够用

 ftp://115.29.235.230/pub/MyProject/CompileOnline/ 
当中115.29.235.230就是一个ip地址。

可是有了IP地址还不够,由于IP地址是网络层(TCP/IP协议族)使用的。计算机最后是要在物理设备(网卡、网线等)上传输的,因此还必须有个计算机的物理地址,我们称为:MAC地址或物理地址(每台机器在出厂后。mac地址就已经确定,而且是唯一的)。

因此要使两台机器能通信,IP地址和MAC地址是不能少的。

ftp://115.29.235.230/pub/MyProject/CompileOnline/,我仅仅给出了IP地址。却没有MAC地址。但我在浏览器里訪问得到,这个是怎么来实现的呢?此时我们的ARP就出场了:

ARP(Address
Resolution Protocol)。地址解析协议。它是将IP地址转化为MAC地址的协议规则。


Q:ARP是怎样将IP地址转为MAC地址的?
A:每台机器内核都实现了ARP协议。

它是通过一个快速缓存。把IP映射到相应的MAC。你能够在你机器上运行命令
arp -a,将会出现你机器如今缓存的IP和MAC的映射。如:


Q:这张映射表是怎样生成的?
A:
(1)这张表中。每条记录(非静态)的生存时间一般为20分钟,起始时间从被创建開始算起,一旦过期,将在这张表中删除。(手动删除所有。能够用 arp -d *命令)。

(2)当A主机要发送信息给B时,A先在ARP快速缓存里查询B的IP是否有相应的MAC地址。假设有则把B IP相应的MAC地址取出封装在数据包里,然后发送出去。
(3)假设A在ARP快速缓存里没有找到B IP相应的MAC,则向A所在的局域网内广播或者询问网关(路由):谁有B IP的MAC,请告诉A。
(4)假设B和A是同一个局域网,B回这条信息,并把B的MAC地址带上,A再把B的IP和MAC写入到ARP的快速缓存里(一般有效时间为20分钟)。

(5)假设B和A不是同一个局域网。而且A所在的网关知道(或间接知道(询问和发包))B的MAC。则网关发消息给A,而且带上B的MAC地址。A收到消息后,再把B的IP和MAC写入到ARP的快速缓存里(一般有效时间为20分钟)。
(6)假设没人回应。则超时,对方不可达。

Q:那B的IP地址。A怎么知道?
A:(你猜。)

上面的问答形式,如今明确了ARP是干嘛的吧?
对,就是你想的那样的!

以下一篇,我们来学习下 ARP 协议的格式


公众号


ARP协议(1)什么是ARP协议的更多相关文章

  1. ARP缓存表的构成ARP协议全面实战协议详解、攻击与防御

    ARP缓存表的构成ARP协议全面实战协议详解.攻击与防御 1.4.3  ARP缓存表的构成 在局域网的任何一台主机中,都有一个ARP缓存表.该缓存表中保存中多个ARP条目.每个ARP条目都是由一个IP ...

  2. 图解ARP协议(二)ARP攻击原理与实践

    一.ARP攻击概述 在上篇文章里,我给大家普及了ARP协议的基本原理,包括ARP请求应答.数据包结构以及协议分层标准,今天我们继续讨论大家最感兴趣的话题:ARP攻击原理是什么?通过ARP攻击可以做什么 ...

  3. 图解ARP协议(三)ARP防御篇-如何揪出“内鬼”并“优雅的还手”

    一.ARP防御概述 通过之前的文章,我们已经了解了ARP攻击的危害,黑客采用ARP软件进行扫描并发送欺骗应答,同处一个局域网的普通用户就可能遭受断网攻击.流量被限.账号被窃的危险.由于攻击门槛非常低, ...

  4. 网络协议抓包分析——ARP地址解析协议

    前言 计算机之间可以相互通信的前提是要知道对方的地址,才可以发送信息给其他计算机,就像别人要联系你也得先知道你的电话号码一样.这里的地址因为网络分层的原因就包括IP地址和MAC地址(即网卡地址.硬件地 ...

  5. ARP协议详解之ARP动态与静态条目的生命周期

    ARP协议详解之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自动添加和删除. q  每个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉.所以,生 ...

  6. ARP协议具体解释之ARP动态与静态条目的生命周期

    ARP协议详细解释之ARP动态与静态条目的生命周期 ARP动态条目的生命周期 动态条目随时间推移自己主动加入和删除. q  每一个动态ARP缓存条目默认的生命周期是两分钟.当超过两分钟,该条目会被删掉 ...

  7. TCP/IP协议详解笔记——ARP协议和RARP协议

    ARP:地址解析协议 对于以太网,数据链路层上是根据48bit的以太网地址来确定目的接口,设备驱动程序从不检查IP数据报中的目的IP地址.ARP协议为IP地址到对应的硬件地址之间提供动态映射. 工作过 ...

  8. HTTP协议—— 简单认识TCP/IP协议

    大学没读计算机专业,所以很多的专业知识都不知道.既然已经从事了IT这个行业,就势必要去了解下网络底层,虽然实际工作中这些东西用不到.高楼大厦,起于平川.不积跬步,无以至千里,不积小流,无以成江海.我现 ...

  9. ****** 四十二 ******、软设笔记【网络基础】-IPv6协议、常用的网络协议

    一.IPv6协议 IPv6协议,全称"互联网协议第6版",即下一代的网际协议. 相对于IPv4来说,IPv6协议主要改进: *扩展的地址.IPv6地址长度为128位. *IPv6使 ...

随机推荐

  1. POJ 2021 Relative Relatives

    Relative Relatives Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3339   Accepted: 146 ...

  2. POJ 1953 World Cup Noise

    World Cup Noise Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 14397   Accepted: 7129 ...

  3. Kafka介绍 (官方文档翻译)

    摘要:Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. 这种动 ...

  4. BZOJ4818 [SDOI2017]序列计数 【生成函数 + 快速幂】

    题目 Alice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数.Alice还希望 ,这n个数中,至少有一个数是质数.Alice想知道,有多少个序列满足她的要求. ...

  5. 刷题总结——生日礼物(bzoj1293单调队列)

    题目: Description 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可以没有彩珠, ...

  6. 学习 WebService 第二步:知识准备——WSDL文件解析

    原文地址:https://www.cnblogs.com/yzw23333/p/7245104.html Web service中一个 WSDL 对应一个 web service地址. 可以想象成一个 ...

  7. 【库存】NOI笔试习题集

    https://wenku.baidu.com/view/2dc9d10854270722192e453610661ed9ad5155ba.html

  8. 仔细瞄一下HashMap是怎么干活的

    以下分析基于jdk11.0.2 1. 创建HashMap时发生了什么? HashMap(),HashMap(int initialCapacity),HashMap(int initialCapaci ...

  9. 命令行参数解析函数 getopt

    命令行参数解析函数 —— getopt() getopt()函数声明如下: #include <unistd.h> int getopt(int argc, char * const ar ...

  10. The disk contains an unclean file system

    Ubuntu : Status 14: The disk contains an unclean file system By mkyong | July 23, 2014 | Viewed : 10 ...