<TCP/IP>地址解析协议ARP
从前两章中有学到,网络层地址和链路层地址是由不同的,一个是物理地址,一个是IP地址。物理地址固定存储在网卡中,不会改变,而IP地址是可以网络管理员和用户自己分配的
在传统的IPv4网络中,一台A主机要想将数据传输到另一台B主机上,只知道B的IP地址可不行,还需要知道B主机在网络中的有效物理地址,但是要怎么才能把IP地址转换成物理地址呢?这时候就要用到ARP(地址解析协议)
ARP
地址解析其实是发现两个地址之间映射关系的过程,基本上都用于32位的IPv4地址和以太网的48位MAC地址之间的映射,如下图所示,IP地址经过ARP的处理,变成了硬件地址。
书中还举了一个例子,当我们打开一个网页,我们的电脑会和相关的服务器联系,它首先判断该服务是位于本地(同一IP子网)还是远程,如果在同一子网,则向本网发送ARP广播,获得目标IP所对应的MAC地址,如果不在同一子网,就通过ARP询问默认网关(路由器)对应的MAC地址
ARP帧格式
下图为以太网中转换一个IPv4地址时常用的ARP请求和应答分组的格式
- 在以太网中,对于ARP(请求或应答),两字节的帧类型字段必须为0x0806
- 硬件类型字段指出硬件地址类型,对于以太网该值为1
- 协议类型字段指出映射的协议地址类型,对于IPv4地址,该值为0x0800
- 硬件和协议地址长度分别指出硬件地址和协议地址的字节数,对于以太网中使用IPv4地址的ARP请求或应答,它们的值分别为6和4
- Op字段指出该操作是ARP请求(1),ARP应答(2),RARP请求(3),RARP应答(4),RARP为反向地址转换
直接交付
在同一个子网下,两个IP地址直接传输数据,就可以使用直接交付,IPv4直接交付的基本操作如下:
- 主机A向主机B发送IPv4数据报,A必须将B的IP地址转换成物理地址,ARP开始运行
- ARP工作在正常模式下,仅适用于广播网络,在一个共享的链路层网段上,ARP向所有连接着的主机发送一个称为ARP请求的以太网帧,其中包含主机B的IP地址
- 只有符合目标IP地址的主机B回答这个ARP请求,其他站点则忽略这个请求,即为ARP应答,该应答包含B的IP地址和MAC地址,此时不是广播,而是直接发送给A
- 主机A收到应答后,会在自己的缓存中构建一个ARP表,将得到的地址信息缓存起来,以备将来和同一目的节点通信时直接在ARP表中查找,避免了多次的广播请求
感谢在实践中深入理解ARP协议和ARP地址解析过程(同一子网和不同子网)这两篇文章的作者们提供的帮助,想更深入了解ARP的同学可以点击链接学习
<TCP/IP>地址解析协议ARP的更多相关文章
- TCP/IP具体解释学习笔记——地址解析协议ARP
一 概述 我们知道,IP协议是用来在不同的物理网络之间数据传输的.要在不同的网络之间数据传输,至少须要将IP协议所用的地址转换成特定网络所使用的物理地址. 一般来说.就是将IPv4地址转换为mac地址 ...
- TCP/IP的排头兵――地址解析协议(ARP) (转载)
转自:http://blog.csdn.net/wangxg_7520/article/details/2488442 一.引言 古人行军打仗,都要有一个可以引领队伍前进方向的排头兵,在TCP/IP网 ...
- TCP/IP, UDP, ICMP, ARP协议族简介--纯图慎点
ISO/OSI的网络模型架构 TCP/IP参考模型的层次结果 以太网头部结构 以太网属于数据链路层, 属于最基本的协议结构 IP协议 IP协议为TCP, UDP, ICMP提供最基本的数据传输通路 I ...
- 【RL-TCPnet网络教程】第23章 RL-TCPnet之地址解析协议ARP
第23章 RL-TCPnet之地址解析协议ARP 本章节为大家讲解ARP(Address Resolution Protocol,地址解析协议),通过前面章节对TCP和UDP的学习,需要大家 ...
- TCP/IP网络协议基础
实验楼学习网络协议传送门 一.TCP/IP简介 TCP/IP(Transmission Control Protocol/Internet Protocol)是传输控制协议和网络协议的简称,它定义了电 ...
- 地址解析协议ARP与逆地址解析协议RARP
IP地址是用来通信的,但是和硬件地址是有区别的.物理地址是数据链路层和物理层使用的地址,IP地址是网络层及以上各层使用的地址. 发送数据时,数据从高层向下层传输,使用IP地址的IP数据报交给下层的数据 ...
- 初探计算机网络之TCP/IP网络协议
网络协议 在计算机诞生以来,从最原始的单机模式到现在多台计算机协同工作,形成计算机网络,从前很难想象的信息共享.多机合作.大规模计算在今天也早已成了现实.在早期,计算机网络需要解决的痛点,就是怎样 ...
- Linux--网络基础(概念+协议的了解+OSI七层模型,TCP/IP五层协议,网络数据传输流程)
网络的发展 网络的发展有下面几个阶段: 独立模式:计算机最开始是以单机模式被广泛使用的.每一台计算机都是独立的,之间不能够进行数据共享与通信 网络互联: 计算机之间可以链接在一起,完成数据共享,计算机 ...
- 2016.7.8 计算机网络复习要点第四章之地址解析协议ARP
1.地址解析协议ARP:知道一个机器的IP地址,需要找到其相应的硬件地址:ARP协议的用途是为了从网络层使用的IP地址解析出在链路层使用的硬件地址: 2.由于是IP协议使用了ARP协议,因此通常就把A ...
随机推荐
- C#设计模式(6)——原型模式
1.原型模式介绍 在软件系统开发中,有时候会遇到这样的情况:我们需要用到多个相同实例,最简单直接的方法是通过多次调用new方法来创建相同的实例.如下: Person person=}; Person ...
- 解决Navicat 出错:1130-host . is not allowed to connect to this MySql server,MySQL
1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 " ...
- 【1】【leetcode-92】 反转链表 II
(没过,以为简单,结构链表指针搞得很复杂出错.是有捷径的,很典型题目要记住) 反转链表 II(medium) 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明:1 ≤ m ≤ n ≤ 链 ...
- HDU 1019(求最小公倍数 **)
题意是求一组数的最小公倍数,不用存,每次输入即刻处理即可. 补充一点:两个自然数的最大公约数与它们的最小公倍数的乘积等于这两个数的乘积. 代码如下: #include <bits/stdc++. ...
- 启用SQL Server 2014 中的OLE 自动化功能
企业中很多架构都在快走向Service概念,尽量采用平台服务方式提供给各个Application使用.因此,个系统都会去呼叫像是Web Service,WCF或ODATA…等等各种类型的服务.一般来说 ...
- 01-maya基础
maya基础 1,ctrl shift m 切换面板工具栏. 2,空格键+ 右键 :快速的切换视图. 3,在一视图上单击空格键,可放大显示. 4, 工程的创建 1,创建工程:文件--项目窗口,建完后, ...
- 华为平板安装APK,提示“该安装包未包含任何证书”
有的平板上会有错误现象 打包时签名勾选v1即可.
- 使用js请求Servlet时的路径
项目结构如下: 全是web的html页面 js部分重要代码: function ajaxValidate() { var flag=false; $.ajax({ "url":&q ...
- 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能 要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下 ...
- ASP.NET MVC4在部署IIS后,运行时显示的是整个Web的目录列表
页面出现如下图: 第一种解决方案: 刚安装好IIS,这时需要注册IIS. 在Dos中进入Framework的安装文件夹 你将要发布的系统是什么.Net Framework版本,就注册什么版本 4.0版 ...