设为首页 收藏本站
查看: 891|回复: 0

[经验分享] Ethernet历史 SAP与SNAP区别

[复制链接]

尚未签到

发表于 2019-2-2 13:08:57 | 显示全部楼层 |阅读模式
1.Ethernet V1:这是最原始的一种格式,是由Xerox PARC提出的3Mbps CSMA/CD以太网标准的封装格式,后来在1980年由DEC,Intel和Xerox标准化形成Ethernet V1标准;  2.Ethernet V2(ARPA):
  这是最常见的一种以太网帧格式,也是今天以太网的事实标准,由DEC,Intel和Xerox在1982年公布其标准,主要更改了Ethernet V1的电气特性和物理接口,在帧格式上并无变化;Ethernet V2出现后迅速取代Ethernet V1成为以太网事实标准;Ethernet V2帧头结构为6bytes的源地址+6bytes的目标地址+2Bytes的协议类型字段+数据。
DSC0000.jpg

  常见协议类型如下:
  0800 IP
  0806 ARP
  8137 Novell IPX
  809b Apple Talk
  如果协议类型字段取值为0000-05dc(十进制的0-1500),则该帧就不是Ethernet V2(ARPA)类型了,而是下面讲到的三种802.3帧类型之一;Ethernet可以支持TCP/IP,Novell IPX/SPX,Apple Talk Phase I等协议;RFC 894定义了IP报文在Ethernet V2上的封装格式;
  Ethernet_II中所包含的字段:
DSC0001.jpg

  在每种格式的以太网帧的开始处都有64比特(8字节)的前导字符,如图所示。其中,前7个字节称为前同步码(Preamble),内容是16进制数0xAA,最后1字节为帧起始标志符0xAB,它标识着以太网帧的开始。前导字符的作用是使接收节点进行同步并做好接收数据帧的准备。
  ——PR:同步位,用于收发双方的时钟同步,同时也指明了传输的速率(10M和100M的时钟频率不一样,所以100M网卡可以兼容10M网卡),是56位的二进制数101010101010.....
  ——SD: 分隔位,表示下面跟着的是真正的数据,而不是同步时钟,为8位的10101011,跟同步位不同的是最后2位是11而不是10.
  ——DA:目的地址,以太网的地址为48位(6个字节)二进制地址,表明该帧传输给哪个网卡.如果为FFFFFFFFFFFF,则是广播地址,广播地址的数据可以被任何网卡接收到.
  ——SA:源地址,48位,表明该帧的数据是哪个网卡发的,即发送端的网卡地址,同样是6个字节.
  ----TYPE:类型字段,表明该帧的数据是什么类型的数据,不同的协议的类型字段不同。如:0800H 表示数据为IP包,0806H 表示数据为ARP包,814CH是SNMP包,8137H为IPX/SPX包,(小于0600H的值是用于IEEE802的,表示数据包的长度。)
  ----DATA:数据段 ,该段数据不能超过1500字节。因为以太网规定整个传输包的最大长度不能超过1514字节。(14字节为DA,SA,TYPE)
  ----PAD:填充位。由于以太网帧传输的数据包最小不能小于60字节, 除去(DA,SA,TYPE 14字节),还必须传输46字节的数据,当数据段的数据不足46字节时,后面补000000.....(当然也可以补其它值)
  ----FCS:32位数据校验位.为32位的CRC校验,该校验由网卡自动计算,自动生成,自动校验,自动在数据段后面填入.对于数据的校验算法,我们无需了解.
  ----事实上,PR,SD,PAD,FCS这几个数据段我们不用理它 ,它是由网卡自动产生的,我们要理的是DA,SA,TYPE,DATA四个段的内容.
  ----所有数据位的传输由低位开始(但传输的位流是用曼彻斯特编码的)
  ----以太网的冲突退避算法就不介绍了,它是由硬件自动执行的.
  DA+SA+TYPE+DATA+PAD最小为60字节,最大为1514字节.
  ----以太网卡可以接收三种地址的数据,一个是广播地位,一个是多播地址(我们用不上),一个是它自已的地址.但网卡也可以设置为接收任何数据包(用于网络分析和监控).
  ----任何两个网卡的物理地址都是不一样的,是世界上唯一的,网卡地址由专门机构分配.不同厂家使用不同地址段,同一厂家的任何两个网卡的地址也是唯一的.根据网卡的地址段(网卡地址的前三个字节),可以知道网卡的生产厂家.有些网卡的地址也可以由用户去设定,但一般不需要.
  Ethernet_II的主要特点是通过类型域标识了封装在帧里的数据包所采用的协议,类型域是一个有效的指针,通过它,数据链路层就可以承载多个上层(网络层)协议。但是,Ethernet_II的缺点是没有标识帧长度的字段。
  3.RAW 802.3:(NOVELL Ethernet 802.3)
  这是1983年Novell发布其划时代的Netware/86网络套件时采用的私有以太网帧格式,该格式以当时尚未正式发布的802.3标准为基础;但是当两年以后IEEE正式发布802.3标准时情况发生了变化—IEEE在802.3帧头中又加入了802.2 LLC(Logical Link Control)头,这使得Novell的RAW 802.3格式跟正式的IEEE 802.3标准互不兼容;可以看到在Novell的RAW 802.3帧结构中并没有标志协议类型的字段,而只有Length 字段(2bytes,取值为0000-05dc,即十进制的0-1500),因为RAW 802.3帧只支持IPX/SPX一种协议;
DSC0002.jpg

  原始的802.3帧是早期的Novell NetWare网络的默认封装。它使用802.3的帧类型,但没有LLC域。同Ethernet_II的区别:将类型域改为长度域,其取值范围为:46-1500。解决了原先存在的问题。但是由于缺省了类型域,因此不能区分不同的上层协议。
  接下来的2个字节是固定不变的16进制数0xFFFF,它标识此帧为Novell以太类型数据帧。
  4.IEEE 802.3/802.2 LLC:这是IEEE 正式的802.3标准,它由Ethernet V2发展而来。它将Ethernet V2帧头的协议类型字段替换为帧长度字段(取值为0000-05dc;十进制的1500 );并加入802.2 LLC头用以标志上层协议,LLC头中包含DSAP,SSAP以及Crontrol字段;
  为了区别802.3数据帧中所封装的数据类型, IEEE引入了802.2SAP和SNAP的标准。它们工作在数据链路层的LLC(逻辑链路控制)子层。通过在802.3帧的数据字段中划分出被称为服务访问点(SAP)的新区域来解决识别上层协议的问题,这就是802.2SAP。LLC标准包括两个服务访问点,源服务访问点(SSAP)和目标服务访问点(DSAP)。每个SAP只有1字节长,而其中仅保留了6比特用于标识上层协议,所能标识的协议数有限。因此,又开发出另外一种解决方案,在802.2SAP的基础上又新添加了一个2字节长的类型域(同时将SAP的值置为AA),使其可以标识更多的上层协议类型,这就是802.2SNAP。
DSC0003.jpg

  常见SAP值:
  0:Null LSAP[IEEE]
  4:SNA Path Control[IEEE]
  6:DOD IP[79,JBP]
  AA:SNAP[IEEE]
  FE:ISO DIS 8473[52,JXJ]
  FF:Global DSAP[IEEE]
  在Ethernet 802.3 SAP帧中,将原Ethernet 802.3 raw帧中2个字节的0xFFFF变为各1个字节的DSAP和SSAP,同时增加了1个字节的"控制"字段,构成了802.2逻辑链路控制(LLC)的首部。LLC提供了无连接(LLC类型1)和面向连接(LLC类型2)的网络服务。LLC1是应用于以太网中,而LLC2应用在IBM SNA网络环境中。
  5.IEEE 802.3/802.2 SNAP:这是IEEE为保证在 802.2 LLC上支持更多的上层协议同时更好的支持IP协议而发布的标准,与802.3/802.2 LLC一样802.3/802.2 SNAP也带有LLC头,但是扩展了LLC属性,新添加了一个2Bytes的协议类型域(同时将SAP的值置为AA),从而使其可以标识更多的上层协议类型;另外添加了一个3Bytes的OUI字段用于代表不同的组织,RFC 1042定义了IP报文在802.2网络中的封装方法和ARP协议在802.2 SANP中的实现;
DSC0004.jpg

  今天的实际环境中大多数 TCP/IP设备都使用Ethernet V2格式的帧。这是因为第一种大规模使用的TCP/IP系统(4.2/3 BSD UNIX)的出现时间介于RFC 894和RFC 1042之间,它为了避免不能和别的主机互操作的风险而采用了RFC 894的实现;也由于大家都抱着这种想法,所以802. 3标准并没有如预期那样得到普及;
  CISCO设备的Ethernet Interface默认封装格式是ARPA(Ethernet V2)
  不同厂商对这几种帧格式通常有不同的叫法,比如:
  Frame Type----------------------------------Novell/----------------------------Cisco
  Ethernet Version 2:-----------------------Ethernet_II/--------------------arpa
  802.3------------------------------------------ Raw:Ethernet_802.3/novell_ether
  IEEE 802.3/802.2:-------------------------Ethernet_802.2/-------- --------sap
  IEEE 802.3/802.2 SNAP:------------------ETHERNET_SNAP/--------------snap


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-670896-1-1.html 上篇帖子: Ethernet V2、802.3SAP、802.3SNAP 下篇帖子: SAP中配置“特别总帐标志” SGL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表