实验五 网络层与链路层协议分析(PacketTracer)

一、实验目的:
  通过本实验,进一步熟悉PacketTracer的使用,学习路由器与交换机的基本配置,加深对网络层与链路层协议的理解。
二、实验内容:

4.1 路由器交换机的基本配置

打开下面的实验文件,按提示完成实验。

——路由器的一些基本配置

实验五 网络层与链路层协议分析(PacketTracer)_第1张图片

R1>show version

此命令结果包含有IOS版本,IOS映像文件,

存储器大小,接口类型及配置登记值等信息。

实验五 网络层与链路层协议分析(PacketTracer)_第2张图片

Router>enable

Router#configure terminal

Router(config)#hostname R1

 

R1(config)#no ip domain-lookup

关闭域名解释


R1(config)#line console 0

R1(config-line)#loggingsynchronous

设置输入同步

 

R1(config-line)#exec-timeout 2000

设置执行会话时间

R1(config-line)#end

实验五 网络层与链路层协议分析(PacketTracer)_第3张图片

——静态路由

实验五 网络层与链路层协议分析(PacketTracer)_第4张图片

实验内容:

转发数据包是路由器的最主要功能。

路由器转发数据包时需要查找路由表,

管理员可以通过手工的方法在路由器中直接配置路由表,

这就是静态路由。虽然静态路由不适合于在大的网络中使用,

但是由于静态路由简单、路由器负载小、可控性强等原因,

在许多场合中还经常被使用。

 

路由器在转发数据时,要先在路由表(routing table)中查找相应的路由。

路由器有这么三种途径建立路由:

1)直连网络:路由器自动添加和自己直接连接的网络的路由

2)静态路由:管理员手动输入到路由器的路由

3)动态路由:由路由协议(routing protocol)动态建立的路由

 

静态路由的缺点是不能动态反映网络拓扑,当网络拓扑发生变化时,

管理员就必须手工改变路由表;

然而静态路不会占用路由器太多的CPU RAM 资源,也不占用线路的带宽

 

配置静态路由的命令为“ip route”,命令的格式如下:

ip route 目的网络掩码 { 网关地址 | 接口 }

例子:ip route 192.168.1.0 255.255.255.0 s0/0

例子:ip route 192.168.1.0 255.255.255.0 12.12.12.2

 

在写静态路由时,如果链路是点到点的链路(例如PPP 封装的链路),

采用网关地址和接口都是可以的;

然而如果链路是多路访问的链路(例如以太网),则只能采用网关地址,

即不能:ip route 192.168.1.0 255.255.255.0 f0/0

对路由器0进行配置:

Router(config)#hostname R1

R1(config)#int loopback0

R1(config-if)#ip address 1.1.1.1 255.255.255.0

R1(config-if)#exit

R1(config)#int s2/0

R1(config-if)#ip address 192.168.1.1 255.255.255.0

R1(config-if)#no shutdown

R1(config-if)#clock rate 64000

R1(config)#iproute 2.2.2.0 255.255.255.0 s2/0

实验五 网络层与链路层协议分析(PacketTracer)_第5张图片

下一跳为接口形式,s2/0是点对点的链路,注意应该是R1上的s2/0接口

R1(config)#ip route 3.3.3.0 255.255.255.0192.168.1.2

下一跳为IP地址形式,192.168.1.2 R2上的IP地址

R1#showip route

实验五 网络层与链路层协议分析(PacketTracer)_第6张图片

R1#ping

Protocol [ip]:

Target IP address: 2.2.2.2

Repeat count [5]:

Datagram size [100]:

Timeout in seconds [2]:

Extended commands [n]: y

Source address or interface: 1.1.1.1

Type of service [0]:

Set DF bit in IP header? [no]:

Validate reply data? [no]:

Data pattern [0xABCD]:

Loose, Strict, Record, Timestamp, Verbose[none]:

Sweep range of sizes [n]:

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeoutis 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

实验五 网络层与链路层协议分析(PacketTracer)_第7张图片

对路由器1进行配置:

Router(config)#hostname R2

R2(config)#int loopback0

R2(config-if)#ip address 2.2.2.2 255.255.255.0

R2(config-if)#exit

R2(config)#int s2/0

R2(config-if)#ip address 192.168.1.2 255.255.255.0

R2(config-if)#no shutdown

R2(config-if)#exit

R2(config)#int s3/0

R2(config-if)#ip address 192.168.100.1 255.255.255.0

R2(config-if)#no shutdown

R2(config-if)#clock rate 64000

R2(config)#ip route 1.1.1.0 255.255.255.0 s2/0

R2(config)#ip route 3.3.3.0 255.255.255.0 s3/0

R2#showip route

实验五 网络层与链路层协议分析(PacketTracer)_第8张图片

实验五 网络层与链路层协议分析(PacketTracer)_第9张图片

对路由器2进行配置:

Router(config)#hostname R3

R3(config)#int loopback0

R3(config-if)#ip address 3.3.3.3 255.255.255.0

R3(config-if)#exit

R3(config)#int s2/0

R3(config-if)#ip address 192.168.100.2 255.255.255.0

R3(config-if)#no shutdown

R3(config)#ip route 1.1.1.0 255.255.255.0 s2/0

R3(config)#ip route 2.2.2.0 255.255.255.0 s2/0

R3#showip route

实验五 网络层与链路层协议分析(PacketTracer)_第10张图片

实验五 网络层与链路层协议分析(PacketTracer)_第11张图片

——子网划分

 

划分子网的一些公式:

 

1.你所选择的子网掩码将会产生多少个子网:2x次方(x代表被借走的主机位数)。

 

2.每个子网有多少主机:2y次方-2y代表被借走之后剩余的主机位数)。

 

3.有效子网是:有效子网号=256-十进制的子网掩码(结果叫做block size)。

 

4.每个子网的广播地址是:广播地址=下个子网号-1

 

5.每个子网的有效主机分别是:忽略子网内全为0和全为1的地址剩下的就是有效主机地址。

最后有效的1个主机地址=下个子网号-2(即广播地址-1

举例说明:

网络地址192.168.10.0 子网掩码255.255.255.192

 

1.子网数=22次方=4

 

2.每个子网的主机数=26次方-2=62

 

3.有效子网:block size=256-192=64,第一个子网为192.168.10.0,第二个子网为192.168.10.64,第三个子网为192.168.10.128,最后一个为192.168.10.192

 

4.广播地址:下个子网-1,第一个子网的广播地址是192.168.10.63,第二个是192.168.10.127,第三个是192.168.10.191,最后一个是192.168.10.255

 

5.有效主机范围是:第一个子网的主机地址是192.168.10.1192.168.10.62,第二个是192.168.10.65192.168.10.126,第三个是192.168.10.129192.168.10.190,最后一个是192.168.10.193192.168.10.254

实验五 网络层与链路层协议分析(PacketTracer)_第12张图片

——配置RIP

路由选择信息协议(RIP/RIP2/RIPngRoutingInformation Protocol

  路由协议         默认管理距离

 

  直连网络              0                  

  静态路由              1

EIGRP(internal)        90

    IGRP               100

    OSPF               110

RIPv1/RIPv2            120

管理距离越小,可信度越高,优先采用可信度高的路由协议。

实验五 网络层与链路层协议分析(PacketTracer)_第13张图片

对路由器13的配置:

R1#showip protocols

R1(config)#routerrip

R1(config-router)#network192.168.1.0

R1(config-router)#end

R1#showip route

R1#clearip route *

R1#show ip route

实验五 网络层与链路层协议分析(PacketTracer)_第14张图片

实验五 网络层与链路层协议分析(PacketTracer)_第15张图片

实验五 网络层与链路层协议分析(PacketTracer)_第16张图片

对路由器14的配置:

R2(config)#routerrip

R2(config-router)#network192.168.1.0

R2(config-router)#network172.16.0.0

R2(config-router)#end

R2#showip route

R2#clearip route *

R2#show ip route

实验五 网络层与链路层协议分析(PacketTracer)_第17张图片

实验五 网络层与链路层协议分析(PacketTracer)_第18张图片

对路由器15的配置:

R3(config)#routerrip

R3(config-router)#network172.16.0.0

R3(config-router)#network10.0.0.0

R3(config-router)#end

R3#show ip route

实验五 网络层与链路层协议分析(PacketTracer)_第19张图片

——交换机的基本配置

实验内容:

交换机是局域网中最重要的设备,交换机是基于MAC 来进行工作的。和路由器类似,交换机也有IOSIOS 的基本使用方法是一样的。

 

交换机是第二层的设备,可以隔离冲突域。交换机是基于收到的数据帧中的源MAC 地址和目的MAC 地址来进行工作。交换机的作用主要有这么两个:一个是维护CAMContext

Address Memory)表,该表是MAC地址和交换机端口的映射表;另一个是根据CAM 来进行数据帧的转发。交换机对帧的处理有三种:交换机收到帧后,查询CAM 表,如果能查询到目的计算机所在的端口,并且目的计算机所在的端口不是交换机接收帧的源端口,交

换机将把帧从这一端口转发出去(Forward);如果该计算机所在的端口和交换机接收帧的源端口是同一端口,交换机将过滤掉该帧(Filter);如果交换机不能查询到目的计算机所在的端口,交换机将把帧从源端口以外的其他所有端口上发送出去,这称为泛洪(Flood),当交换机接收到的是帧是广播帧或者多播帧,交换机也会泛洪帧。

 

以太网交换机转发数据帧有三种交换方式,如图12-1

1存储转发(Store-and-Forward

存储转发方式是先存储后转发的方式。它把从端口输入的数据帧先全部接收并存储起来;然后进行CRC(循环冗余码校验)检查,把错误帧丢弃;最后才取出数据帧目的地址,查找地址表后进行过滤和转发。存储转发方式延迟大;但是它可以对进入交换机的数据包进行高级别的错误检测。这种方式可以支持不同速度的端口间的转发。

2直接转发(Cut-Through

交换机在输入端口检测到一个数据帧时,检查该帧的帧头,只要获取了帧的目的地址,就开始转发帧。它的优点是:开始转发前不需要读取整个完整的帧,延迟非常小。它的缺点是:不能提供错误检测能力。

3无碎片(Fragment-Free

这是改进后的直接转发,是介于前两者之间的一种解决方法。无碎片方法在读取数据帧的长前64个字节后,就开始转发该帧。这种方式虽然也不提供数据校验,但是能够避免大多数的错误。它的数据处理速度比直接转发方式慢,但比存储转发方式快许多。

 

CISCO 交换机和路由器一样,本质上也是一台特殊的计算机,也有CPURAM 等部件。也采用IOS,所以交换机的很多基本配置(例如密码、主机名等)和路由器是类似的。

实验五 网络层与链路层协议分析(PacketTracer)_第20张图片

实验五 网络层与链路层协议分析(PacketTracer)_第21张图片

实验五 网络层与链路层协议分析(PacketTracer)_第22张图片

配置交换机2

Switch>enable    

Switch#config terminal

Switch(config)#hostname SW1

配置主机名

SW1(config)#enable secret cisco

配置密码

SW1(config)#line vty 0 15

SW1(config-line)#password cisco

SW1(config-line)#login

 

默认时交换机的以太网接口是开启的。对于交换机的以太网口可以配置其双工模式、速率等。

 

SW1(config)#interface f0/1

 

SW1(config-if)#duplex auto

duplex 用来配置接口的双工模式,full——全双工、half——半双工、auto——自动检测双工的模式

 

SW1(config-if)#speed auto

speed 命令用来配置交换机的接口速度,10——10M100——100M1000——1000Mauto——自动检测接口速度。

 

SW1(config)#int vlan 1

SW1(config-if)#ip add 192.168.1.254 255.255.255.0

SW1(config-if)#no shutdown

SW1(config)#ip default-gateway 192.168.1.100

交换机也允许被telnet,这时需要在交换机上配置一个IP地址,这个地址是在VLAN 接口上配置的以上在VLAN 1 接口上配置了管理地址,接在VLAN 1上的计算机可以直接进行telnet该地址。为了其他网段的计算机也可以telnet 交换机,我们在交换机上配置了缺省网关。

 

SW1#copyrunning-config startup-config  保存配置

实验五 网络层与链路层协议分析(PacketTracer)_第23张图片


配置交换机3

交换机的商品安全:

交换机端口安全特性,可以让我们配置交换机端口,使得非法的MAC 地址的设备接入时,交换机自动关闭接口或者拒绝非法设备接入,也可以限制某个端口上最大的MAC 地址数。我们这里限制f0/1 接口只允许R1 接入。


SW1(config)#intf0/1

SW1(config-if)#switchmode access

以上命令把端口改为访问模式,即用来接入计算机

 

SW1(config-if)#switchport-security

打开交换机的端口安全功能。

 

SW1(config-if)#switchport-security maximum 1

只允许该端口下的MAC 条目最大数量为1,即只允许一个设备接入

 

SW1(config-if)#switchport-security violation shutdown

S1(config-if)#switchport-securitiy violation { protect | shutdown | restrict }

 

   protect:当新的计算机接入时,如果该接口的MAC 条目超过最大数量,则这个新的计算

机将无法接入,而原有的计算机不受影响

shutdown:当新的计算机接入时,如果该接口的MAC 条目超过最大数量,则该接口将会

被关闭,则这个新的计算机和原有的计算机都无法接入,需要管理员使用“no shutdown

命令重新打开。

restrict:当新的计算机接入时,如果该接口的MAC 条目超过最大数量,则这个新的计

算机可以接入,然而交换机将向发送警告信息。

 

SW1(config-if)#switchportport-security mac-address 0001.63e1.9702

允许R1路由器从F0/1接口接入

 

SW1(config-if)#shutdown

SW1(config-if)#noshutdown

 

SW1(config)#intvlan 1

SW1(config-if)#no shut

实验五 网络层与链路层协议分析(PacketTracer)_第24张图片

SW1(config-if)#ipadd 172.16.0.1 255.255.0.0

配置交换机的管理地址

SW1#showmac-address-table

          Mac Address Table

-------------------------------------------

 

Vlan    Mac Address       Type        Ports

----    -----------       --------    -----

 

   1   0001.63e1.9702    STATIC      Fa0/1

R1MAC已经被登记在f0/1接口,并且表明是静态加入的

 

SW1#showint f0/1

FastEthernet0/1is down, line protocol is down (err-disabled)

  Hardware is Lance, address is 00e0.f714.de01(bia 00e0.f714.de01)

  MTU 1500 bytes, BW 100000 Kbit, DLY 1000usec,

     reliability 255/255, txload 1/255, rxload1/255

以上表明F0/1接口因为错误而被关闭。非法设备移除后,在F0/1接口下,执行“shutdown

和“no shutdown”命令可以重新打开该接口。

实验五 网络层与链路层协议分析(PacketTracer)_第25张图片

SW1#showport-security

可以查看端口安全的设置情况

实验五 网络层与链路层协议分析(PacketTracer)_第26张图片

配置路由器0

R1(config)#int f0/1

R1(config-if)#no shutdown

R1(config-if)#ip add 172.16.0.2 255.255.0.0

 

R1#show int f0/1

FastEthernet0/1 is up, line protocol is up(connected)

  Hardware isLance, address is 0001.63e1.9702 (bia 0001.63e1.9702)

  检查F0/1接口的MAC地址

  Internetaddress is 172.16.0.2/16

  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,rely 255/255, load 1/255

实验五 网络层与链路层协议分析(PacketTracer)_第27张图片

R1#ping 172.16.0.1

实验五 网络层与链路层协议分析(PacketTracer)_第28张图片

R1(config)#int f0/1

R1(config-if)#mac-address 1234.5678.abcd

R1上修改F0/1MAC地址为另一个地址,模拟是另外一台设备接入。

 

%LINK-5-CHANGED: Interface FastEthernet0/1, changedstate to administratively down

%LINEPROTO-5-UPDOWN: Line protocol on InterfaceFastEthernet0/1, changed state to down

%LINEPROTO-5-UPDOWN: Line protocol on InterfaceVlan1, changed state to down

这些信息为SW1R1F0/1接口更改MAC地址后出现的信息

以上提示F0/1接口被关闭

实验五 网络层与链路层协议分析(PacketTracer)_第29张图片

4.2 了解ICMP 数据包的格式

使用Packet Tracer 捕获并研究 ICMP 报文

1ICMP协议简介:

ICMP是(Internet Control Message ProtocolInternet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。ICMP与我们息息相关。在网络体系结构的各层次中,都需要控制,而不同的层次有不同的分工和控制内容,IP层的控制功能是最复杂的,主要负责差错控制、拥塞控制等,任何控制都是建立在信息的基础之上的,在基于IP数据报的网络体系中,网关必须自己处理数据报的传输工作,而IP协议自身没有内在机制来获取差错信息并处理。为了处理这些错误,TCP/IP设计了ICMP协议,当某个网关发现传输错误时,立即向信源主机发送ICMP报文,报告出错信息,让信源主机采取相应处理措施,它是一种差错和控制报文协议,不仅用于传输差错报文,还传输控制报文。 

我们在网络中经常会使用到ICMP协议。比如我们经常使用的用于检查网络通不通的Ping命令,这个“Ping”的过程实际上就是ICMP协议工作的过程。还有其他的网络命令如跟踪路由的Tracert命令也是基于ICMP协议的。

2、协议主要内容

a)目的不可达消息用来报告子网或路由器没法找到目的地。

b)超时消息用来报告分组由于TTL为0而丢弃。

c)参数问题消息表明头部字段不正确,可能是发送主机或者路由器软件有问题。

d)源抑制消息希望主机能够降低发送的速度。

e)重定向消息在路由器发现可能出现路由错误时发送。

f)回声请求和应答消息测试目的地是否可达且正常运作。

g)时间戳请求和应答与回声请求消息类似,只是要记录消息到达和发出的时间,用于测试网络性能。

    3、仿真实验

使用的网络中包含一台通过路由器连接到服务器的 PC,并且捕获从 PC 发出的 ping 命令的输出。

实验五 网络层与链路层协议分析(PacketTracer)_第30张图片

任务 1:使用 Packet Tracer 捕获和研究 ICMP 报文。

1、对PC0 的配置。单击PC0 选中Desktop 标签,再单击IP Configuration,在相应的界

面中设置IP 地址、子网掩码、默认网关和DNS服务器

实验五 网络层与链路层协议分析(PacketTracer)_第31张图片

2、对路由器配置。单击Router0 后,有两种方法可实现配置。一种是单击Config 标签

通过图形界面设置两个端口FastEthernet0/0和FastEthernet0/1,如图4 和图5 所示。另一种是单击CLI 标签通过命令方式实现。

实验五 网络层与链路层协议分析(PacketTracer)_第32张图片

实验五 网络层与链路层协议分析(PacketTracer)_第33张图片

3、

①  对服务器配置。单击Server0 选中Desktop 标签,再单击IP Configuration,在相应的

界面中设置IP 地址、子网掩码和默认网关,如图  所示。

实验五 网络层与链路层协议分析(PacketTracer)_第34张图片

步骤 1. 捕获并评估到达 Eagle Server ICMP 回应报文。

进入 Simulation(模拟)模式。Event List Filters(事件列表过滤器)设置为只显示 ICMP 事件。


单击 Pod PC。从 Desktop(桌面)打开 Command Prompt(命令提示符)。输入命令 ping 192.168.254.254 并按 Enter 键。最小化 Pod PC 配置窗口。单击 Auto Capture/Play(自动捕获/播放)按钮以运行模拟和捕获事件。收到 "No More Events"(没有更多事件)消息时单击 OK(确定)。

实验五 网络层与链路层协议分析(PacketTracer)_第35张图片实验五 网络层与链路层协议分析(PacketTracer)_第36张图片

Event List(事件列表)中找到第一个数据包,即第一条回应请求,然后单击 Info(信息)列中的彩色正方形。单击事件列表中数据包的 Info(信息)正方形时,将会打开 PDU InformationPDU 信息)窗口。单击 Outbound PDU Details(出站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。请注意,Packet Tracer 只显示 TYPE(类型)和 CODE(代码)字段。

实验五 网络层与链路层协议分析(PacketTracer)_第37张图片

实验五 网络层与链路层协议分析(PacketTracer)_第38张图片

要模拟 Wireshark 的运行,请在其中 At Device(在设备)显示为 Pod PC 的下一个事件中,单击其彩色正方形。这是第一条应答。单击 Inbound PDU Details(入站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。

实验五 网络层与链路层协议分析(PacketTracer)_第39张图片

查看 At Device(在设备)为 Pod PC 的其余事件。完成时单击 Reset Simulation(重置模拟)按钮

可自行查看其他ICMP报文,并分析解释;


步骤 2. 捕获并评估到达 192.168.253.1 ICMP 回应报文。使用 IP 地址 192.168.253.1 重复步骤 1。观看动画,注意哪些设备参与交换。

步骤1中,目的IP与主机不在同一网段,需要通过网关找到下一跳地址,而在该步骤中,如果地址设置为192.168.253.1,直接在命令行输入ping指令,很明显会出现错误,因为中间路由器的接口FastEhernet0/00/1IP地址还没变化,与当前主机设置的IP地址不匹配,因此会出现上述现象;

实验五 网络层与链路层协议分析(PacketTracer)_第40张图片

如果直接修改路由器的其中一个接口,会出现:

实验五 网络层与链路层协议分析(PacketTracer)_第41张图片

原因如下:路由器,以太口,不能配成与其它接口同一网段或有互相包含关系(以太-以太,以太-串行都不行)。串口之间可以,甚至同一地址都允许。路由器,毕竟设计来就是沟通不同广播域的。

可尝试(这里没有给出结果):

实验五 网络层与链路层协议分析(PacketTracer)_第42张图片


步骤 3. 捕获并评估超过 TTL 值的 ICMP 回应报文。 Packet Tracer 不支持 ping -i 选项。在模拟模式中,可以使用 Add Complex PDU(添加复杂 PDU)按钮(开口的信封)设置 TTL

单击 Add Complex PDU(添加复杂 PDU)按钮,然后单击 Pod PC(源)。将会打开 Create Complex PDU(创建复杂 PDU)对话框。

Destination IP Address:(目的 IP 地址:)字段中输入192.168.254.254。将 TTL: 字段中的值改为 1。在 Sequence Number(序列号)字段中输入 1。在 Simulation Settings(模拟设置)下选择 Periodic(定期)选项。在Interval(时间间隔)字段中输入 2

单击 Create PDU(创建 PDU)按钮。此操作等同于从 Pod PC 上的命令提示符窗口发出命令 ping -t -i 1 192.168.254.254

实验五 网络层与链路层协议分析(PacketTracer)_第43张图片

        重复单击 Capture/Forward(捕获/转发)按钮,以在 Pod PC 与路由器之间生成多次交换。在 Event List(事件列表)中找到第一个数据包,即第一个回应请求。然后单击 Info(信息)列中的彩色正方形。单击事件列表中数据包的 Info(信息)正方形时,将会打开 PDU InformationPDU 信息)窗口。单击 Outbound PDU Details(出站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。

实验五 网络层与链路层协议分析(PacketTracer)_第44张图片实验五 网络层与链路层协议分析(PacketTracer)_第45张图片

实验五 网络层与链路层协议分析(PacketTracer)_第46张图片

要模拟 Wireshark 的运行,请在其中 At Device(在设备)为 Pod PC的下一个事件中,单击其彩色正方形。这是第一条应答。单击 Inbound PDU Details(入站 PDU 详细数据)选项卡以查看 ICMP 报文的内容。

实验五 网络层与链路层协议分析(PacketTracer)_第47张图片

查看 At Device(在设备)为 Pod PC 的其余事件。

自行查看并分析解释;


4.3检查 ARP 交换

TCP/IP 使用地址解析协议 (ARP) 将第 3 层 IP 地址映射到第 2 层 MAC 地址。当帧进入网络时,必定有目的 MAC 地址。为了动态发现目的设备的MAC 地址,系统将在 LAN 上广播 ARP 请求。拥有该目的 IP 地址的设备将会发出响应,而对应的 MAC 地址将记录到 ARP 缓存中。LAN 上的每台设备都有自己的 ARP 缓存,或者利用 RAM 中的一小块区域来保存 ARP 结果。 ARP 缓存定时器将会删除在指定时间段内未使用的 ARP 条目。具体时间因设备而异。例如,有些 Windows 操作系统存储 ARP 缓存条目的时间为 2 分钟,但如果该条目在这段时间内被再次使用,其 ARP 定时器将延长至 10 分钟。ARP 是性能折衷的极佳示例。如果没有缓存,每当帧进入网络时,ARP 都必须不断请求地址转换。这样会延长通信的延时,可能会造成 LAN 拥塞。反之,无限制的保存时间可能导致离开网络的设备出错或更改第 3 层地址。

网络工程师必须了解 ARP 的工作原理,但可能不会经常与协议交互。ARP 是一种使网络设备可以通过 TCP/IP 协议进行通信的协议。如果没有 ARP,就没有建立数据报第 2 层目的地址的有效方法。但 ARP 也是潜在的安全风险。例如,ARP 欺骗或 ARP 中毒就是攻击者用来将错误的 MAC 地址关联放入网络的技术。攻击者伪造设备的 MAC 地址,致使帧发送到错误的目的地。手动配置静态 ARP 关联是预防 ARP 欺骗的方法之一。您也可以在 Cisco 设备上配置授权的 MAC 地址列表,只允许认可的设备接入网络。

 

ARP协议工作过程

主机A的IP地址为192.168.1.1,MAC地址为0A-11-22-33-44-01;

主机B的IP地址为192.168.1.2,MAC地址为0A-11-22-33-44-02;

当主机A要与主机B通信时,地址解析协议可以将主机B的IP地址(192.168.1.2)解析成主机B的MAC地址,以下为工作流程:

第1步:根据主机A上的路由表内容,IP确定用于访问主机B的转发IP地址是192.168.1.2。然后A主机在自己的本地ARP缓存中检查主机B的匹配MAC地址。

第2步:如果主机A在ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将ARP请求帧广播到本地网络上的所有主机。源主机A的IP地址和MAC地址都包括在ARP请求中。本地网络上的每台主机都接收到ARP请求并且检查是否与自己的IP地址匹配。如果主机发现请求的IP地址与自己的IP地址不匹配,它将丢弃ARP请求。

第3步:主机B确定ARP请求中的IP地址与自己的IP地址匹配,则将主机A的IP地址和MAC地址映射添加到本地ARP缓存中。

第4步:主机B将包含其MAC地址的ARP回复消息直接发送回主机A。

第5步:当主机A收到从主机B发来的ARP回复消息时,会用主机B的IP和MAC地址映射更新ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机B的MAC地址一旦确定,主机A就能向主机B发送IP通信了。

 

ARP缓存

ARP缓存是个用来储存IP地址和MAC地址的缓冲区,其本质就是一个IP地址-->MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的IP地址和对应的MAC地址。每一个以太网或令牌环网络适配器都有自己单独的表。当地址解析协议被询问一个已知IP地址节点的MAC地址时,先在ARP缓存中查看,若存在,就直接返回与之对应的MAC地址,若不存在,才发送ARP请求向局域网查询。

任务 1:使用 PacketTracer 的 arp 命令

步骤 1. 访问命令提示符窗口。

单击 PC 1A 的 Desktop(桌面)中的 Command Prompt(命令提示符)按钮。arp 命令只显示 PacketTracer 中可用的选项。

步骤 2. 使用 ping 命令在 ARP 缓存中动态添加条目。

ping 命令可用于测试网络连通性。通过访问其它设备,ARP

关联会被动态添加到 ARP 缓存中。在 PC 1A 上 ping 地址 255.255.255.255,并发出 arp -a 命令查看获取的 MAC 地址。

在此任务结束时,完成率应为 100%。


实验五 网络层与链路层协议分析(PacketTracer)_第48张图片

任务 2:使用 PacketTracer 检查 ARP 交换

步骤 1. 配置 PacketTracer 捕获数据包。

进入模拟模式。确认 Event List Filters(事件列表过滤器)只显示 ARP 和 ICMP 事件。

实验五 网络层与链路层协议分析(PacketTracer)_第49张图片

步骤 2. 准备 Pod 主机计算机以执行 ARP 捕获。

在 PC 1A 上使用 Packet Tracer 命令 arp -d。 然后 Ping 地址 255.255.255.255。

实验五 网络层与链路层协议分析(PacketTracer)_第50张图片

步骤 3. 捕获并评估 ARP 通信。

在发出 ping 命令之后,单击 Auto Capture/Play(自动捕获/播放)捕获数据包。当 Buffer Full(缓冲区已满)窗口打开时,单击 View Previous Events(查看以前的事件)按钮。

实验五 网络层与链路层协议分析(PacketTracer)_第51张图片

点击ARP查看报文:

实验五 网络层与链路层协议分析(PacketTracer)_第52张图片

实验五 网络层与链路层协议分析(PacketTracer)_第53张图片

实验五 网络层与链路层协议分析(PacketTracer)_第54张图片

【补充】

ARP报文具体格式:

 

硬件类型
  

协议类型

硬件地址长度
  

协议长度

操作类型

发送方硬件地址(0-3字节)

发送方硬件地址(4-5字节)

发送方IP地址(0-1字节)
  

发送方IP地址(2-3字节)

目标硬件地址(0-1字节)

目标硬件地址(2-5字节)

目标IP地址(0-3字节)

各部分解释如下:

硬件类型:指明了发送方想知道的硬件接口类型,以太网的值为1;

协议类型:指明了发送方提供的高层协议类型,IP为0800(16进制);

硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样ARP报文就可以在任意硬件和任意协议的网络中使用;

操作类型:用来表示这个报文的类型,ARP请求为1,ARP响应为2,RARP请求为3,RARP响应为4;

发送方硬件地址(0-3字节):源主机硬件地址的前3个字节;

发送方硬件地址(4-5字节):源主机硬件地址的后3个字节;

发送方IP地址(0-1字节):源主机硬件地址的前2个字节;

发送方IP地址(2-3字节):源主机硬件地址的后2个字节;

目标硬件地址(0-1字节):目的主机硬件地址的前2个字节;

目标硬件地址(2-5字节):目的主机硬件地址的后4个字节;

目标IP地址(0-3字节):目的主机的IP地址。

你可能感兴趣的:(计算机网络)