[计算机硬件及网络]计算机网络与通信原理实验指导书11版.doc
武汉大学珞珈学院网络实验教材目录实验一双绞线的制作1实验二为PC机配置静态IP地址4实验三PC机上常用网络命令6实验四使用Wireshark进行网络协议分析13实验五以太网链路层帧格式分析16实验六网络层协议分析18实验七传输层协议分析24实验八应用层协议分析28实验九组建无线局域网3338实验一 双绞线的制作一、实验目的掌握EIA568A、EIA568B标准;学会制作直连网线和交叉网线;学会使用测试仪检查双绞线。二、实验工具双绞线RJ 45夹线钳若干、双绞线测试工具若干、双绞线若干、RJ45水晶接线头若干。三、预备知识图1-1 线序图示EIA568A、EIA568B标准:直连网线和交叉网线:RJ45接口分类:设备的RJ45接口分为MDI(Media Dependent Interface)和MDIX两类。当同种类型的接口互连时(两个接口都时MDI或都是MDIX),使用交叉网线;不同类型的接口(一个接口时MDX,一个接口时MDIX)通过双绞线互连时,使用直连网线。通常主机和路由器的接口属于MDI,交换机和集线器的接口属于MDIX。下表是网络设备互连的网线类型匹配情况。表1设备连接方式表主机路由器交换机DIX交换机MDI集线器主机交叉交叉直连N/A直连路由器交叉交叉直接N/A直连交换机MDIX直连直连交叉直连交叉交换机MDIN/AN/A直连交叉直连集线器直连直连交叉直连交叉表2 表2RJ-45 MDI接口引脚分配表引脚号10Base-T/100Base-TX1000Base-T信号功能信号功能1Tx+发送数据BIDA+双向数据线A+2Tx-发送数据BIDA-双向数据线A-3Rx+接收数据BIDB+双向数据线B+4保留-BIDC+双向数据线C+5保留-BIDC-双向数据线C-6Rx-接收数据BIDB-双向数据线B-7保留-BIDD+双向数据线D+8保留-BIDD-双向数据线D-表3 RJ-45 MDI-X接口引脚分配引脚号10Base-T/100Base-TX1000Base-T信号功能信号功能1Rx+接收数据BIDB+双向数据线B+2Rx-接收数据BIDB-双向数据线B-3Tx+发送数据BIDA+双向数据线A+4保留-BIDD+双向数据线D+5保留-BIDD-双向数据线D-6Tx-发送数据BIDA-双向数据线A-7保留-BIDC+双向数据线C+8保留-BIDC-双向数据线C-提示:对比表2和表3可以看出100兆以太网端口只用到了1236四根线,而EIA568B标准中,1、2为一对互绕在一起的线,3、4为一对互绕在一起的线,这样电流同向的线绕在一起可以有效减少电磁干扰达到比较高的传输速度。EIA568A和EIA568B的线序恰好是1、2和3、6反绕,因此两端都按EIA568B标准排列线序则是直连网线;一端按EIA568A标准,另一端按EIA568B标准排列线序则刚好是交叉网线。千兆以太网端口则使用全部8条线以提高带宽,目前5类和超5类双绞线可以支持千兆速度。四、实验步骤共有五步,可以简单归纳为五个字:“剥”,“理”,“插”,“压”,“测”(1)剥线 l剥线的长度为13mm15mm,不宜太长或太短 图1-2 剥线(2)理线 按顺序整理平,遵守规则,否则不能正常通信图1-3 理线(3)插线 一定要平行插入到线顶端,以免触不到金属片图1-4 插线(4)压线 压过的水晶头的金属脚比没压要低 图1-5 压线(5)线缆检测 发射器和接收器两端的灯同时亮为正常图1-6 线缆检测实验二 为PC机配置静态IP地址一、实验目的熟练掌握配置网络计算机IP地址的方法。二、实验环境联网PC一台,安装有Windows XP。三、实验步骤1、依次点击“开始”“设置”“控制面板”“网络连接”。 2、选择“本地连接”。 3、点击右键“属性”。4、双击“Internet 协议(TCP/IP)”。5、在“常规”下选择“使用下面的IP地址”,输入注册的地址信息,比如IP地址:10.200.200.1、子网掩码:255.255.255.0、默认网关:10.200.200.254;再选择中“使用下面的DNS服务器地址”,然后输入首选DNS服务器:202.103.24.68和备选DNS服务器:202.103.44.150,然后点击确定完成全部设置。实验三 PC机上常用网络命令一、实验目的熟练掌握WINDOWS常用网络命令的使用,学会用这些命令调试和配置网络计算机。二、实验环境联网PC一台,安装有Windows。三、实验步骤(一)ipconfig 命令ipconfig命令应该是最最基础的命令了,主要功能就是显示用户所在主机内部的IP协议的配置信息等资料。 它的主要参数有: 1、all:显示与TCP/IP协议相关的所有细节信息,其中包括测试的主机名、IP地址、子网掩码、节点类型、是否启用IP路由、网卡的物理地址、默认网关等。 2、renew all:更新全部适配器的通信配置情况,所有测试重新开始。 3、release all:释放全部适配器的通信配置情况。 4、renew n:更新第n号适配器的通信配置情况,所有测试重新开始。 例如: C:>ipconfig ,显示如下 Windows IP Configuration Ethernet adapter 本地连接: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.0.14 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.0.1 (二)ping命令PING命令是一个在网络中非常重要的并且常用的命令,主要是用来测试网络是否连通。该命令通过发送一个ICMP(网络控制消息协议)包的回应来看是否和对方连通,一般我们用来测试目标主机是否可以连接,或者可以通过TTL值来判断对方的操作系统的版本。 常用参数说明:-a -t -r使用举例:Ping 计算机名 ping wangluo21 /获取计算机IPPing IP地址 ping -a 172.16.22.36 /获取计算机名Ping 域名 ping 比如你想测试你和IP地址为192.168.0.1的机器是否连通,那么就可以使用这个命令:ping 192.168.0.1,那么如果连通就会有如下返回: C:>ping 192.168.0.1 Pinging 192.168.0.1 with 32 bytes of data: Reply from 192.168.0.1: bytes=32 time<1ms TTL=128 。Ping statistics for 192.168.0.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms 如果不连通的话,就会返回超时: Pinging 192.168.0.1 with 32 bytes of data: Request timed out. 。. Ping statistics for 192.168.0.1: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), 那么就证明你和该计算机的网络不通,也许是对方没有上网,或者装了防火墙。在局域网中,如果是同一个工作组的机器,你可以通过ping对方的机器名称获得对方的IP地址,参数:-t可以不间断的向一个机器发送包-l 包大小参数还能设定发送包的最大值,这样差不多句有了DoS的功能了,也就是在黑客技术中的洪水攻击,最大值为65500。如: C:>ping 192.168.0.1 -t -l 65500 因为加了-t参数,ping命令本身是不会停止的,于是我们就可以使用Ctrl + C来终止该命令。ping命令还有一些别的参数,请自己参考帮助。(三)Arp命令显示和修改“地址解析协议”(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表。该命令只有在安装了 TCP/IP 协议之后才可用。arp -a inet_addr -N if_addrarp -d inet_addr if_addrarp -s inet_addr ether_addr if_addr参数:-a(或g):通过询问 TCP/IP 显示当前 ARP 项。如果指定了 inet_addr,则只显示指定计算机的 IP 和物理地址。inet_addr:以加点的十进制标记指定 IP 地址。-N:显示由 if_addr 指定的网络界面 ARP 项。if_addr:指定需要修改其地址转换表接口的 IP 地址(如果有的话)。如果不存在,将使用第一个可适用的接口。 -d:删除由 inet_addr 指定的项。-s:在 ARP 缓存中添加项,将 IP 地址 inet_addr 和物理地址 ether_addr 关联。物理地址由以连字符分隔的 6 个十六进制字节给定。使用带点的十进制标记指定 IP 地址。项是永久性的,即在超时到期后项自动从缓存删除。ether_addr:指定物理地址。(四)Netstat命令显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。netstat -a -e -n -s -p protocol -r interval参数说明:-a:显示所有连接和侦听端口。服务器连接通常不显示。-e:显示以太网统计。该参数可以与 -s 选项结合使用。-n:以数字格式显示地址和端口号(而不是尝试查找名称)。-s:显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p :选项可以用来指定默认的子集。 -p protocol:显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp、udp、icmp 或 ip。-r:显示路由表的内容。Interval:重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。(五)FTP命令 FTP命令是一个文件传输的命令,该命令可以在两台互联的机器之间传送文件,这跟我们常用的FTP软件是一样的,但是我们的软件一般都是GUI(可视)界面的,但它是命令类型的。 格式如下:ftp -v -n -i -d -g -s:filename -a -w:windowsize computer参数解释-v:禁止显示远程服务器响应。-n:禁止自动登录到初始连接。-i:多个文件传送时关闭交互提示。-d:启用调试、显示在客户端和服务器之间传递的所有 ftp 命令。-g:禁用文件名组,它允许在本地文件和路径名中使用通配符字符(* 和 ?)。-s: filename:指定包含 ftp 命令的文本文件;当 ftp 启动后,这些命令将自动运行。该参数中不允许有空格。使用该开关而不是重定向 (> )。-a:在捆绑数据连接时使用任何本地接口。-w:windowsize:替代默认大小为 4096 的传送缓冲区。Computer:指定要连接到远程计算机的计算机名或 IP 地址。如果指定,计算机必须是行的最后一个参数。 FTP命令主要是在网上进行文件的传输,它的子命令非常多,我们挑一些主要的来讲。 一般在命令提示符下输入FTP后,就打开如下界面: C:>ftp ftp> 那么我们输入的命令都是在"ftp>"后面的,也就是说我们输入ftp命令后,那么我们就进入了FTP的平台,所有的操作都是基于FTP上的。假如我们要打开一台网络上已经开了FTP服务的服务器,那么我们就可以登陆到该服务器,然后上传/下载文件,有时候我们的权限是只能下载,那么我们就不能上传,这具体要看你有的权限。 假如我们要打开一个FTP服务器,那么我们就可以在FTP平台下输入: open 主机IP 端口 例如:ftp>open 192.168.0.39 21,那么就会显示下面的效果: C:>ftp ftp> open 192.168.0.39 Connected to 192.168.0.39. 220 Serv-U FTP Server v4.2 for WinSock ready. User (192.168.0.39none): 到这里就需要我们输入用户名,如果是对方的服务器是支持匿名的,那么我们就可以输入像ftp之类的用户,如: User (192.168.0.39none): ftp 331 User name okay, please send complete E-mail address as password. Password: 密码也是输入ftp,那么就会显示登陆成功,如下: Password: * 230-(欢迎你来到FTP192.168.0.39服务器!) 230 User logged in, proceed. ftp> 显示230就代表代表登陆成功,如果显示别的,比如530,那么就是用户名或密码错误,登陆失败。 登陆后就可以使用一些命令,包括上传/下载,执行外部命令等。要获得FTP的所有命令,可以键入help命令,它所有命令列表如下:ftp> help 我们把常用的命令解释一下: 1!:执行一个非FTP平台下的外部命令,如:!cls,那么将清除屏幕。 2delete:删除一个文件,比如在你的当前FTP根目录下有一个dir1.txt的文件,你需要删除它,就输入 delete dir1.txt。 3ls:列出现在有的文件列表,该命令是Unix/Linux下的一个命令,主要是列出该目录下的文件,而不管文件夹 4put:从本地计算机上传一个文件到FTP服务器上,例如:put cmd.exe,那么就会把当前目录下有的cmd.exe传的FTP服务器5上的当前目录,该命令是最常用的。 6ascii:该命令可以使上传的文件是按照ASCII码来传输的。 7get:该命令也比较常用,也是把对方FTP服务器上的文件下载到自己的当前目录。如:get cmd.exe,就会把FTP服务器上的 8cmd.exe文件下载到当前目录。 9mdelete/rmdir:删除一个目录/文件夹,比如:mdelete a ,那么该文件夹将被删除。 10pwd:显示当前所处在FTP的那个目录下,相当于显示当前路径。例如: ftp> pwd 257 "/SOFTWARE/safe_tools" is current directory. 11quit/bye:结束当前的FTP连接,并且退出FTP。 12type:设定文件传输类型,类型有: ascii | binary | image | tenex ,如果你是传文本文件之类的就使用ascii码,如果是应用程序的话,就使用binary,如果是图片就使用image。FTP默认的是ascii码,如果你要传应用程序,就要使用binary。例如我们要上传一个lk.exe的文件,那么我们先设置传输模式为binary,然后再上传,如: ftp> type binary ( 200 Type set to I. ) ftp> put lk.exe (200 PORT Command successful. )13mget:同时下载多个文件。 14mput:同时上传多个文件。 15user:向远程主机器表示自己的身份,如: ftp> user Username: ftp 331 User name okay, please send complete E-mail address as password. Password: * 230 User logged in, proceed. 16cd:切换目录,进入一个目录使用cd 目录,退到上一个层目录使用cd .(注意中间有一个空格),该命令比较常用。 17help/?:显示帮助,主要是显示在FTP下可以用的命令。 18rename:重命名,给文件重新命名。 19close:关闭当前的FTP连接,但是不退出FTP,和quit/bye命令不一样。如: ftp> clos 221 Goodbye! 20open 打开一个FTP连接。如: ftp> open 192.168.0.39 Connected to 192.168.0.39. 220 Serv-U FTP Server v4.2 for WinSock ready. User (192.168.0.39none): FTP中比较常用的命令就这些,当然还设计一些别的命令,而且也要因不同的FTP服务器支持的命令不一样而定,所以如果碰到实际应用中不同,请参考相关的资料。(六)Route命令控制网络路由表。该命令只有在安装了 TCP/IP 协议后才可以使用。格式:route -f -p command destination mask subnetmask gateway metric costmetric参数:-f:清除所有网关入口的路由表。如果该参数与某个命令组合使用,路由表将在运行命令前清除。-p:该参数与 add 命令一起使用时,将使路由在系统引导程序之间持久存在。默认情况下,系统重新启动时不保留路由。与 print 命令一起使用时,显示已注册的持久路由列表。忽略其他所有总是影响相应持久路由的命令。Command:指定下列的一个命令。命令目的print打印路由add添加路由delete删除路由change更改现存路由destination指定发送 command 的计算机。mask subnetmask指定与该路由条目关联的子网掩码。如果没有指定,将使用 255.255.255.255。gateway指定网关。名为 Networks 的网络数据库文件和名为 Hosts 的计算机名数据库文件中均引用全部 destination 或 gateway 使用的符号名称。如果命令是 print 或 delete,目标和网关还可以使用通配符,也可以省略网关参数metric costmetric指派整数跃点数(从 1 到 9999)在计算最快速、最可靠和(或)最便宜的路由时使用(七)TFTP命令功能:将文件传输到正在运行 TFTP 服务的远程计算机或从正在运行 TFTP 服务的远程计算机传输文件。常用参数说明:tftp -i computer get | put source destination使用举例:-I:指定二进制图像传送模式 Put:将本地计算机上的文件 destination 传送到远程计算机上的文件 source。Get:将远程计算机上的文件 destination 传送到本地计算机上的文件 source。(八)Telnet命令Telnet命令是一个远程登陆的命令,就可以通过这个命令来远程登陆网络上已经开发了远程终端功能的服务器,来达到像本地计算机管理远程计算机。 该命令格式:telnet 远程主机IP 端口例如:telnet 192.168.0.1 23 如果我们不输入端口,则默认为23端口。一般登陆后,对方远程终端服务就会要求你输入用户名和密码,正确就让你登陆。 一般出现如下消息: Welcome to Microsoft Telnet Service login: root password: * 如果登陆成功后将出现如下信息: *= Welcome to Microsoft Telnet Server. *= C:Documents and Settingsroot> 那么代表你通过telnet到了对方的系统,就可以做在你用户权限内的所有事情啦! (九)tracert命令 tracert命令主要用来显示数据包到达目的主机所经过的路径,显示数据包经过的中继节点清单和到达时间。该命令的使用格式:tracert 主机IP地址或主机名执行结果返回数据包到达目的主机前所历的中断站清单,并显示到达每个继站的时间。该功能同ping命令类似,但它所看到的信息要比ping命令详细得多,它把你送出的到某一站点的请求包,所走的全部路由均告诉你,并且告诉你通过该路由的IP是多少,通过该IP的时延是多少。 该命令参数有: -d:不解析目标主机的名称 -h: maximum_hops 指定搜索到目标地址的最大跳跃数 -j:host_list 按照主机列表中的地址释放源路由 -w:timeout 指定超时时间间隔,程序默认的时间单位是毫秒 使用tracert命令可以很好的连接和目标主机的连接通道,一般为下一不的入侵或者测试获得详细的网络信息打好基础,例如中途经过多少次信息中转,每次经过一个中转站时花费了多长时间。通过这些时间,我们可以很方便地查出用户主机与目标网站之间的线路到底是在什么地方出了故障等情况。如果我们在tracert命令后面加上一些参数,还可以检测到其他更详细的信息。例如使用参数d,可以指定程序在跟踪主机的路径信息时,同时也解析目标主机的域名。 我们简单的使用该命令来测试到达的时间和经过的IP地址: C:>tracert Tracing route to 202.108.250.228 over a maximum of 30 hops: 1 <1 ms <1 ms <1 ms 192.168.0.1 2 1 ms <1 ms 1 ms 211.152.23.6 3 * 5 ms 3 ms 211.152.47.253 4 3 ms 3 ms 3 ms 210.78.156.66 5 3 ms 9 ms 4 ms 211.99.57.113 6 6 ms 5 ms 7 ms 202.108.250.228 Trace complete. 看信息我们知道我们通过了6个IP节点和使用的时间。第一个一般是我们的机器是从该IP出去的,第二个开始就是经过的路由,最后一个当然就是我们的目的地了。 (十)nslookup命令 nslookup命令的功能是查询一台机器的IP地址和其对应的域名,通常它能监测网络中DNS服务器是否能正确实现域名解析它,它的运行需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。 该命令的一般格式为:nslookup IP地址/域名 如果在本地机上使用nslookup命令来查询的话,执行后如下: C:>nslookup Server: Address: 202.112.112.100 Non-authoritative answer: Name: Address: 202.108.250.228 或者可以先进入nslookup模式再输入要查找的域名/IP: C:>nslookup Default Server: Address: 202.112.112.100 > Server: Address: 202.112.112.100 Non-authoritative answer: Name: Address: 202.108.250.228 如果要退出该命令,输入exit并回车即可。实验四 使用Wireshark进行网络协议分析一、实验目的掌握使用Wireshark对真实网络进行协议分析的方法。二、实验原理Wireshark 是当前较为流行的一种计算机网络调试和数据包嗅探软件。Wireshark 基本类似于tcpdump,但 Wireshark 还具有设计完美的 GUI 和众多分类信息及过滤选项。用户通过 Wireshark,同时将网卡插入混合模式,可以查看到网络中发送的所有通信流量。 Wireshark 应用于故障修复、分析、软件和协议开发以及教育领域。它具有用户对协议分析器所期望的所有标准特征,并具有其它同类产品所不具备的有关特征。Wireshark 是一种开发源代码的许可软件,允许用户向其中添加改进方案。Wireshark 适用于当前所有较为流行的计算机系统,包括 Unix、Linux 和 Windows 。三、实验内容(一)熟悉Wireshark操作界面(1)进入Wireshark 以后,选择界面中的Interfaces,找到需要侦听的网卡,选择“Start”按钮,开始捕获数据包,面板中会实时地进行显示。需要停止时,选择菜单Capture中的Stop即可。图5-1Wireshark和其它的图形化嗅探器使用基本类似的界面,整个窗口被分成三个部分:最上面为数据包列表,用来显示截获的每个数据包的总结性信息;中间为协议树,用来显示选定的数据包所属的协议信息;最下边是以十六进制形式表示的数据包内容,用来显示数据包在物理层上传输时的最终形式。(2)Wireshark的显示过滤器 显示过滤器可以根据1)协议2)是否存在某个域3)域值4)域值之间的比较来查找感兴趣的数据包。注意:捕获过滤器(Capture Filters)和显示过滤器(Display Filters)的语法规则是不同的。值比较表达式可以使用下面的操作符来构造:l eq =,如ip.addr=10.1.10.20 l ne !=,如ip.addr!=10.1.10.20l gt >,如frame.pkt_len>10 l lt <,如frame.pkt_len<10 l ge >=,如frame.pkt_len>=10 l le <=,如frame.pkt_len<=10 可以使用下面的逻辑操作符将表达式组合起来:l and &&逻辑与,如ip.addr=10.1.10.20 && tcp.flag.finl or | 逻辑或,如ip.addr=10.1.10.20|ip.addr=10.1.10.21 l not ! 逻辑非,如 !llc 例如:IP 地址是192.168.2.10 的主机,它所接收收或发送的所有的HTTP 报文,那么合适的Filter(过滤器)就是:ip.addr = 192.168.2.10 && http。提示:Filter的背景显示出表达式的合法与否,绿色为合法,红色为否。(3)菜单Capture的Options说明Interface:选择采集数据包的网卡 IP address:选择的网卡所对应的IP地址 Link-layer header type:数据链路层的协议,在以太网中一般是Ethernet II Buffer size:数据缓存大小设定,默认是1M字节 Capture packets in promiscuous mode:设定在混杂模式下捕获数据,如果不选中,将只能捕获本机的数据通讯,默认情况下选中该项 Limit each packet to:设定只捕获数据包的前多少个字节(从以太网头开始计算),默认是68 Capture Filter:设定当前的数据包采集过滤器 Capture File l File:设定数据包文件的保存位置和保存文件名,默认不保存 l Use multiple files:启用多文件保存,默认不启用 l Next file every:设定每个数据包文件的大小(单位是M,默认1M),只有启用Use multiple files后此项才可用 l Next file every: 设定每个数据包文件的大小(单位是分钟,默认1分钟),只有启用Use multiple files后此项才可用 l Ring buffer with:当保存多少个数据包文件后循环缓存,默认是2个文件,即保存2个数据包文件后丢弃缓存中的数据包,再添加新采集到的数据包 l Stop capture after: 当保存多少个数据包文件后停止捕获,默认是1个文件 Stop Capture l after:捕获到多少个数据包后停止捕获,默认不启用,如启用,默认值是1 l after:捕获到多少M字节的数据包后停止捕获,默认不启用,如启用,默认值是1 l after:捕获多少分钟后停止捕获,默认不启用,如启用,默认值是1 Display Options l Update list of packets in real time:实时更新捕获到的数据包列表信息 l Automatic scrolling in live capture:对捕获到的数据包信息进行自动滚屏显示 l Hide capture info dialog:隐藏捕获信息对话框 Name Resolution l Enable MAC name resolution:把MAC地址前3位解析为相应的生产厂商 l Enable network name resolution:启用网络地址解析,解析IP,IPX地址对应的主机名 l Enable transport name resolution:启用端口名解析,解析端口号对应的端口名 实验五 以太网链路层帧格式分析一、实验目的分析Ethernet V2标准规定的MAC层帧结构,了解IEEE802.3标准规定的MAC层帧结构和TCP/IP的主要协议和协议的层次结构。二、实验原理 局域网按照网络拓扑结构可以分为星形网、环形网、总线网和树形网,相应代表性的网络主要有以太网、令牌环形网、令牌总线网等。局域网经过近三十年的发展,尤其是近些年来快速以太网(100Mb/s)、吉比特以太网(1Gb/s)和10吉比特以太网(10Gb/s)的飞速发展,采用CSMA/CD(carrier sense,multiple access with collision detection)接入方法的以太网已经在局域网市场中占有绝对的优势,以太网几乎成为局域网的同义词。因此,本章的局域网实验以以太网为主。 常用的以太网MAC帧格式有两种标准,一种是DIX Ethernet V2标准,另一种是IEEE802.3标准。 1. Ethernet V2标准的MAC帧格式 DIX Ethernet V2标准是指数字设备公司(Digital Equipment Corp.)、英特尔公司(Intel corp.)和Xerox公司在1982年联合公布的一个标准。它是目前最常用的MAC帧格式,它比较简单,由5个字段组成。第一、二字段分别是目的地址和源地址字段,长度都是6字节;第三字段是类型字段,长度是2字节,标志上一层使用的协议类型;第四字段是数据字段,长度在461500字节之间;第五字段是帧检验序列FCS,长度是4字节。 此外,为了使发送端和接受端达到位同步,实际传送时要在MAC帧前设置前同步码(7字节)和帧开始界定符(1字节)。这两个字段和帧检验序列FCS在网卡接收MAC帧时被去掉了。因此实验中抓包软件截获报文中没有这些字段。 Ethernet V2标准定义MAC帧都有最小长度要求,规定数据部分必须至少为46字节。为了保证这一点,必须时需要插入填充(pad)字节。 2.IEEE802.3标准的MAC帧格式 1981年,IEEE(电子电气工程师协会)802委员会公布了一个和Ethernet V2标准稍有不同的标准集,局域网的数据链路层被拆成逻辑链路控制LLC子层和媒体接入控制MAC子层。MAC子层中定义了几种不同的局域网标准,如802.3针对整个CSMA/CD网络,802.4针对令牌总线网络,802.5针对令牌环网络。802.2和802.3定义了一个与DIX Ethernet V2标准不同的以太网帧格式。 IEEE802.3标准设计的主要特点是MAC层能够知道其有效数据的长度并能够为局域网提供面向连接的服务。与DIX Ethernet V2标准相比复杂一些