您好,欢迎访问三七文档
实验三协议分析软件使用及数据链路层协议分析一、实验目的TCP/IP协议栈分为四层,从下往上依次为网络接口层、网络层、传输层和应用层,而网络接口层没有专门的协议,而是使用连接在Internet网上的各通信子网本身所固有的协议。如以太网(Ethernet)的802.3协议、令牌环网(TokenRing)的802.5协议、分组交换网的X.25协议等。目前Ethernet网得到了广泛的应用,它几乎成为局域网代名词。因此,对以太网链路层的帧格式进行分析验证,使学生初步了解TCP/IP链路层的主要协议以及这些协议的主要用途和帧结构。(1)掌握协议分析软件sniffer的使用;(2)熟悉以太网链路层帧格式构成;二、实验要求能运用sniffer工具进行以太网链路层帧格式协议分析。三、实验原理以太网简介IEEE802参考模型把数据链路层分为逻辑链路控制子层(LLC,LogicalLinkControl)和介质访问控制子层(MAC,MediaAccessControl)。与各种传输介质有关的控制问题都放在MAC层中,而与传输介质无关的问题都放在LLC层。因此,局域网对LLC子层是透明的,只有具体到MAC子层才能发现所连接的是什么标准的局域网。IEEE802.3是一种基带总线局域网,最初是由美国施乐(Xerox)于1975年研制成功的,并以曾经在历史上表示传播电磁波的以太(Ether)来命名。1981年,施乐公司、数字设备公司(Digital)和英特尔(Intel)联合提出了以太网的规约。1982年修改为第二版,即DIXEthernetV2,成为世界上第一个局域网产品的规范。这个标准后来成为IEEE802.3标准的基础。在802.3中使用1坚持的CSMA/CD(CarrierSenseMultipleAccesswithCollisionDetection)协议。现在流行的以太网的MAC子层的帧结构有两种标准,一种是802.3标准,另一种是DIXEthernetV2标准。图1802.3和EthernetV2MAC帧结构图1画出了两种标准的MAC帧结构。它们都是由五个字段组成。MAC帧的前两个字段分别是目的地址字段和源地址字段,长度是2或6字节。但在IEEE802.3标准规定对10Mb/s的基带以太网则使用6字节的地址字段。两种标准的主要区别在于第三个字段(2字节)。在802.3标准中,这个字段是长度字段,它指后面的数据字段的字节数,数据字段就是LLC子层交下来的LLC帧,其最小长度46字节,最大长度1500字节。在EthernetV2标准中,这个字段是类型字段,它指出LLC层使用的协议类型。由于数据字段的最大长度为1500字节,因此,以太网V2标准中将各种协议的代码规定为大于1500的数值,这样就不至于发生误解,并借此实现兼容。最后一个字段是一个长度为4字节的帧校验序列FCS,它对前四个字段进行循环冗余(CRC)校验。为了使发送方和接收方同步,MAC帧在总线上传输时还需要增加7个字节的前同步码字段和1字节的起始定界符(它们是由硬件生成的),其中前同步码是1和0的交替序列,供接收方进行比特同步之用;紧跟在前同步码之后的起始定界符为10101011,接收方一旦接收到两个连续的1后,就知道后面的信息就是MAC帧了。需要注意的是前同步码、起始定界符和MAC帧中的FCS字段在网卡接收MAC帧时已经被取消,因此,在截获的数据报中看不到这些字段。本节实验中重点分析EthernetV2MAC帧格式,802.3MAC帧不作具体讨论。四、实验内容实验步骤如下:(1)步骤1:在本机上运行sniffer截获报文,为了只截获和实验内容有关的报文,通过菜单的Capture-definefilter-Advanced下的IP-ICMP选项,进行设置。步骤2:在Dos环境下,输入命令“Ping本网一个IP地址”,单击“确定”按钮;步骤3:停止截获报文:将结果保存为学号-MAC,并对截获的报文进行分析:1)列出截获的报文中的协议类型,观察这些协议之间的关系。在Sniffer中的协议分析是倒向的树形结构。依次是链路层,网络层,传输层和应用层。所以数据链路层中显示的是Ethertype=0800(IP),可知网络层使用的是IP协议。网络层中还有ICMP协议,将在执行过程中的出错报告,报文分组封装成IP分组,再回送给数据链路层。2)在网络课程学习中,EthernetV2规定以太网的MAC层的报文格式分为7字节的前导符、1字节的帧首定界、6字节的目的MAC地址、6字节的源MAC地址、2字节的类型、46~1500字节的数据字段和4字节的帧尾校验字段。分析一个EthernetV2帧,查看这个帧由几部分组成,缺少了哪几部分?为什么?一个EthernetV2帧由6字节的目的MAC地址、6字节的源MAC地址、2字节的类型46-1500字节的数据字段四个部分组成,少了7字节的前导符、1字节的帧首定界和4字节的帧尾校验字段。这是因为Sniffer的设计原理,能捕捉数据链路层上的包,是已经校验正确的,就不再显示帧尾的4字节的FCS校验。(2)在本机运行Sniffer软件,并通过菜单的Capture-definefilter-Advanced下的IP-TCP-HTTP选项,设置如下图,设置完成后,启动Sniffer,然后打开IE浏览器通过登录任一个外网网址,找到http协议的整个流程并进行分析,查看主窗口中数据报文列表窗口和协议窗口信息,以一个发送的报文为例,填写下表:表1报文分析此报文的基本信息(数据报文列表窗口中的Information项的内容)EthernetII协议中(DLC)Source字段值4437E6BBECB3Destination字段值5439DFCDC632IP协议中Source字段值[10.4.105.248]Destination字段值[14.18.240.24]TCP协议中Source字段值3425Destination字段值80()应用层协议协议名称HTTP协议(3)在本机运行Sniffer软件,并通过菜单的Capture-definefilter-Advanced下的IP-UDP-DNS,选项设置如下图,设置完成后,在Dos环境下运行:ipconfig/flushdns(清除本机DNS缓存),然后启动Sniffer,然后打开IE浏览器通过登录任一个外网网址,找到DNS协议的整个流程并进行分析,查看主窗口中数据报文列表窗口和协议窗口信息,以一个接收的报文为例,填写下表:表2报文分析此报文的基本信息(数据报文列表窗口中的Information项的内容)EthernetII协议中(DLC)Source字段值Station4437E6BBECD3Destination字段值Station5439DFCDC632IP协议中Source字段值[10.4.105.248]Destination字段值[59.38.120.29]TCP协议中Source字段值3767Destination字段值53应用层协议协议名称DNS五、实验总结1、数据链路层将CRC放在尾部,而不是头部?为什么?CRC是在发送期间进行计算的。一旦把最后一位数据送上外出线路,就立即把CRC编码附加在输出流的后面发出。如果把CRC放在帧的头部,那么就要在发送之前把整个帧先检查一遍来计算CRC。这样每个字节5都要处理两遍,第一遍是为了计算校验码,第二遍是为了发送。因此把CRC放在尾部就可以将处理时间减半。2、对于接收的报文和发送的报文,EthernetII协议中地址字段有什么区别。EthernetII帧格式:|前序|目的地址|源地址|类型|数据|FCS|区别是:接收报文的目的地址和发送报文的源地址一样,而接收地址的源地址和发送报文的目的地址可能不一样。
本文标题:数据链路层实验
链接地址:https://www.777doc.com/doc-2334525 .html