在ARCNET上传输IPv6包 介绍 本文说明了传送IPv6包的帧格式,以及在ARCNET网络上形成IPv6链路本地(link-local)和无状态自动配置地址的方法,同时还说明了重定向消息,路由器广播消息,路由器引发(router solicitation)消息传送时源/目的链路层地址选项。这里我们需要知道的是IPv6的协议号是C4。 最大传输单元(MTU) 在使用打包方法后最大IPv6包长度是60480字节,但这个长度是不合实际的,因为在最差的情况下它的传输时间会长达几秒,因为所有ARCNET的实现都会采取比较小的包长度。一般的默认值是9072字节。如果有路由器存在,这个大小可以会被包括MTU选项的路由器广播改变。如果路由器广播带有的MTU选项大于60480字节,或大于手工指定的值但小于60480,MTU选项应该被记住系统管理日志,但不能被忽略。如果没有路由器,本地MTU必须在9072或手工指定所有连接的基站上的值都相同。具体实现中可以接收IPv6包的大小大于配置的MTU,不用抛弃这些包,如果实在不能处理这么大的包,可以记入日志,但不能不声不响地抛弃它们。 无状态自动配置 如果结点有EUI-64,它不用于形成任何接口的接口标记,那么它应该使用EUI-64形成ARCNET接口的接口标记。如果EUI-64被别人使用,也可以被用于ARCNET接口。可以通过把EUI-64中的U/L位取反形成接口标记,U/L位在EUI-64第1字节次低位上。 如果结点没有可用于形成ARCNET接口标记的EUI-64,就把手工指定的8位ARCNET地址前面加上56个零,下面是一个例子,如果ARC接口配置的地址是0x49,那么形成的标记如下图所示:
注意:U/L标记设置为0,表示这是本地的。用于无状态自动配置的IPv6地址前缀必须是64位。 连接本地(Link-Local)地址 ARCNET接口的IPv6连接本地地址通过在接口标记前面加上0,并在最前面加上FE80形成。
地址映射:单播和多播 当链路层是ARCNET时,源/目的链路层地址选项的格式如下:
选项域: 类型 1:源链路层地址;2:目的链路层地址; 长度 1 (以8字节以单位) 因为ARCNET仅提供一个多播地址(0x00),所有IPv6多播地址必须映射到这个地址上。 安全问题 这种从ARCNET地址取得接口标记的方法应该尽可能保证本性唯一性,但是如果因为事故或人工因素产生了地址复本,会造成错误。 |