mac与arp表.doc_第1页
mac与arp表.doc_第2页
mac与arp表.doc_第3页
mac与arp表.doc_第4页
mac与arp表.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.4 ARP协议与MAC地址表连接在交换机端口上的主机需要通过ARP地址解析协议查询位于相同或不同交换机上的目标主机IP地址所对应的物理地址(又称数据链路层地址或MAC(Media Access Control)),才能进行相互间的数据帧的单播传输。MAC地址是固化在网卡内部用于惟一确定网卡身份的标识,是网卡在生产时被永久写入芯片的固定值。全球的网卡生产厂商按照买得的 MAC地址范围制造网卡,因此不会有两块相同MAC地址的网卡。这样,MAC地址就可用做惟一标识设备的地址。网络层中的数据包在主机查得目标的链路层地址后被封装成数据帧,在链路层交给交换机,交换机则通过帧头的MAC目标地址找到目标主机。由于交换机在数据传递过程中不用检查第三层(网络层)的包头信息,而是直接由第二层帧结构中的MAC地址来决定数据的转发目标,因此,数据的交换过程几乎没有软件的参与,从而大大提高了交换进程的速率。那么,交换机把收到的数据帧传递给目标主机到底是怎样实现的呢?3.4.1 MAC地址表的建立在交换式网络中,各主机的MAC地址是存储在交换机的MAC地址表中的。MAC地址表记录的是各主机MAC地址与对应的交换机的端口号,故有时也称为MAC地址-端口表。简单地说,MAC地址表记录了哪台或哪些主机连接在了哪台交换机的哪个端口上。交换机在工作过程中,会向MAC地址表不断写入新学到的MAC地址。一旦交换机掉电,或连接交换机的各主机在一定时间(地址表的老化时间)内没有相互访问,则其MAC地址表记录会被自动清除。1.交换机MAC地址表的建立在如图3-4所示的网络中,若计算机PC1首次访问计算机PC3,则交换机的MAC地址表建立过程如下:图3-4 MAC地址-端口表与arp表的建立Ping 192.168.1.254 发生这件事之前,交换机和计算机中分别建立了mac和arp表(1) 发送ARP请求帧计算机PC1向计算机PC3发送查询其MAC地址的消息帧,该消息帧包含计算机PC1自己的(源)MAC地址,IP地址和计算机PC3的IP地址等信息。该帧经交换机Switch的F0/0口先发送到交换机上。该帧是要查询IP地址为某个值的目标主机的MAC地址,是由地址解析协议ARP构造而成的,故也称为ARP请求帧。使用网路岗抓包软件获取的ARP请求帧的功能与数据结构如图3-5所示。图3-5 ARP请求帧的功能与数据结构图中顶上一行表明ARP请求帧的功能:“ARP-Request:who-has 192.168.1.254 tell 192.168.1.200”地址是192.168.1.254的主机(把物理地址)告知192.168.1.124主机。右边框格的二进制数据(用十六进制显示)是ARP请求帧的数据结构,左边窗格的信息是对其意义的解释:开始的00000000是首行行号,接着的FF FF FF FF FF FF是ARP请求的 MAC帧头目标地址(广播地址);随后的00 16 41 3E 9D 3C是源地址(PC1的物理地址);后面的0806即是帧类型0x806(表示是ARP帧);首行最后的00 01表示硬件类型是以太网;第2行行号是00000010,接着的08 00表示协议类型是DoD模型(美国国防部模型即TCP/IP模型)之IP协议;随后的06表示硬件地址(物理地址)的长度是6字节;接着的04表示IP地址的长度是4字节;之后的00 01是操作码,表示是ARP请求;接着的00 16 41 3E 9D 3C是ARP请求发送端PC1的物理地址;第2行最后的C0 A8 01 C8 是发送端PC1的IP地址,十进制表示即是192.168.1.200;第3行行号是00000020,随后的00 00 00 00 00 00是目标PC3的物理地址(因为未知而用6字节0填充);最后的C0 A8 01 FE是目标PC3的IP地址192.168.1.254的十六进制表示。(2) 交换机生成第一条地址表记录交换机Switch在端口F0/1收到该查询消息帧后,从该帧的MAC地址信息得知计算机PC1的MAC地址,就将该端口和该MAC地址记录在自己的MAC地址表中,这样就有了第一条记录:Destination Address Address Type VLAN Destination Port- - - -0016. 413E. 9D3C Dynamic 1 FastEthernet(3) 交换机广播ARP请求帧由于交换机Switch此时还没有计算机PC3的MAC地址表记录,不知道计算机PC3连接在那个端口上,无法单播而只能广播转发,实际上ARP请求帧帧头的目标MAC地址FF FF FF FF FF FF是广播地址,交换机见到此地址就会向所有端口转发(广播)该ARP请求帧。(4) ARP应答帧与PC3上的ARP表记录生成计算机PC3接收到该ARP请求帧后,发现自己是被查询对象(询问的是自己IP所对应的MAC地址),就会给出应答。计算机PC3从该请求帧中得知了计算机PC1的MAC地址和IP地址并写入自己的ARP表中,于是有了一条 ARP表记录:Interface: 192.168.1.254 - 0x10003 Internet Address Physical Address Type 192.168.1.200 00-16- 41-3E- 9D-3C dynamic 同时,PC3构造并发送以计算机PC1的MAC地址为目标,以自己MAC地址为源,还包含计算机PC1和计算机PC3的IP地址等信息的ARP应答帧。如图3-6所示。ARP应答帧的功能是回答请求帧:192.168.1.254的物理地址是00:16:41:3E:9D:3C。该经交换机Switch的F0/3口发送到交换机上。图3-6 ARP应答帧(5) 交换机生成第二条MAC地址记录交换机Switch从F0/3口接收到ARP应答帧后,从该帧的源MAC地址信息得知计算机PC3的MAC地址,就将该端口和该MAC地址记录在自己的MAC地址表中,这样就有了第二条记录如下表的斜体部分所示:Destination Address Address Type VLAN Destination Port- - - -0016. 413E. 9D3C Dynamic 1 FastEthernet0/10005.5de3.31d7 Dynamic 1 FastEthernet0/3(6) 交换机单播ARP应答帧与PC1的ARP表记录生成由于交换机此时已经有了计算机PC1的MAC地址表记录,故此次转发不再需要广播,而是查看MAC地址表,见该帧的目标MAC地址主机位于F0/1端口,就会把该应答帧从该端口转发出去,送达计算机PC1。计算机PC1收到该ARP应答帧,从该帧得知计算机PC3的MAC地址和IP地址并写入自己的ARP表中:Interface: 192.168.1.200 - 0x10003 Internet Address Physical Address Type 192.168.1.254 00-05-5d-e3-31-d7 dynamic就这样,交换机中生成了MAC地址表而计算机PC1和计算机PC3中生成了记录目标IP地址和MAC地址的ARP表。而在交换机Switch广播查询消息帧的时候,计算机PC2亦收到。计算机PC2从该消息帧查询的目标IP地址得知自己不是被查询对象(与自己IP不符合),就丢弃该帧,不予响应。2.计算机之间的通信此后计算机PC1和计算机PC3根据ARP表由IP地址查找MAC地址进行链路层的通信,交换机按照接收到数据帧的MAC地址查找地址表中对应的端口,把数据转发出去。3. MAC地址表更新如果主机在一定时间(称为老化时间)内未进行通信,交换机将会清除相应端口对应的MAC地址记录。再次通信时得重新通过(1)(6)的步骤生成MAC地址记录,这称为MAC地址表的更新。如果是主机之间第一次通信,或者超过MAC地址表更新时间后继续通信,交换机都会广播ARP查询。所以以太网中有的广播是不可避免的,也是必须的。3.4.2 实训 MAC地址表的查看与人工指定地址表项用到的主要设备是Cisco 2960交换机2台,计算机3台。用网线连接计算机和交换机如图3-7所示,此例使用Switch1的f0/1端口连接Switch0 的f0/4端口。图3-7 查看MAC地址表的网络操作步骤如下。1. 查看MAC地址表(1)在计算机间无访问时查看MAC地址表给交换机上电,用超级终端或Telnet方式登录交换机,使用show mac-address-table 命令查看,其中Switch1的MAC地址表显示如下。该表中有一项记录,表示的意义是交换机Switch1的f0/1端口上,所连接的设备(Swtch0的f0/4端口)的MAC地址是00e0.b057.d004。f0/1属于Vlan1(默认)。该记录的Type为Dynamic表示该表项是交换机动态学习到的,关于动态的含义后面还要说到。读者自己设想一下,此时Switch0的MAC地址表应该是怎样的。相互连接的交换机之所以启动完成后即会有MAC地址表记录,是因为交换机要彼此发送桥协议数据单元(BPDU,Bridge Protocol Data Unit)进行联系,故会查询出对方端口的MAC地址。(2) 计算机间访问后MAC地址表的查看让3台计算机相互访问,比如在PC0上分别ping PC1和PC2,然后查看Switch1和Switch0的MAC地址表。Switch1的是Switch0的是读者先判断一下表中的这些MAC地址是谁的,然后使用命令ipconfig /all查看计算机的MAC地址,验证自己的判断。(3)MAC地址表的老化时间MAC地址表建立后,计算机之间如果超过一定的时间不访问,相应的表项就会被自动删除,新的访问开始时再建立。这称为MAC地址表的自动更新。这也是表项中动态Dynamic的含义之一。表项从建立到自动删除的时间间隔称为老化时间。默认动态的MAC地址表项老化时间是300秒,其值可以修改。查看和修改的命令是Switch#show mac-address-table aging-time /查看老化时间Switch(config)# mac-address-table aging-time 150 /修改老化时间为150秒2. 人工配置MAC地址表项有时候,基于安全或排他性的考虑,在交换机的某些端口上,我们可能不希望交换机自动学习MAC地址,而是由网络管理员人工配置,这常称为端口-MAC地址绑定。这样的地址表项不会自动刷新,故与动态Dynamic表项对应,也称为静态Static MAC地址表项。例如,给交换机Switch1的f0/3接口绑定MAC地址0005.5ea9.0c99的命令是Switch(config-if)#switchport port-security mac-address 0005.5ea9.0c99注意,交换机只允许在Access口或Trunk上绑定且默认只允许绑定一个MAC地址。要进行绑定操作,需要设置端口模式为Access或Trunk(Cisco3560交换机默认为动态协商Dynamic)并且必须激活端口安全。具体操作参见3.3节。在大型网络中,端口数量成千上万,如果让管理员手动绑定每一台计算机的MAC地址到端口,将是一项十分繁重、低效的工作;而且对于网络的复杂需求和变化,这样做也缺乏足够的灵活性。可以使用端口的sticky(粘连)特性来解决这个问题,sticky让交换机在某端口动态学习MAC地址并固定下来,命令是Switch(config-if)#switchport port-secu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论