子网络访问协议
(snap:subnetworkaccessprotocol)
子网络访问协议(snap)规范了在ieee802网络上传输ip数据报的标准方法。换句话说,ip数据报可以封装在802.2llc,snap数据链路层和802.3、802.4或802.5网络物理层中,然后在ieee802网络上发送。
snap包含于逻辑链路控制(llcieee802.2)协议头中,主要用来在ieee802网络上封装ip数据包、地址解析协议(arp)的请求和答复。snap协议头位于llc协议头后并且包含了组织代码,该组织代码表示接下来16位的以太类(ethertype)代码。通常情况下,人们采用802.2类型1实现所有通信过程。但同样位于ieee802网络的系统(consentingsystems)的两信点在经过检验后都支持可以使用802.2类型2,该过程可以通过802.2xid机制实现。但目前仍然推荐使用类型1方案而且所有实施必须支持该服务类型。
通过地址解析协议(arp)的动态发现过程,可以将32位internet地址映射为16位或48位ieee802地址。ieee802网络具有16位或48位物理地址。snap中可以使用任意一种。
在snap中,ip数据报的传输并不依赖于下层lan技术(各种以太网和令牌环网类型)的传输速率,它们具有各种不同的传输速率(从1mbps到20mbps)。
协议结构
llc头结构:
===============================
|8|16|24or32bit|
|=====|=======|===============|
|dsap|ssap|control|
===============================
有关llc头结构具体细节,请参照llc页面。
snap头结构:
____________________________________
|24|40bit|
|--------------|-------------------|
|organization|codeethertype|
-----------------------------------
当前为snap协议时,包含在llc头结构中的dsap和ssap各字段值为170(十进制),控制(control)字段值为3(无编号信息)。
organizationcode╠设置为0。
ethertype╠规定封装在ieee802网络中的协议:ip=2048,arp=2054。