热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数据链路层帧格式

一以太网帧发展历程:1980DEC,Intel,Xerox制订了EthernetI的标准;1982DEC,Intel,Xerox又制订了Ehterne
一  以太网帧发展历程:
1980 DEC,Intel,Xerox制订了Ethernet I的标准;
1982 DEC,Intel,Xerox又制订了Ehternet II的标准;
1982 IEEE开始研究Ethernet的国际标准802.3;
1983 迫不及待的Novell基于IEEE的802.3的原始版开发了专用的Ethernet帧格式;
1985 IEEE推出IEEE 802.3规范;
后来为解决EthernetII与802.3帧格式的兼容问题推出折衷的Ethernet SNAP格式。
(其中早期的Ethernet I已经完全被其他帧格式取代了所以现在Ethernet只能见到后面几种Ethernet的帧格式现在大部分的网络设备都支持这几种Ethernet的帧格式如:cisco的路由器在设定Ethernet接口时可以指定不同的以太网的帧格式:arpa,sap,snap,novell-ether)
 
二各种格式的帧结构:
@@Ehernet II帧结构:
帧头:6个字节的目的MAC地址和6字节的源MAC地址。2字节的类型字段,表示封装在数据中的数据类型。
数据:46-1500字节的数据字段。
帧尾:4字节的帧效验序列。
数据链路层帧格式
@@Novell Ethernet Frame帧结构:
帧头:6字节目的MAC地址和6字节源MAC地址。2字节长度字段表示数据字段的长度。两个0xFFFF字段表示这个帧是Novell Ethernet 的帧,占两个字节。
数据字段: 44-1498字节。
……
数据链路层帧格式

IEEE 802.3帧结构:
DSAP(destation service access point)
SSAP(source service  access point )
SAP 表示帧的上层协议。
 
数据链路层帧格式
Ethennet SNAP Frame:

数据链路层帧格式
 
总结:
Ethernet II和IEEE802.3是局域网里最常见的帧:
Ethernet II可以装载的数据长度是46---1500;  
IEEE802.3 SAP可以装装的数据长度是43---1497; 
IEEE 802.3 SNAP可以装载的数据长度是38---1492.
Ethernet II不提供MAC层的数据填充功能;
IEEE802.3 SAP和SNAP都提供数据填充功能.
因些,我们可以得出这样的结论:
Ethernet II比IEEE802.3 SAP和SNAP更适合于传输大量的数据,但Ethernet II缺乏对数据链路层的控制,不利于传输需要严格传输控制的数据.
实际中,我们会发现,大多数应用程序的以太网数据包都是Ethernet II帧的(如HTTP/Telnet/FTP/SMTP/POP3等应用),而交换机之间的BPDU是采用IEEE802.3 SAP帧,VLAN Trunk协议802.1Q和Cisco CDP都是采用IEEE802.3 SNAP帧.
顺便提供一下各种Ethertype(以太网类型)和SAPs(服务访问点):
Ethertype 值          SAPs 值
Netware  8137         Netware 10,E0
XNS 0600,0807         XNS 80
IP 0800               IP 06
ARP 0806              NetBIOS F0
RARP 8035             BPDU 42
IP(Wines) 0BAD,80C4   SNA 04,05,08,0C
DRP 6003              X.25 7E
LAT 6004 ISO 20,34,EC,FE,14,54
LAVC 6007                SNAP AA
ARP(AppleTalk)           80F3 

推荐阅读
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • Python第三方库安装的多种途径及注意事项
    本文详细介绍了Python第三方库的几种常见安装方法,包括使用pip命令、集成开发环境(如Anaconda)以及手动文件安装,并提供了每种方法的具体操作步骤和适用场景。 ... [详细]
  • 在创建新的Android项目时,您可能会遇到aapt错误,提示无法打开libstdc++.so.6共享对象文件。本文将探讨该问题的原因及解决方案。 ... [详细]
  • 本文介绍如何使用 Android 的 Canvas 和 View 组件创建一个简单的绘图板应用程序,支持触摸绘画和保存图片功能。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 本文详细解析了Java中hashCode()和equals()方法的实现原理及其在哈希表结构中的应用,探讨了两者之间的关系及其实现时需要注意的问题。 ... [详细]
  • 中科院学位论文排版指南
    随着毕业季的到来,许多即将毕业的学生开始撰写学位论文。本文介绍了使用LaTeX排版学位论文的方法,特别是针对中国科学院大学研究生学位论文撰写规范指导意见的最新要求。LaTeX以其精确的控制和美观的排版效果成为许多学者的首选。 ... [详细]
  • 本题探讨了在大数据结构背景下,如何通过整体二分和CDQ分治等高级算法优化处理复杂的时间序列问题。题目设定包括节点数量、查询次数和权重限制,并详细分析了解决方案中的关键步骤。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • 本文详细探讨了 org.apache.hadoop.ha.HAServiceTarget 类中的 checkFencingConfigured 方法,包括其功能、应用场景及代码示例。通过实际代码片段,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 深入理解Java字符串池机制
    本文详细解析了Java中的字符串池(String Pool)机制,探讨其工作原理、实现方式及其对性能的影响。通过具体的代码示例和分析,帮助读者更好地理解和应用这一重要特性。 ... [详细]
author-avatar
mobiledu2502890917
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有