ARP协议
以下就默认在以太网类型的网络。
这个协议的作用是通过ip地址(32bit)找到硬件地址(48bit)。
顺便提一下:在一个局域网里,大家常见的设备交换机,交换机上的主机在互相通信时,实际用的就是硬件(MAC)地址,它并不管谁的ip。因此说交换机是链路层上的设备,而不是ip层上的设备。

举一个ftp到一个主机的例子:

知道主机的IP地址并不能让内核发送一帧数据给机。内核(如以太网驱动程序)必须知道目的端的硬件地址才能发送数据。ARP的功能是在32bit的
IP地址和采用不同网络技术的硬件地址之间提供动态映射。

ARP的数据帧格式:


以太网首部和28字节的ARP请求/应答。稍微了解下~
- 以太网首部:
1). 6个字节的以太网目的地址(请求的时候是广播类型全1),arp请求一般不会跨路由,在一个网段中广播,每个主机都会收到这个数据帧,被问谁有这个目的ip的硬件地址。
2). 6个字节的以太网源端地址
3). 2个字节的帧类型。对于arp请求/应答来说是固定的。

- 28字节的arp请求/应答:
1). 2个字节的硬件类型:硬件类型字段表示硬件地址的类型。它的值为1即表示以太网地址。表示也可以映射其它种类的硬件地址。
2). 2个字节的协议类型:它的值为0x0800即表示IP地址。表示arp可以解析IP地址以外的地址。
3). 1个字节的硬件地址长度&1个字节的协议地址长度。比如以太网硬件地址就是6个长度,协议地址就是4个长度
4). 2个字节的操作op类型:是arp请求还是应答,rarp的请求还是应答
5). 接下来是4个地址。和以太网首部有点重叠。

然则并非每次网络传输都要来一次arp请求,虽然是几毫秒。由于ip和硬件地址变化的频率不那么频繁,因此高效来讲,每个主机上是有大约20分钟的arp高速缓存的。这在机器上运行命令arp -a,就可以看到缓存的ip和硬件地址映射。如果没有的话,尝试去ping一个局域网主机,然后再arp -a就可以看到这个被ping的机器ip和mac了~ 顺便说下删除一个缓存可以命令arp -d ip地址...

RARP协议:  稍做了解~

具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取IP地址。但是无盘机,X终端或无盘工作站,则需要采用其他方法来获得IP地址。 络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的。无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的IP地址(在RARP应答中)。

在概念上这个过程是很简单的,但是实现起来常常比ARP要困难。

-

TCP/IP协议---ARP协议的更多相关文章

  1. [TCP/IP] 网络层-ARP协议

    ARP协议可以将网络层地址到任意物理地址转换,从IP地址到MAC地址转换 MAC地址:物理地址,网卡厂家要确保MAC地址全球唯一,48位2进制,显示是12位16进制 1.查看我自己的ip,我自己的的i ...

  2. TCP/IP 5层协议簇/协议栈

    TCP/IP 5层协议簇/协议栈 数据/PDU 应用层 PC.防火墙 数据段/段Fragment 传输层 防火墙 报文/包/IP包packet 网络层 路由器 帧Frame 数据链路层 交换机.网卡 ...

  3. http与https与socket tcp/IP与UDP 协议等

    网络由下往上分为:   物理层--                       数据链路层-- 网络层--                       IP协议 传输层--               ...

  4. TCP/IP 和HTTP 协议基础知识

    来源:http://www.myhack58.com/Article/60/63/2014/50072.htm 相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过 ...

  5. TCP/IP及http协议 SOAP REST

    TCP/IP及http协议: TCP/IP协议主要解决数据如何在网络中传输, 而HTTP是应用层协议,主要解决如何包装数据 SOAP:简单对象访问协议(Simple Object Access Pro ...

  6. TCP/IP协议栈 ARP和RARP协议

    上几章中我们提到以太网协议中,在以太网首部中一个帧类型的字段,它可以表示为IP ARP RARP协议. 这里说一下ARP 和RARP协议. 首先看ARP协议: 要想网络中的数据包准确到达某个主机,最后 ...

  7. TCP/IP和HTTP协议代理

    TCP/IP协议族 TCP/IP(传输控制协议/网际协议)是用于计算机通信的一个协议族. TCP/IP协议族包括诸如Internet协议(IP).地址解析协议(ARP).互联网控制信息协议(ICMP) ...

  8. OSI,TCP/IP,五层协议的体系结构,以及各层协议

    OSI分层 (7层):物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. TCP/IP分层(4层):网络接口层. 网际层.运输层. 应用层. 五层协议 (5层):物理层.数据链路层.网络层. ...

  9. TCP/IP 笔记 - 地址解析协议

    地址解析协议(ARP)提供了一种在IPv4地址和各种网络技术使用的硬件地址之间的映射.ARP仅用于IPv4,IPv6使用邻居发现协议,它被合并入ICMPv6.地址解析是发现两个地址之间的映射关系的过程 ...

随机推荐

  1. GDAL中GDALDataType中值与其在C++中数据类型对应

    GDAL中的GDALDataType是一个枚举型,其中的值为: GDT_Unknown : 未知数据类型 GDT_Byte : 8bit正整型 (C++中对应unsigned char) GDT_UI ...

  2. (网页)js每隔5分钟执行一次ajax请求的实现方法(转)

    转自脚本之家: 一个页面好像只能有一个 window.onload=function(){},所以要有多个事件,这样写就好了 window.onload=function(){ //假设这里每个五分钟 ...

  3. 为什么 APM 能提升 IT 团队工作质量?

    “有必要吗?”这是很多 IT 专业人员在尝试向团队内部推荐应用程序性能管理价值时所面临的问题.APM(应用程序性能管理)能为公司节约成本,提高内部工作效率,并真实了解用户对公司的系统和产品是否满意.除 ...

  4. 微信小程序-下拉事件(onPullDownRefresh)不触发

    1.app.json 没有配置 "window": { /* 其他配置信息 */ "enablePullDownRefresh":true } 2.scroll ...

  5. 成功清除 windows2008 内部版本7601 字眼

    cmd—>bcdedit -set testsigning off重启电脑就好了

  6. 【PAT】B1084 外观数列(20 分)(纯C)

    第一层循环,用来循环计算第几个元素 第二层用来计算当前元素的下一个 #include<stdio.h> #include<string.h> char aaa[100000] ...

  7. django中admin

    我们在models中建立了表结构,想要在admin中表示: from django.contrib import admin from . import models for table in mod ...

  8. SAP SQVI 快速浏览器

    SQVI可向SQL一样连接多个表浏览数据. 1.输入T-CODE:SQVI. 2.新建一个新查询case 输入CASE 名.点击新建,在弹出的窗口中输入标题,在数据源中可选择单个表查询,或者选择表连接 ...

  9. UUChart的使用

    一.简介 UUChart是一个用于绘制图表的第三方,尤其适合去绘制折线图.自己再做一个医院相关的项目时,需要对一周内的血压进行监控,需要绘制折线图来表示出高压.低压的走向,因此学习了一下. 二.下载地 ...

  10. if 嵌套if 的先后顺序的区别 (自测)

    # 验证 verify very good! # username = input("请输入用户名").capitalize()# password = input("请 ...