当前位置:文档之家› 以太网帧格式

以太网帧格式

以太网帧格式
以太网帧格式

///定义IP头

struct IpHeader

{

BYTE Version:4; //IP协议版本号

BYTE hLen:4; //IP报头长度,以每四个字节为一单位

BYTE Tos; //服务类型字段

WORD TotalLen; //IP数据报总长度,以字节为单位

WORD Ident; //分段标识符

WORD FragAndFlags; //分段偏移量

BYTE TTL; //生命周期

BYTE Proto; //协议字段,表示放在此IP数据报中传送的是何种协议的数据WORD CkSum; //校验和

DWORD SourceIP; //源IP地址

DWORD DestIP; //目的IP地址

};

///定义IP选项头

struct IpOptionHeader

{

BYTE DupliFlag:1; //复制标志

BYTE OptionClass:2; //选项类

BYTE OptionNum:5; //选项号

BYTE Len; //IP选项的长度

BYTE Ptr; //指针

BYTE Fill; //选充字段

};

///定义ICMP报文头

struct ICMPHeader

{

USHORT iType:8; //报文类型

USHORT iCode:8; //报文说明

WORD iCkSum; //整个ICMP报文的校验和

WORD iID; //标识ID

WORD iSeq; //标识序号

};

基于IP寻址的多媒体通信网(2)

蒋林涛

这一讲介绍基于IP寻址的多媒体通信网的通信协议。IP寻址的通信网是基于TCP/IP协议的,因此IP协议和TCP协议是IP网中的一对重要协议,同时为了能保证实时业务在IP网中很好运行,还需要使用实时传送协议(协议RTP)和实时传送控制协议(RTCP)。为了给实时业务或其它特定业务提供足够宽的通道,还要用到资源预留协议(RSVP)。这5个通信协议是IP网的主要通信协议(四层以下),它是IP网的通信基础,IP网的所有业务基本都是在这些通信协议的基础上建立起来的。

1 IP协议

TCP/IP协议是为包含多种物理网技术而设计的,而这种包容性主要体现在IP层当中。我们知道,各种网络技术的帧格式、地址格式等上层协议可见的因素差别很大,设置IP层的重要思想之一就是通过IP协议向上层(TCP/IP 等)提供统一的IP数据报和IP地址,使得各种物理帧的差异性对上层协议不复存在,从而达到屏蔽低层细节提供一致性向上接口的目的。

IP协议主要涉及两个方面的内容:第一是IP层的数据报传输机制和IP 层的无连接服务;第二是IP数据报的数据格式。

1.1 IP数据报传输机制

IP数据报传输是一种简洁而有效的分组交换方式,为了达到最高传输速率,它放弃了可以放弃的任何可靠性工作(如检错、重传等),能尽快将数据报传往信宿。IP数据报传输的关键问题是分片和重组。分片是为了适应物理网的最大传输单元(MTU),重组则反之。数据报传输的另一关键问题是数据报延时控制,数据报传输的一大特点是随机寻径,因而从信源到信宿的延时也具有随机性。由于某种原因数据报会进入一条循环路径,无休止地在网中流动,这种情况应给予控制,IP数据报采用“生存时间法”来进行控制。

1.2 IP数据报的数据格式

IP数据报的数据格式如图1所示。

IP数据报分为报头和数据区两部分,报头是为网络提供一系列信息供寻址等使用,数据区则是放置用户数据的。在IP数据报中报头长为24B,这24B 又分为若干个字段,每一个字段有其特定的含义。下面对各字段的功能作逐一描述。

IP数据报中第一个字段为“版本”字段,其长度为4bit,代表IP协议的版本号,目前使用的版本号为“4”。

第二个字段为“报头长度”,其长度为4bit,它指出字长为32bit的报头长度。在图1中IP数据报除IP选项字段和填充字段外,其它各字段均为定长字段。各定长字段的长度和为20B,这样不含选项的IP报的报头长度为“5”;一个含选项的IP数据报的报头长度则取决于选项的长度。但是报头必须是32bit 的整数倍,否则用“0”来填充。

第三个字段为“服务类型”字段,其长度为8bit,其结构如图2所示。

在“服务类型”数据字段中,前3个bit(0~2)为优先级,共有“0”~“7”8个优先级,其中“0”为一般用户优先级,“7”为网络控制优先级。

D、T、R 3位表示本数据报所希望的传输类型。其中,D比特置位代表要求网络能提供低的时延,T比特置位代表要求网络能提供高的吞吐量,R比特置位表示要求网络提供高的可靠性。目前这些比特位只是用户要求,对网络不具有强制性。与之相似的是优先级同样对网络没有强制性,而目前大多数网络对此一般不作处理。但服务类别的字段是很重要的,它为今后业务的发展保留了进一步采用必要技术的手段。

第四个字段为“总长”字段,其长度为16bit。它指示整个IP数据报的长度,以字节为单位。由于该字段为16bit长,因而IP包的最大长度可达216--1=65535B≈64kB。

第五、六、七3个字段是用于分片和片的重组。因为在各种不同物理网中,对帧的大小有不同的规定(即对每一个物理网都有一个最大传输单元MTU

的规定),很显然一个IP包的尺寸不可能正好等于一个MTU的尺寸,这时在发送时,IP包要进行分片装入MTU中进行发送,在接收时要将片进行重组还原成IP包。第五、六、七3个字段就是为此目的而设计的。

第八字段为“生存时间”,其长度为8bit。它表示一个数据报的生存时间,单位为s。其主要用途是防止数据报在网内的一条循环路径中无休止地流动,白白浪费网络资源。数据报生存期一到,该数据报即从网内删除。

第九字段为“协议”,其长度为8bit,它表示本数据报内数据区中数据采用的协议,即它表示数据区内数据的格式(如TCP、VDP等)。

第十字段是“报头检验和”,长度为16bit。其作用是以此保证报头的完整性和正确性。

第十一字段是“信源IP地址”,第十二字段是“信宿IP地址”,其长度均为32bit。这两个地址分别表示本IP数据报发送者(信源)和接收者(信宿)的地址,在整个数据的报传输过程中,无论经过什么路径,无论怎样分片,这两个字段均保持不变。

其它还可以有一些选项字段如源路径、路径记录和时戳等。

在IP数据报的报头下,紧接的是用户数据字段,用户数据字段的最大长度为(2 16-1)B,这个字段放置的是用户真正要传送的信息数据。

2 TCP协议和UDP协议

在IP网中运输层有两个并列的协议:TCP(运输控制协议)和UDP(用户数据报协议)协议。TCP是面向连接的,它提供高可靠性服务;UDP是无连接的,它提供高效率的服务。高可靠性的TCP用于一次传输要交换大量报文的情况(如:文件传输、电子信箱、远程登录等),高效率的UDP用于一次交换少量报文或实时性要求较高的信息(如:IP电话、会议系统、交易型应用及一些管理和控制信息)。

2.1 UDP协议

用户数据报协议UDP(User Datagram Protocal)建立在IP协议之上,同IP协议一样提供无连接数据报传输。它不提供可靠性通信服务,而是提供高效及时的用户数据报服务。相对于IP协议,它唯一增加的能力是提供协议端口,以保证进程通信。UDP报文的格式如图3所示。

从报文的格式可以看出,报头是很小的(仅8B),因而UDP的报文效率是很高的。

2.2 TCP协议

运输控制协议TCP是运输层的另一个协议,除了提供和UDP一样的进程通信能力外,其主要特点是可靠性很高。其主要工作是:连接管理、流量控制和崩溃恢复等。

TCP协议是建立不可靠的IP协议之上的,IP协议不可能提供任何可靠性

机制,因此TCP的可靠性完全由自身来实现。TCP协议采用的最基本可靠性技术是:确认与超时重传、流量控制和拥塞控制。

(1)确认与超时重传

TCP流的特点是无结构的字节流,流中数据是一个个字节构成的序列,而无任何可供解释的结构,因而TCP的段是可变长度的。TCP协议中的确认和重传机制是所谓的“累计确认”,即TCP协议中的确认是针对流中的字节,而不是段。一般情况下,接收方确认的是已正确收到的字节流,每一个确认指出下一个希望接收的字节。

累计确认的优点之一是在变长段传输方式下不会产生二义性;另一个优点是确认丢失后不一定导致重传。累计确认的缺点是发送方不能获得关于所有成功的段传输的信息。累计确认和超时重传提供了一定的数据传送可靠保证。

(2)TCP的拥塞控制

在IP网中,拥塞是由于路由器中的数据超载而引起的,是网络能力不足的表现。一旦发生拥塞,路由器将会抛弃一定量的数据报,从而导致重传,大量的重传又会进一步加强拥塞。这种恶性循环有可能导致整个网无法正常工作。因此,简单地采用确认超时重传技术并不能完全解决可靠性传输问题。TCP还必须提供适当机制以进行拥塞控制。TCP的拥塞控制也是基于滑动窗口协议的,通过限制发送端滑动窗口的尺寸而达到控制拥塞的目的。

具体地说,TCP通过控制发送窗口的大小来控制拥塞。决定发送窗口大小的因素有两个:第一是接收方约定的窗口大小,第二是发送端的拥塞窗口的限制。发送窗口的大小是取两者之中的最小者。在非拥塞状态下,拥塞窗口和接收方通告窗口的大小相等。一旦发现拥塞,TCP将减小拥塞窗口。为了迅速抑制拥塞,拥塞窗口以几何级数减小;拥塞结束,则采用算术级数来恢复窗口直到拥塞窗口等于接收方通告的窗口。

采用以上这些技术后,就可以很好地解决可靠性传输问题。

TCP段是不定长的,为提高传输效率,TCP软件往往要收集到足够的数据后才发送一段,这种方式在实时性要求很高的场合是不适用的。为此,TCP提供强迫数据传输机制。TCP向应用程序提供“PUSH”操作,以强迫传输当前流中的数据不必等待缓冲区满。当TCP软件中收到PSH操作报文后,将段头中PSH位置

“1”,并迅速将本段发送出去。接收端收到PSH位置1的一段后,立即将它交给应用程序。

数据经“PUSH”操作后,能得到最及时的传输。

图4是TCP的报文格式。

3 RTP和RTCP协议

实时传送协议(Real Time Protocol)提供具有实时特征的、端到端的数据传送服务,可以用来传送声音和运动图像数据。在这项数据传送服务中包含了装载数据的标识符、序列计数、时戳和传送监视。通常RTP的协议元是用UDP 协议元来装载的,并利用UDP的复用、校验和来实现RTP的复用。如图5所示。

如果支持它的网络能提供组播(multicast)功能,则RTP也可用组播将数据送给多个目的用户。

必须注意的是,RTP没有提供任何确保按时传送数据的机制,也没有提供任何质量保证的机制,因而要实现服务质量(QoS)必须由下层网络来提供保证。同样必须注意的是,RTP同样不保证数据包按序号传送,即使在下层网络能使保证可靠性传送的条件下,也不保证数据包按序号传送。包含在RTP中的序号可供接收方用于重构数据包序列,也可用于包的定位。

在RTP中,复用是由目的传送地址(网络地址和端口号)来提供的,一个传送地址定义了一个RTP会话。例如,在一个会议中包含有编码的音频码流和视频码流是分别用不同的RTP会话(一般用同一个目的地网络地址和不同的端口号来确定不同的传送地址)来传送,而不是用载荷类别或SSRC字节作区分而在单一个RTP会话中来进行复用传送。

固定报头的RTP报文的结构如图6所示。

RTP报头中的的字母含义如下:

V:版本;P:填充;X:扩展;CC:CSRX计数;M:标字。

RTP协议是用户携带具有实时特征的数据,与之作为配套的另一个协议是RTCP协议。RTCP是RTP的控制协议,它用于监视服务质量和正在进行的与会者会话上传递信息。

RTCP的基本做法是周期性地向会话的所有参加者进行通信,采用和数据包分配传送的相同机制来发送控制包。和RTP协议相同,RTCP协议也要求下层协议提供复用手段(如,要UDP提供不同的端口号来实现复用)。RTCP有4个

功能:

(1)它的最主要的功能是用反馈信息的方法来提供分配数据的传送质量。这种反馈可用来进行流量的拥塞控制,也可以直接用来监视网络,用来诊断网络中出现的问题。这种反馈功能由RTCP中的接收者报告和发送者报告来实现。

(2)它的第二项功能是为一个RTP源携带一个永久性的被称为规范性名字(CNAME)的传送层标识符。这是因为在发现冲突或者在程序更新启动后SS-RC可能会改变,而接收者为了保持一个与会者的运作痕迹就需要一个CNAME,另外在一组相关的会话中接收方也需要用CNAME从一个给定的与会者中得到相联系的数据流,举例来说接收方要用CNAME来获得同步的音频和视频码流。

(3)前面两项功能是需要所有与会者发送RTCP包。为了能使RTP有大量的与会者,单位时间段内RTCP包发送次数必须受到控制。每一个与会者可以独立地去观察与会者的数量,根据与会者的数量来调整RTCP包的发送率。

(4)第四个功能是一个可选功能,可以用来传送很小的会话控制信息,如可用来在用户接口去显示与会者标识(身份)。

其中1~3项功能是RTCP必备功能,而第四项功能为可选功能。

RTCP包的类型有下述多种:

SR:发送者报告。

RR:接收者报告。

SDES:源描述条款,其中包括CNAME。

BYE:指示与会者退出。

APP;应用的特定功能。

每一个RTCP包都以和RTP数据报的固定部分类似的结构开始,后随的结构单元和RTCP包的类型相似,其长度随类型不同而不同,但都是32bit的整数倍。

作为一个例子,图7给出发送者报告的RTCP包的报文结构。

4 RSVP协议

RSVP是一个资源预约协议,提供一种有效的资源预约方式,可以有效地描述应用程序对资源的需求。RSVP建立在IP协议之上,可以利用IP数据报传输RSVP消息。RSVP是一个单工协议,只在一个方向上预订资源。特别的,RSVP 是一个面向客户端协议,由信宿负责资源预订,可以满足点到多点群通信中客户端异构的需求,每个客户端可以预订不同数量的资源,接收不同的数据流。RSVP 还提供了动态适应成员关系的变化和动态适应路由变化的能力。RSVP可以满足大型点到多点通信群的资源预订需求。为了建立并维护分组数据传输通道中各个交换机的状态,RSVP建立了一个信宿树。信宿树以信宿为根结点,以信源为叶结点,信源和信宿之间的通道作为树的分支。资源预订消息由信宿开始,沿信宿树传输到各个信源结点。

资源预订的产生和维护过程如下。

在每个数据源开始传输数据之前,首先发一个包含数据源流量规范的消息,当中间交换机(路由器)接收到此消息后,建立并维护一个包括输入(incoming)和输出(outcoming)接口的通道状态表。当一个客户端收到消息

后,根据数据源流量规范,发送一个预订消息,该预订消息沿着信宿树到达各个用户,在预订消息经过的路由上,各个交换机可以拒绝该预订,并将拒绝消息传送回客户端,丢弃该预订。如果预订消息到达信源,资源预订过程完成。在接收各个信宿的预订消息后,各个中间交换机(路由器)可以将同一个点到多点群(multicast group)中的资源请求合并。为了维护各个中间结点的通道状态,需要周期性地沿着信宿树传输刷新消息。当客户端确定终止连接时,可以发出一个通道撤消消息,释放网络的通道状态和预订资源。

RSVP具有以下特点:

(1)RSVP由客户端启动一个资源预订过程,可以满足各个客户端的异构和动态成员关系的变化。

(2)资源预订和分组过渡分离,满足信道动态变化的需求。

(3)动态适应路由变化,自动修正点到点、点到多点路由的变化。

(4)将路由协议和资源预订分开,可以充分利用已有任何点到点和点到多点的路由协议,使协议设计更通用化。

.4.2.1. TCP matches

TCP matches只能匹配TCP包或流的细节,它们必须有--protocol tcp作为前提条件。

Table 6-5. TCP matches

6.4.2.2. UDP matches

UDP matches是在指定--protocol UDP时自动装入的。UDP是一种无连接协议,所以在它打开、关闭连接以及在发送数据时没有多少标记要设置,它也不需要任何类型的确认。数据丢失了,就丢失了(不会发送ICMP错误信息的)。这就说明UDP matches要比TCP matches少多了。即使UDP和ICMP是无连接协议,状态机制也可以很好的工作,就象在TCP上一样,这在前面讨论过。

Table 6-6. UDP matches

6.4.2.3. ICMP matches

ICMP协议也是无连接协议,ICMP包更是短命鬼,比UDP的还短。ICMP协议不是IP协议的下属协议,而是它的辅助者,其主要作用是报告错误和连接控制。ICM P包的头和IP的很相似,但又有很多不同。这个协议最主要的特点是它有很多类型,以应对不同的情况。比如,我们想访问一个无法访问的地址,就会收到一个ICMP host unreachable信息,它的意思是主机无法到达。在附录ICMP类型里有完整的ICMP类型列表。虽然有这么多类型,但只有一个 ICMP matche,这就足够对付它们了。这个matche是在指定--protocol ICMP时自动装入的。注意所有的通用匹配都可以使用,这样我们就可以匹配ICMP包的源、目地址。

Table 6-7. ICMP matches

以太网帧的封装实验

实训报告以太网帧的封装实验 1.实训目的 1)观察以太网帧的封装格式 2)对比单播以太网帧和广播以太网帧的目标MAC地址 2.实训拓扑图 以太网帧实验拓扑 PC IP地址子网掩码 PC0 PC1 PC2 PC3 3.主要操作步骤及实训结果记录 (1)任务一:观察单播以太网帧的封装 步骤1:准备工作 打开对应文件,完成初始化,删除练习文件中预设场景 步骤2:捕获数据包 进入Simulation模式。添加数据包,单击auto capture/play捕获数据包,再次单击停止捕获 步骤3:观察以太网帧的封装格式 步骤4:观察该广播包的以太网封装

DEST MAC: MAC: 步骤4:观察交换机是否会修改以太网帧各字段取值 DEST MAC:MAC:

(2)任务二:观察广播以太网帧的封装 步骤1:捕获数据包 Pc0数据帧被交换机转发给pc1、pc2、pc3(所有节点),pc1、pc2、pc3(所有节点)接收该广播帧。 步骤2:观察该广播包的以太网封装 DEST MAC:字段的取值: MAC字段取值的含义:广播地址。

4.实训结果分析及心得体会 (1)任务一中,观察到以太网帧封装格式中前导字段的取值是什么阐述其在数据帧传输过程中的作用。 答:任务一中,前导码字段取值为···1010;以太网使用曼彻斯特编码传输数据,其特征是每个码元中间有一次电压的跳变,用于接收方提取同步信号,以太网帧中的前导码有何作用前导码是为了隔离每个以太网帧的,也是定位符。因为以太网是变长的,所以每个帧之间需要前导来区分。 (2)任务一中,Switch0转发数据帧时是否修改其源MAC地址和目标MAC地址 答:switch0转发给pc2地数据帧中源MAC地址和目标MAC地址并未进行修改。 (3)交换机接收数据帧后,依据什么判断该数据帧是单播还是广播或依据什么判断向哪个目标节点转发 答:交换机工作在数据链路层,依据数据帧中的目标MAC地址的取值判断数据帧是单播还是广播,依据目标MAC地址判断向哪个目标节点转发。

以太网帧格式

以太网帧格式 百科名片 现在的以太网帧格式 以太网帧格式,即在以太网帧头、帧尾中用于实现以太网功能的域。目录

编辑本段 编辑本段历史分类 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的协议类型字段+数据。 以太网帧格式 3.RAW 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标准互不兼容. 4.802.3/802.2 LLC 这是IEEE 正式的802.3标准,它由Ethernet V2发展而来。它将Ethernet V2帧头的协议类型字段替换为帧长度字段(取值为0000-05dc;十进制的1500);并加入802.2 LLC头用以标志上层协议,LLC头中包含DSAP,SSAP以及Crontrol字段. 5.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中的实现. 802.3以太网帧格式备注: 前导码(7字节)、帧起始定界符(1字节)、目的MAC地址(6字节)、源MAC地址(6字节)、类型/长度(2字节)、数据(46~1500字节)、帧校验序列(4字节)[MAC地址可以用2-6字节来表示,原则上是这样,实际都是6字节] 图2 IEEE802.3以太帧头

Ethernet帧结构解析..

实验一Ethernet帧结构解析 一.需求分析 实验目的:(1)掌握Ethernet帧各个字段的含义与帧接收过程; (2)掌握Ethernet帧解析软件设计与编程方法; (3)掌握Ethernet帧CRC校验算法原理与软件实现方法。 实验任务:(1)捕捉任何主机发出的Ethernet 802.3格式的帧和DIX Ethernet V2(即Ethernet II)格式的帧并进行分析。 (2)捕捉并分析局域网上的所有ethernet broadcast帧进行分析。 (3)捕捉局域网上的所有ethernet multicast帧进行分析。 实验环境:安装好Windows 2000 Server操作系统+Ethereal的计算机 实验时间; 2节课 二.概要设计 1.原理概述: 以太网这个术语通常是指由DEC,Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。几年后,IEEE802委员会公布了一个稍有不同的标准集,其中802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络;此三种帧的通用部分由802.2标准来定义,也就是我们熟悉的802网络共有的逻辑链路控制(LLC)。以太网帧是OSI参考模型数据链路层的封装,网络层的数据包被加上帧头和帧尾,构成可由数据链路层识别的数据帧。虽然帧头和帧尾所用的字节数是固定不变的,但根据被封装数据包大小的不同,以太网帧的长度也随之变化,变化的范围是64-1518字节(不包括8字节的前导字)。 帧格式Ethernet II和IEEE802.3的帧格式分别如下。 EthernetrII帧格式: ---------------------------------------------------------------------------------------------- | 前序| 目的地址| 源地址| 类型| 数据 | FCS | ---------------------------------------------------------------------------------------------- | 8 byte | 6 byte | 6 byte | 2 byte | 46~1500 byte | 4 byte| IEEE802.3一般帧格式 ----------------------------------------------------------------------------------------------------------- | 前序| 帧起始定界符| 目的地址| 源地址| 长度| 数据| FCS | ----------------------------------------------------------------------------------------------------------- | 7 byte | 1 byte | 2/6 byte | 2/6 byte| 2 byte| 46~1500 byte | 4 byte | Ethernet II和IEEE802.3的帧格式比较类似,主要的不同点在于前者定义的2字节的类型,而后者定义的是2字节的长度;所幸的是,后者定义的有效长度值与前者定义的有效类型值无一相同,这样就容易区分两种帧格式 2程序流程图:

以太网的帧结构

以太网的帧结构 要讲帧结构,就要说一说OSI七层参考模型。 一个是访问服务点,每一层都对上层提供访问服务点(SAP),或者我们可以说,每一层的头里面都有一个字段来区分上层协议。 比如说传输层对应上层的访问服务点就是端口号,比如说23端口是telnet,80端口是http。IP层的SAP是什么? 其实就是protocol字段,17表示上层是UDP,6是TCP,89是OSPF,88是EGIRP,1是ICMP 等等。 以太网对应上层的SAP是什么呢?就是这个type或length。比如 0800表示上层是IP,0806表示上层是ARP。我 第二个要了解的就是对等层通讯,对等层通讯比较好理解,发送端某一层的封装,接收端要同一层才能解封装。 我们再来看看帧结构,以太网发送方式是一个帧一个帧发送的,帧与帧之间需要间隙。这个叫帧间隙IFG—InterFrame Gap IFG长度是96bit。当然还可能有Idle时间。 以太网的帧是从目的MAC地址到FCS,事实上以太网帧的前面还有preamble,我们把它叫做先导字段。作用是用来同步的,当接受端收到 preamble,就知道以太网帧就要来了。preamble 有8个字节前面7个字节是10101010也就是16进制的AA,最后一个字节是 10101011,也就是AB,当接受端接受到连续的两个高电平,就知道接着来的就是D_mac。所以最后一个字节AB我们也叫他SFD(帧开始标示符)。 所以在以太网传输过程中,即使没有idle,也就是连续传输,也有20个字节的间隔。对于

大量64字节数据来说,效率也就显得不 1s = 1,000ms=1,000,000us 以太网帧最小为64byte(512bit) 10M以太网的slot time =512×0.1 = 51.2us 100M以太网的slot time = 512×0.01 = 5.12us 以太网的理论帧速率: Packet/second=1second/(IFG+PreambleTime+FrameTime) 10M以太网:IFG time=96x0.1=9.6us 100M以太网:IFG time=96x0.01=0.96us 以太网发送方式是一个帧一个帧发送的,帧与帧之间需要间隙。这个叫帧间隙IFG—InterFrame Gap 10M以太网:Preamble time= 64bit×0.1=6.4us 100M以太网:Preamble time= 64bit×0.01=0.64us Preamble 先导字段。作用是用来同步的,当接受端收到preamble,就知道以太网帧就要来了 10M以太网:FrameTime=512bit×0.1=51.2us 100M以太网:FrameTime=512bit×0.01=5.12us 因此,10M以太网64byte包最大转发速度=1,000,000 sec÷(9.6+6.4+51.2)= 0.014880952Mpps 100M以太网64byte包最大转发速度=1,000,000 sec÷(0.96+0.64+5.12)= 0.14880952Mpps

实验二使用Wireshark分析以太网帧与ARP协议

实验二使用Wireshark分析以太网帧与ARP协议 一、实验目的 分析以太网帧,MAC地址和ARP协议 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。 三、实验步骤: IP地址用于标识因特网上每台主机,而端口号则用于区别在同一台主机上运行的不同网络应用程序。在链路层,有介质访问控制(Media Access Control,MAC)地址。在局域网中,每个网络设备必须有唯一的MAC地址。设备监听共享通信介质以获取目标MAC地址与自己相匹配的分组。 Wireshark 能把MAC地址的组织标识转化为代表生产商的字符串,例如,00:06:5b:e3:4d:1a也能以Dell:e3:4d:1a显示,因为组织唯一标识符00:06:5b属于Dell。地址ff:ff:ff:ff:ff:ff是一个特殊的MAC地址,意味着数据应该广播到局域网的所有设备。 在因特网上,IP地址用于主机间通信,无论它们是否属于同一局域网。同一局域网间主机间数据传输前,发送方首先要把目的IP地址转换成对应的MAC 地址。这通过地址解析协议ARP实现。每台主机以ARP高速缓存形式维护一张已知IP分组就放在链路层帧的数据部分,而帧的目的地址将被设置为ARP高速缓存中找到的MAC地址。如果没有发现IP地址的转换项,那么本机将广播一个报文,要求具有此IP地址的主机用它的MAC地址作出响应。具有该IP地址的主机直接应答请求方,并且把新的映射项填入ARP高速缓存。 发送分组到本地网外的主机,需要跨越一组独立的本地网,这些本地网通过称为网关或路由器的中间机器连接。网关有多个网络接口卡,用它们同时连接多个本地网。最初的发送者或源主机直接通过本地网发送数据到本地网关,网关转发数据报到其它网关,直到最后到达目的主机所在的本地网的网关。 1、俘获和分析以太网帧 (1)选择工具->Internet 选项->删除文件

以太网帧的封装与成帧设计

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2015年秋季学期 计算机通信课程设计 题目:以太网帧的封装与成帧设计 专业班级: 姓名: 学号: 指导教师:王慧琴 成绩:

摘要 从二十世纪八十年代开始,以太网就成为最普遍采用的网络技术,它统治着世界各地的局域网和企业骨干网,并且正在向局域网发起攻击。随着万兆以太网标准的提出,以太网为征服广域网、存储和宽带领域中的新领地做好了准备。以太网帧的封装和成帧是以太网快速迅猛发展的基础。本课题根据帧的具体结构,将帧结构中目的地址源地址等与数据一起进行封装并解析,构造一个具体的Ethernet帧,通过实现帧的封装和成帧,来了解网络通信协议的基本工作原理,掌握基本思路和方法。 关键词:以太网帧;封装;成帧;库函数

目录 前言 (1) 一、基本原理 (2) 1、以太网的工作原理 (2) 2、以太网帧格式的发展 (3) 3、 IEEE802.3帧结构 (4) 4、错检测 (5) 二、需求分析 (7) 三、系统设计与分析 (8) 1、系统分析 (8) 2、系统设计 (11) 以太网帧的封装 (12) 以太网帧的解析 (13) 四、系统结果 (15) 五、心得体会 (16) 六、参考文献 (17) 七、附录 (18)

前言 以太网这个术语通常是指由DEC、Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD 的媒体接入方法。在TCP/IP世界中,以太网IP数据报文的封装在RFC 894中定义。 1976年,梅特卡夫和他的助手David Boggs发表了一篇名为《以太网:局域计算机网络的分布式包交换技术》的文章。1977年底,梅特卡夫和他的合作者获得了“具有冲突检测的多点数据通信系统”的专利。多点传输系统被称为CSMA/CD(带冲突检测的载波侦听多路访问),从此标志以太网的诞生。

以太网帧格式 EthernetⅡ和ETHERNET 802.3 IEEE802.2.SAP和SNAP的区别

EthernetⅡ/ETHERNET 802.3 IEEE802.2.SAP/SNAP的区别 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的协议类型字段+数据。 常见协议类型如下: 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中所包含的字段:

在每种格式的以太网帧的开始处都有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四个段的内容.

以太网帧格式

以太网帧格式详解: Etherne II 报头8 目标地址6 源地址6 以太类型2 有效负载46-1500 帧检验序列4 报头:8个字节,前7个0,1交替的字节(10101010)用来同步接收站,一个1010101011字节指出帧的开始位置。报头提供接收器同步和帧定界服务。 目标地址:6个字节,单播、多播或者广播。单播地址也叫个人、物理、硬件或MAC地址。广播地址全为1,0xFF FF FF FF。 源地址:6个字节。指出发送节点的单点广播地址。 以太网类型:2个字节,用来指出以太网帧内所含的上层协议。即帧格式的协议标识符。对于IP报文来说,该字段值是0x0800。对于ARP信息来说,以太类型字段的值是0x0806。 有效负载:由一个上层协议的协议数据单元PDU构成。可以发送的最大有效负载是1500字节。由于以太网的冲突检测特性,有效负载至少是46个字节。如果上层协议数据单元长度少于46个字节,必须增补到46个字节。 帧检验序列:4个字节。验证比特完整性。 IEEE 802.3 根据IEEE802.2 和802.3标准创建的,由一个IEEE802.3报头和报尾以及一个802.2LLC报头组成。 报头7 起始限定符1 目标地址6(2)源地址6(2)长度2 DSAP1 SSAP1 控件2 有效负载3 帧检验序列4 -----------802.3报头--------------§- --802.2报头----§ §-802.3报尾-§

IEEE802.3报头和报尾 报头:7个字节,同步接收站。位序列10101010 起始限定符:1个字节,帧开始位置的位序列10101011。 报头+起始限定符=Ethernet II的报头 目标地址:同Ethernet II。也可以为2个字节,很少用。 源地址:同Ethernet II。也可以为2个字节,很少用。 长度:2个字节。 帧检验序列:4个字节。 IEEE802.2 LLC报头 DSAP:1个字节,指出帧的目标节点的上层协议。Destination Service Access Point SSAP:1个字节,指出帧的源节点的上层协议。Source Service Access Point DSAP和SSAP相当于IEEE802.3帧格式的协议标识符。为IP定义的DSAP和SSAP 字段值是0x06。但一般使用SNAP报头。 控件:1-2个字节。取决于封装的是LLC数据报(Type1 LLC)还是LLC通话的一部分(Type2 LLC)。 Type1 LLC:1个字节的控件字段,是一种无连接,不可靠的LLC数据报。无编号信息,UI帧,0x03。 Type2 LLC:2个字节的控件字段,是一种面向连接,可靠的LLC对话。 对IP和ARP,从不使用可靠的LLC服务。所以,都只用Type1 LLC,控件字段设为0x03。 区分两种帧 根据源地址段后的前两个字节的类型不同。 如果值大于1500(0x05DC),说明是以太网类型字段,EthernetII帧格式。值小于等于1500,说明是长度字段,IEEE802.3帧格式。因为类型字段值最小的是0x0600。而长度最大为1500。 IEEE802.3 SNAP 虽然为IP定义的SAP是0x06,但业内并不使用该值。RFC1042规定在IEEE802.3, 802.4, 802.5网络上发送的IP数据报和ARP帧必须使用SNAP(Sub Network Access Prototol)封装格式。 报头7 起始限定符1 目标地址6 源地址6 长度2 DSAP1 SSAP1 控件1 组织代码3 以太类型2 IP数据报帧检验序列 ----IEEE802.3报头-----------§IEEE8023 LLC报头---§--SNAP报头----§ §802.3报尾§ 0x0A 0x0A 0x03 0x00-00-00 0x08-00 (38-1492字节) Ethernet地址 为了标识以太网上的每台主机,需要给每台主机上的网络适配器(网络接口卡)分配一个唯一的通信地址,即Ethernet地址或称为网卡的物理地址、MAC 地址。 IEEE负责为网络适配器制造厂商分配Ethernet地址块,各厂商为自己生产的每块网络适配器分配一个唯一的Ethernet地址。因为在每块网络适配器出厂时,其Ethernet地址就已被烧录到网络适配器中。所以,有时我们也将此地址称为烧录地址(Burned-In-Address,BIA)。

各种不同以太网帧格式

各种不同以太网帧格式 利用抓包软件的来抓包的人,可能经常会被一些不同的Frame Header搞糊涂,为何用的Frame的Header是这样的,而另外的又不一样。这是因为在Ethernet中存在几种不同的帧格式,下面我就简单介绍一下几种不同的帧格式及他们的差异。 一、Ethernet帧格式的发展 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) 二、各种不同的帧格式 下面介绍一下各个帧格式 Ethernet II 是DIX以太网联盟推出的,它由6个字节的目的MAC地址,6个字节的源MAC地址,2个字节的类型域(用于表示装在这个Frame、里面数据的类型),以上为Frame Header,接下来是46--1500 字节的数据,和4字节的帧校验) Novell Ethernet 它的帧头与Ethernet有所不同其中EthernetII帧头中的类型域变成了长度域,后面接着的两个字节为0xFFFF用于标示这个帧是Novell Ether类型的Frame,由于前面的0xFFFF站掉了两个字节所以数据域缩小为44-1498个字节,帧校验不变。

计算机网络实验报告(以太网帧格式分析)

计算机网络实验报告 学院计算机与通信工程学院专业网络工程班级1401班 学号20姓名实验时间:2016.5.13 一、实验名称: FTP协议分析实验 二、实验目的: 分析FTP 报文格式和FTP 协议的工作过程,同时学习 Serv-U FTP Server服务软件的基本配置和FTP 客户端命令的使用。 三、实验环境: 实验室局域网中任意两台主机PC1,PC2。 四、实验步骤及结果: 步骤1:查看实验室PC1和PC2的IP地址,并记录,假设PC1的IP 地址为10.64.44.34,PC2的IP地址为10.64.44.35。 步骤2:在PC1上安装Serv-U FTP Server,启动后出现图1-20所示界面。 点击新建域,打开添加新建域向导,完成如下操作。 添加域名:https://www.doczj.com/doc/fb3256266.html,;设置域端口号:21(默认);添加域IP地址:10.28.23.141;设置密码加密模式:无加密,完成后界面如图1-21所示。 完成上述操作后,还需要创建用于实验的用户帐号。点击图1.20中

浮动窗口中的“是”按钮,打开添加新建用户向导:添加用户名:test1;添加密码:123;设置用户根目录(登陆文件夹);设置是否将用户锁定于根目录:是(默认);访问权限:只读访问,完成后界面如图1-22所示。 新建的用户只有文件读取和目录列表权限,为完成实验内容,还需要为新建的用户设置目录访问权限,方法为点击导航——〉目录——〉目录访问界面,然后点击添加按钮, 按照图1-23所示进行配置。 步骤3:在PC1 和PC2 上运行Wireshark,开始捕获报文。 步骤4:在PC2 命令行窗口中登录FTP 服务器,根据步骤2中的配置信息输入用户名和口令,参考命令如下: C:\ >ftp ftp> open To 10.28.23.141 //登录ftp 服务器 Connected to 10.28.23.141 220 Serv-U FTP Server v6.2 for WinSock ready... User(none): test1 //输入用户名 331 User name okay, need password. Password:123 //输入用户密码 230 User logged in, proceed. //通过认证,登录成功

计算机网络课程设计帧封装

课程设计 题目帧封装 学院计算机科学与技术学院专业软件工程专业 班级软件0902班 姓名 指导教师 2012 年 6 月20 日

课程设计任务书 学生:专业班级:软件0902班 指导教师:工作单位:计算机学院 题目一: 帧封装 初始条件: (1)学习相关知识 (2)C/C++/VC/VB/JAVA语言 (3)PC机一台 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 编写程序,根据给出的原始数据,组装一个IEEE802.3格式的帧(题目默认的输入文件为二进制原始数据(文件名为input1和input2))。 1)要求程序为命令行程序。比如,可执行文件名为framer.exe,则命令行形式如下: framer inputfile outputfile 其中,inputfile为原始数据文件,outputfile为输出结果。使用操作系统、语言、编程环境不限,但在报告中必须注明。 2)输出:对应input1和input2的结果分别为output1和output2。 时间安排: 第一、二天:查阅资料,学习算法 第三、四天:编程调试 第五天:书写报告 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1.引言 (4) 2.以太网帧格式的发展 (4) 3.IEEE802.3帧结构 (5) 4.错检测 (6) 5.实现步骤 (7) 5.1前导符 (7) 5.2目的地址及源地址 (7) 5.3长度及数据字段 (8) 5.4帧检验序列 (8) 6.源代码 (10) 7.运行结果示例 (17) 8.心得体会 (18) 9.参考文献 (19)

计算机网络课程设计报告 帧封装

课程设计报告 课程名称:计算机网络课程设计 设计题目:帧封装 姓名: 专业:计算机科学与技术 班级:计算机13-3班 学号:

计算机科学与技术学院 2016年1 月1 日 设计项目:帧封装 一、选题背景 以太网这个术语通常是指由DEC、Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。在TCP/IP世界中,以太网IP数据报文的封装在RFC894中定义。 以太网采用广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。通过查看包含在帧中的目标地址,确定是否进行接收或放弃。如果证明数据确实是发给自己的,工作站将会接收数据并传递给高层协议进行处理。 以太网采用CSMA/CD(Carrier Sense Multiple Access/Collision Detection)媒体访问机制,任何工作站都可以在任何时间访问网络。在以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。 帧是在数据链路层数据进行传输与交换的基本单位。构造帧对于理解网络协议的概念、协议执行过程以及网络问题处理的一般方法具有重要的意义。本次课程设计的目的是应用数据链路层与介质访问控制层的知识,根据数据链路层的基本原理,通过构造一个具体的Ethernet帧,从而深入理解网络协议的基本概念与网络问题处理的一般方法。

二.设计思路 数据在网络上是以很小的称为帧(Frame)的单位传输的,帧由几部分组成,不同的部分执行不同的功能。帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧已到达,然后对其进行存储。 “帧”数据大致由两部分组成:帧头和帧数据。帧头包括接收方主机物理地址的定位以及其它网络信息。帧数据区含有一个数据体。为确保计算机能够解释数据帧中的数据,这两台计算机使用一种公用的通讯协议。互联网使用的通讯协议简称IP,即互联网协议。IP 数据体由两部分组成:数据体头部和数据体的数据区。数据体头部包括IP源地址和IP目标地址,以及其它信息。数据体的数据区包括用户数据协议(UDP),传输控制协议(TCP),还有数据包的其他信息。这些数据包都含有附加的进程信息以及实际数据 以802.3的帧结构由六部分组成: 常用的以太网MAC帧格式用两种标准,一种是DIX Ethernet V2标准(即以太网V2标准),另一种是IEEE的802.3标准。这里只介绍符合IEEE802.3标准的帧,其格式如上图所示。

实验一 以太网数据帧的构成

【实验一以太网数据帧的构成】 【实验目的】 1、掌握以太网帧的构成,了解各个字段的含义; 2、能够识别不同的MAC地址并理解MAC地址的作用; 3、掌握网络协议分析器的基本使用方法; 4、掌握协议仿真编辑器的基本使用方法; 【实验学时】 4学时; 【实验类型】 验证型; 【实验内容】 1、学习协议仿真编辑器的五个组成部分及其功能; 2、学习网络协议分析器的各组成部分及其功能; 3、学会使用协议仿真编辑器编辑以太网帧,包括单帧和多帧; 4、学会分析以太网帧的MAC首部; 5、理解MAC地址的作用; 6、理解MAC首部中的LLC-PDU长度/类型字段的功能; 7、学会观察并分析地址本中的MAC地址; 8、了解LLC-PDU的内容; 【实验原理】 局域网(LAN)是在一个小的范围内,将分散的独立计算机系统互联起来,实现资源的共享和数据通信。局域网的技术要素包括了体系结构和标准、传输媒体、拓扑结构、数据编码、媒体访问控制和逻辑链路控制等,其中主要的技术是传输媒体、拓扑结构和媒体访问控制方法。局域网的主要的特点是:地理分布范围小、数据传输速率高、误码率低和协议简单等。 1、三个主要技术 ⑴传输媒体:双绞线、同轴电缆、光缆、无线。 ⑵拓扑结构:总线型拓扑、星型拓扑和环型拓扑。 ⑶媒体访问控制方法:载波监听多路访问/冲突检测(CSMA/CD)技术。 2、IEEE 802标准的局域网参考模型 IEEE 802参考模型包括了OSI/RM最低两层(物理层和数据链路层)的功能。OSI/RM的数据链路层功能,在局域网参考模型中被分成媒体访问控制MAC(Medium Access Control)和逻辑链路控制LLC(Logical Link Control)两个子层。由于局域网采用的媒体有多种,对应的媒体访问控制方法也有多种,为了使数据帧的传送独立于所采用的物理媒体和媒体访问控制方法,IEEE 802 标准特意把LLC 独立出来形成单独子层,使LLC子层与媒体无关,仅让MAC子层依赖于物理媒体和媒

以太网帧格式分析

实验报告 实验名称以太网帧格式分析 姓名学号实验日期 实验报告要求:1.实验目的 2.实验要求 3.实验环境 4.实验作业 5.问题及解决 6.思考问题 7.实验体会 【实验目的】 1.复习Wireshark抓包工具的使用及数据包分析方法。 2.通过分析以太网帧了解以太网数据包传输原理。 【实验要求】 用Wireshark1.4.9截包,分析数据包。 观察以太网帧,Ping同学的IP地址,得到自己和同学的mac地址。 观察以太网广播地址,观察ARP请求的帧中目标mac地址的格式。 用ping-l指定数据包长度,观察最小帧长和最大帧长。 观察封装IP和ARP的帧中的类型字段。 【实验环境】 用以太网交换机连接起来的windows 7操作系统的计算机,通过802.1x方式接入Internet。 【实验中出现问题及解决方法】 1.在使用命令行“ping -l 0 IP”观察最小帧长时抓到了长度为42字节的帧,与理论上最小帧长64字节相差甚远。通过询问教员和简单的分析,知道了缺少字节的原因是当Wireshark抓到这个ping请求包时,物理层还没有将填充(Trailer)字符加到数据段后面,也没有算出最后4字节的校验和序列,导致出现最小42字节的“半成品”帧。可以通过网卡的设置将这个过程提前。 2.在做ping同学主机的实验中,发现抓到的所有ping请求帧中IP数据部分的头校验和都是错误的。原本以为错误的原因与上一个问题有关,即校验和错误是因为物理层还没有将填充字符加到数据段后面。但是这个想法很快被证明是错误的,因为在观察最大帧长时,不需要填充字符的帧也有同样的错误。一个有趣的现象是,封装在更里层的ICMP数据包的校验和都是正确的。这就表明IP层的头校验和错误并没有影响正常通信。进一步观察发现,这些出错的头校验和的值都是0x0000,这显然不是偶然的错误。虽然目前还没有得到权威的答案,但是可以推测,可能是这一项校验实际上并没有被启用。作为中间层的IP头的意义是承上启下,而校验的工作在更需要的上层的IMCP包和下层MAC头中都有,因此没有必要多此一举。 【思考问题】 1.为什么可以ping到同宿舍(连接在同一个交换机上)的主机而ping不到隔壁宿舍的主机? 通常情况下,如果配置正确,设备都连接着同一个网络(互联网),而且没有防火墙等阻拦,就可以正常ping到同一网络中的任何主机。在第一次实验中,我们曾成功地ping到了https://www.doczj.com/doc/fb3256266.html,的IP。 在ping其他宿舍的IP时需要通过宿舍的交换机将ping请求先转发给楼层交换机,再由楼层交换机转发给目标IP所在的宿舍交换机。分析无法ping到隔壁宿舍主机的原因,很可能是楼层交换机设置了禁止内部ping的防火墙,阻止了本楼层交换机地址段内的主机相互ping对方。而同宿舍之所以可以相互ping 到,是因为ping请求没有经过楼层交换机,直接由宿舍交换机转发给了目标IP主机。 2.什么是ARP攻击? 让我们继续分析4.1 ARP原理,A得到ARP应答后,将B的MAC地址放入本机缓存。但是本机MAC 缓存是有生存期的,生存期结束后,将再次重复上面的过程。(类似与我们所学的学习网桥)。 然而,ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。 这时,我们假设局域网中的某台机器C冒充B向A发送一个自己伪造的ARP应答,即IP地址为B

Ethernet帧结构解析

计算机网络实验 学院:计算机科学与信息工程学院 班级: 学号: 2 姓名:

实验1 Ethernet帧结构解析 1. 需求分析 实验目的:掌握Ethernet帧各个字段的含义与帧接收过程; 掌握Ethernet帧解析软件设计与编程方法; 掌握Ethernet帧CRC校验算法原理与软件实现方法。 实验任务:实现帧解析的软件编程 实验环境:1台PC机 操作系统:Windows 7 开发环境:Visual Studio 2010。 1.1问题重述 根据给出的IEEE802.3格式的Ethernet帧结构,编写程序来解析并显示帧的各个字段值,并将得到的数据字段值组合写入输出文件。Ethernet帧数据从输入文件获得,默认文件为二进制数据文件。 2概要设计 2.1原理概述 TCP/IP支持多种不同的链路层协议,这取决于网络所使用的硬件,如Ethernet,令牌环网,FDDI(Fiber Distributed Data Interface,光纤分布式数据接口)等。基于不同的硬件的网络使用不同形式的帧结构,Ethernet是当今应用最广泛的局域网技术。 Ethernet V2.0的帧结构: 1.前导码和帧前定界符。

字段前导码由56位(7B)的101010...1010比特序列组成,帧前定界符由一个8位的字节组成,其比特序列为10101011。 如果将前导码与帧前定界符一起看,那么在62位101010...1010比特序列之后出现11。在这个11之后便是Ethernet帧的目的地址字段。从Ethernet物理层角度看,接收电路从开始接收比特到进入稳定状态,需要一定的时间。设计前62位1和0的交替比特序列的目的是保证接收电路在帧的目的地址到来之前到达正常状态。接收端在收到最后两位11时,标志在他之后应该是帧的目的地址。前导码与帧前定界符主要起到接收同步的作用,这8个字节接收后不需要保留,也不计入帧头长度。 2.目的地址和源地址。 目的地址与源地址分别表示帧的接收节点与发送节点的硬件地址。硬件地址一般称作MAC地址,物理地址或Ethernet地址。地址长度为6B(即48位)。为了方便起见,通常使用十六进制数字书写。 Ethernet帧的目的地址可分为3种: ●单播地址(unicast address):目的地址的第一位为0表示单播地址。 目的地址是单播地址,则表示该帧只被与目的地址相同的节点所接收 ●多播地址(multicast address):目的地址第一位为1表示多播地址。 目的地址是多播地址,则表示该帧被一组节点所接收。 ●广播地址(broadcast address):目的地址全为1表示广播地址。目的 地址是广播地址,则表示该帧被所有所有节点接收。 3.类型字段 类型字段表示的是网络层使用的协议类型。常见的协议类型:0800表示网络层使用IP协议,0806表示网络层使用ARP协议,8137表示网络层使用Novell IPX协议,809b表示网络层使用Apple Talk协议。 4. 数据字段

计算机网络课程设计-帧封装

课程设计 】 题目帧封装 学院计算机科学与技术学院 专业软件工程专业 班级 ? 软件0902班 姓名 指导教师 [ 2012年6月20日'

课程设计任务书 学生姓名:专业班级:软件0902班 指导教师:工作单位:计算机学院 题目一: 帧封装 初始条件: (1)学习相关知识 " (2)C/C++/VC/VB/JAVA语言 (3)PC机一台 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 编写程序,根据给出的原始数据,组装一个格式的帧(题目默认的输入文件为二进制原始数据(文件名为input1和input2))。 1)要求程序为命令行程序。比如,可执行文件名为,则命令行形式如下: framer inputfile outputfile 其中,inputfile为原始数据文件,outputfile为输出结果。使用操作系统、语言、编程环境不限,但在报告中必须注明。 - 2)输出:对应input1和input2的结果分别为output1和output2。 时间安排: 第一、二天:查阅资料,学习算法 第三、四天:编程调试 第五天:书写报告 指导教师签名:年月日。 系主任(或责任教师)签名:年月日

目录 1.引言 (4) 2.以太网帧格式的发展 (4) 3.帧结构 (5) 4.错检测 (6) : 5.实现步骤 (7) 前导符 (7) 目的地址及源地址 (7) 长度及数据字段 (8) 帧检验序列 (8) 6.源代码 (10) 7.运行结果示例 (17) 8.心得体会 (18) ~ 9.参考文献 (19)

帧封装 1.引言 以太网这个术语通常是指由DEC、Intel和Xerox公司在1982年联合公布的一个标准,它是当今TCP/IP采用的主要的局域网技术,它采用一种称作CSMA/CD的媒体接入方法。在TCP/IP世界中,以太网IP数据报文的封装在RFC 894中定义。 以太网采用广播机制,所有与网络连接的工作站都可以看到网络上传递的数据。通过查看包含在帧中的目标地址,确定是否进行接收或放弃。如果证明数据确实是发给自己的,工作站将会接收数据并传递给高层协议进行处理。 以太网采用CSMA/CD(Carrier Sense Multiple Access/Collision Detection)媒体访问机制,任何工作站都可以在任何时间访问网络。在以太网中,所有的节点共享传输介质。如何保证传输介质有序、高效地为许多节点提供传输服务,就是以太网的介质访问控制协议要解决的问题。 < 帧是在数据链路层数据进行传输与交换的基本单位。构造帧对于理解网络协议的概念、协议执行过程以及网络问题处理的一般方法具有重要的意义。本次课程设计的目的是应用数据链路层与介质访问控制层的知识,根据数据链路层的基本原理,通过构造一个具体的Ethernet帧,从而深入理解网络协议的基本概念与网络问题处理的一般方法。 2.以太网帧格式的发展 1980,DEC、Intel、Xerox制订了Ethernet I的标准; 1982,DEC、Intel、Xerox又制订了Ehternet II的标准; 1982,IEEE开始研究Ethernet的国际标准; 1983,迫不及待的Novell基于IEEE的的原始版开发了专用的Ethernet帧格式; 1985,IEEE推出IEEE 规范,后来为解决EthernetII与帧格式的兼容问题,推出折

相关主题
文本预览
相关文档 最新文档