TCP/IP协议---ARP协议
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协议的更多相关文章
- [TCP/IP] 网络层-ARP协议
ARP协议可以将网络层地址到任意物理地址转换,从IP地址到MAC地址转换 MAC地址:物理地址,网卡厂家要确保MAC地址全球唯一,48位2进制,显示是12位16进制 1.查看我自己的ip,我自己的的i ...
- TCP/IP 5层协议簇/协议栈
TCP/IP 5层协议簇/协议栈 数据/PDU 应用层 PC.防火墙 数据段/段Fragment 传输层 防火墙 报文/包/IP包packet 网络层 路由器 帧Frame 数据链路层 交换机.网卡 ...
- http与https与socket tcp/IP与UDP 协议等
网络由下往上分为: 物理层-- 数据链路层-- 网络层-- IP协议 传输层-- ...
- TCP/IP 和HTTP 协议基础知识
来源:http://www.myhack58.com/Article/60/63/2014/50072.htm 相信不少初学手机联网开发的朋友都想知道Http与Socket连接究竟有什么区别,希望通过 ...
- TCP/IP及http协议 SOAP REST
TCP/IP及http协议: TCP/IP协议主要解决数据如何在网络中传输, 而HTTP是应用层协议,主要解决如何包装数据 SOAP:简单对象访问协议(Simple Object Access Pro ...
- TCP/IP协议栈 ARP和RARP协议
上几章中我们提到以太网协议中,在以太网首部中一个帧类型的字段,它可以表示为IP ARP RARP协议. 这里说一下ARP 和RARP协议. 首先看ARP协议: 要想网络中的数据包准确到达某个主机,最后 ...
- TCP/IP和HTTP协议代理
TCP/IP协议族 TCP/IP(传输控制协议/网际协议)是用于计算机通信的一个协议族. TCP/IP协议族包括诸如Internet协议(IP).地址解析协议(ARP).互联网控制信息协议(ICMP) ...
- OSI,TCP/IP,五层协议的体系结构,以及各层协议
OSI分层 (7层):物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. TCP/IP分层(4层):网络接口层. 网际层.运输层. 应用层. 五层协议 (5层):物理层.数据链路层.网络层. ...
- TCP/IP 笔记 - 地址解析协议
地址解析协议(ARP)提供了一种在IPv4地址和各种网络技术使用的硬件地址之间的映射.ARP仅用于IPv4,IPv6使用邻居发现协议,它被合并入ICMPv6.地址解析是发现两个地址之间的映射关系的过程 ...
随机推荐
- Sybase SQL anywhere5.5
https://github.com/mono/old-code https://wiki.scn.sap.com/wiki/display/SQLANY/SQL+Anywhere+and+Micro ...
- 正则与python的re模块
一.正则表达式的语法 正则表达式使用反斜杠字符('\')来表示特殊的形式或者来允许使用特殊的字符而不要启用它们特殊的含义.这与字符串字面值中相同目的的相同字符的用法冲突:例如,要匹配一个反斜线字面值, ...
- React中props和state相同点和不同点
朋友们,我想死你们了,最近这几天忙着和病魔作斗争所以没怎么写博客,今天感觉好点了,赶紧来写一波,就是这木敬业. 今天我们来讨论讨论props和state相同点和不同点 首先我来概要说明一下这两者 pr ...
- 部署Redis(脚本安装)
部署Redis(脚本安装) #/bin/bash # DES:Redis Deploy # Author: will_xue # Email:linuxcto@aliyun.com # DATE : ...
- 安卓开发_数据存储技术_SharedPreferences类
SharedPreferences类 供开发人员保存和获取基本数据类型的键值对. 该类主要用于基本类型,例如:booleans,ints,longs,strings.在应用程序结束后,数据仍旧会保存. ...
- SQL Server ->> DAC(Dedicated Administrator Connection)专用管理员连接
专用管理员连接是一种特殊的SQL Server服务器诊断性质的连接,用于在正常或者说标准连接形式无法连接SQL Server服务器的情况下连接到服务器进行服务器性能或者错误诊断.DAC同样支持安全加密 ...
- python第二天 列表、元组
今天学习了列表.元组相关的知识:与C中的数组列表相似,元组为只读列表: 以及切片相关操作: #!usr/bin/env python #-*-coding:utf-8-*- # Author calm ...
- 【第二篇】SAP ABAP7.5x新语法之OPEN SQL
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之OPEN SQL ...
- sql最简单的查询语句
-- 2 **************************************************** -- 最简单的查询语句 -- 2.1 ----------------------- ...
- Memory barrier 简介
Memory barrier Memory barrier 简介 程序在运行时内存实际的访问顺序和程序代码编写的访问顺序不一定一致,这就是内存乱序访问.内存乱序访问行为出现的理由是为了提升程序运行时的 ...