GNS环境下的数据链路层实验

1.交换机

1.1 交换机原理

-- 交换机接口分为access trunk

1.2 VLAN交换机的配置

1.2.1 交换机基本操作

-- ESW#指特权模式下,一般为刚打开GNS命令行时所在的页面

ESW#show vlan-switch -- 查看VLAN

-- 由于思科设备的端口默认关闭,因此我们需要查看端口状态,对未开启的端口使用no shutdown开启端口
ESW#show ip interface brief -- 查看端口状态

ESW(config-if)#no shutdown -- 需要进入接口配置模式下

ESW#configure terminal  -- 进入全局配置模式

ESW(config)#interface fastEthernet 0/?  -- 进入接口配置模式
-- 其中?为要配置的接口号

ESW1#show interface switchport -- 查看端口信息

1.2.2 创建VLAN并将端口添加进VLAN内

-- 创建vlan需要在特权模式下
ESW#vlan database  进入vlan配置模式

-- 在vlan配置模式下
ESW(valn)#vlan (valnID)  创建vlan
-- 创建后vlan为空的局域网,并没有相应接口

-- 将接口加入vlan需要在接口配置模式下
-- 需要配置某个端口需要在进入接口配置模式时就做好设置 使用上面提到的指令interface fastEthernet 0/?
ESW(config-if)#switchport mode access ? -- 将接口置为access口
ESW(config-if)#switchport access vlan (valnID) -- 将接口加入vlanID内


-- 若在配置时使用了错误的操作指令
-- 例如需要将端口1加入至vlan 10 内结果达成了20,需要撤销命令的话,只需要在原有命令上添加一个no
-- 例如
ESW(config-if)#switchport access vlan 20 -- 出错指令
ESW(config-if)#no switchport access vlan 20 -- 撤销出错指令 

目的 解决带宽瓶颈

-- 指将具有相同传输介质的类型、相同传输速率的物理链路“捆绑”在一起,逻辑上当成一条链路
-- 链路聚合形成的逻辑端口成为smartgroup,可以将smartgroup当作普通端口使用
-- 聚合的链路又称干线(Trunk)


-- 负载分担机制
-- 假设四条链路(A、B、C、D)聚合成逻辑上的一条链路(trunk)
-- 在这条干线的两端设备进行通讯时,会选择四条链路内未被占用的链路

-- 链路聚合的优点
-- 1.增加了带宽 -->00M每条的链路变成了400M的链路
-- 2.增加了可靠性,实现了链路冗余 --> 当某条链路down,流量会在剩余的链路内自行分配
-- 3.避免二层环路

2.1 实现聚合条件

-- 所选端口必须工作在相同传输介质、全双工模式、工作速率必须一致
-- 端口的VLAN配置必须一致。端口类型、VLANID、PVID等均一致

2.2 链路聚合方式

-- 链路聚合方式分为静态聚合、动态聚合
--动态聚合
-- LACP(Link Aggregation Control Protocol)协议
		--> 交换机之间通过LACP协议的交互将端口聚合,形成一个逻辑端口
-- 标准: IEEE	802.3ad
-- LACP自动产生聚合、自动发现故障链路,在获得最大带宽的同时保证链路的有效性

2.3 链路聚合的配置

-- 1.创建Trunk组
ZXR10(config)#interface <smartgroup-name>
-- 2.绑定端口到Trunk组,并设置端口聚合模式
smartgroup <smartgroup-id> mode {passive | active | on}
	-->聚合模式设置为on时端口运行静态trunk,参与聚合的两端都需要设置为on模式
	-->聚合模式设置为active或passive时端口运行LACP,active指端口为主动协商模式,passive指端口为被动协商模式
	
-- >思科---------------------------------------------------------------------------------------------------------	
1. 将要聚合的端口设置为trunk口
ESW1(config)#interface range fastEthernet 0/1(开始端口号) - number(结束接口号)
-- 管理多个端口

-- 由于聚合链路需要将端口设为trunk口,但是无法直接设置为trunk口,需要先设置为access口再设置为trunk口
-- ESW1(config-if-range)#switchport mode access
-- ESW1(config-if-range)#switchport mode trunk

2.将端口放入一个链路组中
ESW1(config-if-range)#channel-group <groupID> mode on -- 创建一个链路组<groupID>,并将其打开
-- 因为是在端口设置模式下进行的,这句就将这几个端口设置进了这个链路组

3.将其封装成帧
ESW1(config-if-range)#switchport trunk encapsulation dot1q -- 将聚合链路端口设置成dot1q的帧接口

4.测试
-- 在完成上面操作之后,已经将一端配置完成,只需要在另一台交换机上进行相同的配置就可以使得数据可以传输
-- 在测试时,我们可以认为制造一些手段
-- 1.选择ping命令时,加上-t参数
-- 2.在ping时,我们手动关闭(shutdown)其中一个端口,查看数据是否会由其他端口继续传输

3.路由器

3.1 路由器原理

-- 路由器是用于网络互联的设备

-- 路由器必须具备以下:
	--> 1.多个三层接口连接不同的网络
	--> 2.协议至少向上实现到网络层
	--> 3.具有存储、转发、寻径功能
	

-- 路由器的作用:
	-->1. 路由(寻径):路由表的建立、更新
	-->2. 转发: 在网络之间转发分组数据
	-->3. 隔离广播: 路由器的每个端口都属于不同的广播域
	-->4. 指定访问规则: 防火墙功能和分组过滤
	-->5. 异构网络互联:连接异构的底层网络
	
	
-- 路由器最重要的两个功能
	--> 路由功能:(控制面功能、由软件实现)执行路由协议,生成、更新、维护路由表
	--> 交换/转发功能:(数据面、由内部硬件实现) 分组在路由器内部的处理过程,分组从路由器一个接口输入,根据目的的IP地址,查找路由表,然后选择合适的接口输出。
	
	
-- 交换/转发功能的实现
1. 进入接口  -> CRC帧校验检查目的MAC的是否与本接口符合
2. 路由表 	  -> 查找路由表获取转发接口和下一跳IP地址 (由路由协议维护)
3. ARP缓存(以太网) 映射列表(广域网)->获取外出接口进行数据层封装的信息(下一跳MAC地址) 
-- 3由ARP或逆向ARP进程所维护
4. 外出接口  -> 封装数据包进出外出接口的策略队列等待空闲转发帧

-- IP分组转发基本概念
	-->1. IP分组转发基于hop by hop的方式(数据报)
	-->2. 从源到目的之间源IP和目的IP地址保持不变
	-->3. 每经过一个数据链路层,数据链路层都要做相应的封装
	-->4. 返回的数据选路与到达的数据选路无关

3.2 路由器基本配置(包含三层交换机开启三层端口)

-- 由于路由器每个接口属于独立子网,因此需要给每个端口都配置不同的ip地址
-- 一般将一个网段的第一个ip地址配置给路由器的端口

1.
-- 此时由于PC需要跨网段进行通信,所以在为PC配置其ip地址时,还需要对PC的网关地址进行配置,
-- PC的网关接口就是与其网段相连的路由器的端口
-- 具体操作为
PC1>ip <PC网卡ip地址> <网关ip地址>

2.
-- 接下来需要进入到路由器的端口配置模式,配置其端口的ip地址
R1(config-if)#ip address <ip+子网掩码>
	--> 区别于路由器,三层交换机是不能直接给物理端口配置ip地址的(因为交换机还是二层设备,它的端口为二层端口)
	--> 三层交换机物理端口配置ip地址步骤
	--> 1.创建一个VLAN,将要配置的端口加入该VLAN内
	--> 2.ESW(config)#interface vlan <vlan-ID> (这一步就相当于在交换机上开启了三层端口)
	--> 3.ESW(config-if)#ip address <ip+子网掩码>
	--> 4.ESW(config-if)#no shutdown
	--> 5.ESW(config)#ip routing   (这一步开启三层交换机的路由功能,若不开启,将无法ping通同一设备下不同网段的设备)

-- 查看接口详细信息
-- show ip interface brief 是简略信息
R1#show interface fastEthernet 0/<number>

3.
-- 开启端口

-- 查看路由表命令
R1#show ip route

3.3 路由及路由表

-- 路由
-->指导IP数据包发送的路径信息

-- 路由表
-->路由表是保存在路由器内存中的一个数据库文件,它存储了本地直连网络和已知的远端网络相关的路由信息
-->这些路由信息知道路由器通过正确的本地接口将分组转发到目的地
-->直连网络: 与路由器的本地接口直接相连的网络
-->远端网络: 与路由器不直接相连的网络

-- 路由表属性释义
-- Dest 目的网络地址,用于标识IP包要到达的目的网络
-- Mask 子网掩码,与目的地址一起来标识目的主机或路由器所在的网段号
-- Gw 下一跳地址,数据流量方向与当前路由器相邻的路由器的入端口地址,也称网关地址
-- Interface 转发端口,数据包离开当前路由器去往目的地的接口
-- Owner 路由信息的来源,表明该路由信息是怎样学到的
-- Pri 路由优先级,决定来自不同路由来源的路由信息的优先权
-- Metric 度量值,用于表示每条可能路由的代价,度量值最小的路由就是最佳路由



路由来源(Owner)
--> 直连网络
	-- 直连接口上正确配置了IP地址和子网掩码,直连网络的路由项自动进入路由表,其owner为direct。直连接口的IP地址也一并进入路由表,owner为address。
--> 远端网络
	--1.静态方式
	-- 由系统管理员手工设置的路由称之为静态路由,它不随网络拓扑结构的改变而改变,其owner为static
	--2.动态方式
	-- 由动态路由协议自动生成,能够根据网络的拓扑变化调整路由信息。适用于大规模和复杂的网络。动态路由的owner为动态路由协议的名称。
	
	
路由优先级(priority)
	-->描述不同来源的路由信息进入路由表的优先程度
	-->一般优先级最高的是直连和静态路由
-->若出现去往同一目的的网络的多条来源不同的路由,则优先级值小者进入路由表



 度量值(Metric)
	-->衡量去往目的网络的花费和代价
	-->若出现去往同一目的网络的多条相同来源的路由,则Metric小者进入路由表
	
	
路由表匹配原则 > 最长前缀匹配
	--> 最长前缀匹配:路由查找时使用到达目的地子网掩码前缀最长的路由项
	--> 缺省路由:优先级最低,使得路由表得到最大简化

3.4 路由协议

路由协议是运行在路由器之间的、用于动态交换路由信息的分布式算法
	-->自动发现远端网络的信息
	-->计算到每个远端网络的最佳路径,将计算所得的路由信息添加到路由表中
	-->监视网络的拓扑变化,更新和维护路由表

-- 在动态路由中管理员不再需要手工对路由器上的路由表进行维护,而是在每台路由器上运行一个路由协议

路由协议分类
--按照路由器的寻径算法和交换路由信息的方式分类:
	-->距离-矢量路由协议:以RIP、BGP协议为代表。相邻的路由器之间会互相交换整个路由表,并进行矢量的叠加最后达到知道整个网络路由信息的目的。这里的距离通常指跳数,而矢量指的的是方向,矢量通常用下一跳或本地转发接口来表示
	-->链路状态路由协议:由OSPF、IS-IS等。也称之为最短路径优先算法(SPF),该算法维护着关于整个网络拓扑信息的复杂数据库,比起距离-矢量路由协议来,它更能全面的反映出网络的实际情况。

3.5 静态路由、缺省路由配置

-- 全局配置模式下
-- 静态路由
R1(config)#ip route <目的IP网段> <目的子网掩码> <下一跳网关IP> 
	--> 两个开启路由功能的三层交换机之间相连
	--> 1. 首先端口设置为trunk
	--> 2. 允许传输全部vlan  ESW(config-if)#switchport trunk allowed vlan all
	--> 3. 为端口设置ip地址
	--> 4. 添加静态路由的指令与路由器一致
-- 缺省路由
R1(config)#ip route 0.0.0.0 0.0.0.0 <下一跳网关IP> 

4. VLAN间路由

4.1 原理

1.由前面可以知道VLAN会隔离广播域
	-->这就造成了VLAN的工作特性会禁止VLAN间的通信流量
	-->解决上面问题的办法就是在不同的VLAN间添加一个路由器,由二层上升到三层,这就是VLAN间路由

2.VLAN间路由
-- 多个VLAN与同一路由器相连,要求路由器有多个连接或支持路由器中继
	-->解决方案1.多链路
		-->路由器为每个VLAN提供独立的接入链路
		-->特点:需要多个路由器物理接口,成本高、灵活性与可扩展性差
		-->配置:路由器上在多个物理接口配置不同VLAN缺省网关IP地址,交换机上的端口设置为ACCESS PORT,分别属于不同VLAN
		
	-->解决方案2.单臂路由(基于子接口实现VLAN间路由)
		-->路由器支持在一条物理链路上承载多个VLAN
		-->配置:在路由器单个物理接口配置多个子接口,做802.1Q封装,不同子接口配置不同VLAN的缺省网关IP地址,交换机的端口设置为800.1Q trunk
		-->特点:只需要一个路由器物理接口,成本低可扩展性好,需要路由器支持trunk封装
		
	-->解决方案3.三层/多层交换机方式
    	-->特点:同一交换机机架内集成了路由与交换功能,可见接口都是二层端口(port)需要创建三层接口(interface)并与vlan相连
    	-->配置:为每个VLAN配置逻辑接口(interface)其IP地址为对应VLAN的缺省网关地址
    	
 3.三层交换机
 -- 解决路由链路迅速增长的数据量
 -- 三层交换机是将路由器和交换机功能结合的一种设备,既有交换功能,又具有路由功能
 三层交换机与路由器最主要的区别:对分组的转发操作物理实现上不同

4.2 VLAN间路由配置

1. 单臂路由
-->1.配置PC的ip与网关ip,并配置与PC相连的交换机端口加入相应的VLAN
-->2.与路由器相连的交换机端口设为trunk
-->3.进入子接口
R1(config)#interface fastEthenet 0/1.* 
-->4.配置子接口
R1(config-subif)#encapsulation dot1q <VLAN-ID>
R1(config-subif)#ip address ....
R1(config-subif)#no shutdown


2.三层交换机实现VLAN间路由
-->1.配置PC ip地址及网关地址,加入相应VLAN
-->2.开启路由功能
-->3.开启三层接口,配置ip

5. OSPF路由协议

5.1 原理

--在前面的路由协议中,我们知道按照路由器的寻径算法和交换路由信息的方式分类,路由协议可以分为:距离-矢量路由协议和链路状态路由协议。

OSPF是链路状态路由协议的代表
OSPF主要特点:
-->开放式最短路径优先
-->链路状态路由协议
	-->1.形成拓扑数据库
	-->2.计算最短路径
-->支持VLSM
-->基于带宽选择路由
-->支持等值的多路由


链路状态路由协议原理
--可靠传播
	-->路由器找到自己邻居
	-->每个路由器向邻居发送链路状态数据包,包含了自己的路径成本
	-->LSA扩散,每个路由器都得到相同拓扑结构的数据库
--路由计算
	-->每个路由器由最短路径算法SPF算法计算网络可达性,建立以自己为树根的SPF树
	-->创建路由表,列出最短路径列表;维护其他拓扑结构和状态细节数据库
	
可靠传播的三个要点
-- 1.向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法
-- 2.发送的信息就是与本路由器相邻的所有路由器的链路状态
	-->"链路状态"就是说明本路由器都有哪些路由器相邻,以及该链路的"度量"(metric)
-- 3.只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息

5.2 OSPF配置

--> OSPF启动后必须先配置骨干区域(area 0)

-- 配置OSPF
-- 前提是配置好每个端口的ip
1.全局模式下
R1(config) router ospf <进程号(1-65535)>  -- 路由配置模式
2.路由配置模式下
R1(config-router) network <ip> <a.b.c.d(反向子网掩码)> area <area-ID> -- 宣告网段ip
-- 每个路由器必须先宣告自己的直连接口,彼此相邻路由器才会握手,取选举DR、BDR
3.路由配置模式下
R1(config-router) router-id <loopback地址>

全局配置模式下
show ip ospf nerghbor  --查看ospf邻居

-- 创建loopback地址
1.全局配置模式下
R1(config) interface loopback <number>
2.接口配置模式下
R1(config-if) ip address <2.2.2.2> <255.255.255.255>

6. vrrp(Virtual Router Redundancy Protocol)虚拟路由冗余协议

6.1 原理

-- 将多个路由器运行虚拟路由器冗余协议,并组成一个虚拟路由器组。相同的虚拟路由器成员拥有着相同的VRID,并拥有一个虚拟路由器,该虚拟路由器拥有一个虚拟ip地址和虚MAC地址

 VIP (虚拟ip地址)
-- VIP可以是VRRP组中一个路由器接口的地址,也可以是第三方地址,但是此地址必须和物理接口地址在同一广播域内(同一网段)。
 
-- LAN上的终端主机利用虚拟IP地址作为其网关

主用路由器选举
-- 1.主用路由器选举时,先比较接口优先级(1-255),数值越大,优先级越高,优先级默认为100,只有IP拥有者的优先级是255,接口优先级相同时,则IP地址大者成为主用路由器。若备用路由器在一段时间内未收到来自主用路由器的报文,则认为主用路由器故障,重新进行主用路由器选举。
-- 2.主用路由器会根据VRID生成虚拟MAC,00005E0001xx,xx为16进制的VRID,作为VIP的MAC地址,并通过发送ARP报文通告给网络中的设备
-- 3.当网络中设备的接口优先级发生变化或有新设备加入时,是否重新选举主用路由器需要根据设备的抢占模式决定,允许就可以抢占,否则优先级再高都不能抢占主用路由器

6.2 配置

接口配置模式下
--1. 先为接口配置ip地址,并且打开接口
R1(config-if) ip address ...
--2. 对应接口下
R1(config-if) vrrp <组号> ip <VIP>

7 ACL (access control list)访问控制列表

7.1 原理

	访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。
	
-- 通过设置某种规则rule作为判别标准,以决定是否允许数据包通过。

-- ACL判别标准(作为判别的依据)
-- 1.源端口号
-- 2.目的端口号
-- 3.协议
-- 4.源地址
-- 5.目的地址

ACL分为标准ACL、扩展ACL
-- 标准ACL(ACL号1-99)
-- 1. 以源地址作为过滤协议
-- 2. 只能粗略的限制某一大类协议

-- 扩展ACL(ACL号100-199)
-- 1.以源地址、目的地址、协议类型、端口号等作为过滤标准
-- 可以精确地限制到某一种具体协议


匹配原则
-- 1. 从上往下匹配,匹配成功则转发,匹配失败则匹配下一条
-- 2. 下一条匹配继续按照上面地原则
-- 3. 在所有条目都匹配失败后,依然丢弃该包(隐式拒绝)

Rule实例 (Permit/Deny) 网段号 反子网掩码
-- Permit 192.168.1.0 0.0.0.255
-- Deny 192.168.0.0 0.0.255.255
-- 从上往下执行

7.2 配置ACL

-- 标准ACL配置
1.全局配置模式下
Router(config) access-list <ACL号> <premit/deny> <ip/网段> {<反子网掩码>可不加,默认0.0.0.0}

2.在配置完ACL后,需要进入到相应地接口下去应用ACL
接口配置模式下
Ruter(config-if) ip access-group <刚配置的ACL号> <方向in/out>

--删除已建立的扩展ACL语法如下:
Router(config) no access-list access-list-number
posted @ 2021-11-22 23:04  南晨晨晨  阅读(265)  评论(0)    收藏  举报