查看: 62670|回复: 89

转帖:新人进阶之以太网协议

[复制链接]
发表于 2006-6-9 11:04:39 | 显示全部楼层 |阅读模式
相信很多新人在学习协议的时候会遇到很多问题,有些地方可能会总是想不明白(因为我自己也是新人^_^),所以,跟据我自己学习的经历和我在学习中所遇到的问题,我总结了一下列出来。如果能对大家有所帮助,将是我莫大的荣耀!

关于局域网的起源和发展,这里就不多说,因为很多书上和网上都有详细的说明,我们将直接进入对局域网协议的学习中。

局域网的几种协议,主要包括以太网第二版、IEEE802系列、令牌环网和SNAP等(之所以加个“等”字,是因为我只知道这几种,如果还有其他的,欢迎朋友们给我补充)。而最为常见的,也就是以太网第二版和IEEE802系列,我们也主要去了解这两种(IEEE802包括好多种,我们也不一一介绍,只对其中常见做研究)。

一,以太网(V2)
以太网第二版是早期的版本,是由DEC、Intel和Xerox联合首创,简称DIX。帧格式如下图:



前导信息:采用1和0的交替模式,在每个数据包起始处提供5MHZ的时钟信号,以充许接收设备锁定进入的位流。
目标地址:数据传输的目标MAC地址。
源 地 址:数据传输的源MAC地址。
以太网类型:标识了帧中所含信息的上层协议。
数据加填充位:这一帧所带有的数据信息。(以太网帧的大小是可变的。每个帧包括一个1 4字节的报头和一个4字节的帧校验序列域。这两个域增加了1 8字节的帧长度。帧的数据部分可以包括从4 6字节到1 5 0 0字节长的信息(如果传输小于4 6字节的数据,则网络将对数据部分填充填充位直到长度为4 6字节)。因此,以太网帧的最小长度为1 8 + 4 6,或6 4个字节,最大长度为1 8 + 1 5 0 0,或1 5 1 8个字节。)
F C S :   帧校验序列( F C S,Frame Check Sequence)域确保接收到的数据与发送时的数据一样。当源节点发送数据时,它执行一种称为循环冗余校验( C R C,Cyclical Redundancy Check)的算法。C R C利用帧中前面所有域的值生成一个惟一的4字节长的数,即F C S。当目标节点接收数据帧时,它通过C R C破解F C S并确定帧的域与它们原有的形式一致。如果这种比较失败,则接收节点认为帧已经在发送过程中被破坏并要求源节点重发该数据。
二,IEEE802系列。
         IEEE802系列包含比较多的内容,但比较常见的是802.2 和 802.3 。下面我们就比这两种帧。
1,        IEEE802.3
       为什么我要先把802.3列出来?因为我个人觉得802.3应该是在802。2之前出来,只它存在问题,所以才出现了802。2以解决它的问题,大家是不是觉得有点糊,没关系,请继续看下去。下面是这个帧的帧格式:

         大家有没有发现在这个帧格式跟以太网第二版本的格式非常像?没错,它们这间改动的比较少,因为802。3是在以太网V2的基础上开发的,为了适应100M的网络,所以才把8位的前导步信息分成了7字节,并加入了一个SFD的域(为什么说这样分开一下可以支持100M?我目前还没搞懂。^8^那位高手有这方面的资料贡献一下啊)。那前导和SFD到底起什么作用?我的理解是,前导与SOFD相当于跑步竞赛开始时的那句“预备!跑!”,前导就是“预备!”,SFD就是“跑!”,所以前导让接收设备进入状态,SOFD让接收设备开始接收。而这里所谓比特流硬件时钟同步,是指让设备按当前比特流信号频率同步,以得到精确的接收数据的位置,避免接收出错,与PC里所谓时钟概念是一样的。
再有就是类型字段变成了长度字段,这是因为当初这个协议是由novell开发的,所以它默认就是在就是局域网就是novell网,服务器是netware服务器,跑的是IPX的协议,因此去掉了类型换成了长度。后来IEEE再据此制定802。3的协议,结果问题也就出来了。如果我上层用的是IP协议呢?那怎么办?别急,有问题就会有方法,IEEE802。2也就由此出现了。

2,        IEEE802。2

请看帧格式:

可以看到,种帧的最大区别就在于多了一个LLC的域,即逻辑链路控制( L L C,Logical Link Control)。该信息用来区别一个网络中的多个客户机。如果L L C和数据信息的总长度不足4 6字节,数据域还将包括填充位。长度域并不关心填充位,它仅仅报告逻辑链接控制层信息( L L C)加上数据信息的长度。逻辑链接控制层( L L C)信息由三个域组成:目标服务访问点( D S A P,D e s t i n a t i o n Service Access Point),源服务访问点( S S A P,Source Service Access Point)和一个控制域。每个域都是1个字节长,L L C域总长度为3字节。一个服务访问点( S A P,Service Access Point)标识了使用L L C协议的一个节点或内部进程,网络中源节点和目标节点之间的每个进程都有一个惟一S A P。控制域标识了必须被建立L L C连接的类型:无应答方式(无连接)和完全应答方式(面向连接)。

     我们在工作中最常见的也就是这三种帧了,下面加入一张网上找到的图片,以加深大家的理解,并做一个小小的总结:


   三、用sniffer捕帧。
Ok,局域网的基本协议已经讲完,现在该动动手了。
下面是我用sniffer捕的几个帧。
ARP,DNS,HTTP的包


  
           通过上面所捕获的帧,相信大家对网络的分层应该会有一个比较深的理解。我所展开的是数据链路层的包头。

      对照上面的帧格式,我们可以看到,有目的地址,有源地址,有类型,从IP开始就属于
信息字段了。姨,不对呀,怎么没有前导和SFD?当然,这是用来同步的,对协议分析没有意
义,包括FCS,所以去掉了(*8*不是我想的,sniffer捕完后就去掉了的别打我)。

      可是,不对啊?没错,眼尖的朋友发现了,哈,都是以太网第二版的帧,看上面字段
“Ethertype=0800(ip)”.这是怎么回事?不是说现在都是802。3的,至少也是802。2的嘛?怎么
还用以太网V2?那么打包成何种帧是由哪个决定的?

     其实这个问题我当时也糊了,而且很多人也都不是特别的清楚,后来跟我们老师沟通后这么认为:打包成何种帧一般是由操作系统决定的,在微软的OS里边,其默认都会打包成以太网第二版的(可以改),这并不是说网络环境变成10M了,因为现在这个以太网第二版应该也是支持100M的,而在netware 环境里面,通常都默认是802。2或802。3,具体2还是3,就要看netware版本了,一般来讲,运行低于Netware 3.12版本的网络的缺省帧类型是802。3。


   Ok.咱就说到这了,当然不敢说完全正确,只希望能让大家共同交流,所以欢迎大家能够指出我所不对的地方,共同进步。

谢谢!!

[ 本帖最后由 快乐3幸福4 于 2006-6-9 11:05 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?CSNA会员注册

×
回复

使用道具 举报

发表于 2006-6-9 16:26:37 | 显示全部楼层
好帖,介绍得非常清楚。
不过有点眼熟,好像是jingshne大大的大作。
回复

使用道具 举报

发表于 2006-6-12 10:18:12 | 显示全部楼层
又学了不少啊,谢谢楼主!!!
回复

使用道具 举报

发表于 2006-6-12 11:01:20 | 显示全部楼层
够详细,谢谢楼主,再谢谢作者
回复

使用道具 举报

发表于 2006-6-12 11:23:45 | 显示全部楼层
真的不错,基础的东西,非常感谢
回复

使用道具 举报

发表于 2006-7-25 15:34:25 | 显示全部楼层
谢谢楼主的分享!!!我们这些菜鸟要的就是这些东西!
回复

使用道具 举报

发表于 2006-7-25 16:53:12 | 显示全部楼层
呵呵~

感谢楼主厚爱~!
回复

使用道具 举报

发表于 2006-7-30 10:56:17 | 显示全部楼层
感谢提供 ~~~!!!
回复

使用道具 举报

发表于 2006-7-31 12:18:49 | 显示全部楼层
有你作为同事就好了!!!!!
回复

使用道具 举报

发表于 2006-8-1 19:00:33 | 显示全部楼层
原帖由 heitd 于 2006-7-30 10:56 发表
感谢提供 ~~~!!!

                                  
回复

使用道具 举报

发表于 2006-8-1 19:28:19 | 显示全部楼层
好贴!谢谢楼主!!!!!!!!!!!
回复

使用道具 举报

发表于 2006-8-12 11:35:37 | 显示全部楼层
讲的不错`就是有些还是看不太懂~郁闷
回复

使用道具 举报

发表于 2006-8-25 12:01:11 | 显示全部楼层
俺新来 长见识!!!!
回复

使用道具 举报

发表于 2006-8-25 18:35:26 | 显示全部楼层
请问SNIFFER捕获的是数据包还是贞?
回复

使用道具 举报

发表于 2006-9-7 12:00:42 | 显示全部楼层
学习中,还看不懂呢,努力 ~~~~~~~~~
回复

使用道具 举报

发表于 2006-9-7 13:46:32 | 显示全部楼层
认真看了,

懂一点点
回复

使用道具 举报

发表于 2006-9-8 06:11:07 | 显示全部楼层
...................
回复

使用道具 举报

发表于 2006-10-15 13:55:02 | 显示全部楼层
有一些好帖,真的不错。
回复

使用道具 举报

发表于 2006-11-3 15:35:30 | 显示全部楼层
为什么不做成PDF的呢!
      这样不怎么好收藏啊!
回复

使用道具 举报

发表于 2006-11-10 13:13:36 | 显示全部楼层
是要学习的时候了。还好有这么多好帖子
回复

使用道具 举报

发表于 2006-11-17 22:45:59 | 显示全部楼层
我看不到啊,怎么才囊看到
回复

使用道具 举报

发表于 2006-11-30 17:54:42 | 显示全部楼层
图中的前导信息都应该是位为单位而不是字节!
害得我加了半天都不对!
回复

使用道具 举报

发表于 2006-11-30 18:33:48 | 显示全部楼层
原帖由 fadu 于 2006-8-25 18:35 发表
请问SNIFFER捕获的是数据包还是贞?

数据祯(Frame)和数据包(Packet)是一个东西
回复

使用道具 举报

发表于 2006-12-7 21:51:12 | 显示全部楼层
好东东要仔细看。。
回复

使用道具 举报

发表于 2007-1-7 16:46:40 | 显示全部楼层

要收钱的哦?

要收钱的哦?怎么去哪里要钱呀?
回复

使用道具 举报

发表于 2007-1-16 15:45:27 | 显示全部楼层
好贴,看了不顶会内疚的.
回复

使用道具 举报

发表于 2007-1-16 15:48:27 | 显示全部楼层
顶顶顶顶顶顶顶顶顶顶顶顶
回复

使用道具 举报

发表于 2007-1-16 15:49:38 | 显示全部楼层
顶顶顶顶顶顶顶顶顶顶顶顶顶顶
回复

使用道具 举报

发表于 2007-3-19 15:15:37 | 显示全部楼层

好·

好·好·好·好·好·好·好·好·好·好·好·好·好·好·好·好·
回复

使用道具 举报

发表于 2007-4-2 22:42:10 | 显示全部楼层
喜欢这样嘀东东,顶了。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | CSNA会员注册

本版积分规则

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