乙太网数据包
乙太网是目前套用最为广泛的网路传输方式,已经得到企业和用户的普遍认可,成为宽频接入的首选技术。计算机网路在传输数据时,为了保证所有共享网路资源的计算机都能公平、迅速地使用网路,通常把数据分割成若干小块作为传输单位进行传送,这样的传输单位我们通常称之为包,也叫“数据包”。乙太网数据包就是在乙太网中传输的数据包。
基本介绍
- 中文名:乙太网数据包
- 外文名:Ethernet data packet
- 定义:数据分割成若干小块进行传输
- 目的:计算机公平、迅速地使用网路
- 特点:灵活、可靠、高效
- 领域:计算机网路、通信等
介绍
计算机网路在传输数据时,为了保证所有共享网路资源的计算机都能公平、迅速地使用网路,通常把数据分割成若干小块作为传输单位进行传送,这样的传输单位我们通常称之为包,也叫“数据包”。乙太网数据包有四种分类,接下来一一介绍。
1.Ethernet II协定简介:乙太网是当今现有区域网路採用的最通用的通信协定标準。该标準定义了在区域网路中採用的电缆类型和信号处理方法。EthernetII由DEC,Intel和Xerox在1982年公布其标準,Etherent II协定主要更改了EthernetI的电气特性和物理接口,在帧格式上并无变化。Etherent II採用CSMA/CD的媒体接入和广播机制。
2.Ethernet 802.2协定简介:Ethernet 802.2协定是IEEE正式的802.3标準,它由Ethernet II发展而来。实质是Ethernet802.2将EthernetII帧头的协定类型栏位替换为帧长度栏位,并加入了LLC-802.2头,用以标记上层协定。LLC头包含目的服务访问点(DSAP)、源服务访问点(SSAP)和控制(Control)栏位。
3.Ethernet 802.3协定简介:Ethernet802.3是1983年Novell发布其Netware/86网路套件时採用的私有乙太网帧格式,该格式以当时尚未正式发布的 IEEE802.3标準为基础;但是当两年以后IEEE正式发布802.3标準时情况发生了变化(IEEE在802.3帧头中又加入了802.2LLC 头),这使得Novell的Ethernet 802.3协定与正式的IEEE 802.3标準互不兼容;Ethernet802.3只支持IPX/SPX协定,是目前所用的最普通的一种帧格式,在802.2之前是IPX网路事实上的标準帧类型。
4.Ethernet SNAP协定简介:Ethernet SNAP协定是IEEE为保证在802.2LLC上支持更多的上层协定的同时更好地支持IP协定而发布的标準,与802.3/802.2 LLC一样802.3/802.2SNAP也带有LLC头,但是扩展了LLC属性,新添加了一个2位元组的协定类型域(同时将SAP的值置为AA),从而使其可以标识更多的上层协定类型;另外添加了一个3位元组的厂商代码栏位用于标记不同的组织。RFC 1042定义了IP报文在802.2网路中的封装方法和ARP协定在802.2SANP中的实现方法。
传输方式
近年来,乙太网承载的信息量成倍增长,对传输频宽的需求更加迫切。早期通信运营商对通信基础设施上进行了很大的投入,大量採用了 SDH 和 PDH 等通信设备,这些设备提供了丰富的 E1 线路资源,但是由于当时技术的限制,很多没有提供乙太网线路接口。如果能利用这些现有电信 E1 通信资源来有效地传输乙太网业务, 就能节约通信基础设施建设成本,加快网路组建进度,增加用户覆盖範围。 目前採用的技术有 Ethernet over SDH 和 Ethernet over PDH,直接将乙太网数据映射进 SDH 或 PDH 设备内的虚容器中,特点是传输开销少、实现简单,但设备複杂,实现成本较高,难以普及,不便用于广大普通用户的接入。还有一种简单的解决方案是乙太网网桥,优点是技术简单,成本低廉,利用一路 E1 电路提供乙太网接入,但是随着宽频业务的飞速发展,需要传输的乙太网的数据量越来越大, 传统的单路 E1 乙太网网桥很难满足广大用户的需求。 这里提出了一种乙太网数据包分段传输技术来解决这种问题。
技术原理
乙太网数据包分段传输技术系统主要由乙太网物理层、E1 线路接口单元以及FPGA三部分实现。 乙太网物理层採用的是 100M/10M 自适应物理层晶片,主要功能是把乙太网物理层信号转换为 MAC 层的MII 信号送给 FPGA, 并把 FPGA 产生的乙太网MAC信号转换为物理层信号传送出去。E1 线路接口分为接收端和传送端, 接收端的主要功能是从 E1 线路中恢复时钟,进行时钟抖动衰减处理,提取数据,然后对数据进行 HDB3 解码;传送端的主要功能是对传送数据进行 HDB3 编码,脉冲成型以及线路驱动。 FPGA 承担了技术最主要的处理和转换功能,分成 2 个模组,第一个模组是乙太网数据包分段模组,第二个模组是乙太网数据包恢复模组。
乙太网数据包分段模组的主要功能是把乙太网数据包分成数据包段落,并为每个数据包段落添加段落开销, 组成乙太网数据包段落 (Ethernet Package Paragraph,EPP)然后进行 HDLC 封装,通过 E1 线路接口传送出去。模组在 FPGA 内部实现,分为 4 个部分,分别是数据包接收存储单元、数据包分段及开销插入单元、E1 线路接口检测单元、HDLC 封装单元。
乙太网数据包恢复模组的功能是从 E1 数据流中将 HDLC 封装的 EPP 提取出来,然后根据 EPP 中的段落开销将 EPP 恢复成乙太网数据包,通过乙太网物理层传送出去。 模组在 FPGA 内部实现,分为 4 部分,即HDLC 检测单元、EPP 调度单元、数据包恢复单元和数据包排队传送单元。
技术特点
总体来说,这项技术具有以下特点:
①灵活: 不需要改变乙太网和 E1 线路的现有结构,只需在用户终端加入一个转换设备。 技术可以根据现有的 E1 线路资源将乙太网数据包分段成一定长度、一定数量的 EPP,并且每个 EPP 的长度可以不相同,这样可以充分利用现有的 E1 通信线路资源。
②可靠:不改变原来的乙太网协定和乙太网包的内容,只是对乙太网数据包进行了分段以及封装。 接收时可以从接收到任意的 EPP 开始恢复乙太网数据包。技术对EPP中的开销採用了CCITT 标準的CRC16 校验,并且对恢复出来的完整乙太网数据包进行 CRC32 校验,确保恢复出来乙太网数据包的正确性。
③高效:对每个 EPP 添加7个位元组的 EPP开销,选择适当的分段长度分割乙太网数据包,可以使开销所占的比例很小。
捕获技术
介绍
目前有两种方法可以从网路中捕获数据包,一种是採用专用硬体,另一种是利用普通计算机与网路连线的通用硬体——网路适配器,即网卡,由软体来完成数据包的捕获。虽然由软体来捕获数据包的方法在性能上比不上专用硬体,但其实现成本相对更低,且易于修改和更新。基于以上原因,採用软体的捕获方法得到了广泛的使用和认同。
从网路捕获数据包是所有网路安全产品实现中非常重要的一环,它是安全产品其它功能的基础,而实现网路捕包的一个最重要的条件就是要能够接收网路上所有的数据包。要满足此条件就必须了解数据包在网路上的传输方式。计算机网路从传输方式的角度分为两类:採用点到点连线的网路和採用广播方式的网路。广域网中一般採用点到点连线方式,而几乎所有的区域网路都以广播方式作为通信的基础,网上的站点共享信道,一个站点发出的数据包,其他站点均能收到,也就是说,任一台计算机都可以接收到网路中同一个共享域的所有的数据通讯。
实现原理
在乙太网上通讯的每张网卡上都拥有一个全球唯一的物理地址,也叫 MAC 地址。该地址是一个 48 比特的二进制数。在乙太网卡中内建有一个数据包过滤器。该数据包过滤器的作用是保留以本身网卡的 MAC 地址为通讯目的的数据包和广播数据包,丢弃所有其它无关的数据包,以免 CPU 对无关的数据报作无谓的处理。这是乙太网卡在一般情况下的工作方式。因此在正常情况下,一个合法的网路接口应该只回响这样的两种数据包(帧):
①帧的目标地址具有和本地网路接口相匹配的硬体地址。
②帧的目标地址是“广播地址”(代表所有的接口地址),格式为“FF- FF- FF- FF- FF- FF”。
在接收到上面两种情况的数据帧时,网卡通过 CPU 产生中断,作业系统进行中断处理后将帧中包含的数据传送给上层系统进行进一步处理。在其他情况下数据帧将被丢弃而不作处理。
要想捕获到流经网卡的不属于本主机的数据,必须绕过系统正常工作的处理机制,直接访问网路底层。我们可以把网卡的状态设为“混杂”(promis cuous)模式,当网卡工作在这种“混杂”模式时,该网卡就具备了“广播地址”,它对所接收到的每一个帧都产生一个硬体中断以提醒作业系统处理流经该网卡上的每一个报文包。作业系统通过直接访问链路层,截获相关数据,由应用程式而非上层协定(如IP 层、TCP 层)对数据过滤处理,这样就可以捕获到流经网卡的所有数据。
数据包常规的传输路径依次为网卡、设备驱动层、数据链路层、网路层、传输层、最后到达应用程式。而包捕获机制是在数据链路层增加一个旁路处理,对传送和接收到的数据包做过滤、缓冲等相关处理,最后直接传递到应用程式。