RFC826 以太网地址转换协议或转换网络协议地址

发表于 4年以前  | 总阅读数:549 次
组织:中国互动出版网(http://www.china-pub.com/)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:沈进 (simon_shen    shen_jin@263.net) 
译文发布时间:2001-9-6
版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须
保留本文档的翻译及版权信息。



Network Working Group                                   David C. Plummer 
Request For Comments:  826                                  (DCP@MIT-MC)
                                                           November 1982

以太网地址转换协议或转换网络协议地址
为48比特以太网地址用于在以太网硬件上传输
(RFC826――An Ethernet Address Resolution Protocol or Converting Network Protocol 
Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware)
目录
1.摘要	1
2.说明	3
3.问题	5
4.动机	5
5.定义	5
6.包格式	6
7.发包	6
8.收包	7
9.为什么这么做	7
10.网络监控和排错	8
11.一个例子	9
12.相关情况	9

1.摘要
	通过路由机制,协议P在发送主机S上的实现决定了S需要传输到目标主机T,而T连
在和S相连的10兆以太网电缆上。实际传输以太网包必须产生一个48比特以太网地址。主
机的协议P地址并不总是和相应的以太网地址兼容(长度或值不同)。现在这个协议允许动态
地发布
信息,这些信息可用来构造转换协议P地址空间内的地址A为48比特以太网地址的一张表。
	允许在非10兆以太网硬件使用的协议已经被综合总结,无线电网络就是这种硬件。
	[这篇RFC的目的是提出一种转换协议地址(例如IP地址)为本地网络地址(例如以太网地
址)的方法。这个问题现在受到ARPA Internet社区的普遍关注,这里提出的方法仅供读者
参考,并不是Internet标准的描述。]

2.说明
	这个协议起初是为DEC/Intel/Xerox的10兆以太网设计的,现在已允许用在其它类型的

网络上。许多讨论将直接针对10兆以太网。总之,合适的话将遵循以太网的特定讨论。
	DOD Internet协议将作为Internet的规范被参考。
	这里用到的数字,在以太网标准中是高位字节在前的,这和例如PDP-11,VAX等机器的
字节编址相反,因此对下面描述的操作字段(ar$op)必须特别小心。

	需要处理硬件名字空间已达成一致。直到官方认可,请求可发送到
	David C. Plummer
	Symbolics, Inc.
	243 Vassar Street
	Cambridge, Massachusetts  02139
	或发邮件到DCP@MIT-MC。

3.问题
	世界总的来说是杂乱的,同时网络增加了这种杂乱。几乎在网络架构的每一层,都有
几个潜在的协议可以使用。例如在高一点的层次有用于远程登录的TELNET和SUPDUP。低一
点的有CHAOS,DOD TCP,Xerox,BSP或DECnet等可靠字节流协议。甚至在与硬件较接近的
逻辑传输层也有CHAOS,DOD Internet,Xerox PUP,DECnet等协议。10兆以太网通过使用
以太网包头中的类型字段来使这些协议(而且更多)能在一根电缆上共存。然而,10兆以太
网在物理电缆上需要48比特地址,而大多数协议地址不是48比特,它们并不需要与硬件的
48比特以太网地址有什么关系。例如CHAOS的地址是16比特,DOD Internet的地址是32
比特,Xerox PUP的地址是8比特。这就需要一个协议来动态地区分一个<协议,地址>对和
一个48比特以太网地址的对应关系。

4.动机
	随着更多的制造商提供遵循DEC,Intel和Xerox发布的规范的接口产品,10兆以太网
的使用也在增加。随着使用的增加,为这个接口开发的软件也越来越多。有两个选择:(1)
每个实现者用自己的方法做某种形式的地址转换;(2)每个实现者使用统一标准,这样代码
可以不加修改的移植到其它系统。这个建议试图建立一个标准。

5.定义
	下面的定义是作为对填在以太网包头的类型字段的值的参考。
	ether_type$XEROX_PUP,
	ether_type$DOD_INTERNET,
	ether_type$CHAOS,
一个新的值
	ether_type$ADDRESS_RESOLUTION
再定义以下的值(后面讨论)
	ares_op$REQUEST (= 1, 高位字节在前) 和
	ares_op$REPLY   (= 2), 和
	ares_hrd$Ethernet (= 1).

6.包格式
	为了把<协议,地址>对映射到48比特以太网地址用于传输,需要一个体现地址转换协
议的包格式。包格式如下所示。
	以太网传输层(并不是用户需要访问的):
	48比特:目的以太网地址
	48比特:源以太网地址
	16比特:协议类型 = ether_type$ADDRESS_RESOLUTION
	以太网包数据:
	16比特:(ar$hrd)硬件地址空间(例如:Ethernet,Packet Radio Net。)
	16比特:(ar$pro)协议地址空间。对于以太网硬件,它属于类型字段ether_type$<协
			议>的集合
	 8比特:(ar$hln)每种硬件地址的字节长度
	 8比特:(ar$pln)每种协议地址的字节长度
	16比特:(ar$op)操作码(ares_op$REQUEST | ares_op$REPLY)
	 n字节:(ar$sha)源硬件地址,n从ar$hln字段得到

	 m字节:(ar$spa)源协议地址,m从ar$pln字段得到
	 n字节:(ar$tha)目的硬件地址(如果知道的话)
	 m字节:(ar$tpa)目的协议地址。

7.发包
	当网络层往下传来一个包,路由将决定这个包下一跳的协议地址,并根据目的协议地
址决定用哪个硬件进行传输。在10兆以太网需要地址转换。一些更低的层次(像硬件驱动层
)必须咨询地址转换模块(也许在以太网支持模块中实现)把<协议类型,目的协议地址>对转
换成48比特以太网地址。地址转换模块试图在一个表中寻找这个对。如果找到,则返回相

应的48比特以太网地址给调用者(硬件驱动层)。如果找不到,也许应通知调用者这个包正
在被丢弃(假定包会被高层重传),同时发出一个类型字段为ether_type$ADDRESS_RESOLUTI
ON的以太网包。地址转换模块在ar$hrd字段中填ares_hrd$Ethernet,在ar$pro字段中填
要被转换的协议类型,在ar$hln字段中填6(48比特以太网地址字节数),在ar$pln字段中
填该协议地址的字节数,在ar$op字段中填ares_op$REQUEST,在ar$sha字段中填自己的48
比特以太网地址,在ar$spa字段中填自己的协议地址,在ar$tpa字段中填要访问机器的协
议地址。不能在ar$tha字段中填特殊的值,因为它的值正是要得到的。如果实现上简单的话,
ar$tpa字段可以填硬件的广播地址(在10兆以太网上所有机器)。根据原先的路由机制,这
个包将被广播到所有在以太网电缆上的工作站。

8.收包
	当收到地址转换包时,收包模块把它送到运行类似下面算法的地址转换模块。条件不
成立意味着处理结束,并丢弃包。
	?我用ar$hrd字段中的硬件吗?
	是的:(几乎肯定)
		[检查ar$hln的硬件地址长度(可选)]
		?我用ar$pro字段中的协议吗?
		是的:
			[检查ar$pln的协议地址长度(可选)]
			Merge_flag := false
			如果<协议类型,发送者协议地址>对在我的转换表中,用包中的发送者硬件
			地址更新表,并把Merge_flag设成true。
			?我是目的协议地址吗?
			是的: 
				如果Merge_flag是false,在转换表中加入三元组<协议类型,发送者协

				议地址,发送者硬件地址>。
				?操作码是ares_op$REQUEST吗?(现在看操作码)
				是的:
					交换硬件和协议字段,把本地硬件和协议地址填在发送者字段中。
					在ar$op字段中填ares_op$REPLY。然后从收到包的硬件上把这个包
					发送到目的硬件地址。
	注意到在检查操作码之前,<协议类型,发送者协议地址,发送者硬件地址>三元组就
被加入转换表中。这是建立在通信是双向的假设上的,如果A有某种理由与B“交谈”,B也
会有某种理由与A“交谈”。还注意到如果<协议类型,发送者协议地址>对已存在表项中,
新的硬件地址将覆盖旧的。相关情况给出了这样做的动机。
	总结:ar$hrd和ar$hln字段使非10兆以太网可以使用这个协议和包格式。对于10兆
以太网,就是<1,6>。对于其它硬件网络,ar$prozi字段也许不再对应以
太网类型字段,但会和地址转换要看的协议有关。

9.为什么这么做
	定期广播并不是所期望的,假设一个以太网上有100台主机,每隔10分钟广播地址转换
信息(可能通过参数设置),这样每隔6秒钟就有一个包。这完全合理,但有用吗?工作站一
般不会互相通信(因此转换表中有100个没用的表项),它们主要和大型机,文件服务器或网
桥通信,而仅和很少数量的主机通信(例如交互谈话)。本文描述的协议只在需要时发送信
息,并且每台机器每次启动时只发一次。
	这种包格式不允许在一个包中进行多于一个的转换。这是为了简单。如果复杂的话,
包将较难被分析,并且很多信息是没用的。想想一个有四种协议的网桥告诉工作站四个协
议地址,而其中三个工作站从来都不会用到。
	这种包格式允许应答包重用请求包的存储空间,应答包和请求包具有相同的长度,有

些字段也相同。
	硬件字段(ar$hrd)的值来自一个列表。现在只有为10兆以太网定义的一个值(ares_hrd
$Ethernet = 1)。已经在讨论在Packet Radio Networks上使用这个协议,这需要为希望使
用这个协议的其它硬件介质分配值。
	对于10兆以太网,协议字段(ar$pro)的值来自集合ether_type$,这是对已分配的协议
类型的自然重用。把它和操作码(ar$op)结合起来,将有效地减半可使用这个协议转换的协
议的数量,同时将对网络监控和排错造成更多的困难(见下面网络监控和排错)。希望不会
有32768个协议,但Murphy制造了一些不允许我们作这个假设的规则。
	理论上,长度字段(ar$hln和ar$pln)是多余的,因为通过硬件类型(在ar$hrd中)和协
议类型(在ar$pro中)就可以决定协议地址的长度。它们被包括是为了可选的一致性检查和
网络监控和排错(见下面)。
	操作码决定了是请求(可能导致一个应答)还是对先前请求的应答。16比特长了一些,
但这个字段是必须的。
	发送者的硬件地址和协议地址绝对是有用的,通过它们才能从转换表中得到结果。
	在请求包格式中,目的协议地址是必须的,这样机器才能决定是否把发送者信息放到
转换表中,是否发送应答。如果假设应答是由请求引起的,那么在应答包中这个字段不是
必须的。包括它是为了完整性,网络监控,和使上面描述的算法更简单(把发送者信息放到
转换表中后才去看操作码)。
	目的硬件地址被包括进来是为了完整性和网络监控。它在请求包中毫无意义,因为机
器要问的就是这个数字。它在应答包中是处理请求机器的地址。在某些实现中(例如不检察
14比特的以太网头),把这个字段作为包的目的硬件地址发送到硬件驱动器,存在寄存器或
栈空间中。
	地址间没有填充字节。包数据被看作字节流,其中只有3个字节对可看作字(ar$hrd,a
r$pro和ar$op),它们在发送时高位字节在前。

10.网络监控和排错
	以上的地址转换协议允许机器在以太网上获得高层协议活动(例如CHAOS,Internet,
PUP,DECnet)的信息。它能决定哪个以太网地址正在使用(通过值),以及每个协议类型的
协议地址。事实上,监控者不必使用任何一种高层协议。它象下面这样工作:
	当收到地址转换包,它总是把<协议类型,发送者协议地址,发送者硬件地址>存入转
换表。硬件和协议地址的长度可从包的ar$hln和ar$pln字段得到。如果操作码是应答,监
控者可以丢弃这个包。如果操作码是请求,并且目的协议地址与监控者的协议地址相同,
监控者通常会发应答包。监控者将只得到一个映射,因为请求的应答将被直接发送到请求
主机。监控者可试着发自己的请求,但要小心,这会造成两个监控者陷入请求发送循环。
	由于没有把协议和操作码合并成一个字段,监控者不必知道每个高层协议的请求操作
码对应的应答操作码。长度字段要带有可“分析”协议地址的足够信息,虽然它并不带有
协议地址的意义。
	地址转换协议的一个成功实现还可为不成功的实现排错。假设一个硬件驱动者成功地
广播了以太网类型为ether_type$ADDRESS_RESOLUTION的包。由于实现的错误或维护表的复
杂性,包格式可能不正确。因为请求是广播,监控者会收到这个包,如果需要可显示出来
进行排错。

11.一个例子
	假设在同一根10兆以太网电缆上有机器X和Y。它们有以太网地址EA(X)和EA(Y),DOD 
Internet地址IPA(X)和IPA(Y)。假设Internet的以太网类型为ET(IP)。机器X刚启动,并
且它迟早都会向机器Y发包。X知道要发包给IPA(Y),并把IPA(Y)告诉硬件驱动者(这里是
以太网驱动者)。驱动者让地址转换模块把转换成48比特以太网地址,但
因为X刚启动,它没有这些信息。它先不发包,生成一个地址转换包,
	(ar$hrd) = ares_hrd$Ethernet
	(ar$pro) = ET(IP)
	(ar$hln) = EA(X)的长度
	(ar$pln) = (IPA(X)的长度
	(ar$op)  = ares_op$REQUEST
	(ar$sha) = EA(X)
	(ar$spa) = IPA(X)
	(ar$tha) = 任意值
	(ar$tpa) = IPA(Y)
并广播到电缆上的所有机器。
	机器Y收到这个包,判断自己是否懂这种硬件类型(以太网),是否理解这种协议(Inter
net),包是否是给自己的((ar$tpa)=IPA(Y))。然后把映射到EA(X)的信
息记下来(可能会覆盖已有表项)。然后又意识到是请求,于是就交换字段,把EA(Y)填入发
送者以太网地址字段(ar$sha),把操作码设为应答,再把包直接发送(不是广播)到EA(X)。
这个时候,Y已经知道怎样向X发送,而X还不知道怎样向Y发送。s
	机器X收到Y发送的包,生成到EA(Y)的映射,意识到是个应答包,
于是丢弃。下次X的Internet模块试图向Y发送包,地址转换就会成功了,并且包也能到达。
如果Y的Internet模块要向X发送,它也会成功,因为Y已经从X的地址转换请求中记住了
需要的信息。


12.相关情况
	也许希望转换表会过期,这些的实现超出本协议的范围。这里有一个较详细的描述(感
谢MOON@SCRC@MIT-MC)。
	当主机移动时,假设移动时清除了地址转换表,那么从该主机发起的任何连接都可以
工作。但是发起过到该主机连接的其它主机并没有任何理由会知道去丢弃它们的旧地址。
而48比特以太网地址是唯一的,任何时候都是固定的,不会变。如果主机名(和其它协议地
址)在不同物理硬件上被重新分配,主机就“移动”了。而且从经验来说,总会存在由于硬
件或软件错误产生的错误路由信息,但这种错误不允许永远存在。也许发起某个连接的失
败,会使地址转换模块认为由于对方当机或转换表项错误等原因而不可到达对方。从而删
除这个信息。也许收到一个来自某个主机的包,会更新用来向该主机发送的转换表项的时
钟。如果一定时间没有收到来自某个主机的包,这条转换表项会被删除。这将产生为每个
收到的包扫描转换表的额外负担。或许使用散列或索引会快一些。
	收到地址转换包的建议算法试图缩短主机移动以后的恢复时间。如果<协议类型,发送
者协议地址>已经在转换表中,那么发送者的硬件地址将覆盖这个表项。因此在良好的以太
网上,当请求广播到达后,每个工作站都将得到这个新的硬件地址。
	另一种方法是有一个守护进程在处理超时。经过一定时间,守护进程考虑删除一个表
项。它先用表里的以太网地址直接发送地址转换请求包(如果需要可重传几次)。如果在一
段短时间内,没有收到应答,则删除表项。这个请求是直接发送的,不会影响以太网上的
每个工作站。删除表项就是把必须重新获得的有用信息删除。
	因为主机只发送关于它们自身的信息,而不会发送任何其它主机的信息,重启动一个
主机会使它的地址映射表成为最新的。通过机器间的传输,错误信息不会永远存在。机器

中唯一可存在的错误信息是不知道其它机器已经修改了48比特以太网地址。也许手工更新
(或清除)地址映射表就够了。
	如果认为重要的话,这篇文档需要更多地思考。任何地址转换类型的协议都用的到。
RFC826――An Ethernet Address Resolution Protocol or Converting Network Protocol 
Addresses to 48.bit Ethernet Address for Transmission on Ethernet Hardware                 
以太网地址转换协议或转换网络协议地址为48比特以太网地址用于在以太网硬件上传输


1
RFC文档中文翻译计划
 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:8月以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:8月以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:7月以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:8月以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:8月以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:8月以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:8月以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:8月以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:8月以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:8月以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:8月以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:8月以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:8月以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:8月以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:8月以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:8月以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:8月以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:8月以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:8月以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:8月以前  |  398次阅读  |  详细内容 »