网络协议分析的方法:静态的代码分析、动态的流量分析
IOS 的命令行接口(Command-Line Interface,CLI)是配置、监控和维护 Cisco 设备的最主要用户接口。
CLI 有多种模式:
命令模式 | 访问方法 | 提示符 | 退出方法 | 用途 |
---|---|---|---|---|
User EXEC(用户模式) | 连接设备 | Router> | 输入命令logout 或quit |
改变终端设置 执行基本测试 显示系统信息 |
Privileged EXEC(特权模式) | 在User EXEC 模式下输入命令enable (若设置了enbale密码,还需输入密码) |
Router# | 输入命令disable 或exit ,退回到UserEXEC模式 |
执行show 和debug 命令向设备复制镜像文件 重启设备 管理设备配置文件 管理设备文件系统 |
Global configuration(全局配置模式) | 在 Privileged EXEC 模式下输入命令configure terrminal (简写conf t ) |
Router(config)# | 输入命令exit 或end ,或按Ctrl+Z 组合键,退回到Privileged EXEC 模式 |
设置设备全局属性 |
Interface configuration(接口配置模式) | 在Global configuration模式下输入命令interface (简写int ) |
Router(config-if)# | 输人命令exit 退回到Global Configuration模式输人命令 end ,或按Ctrl+Z组合键,退回到Privileged EXEC模式 |
设置指定端口属性 |
常见指令:
1、设置路由器接口地址及掩码
R1#conf t # 进入特权模式
R1(config)#int f0/1 # 指定接口
R1(config-if)#ip add 10.0.1.1 255.255.255.0 # IP地址及掩码
R1(config-if)#no shut # 开启接口
2、设置PC的IP地址、掩码及默认网关
PC-1> ip 10.0.0.2/24 gateway 10.0.0.1 # /24就是地址掩码255.255.255.0,10.0.0.1是默认网关
3、保存相关配置
R1#write
PC-1> save
4、在PC1上pingPC2(10.0.1.2):
PC-1> ping 10.0.1.2
Wireshark分组嗅探器包括两部分:分组捕获器、分组分析器
Wireshark的过滤器:捕获过滤器、显示过滤器
显示过滤器:可以用比较运算符比较协议字段值,用比较结果作为过滤条件;可以用逻辑运算符连接多个比较表达式,构成复杂的显示过滤器。
现在全世界使用得最多的数据链路层协议是PPP
PPP包含三大部分内容:
在建立、保持和终止PPP链路的过程中,PPP链路需要经过5个阶段:
LCP的三大功能:链路配置、链路终止、链路维护
链路维护流程:
NCP是一组协议,其中对应IP协议用的是IPCP协议,其配置选项有:多个IP地址、IP压缩协议、IP地址。
PAP协议:口令认证协议;优点:PAP的整个认证流程非常简单;缺点:认证只能在链路建立阶段进行,身份和口令是以明文进行传输,安全性低。
CHAP协议:基于挑战的握手认证协议;CHAP协议可以在链路建立和数据通信阶段多次使用,进行认证,同时安全性较高。
CHAP协议认证过程是挑战应答,认证方产生一个随机数发送给被认证方,被认证方收到随机数后加上自己的身份和口令信息,使用事先协商的算法进行加密处理,默认使用MD5。将加密结果送给认证方,认证方把本地储存的用户口令提取出来,加上用户身份信息和之前产生的随机数,同样进行加密处理,将加密处理的结果与收到的结果进行对比,相同即认证成功,不同即认证失败。
R1#conf t
R1#username R2 password 1234
.... # 配置接口IP
R1(config)#int s0/0
# 设置s0/0口作为DCE设备,为DTE设备提供时钟以便同步,时钟速率为128000(bit/s),注意仅DCE路由需要配置
R1(config-if)#clock rate 128000
R1(config-if)#enc ppp
R1(config-if)#ppp authen chap
R1(config-if)#no shut
VLAN技术出现的原因:维护人员无法控制二层交换,导致传统以太网存在网络安全性差、网络效率低和业务扩展能力差的问题。VLAN可以隔离广播风暴。
为了实现转发控制,在待转发的以太网帧中添加 VLAN标签 ,然后设定交换机端口对该标签和帧的处理方式。VLAN帧是按照IEEE 802.1q进行封装的。
VLAN的划分方式:基于端口(最常用)、基于MAC地址、基于协议、基于子网、基于策略(详细介绍)
VLAN 技术的出现将链路分成:
交换机的端口类型有以下两种:Access、Trunk
实现VLAN间通信的办法:单臂路由(共用一个物理接口、使用不同的物理接口)、三层交换机
生成树STP提出的原因:避免路由环路。STP通过构造一棵无环的树的方法达到裁剪冗余的环路的目的,同时实现链路备份和路径最优化。
在二层网络中用交换机ID(或者网桥ID)来描述网络中的交换机。一个交换机ID由两部分组成,前16 位表示的是交换机的优先级,后48 位表示的是交换机的MAC 地址。
根交换机是交换机ID最小的交换机。
根端口是指从一个非根交换机到根交换机总开销最小的路径所经过的本地端口。这个最小的总开销值称为交换机的根路径开销,是该路径上所有出端口的端口开销总和。
STP为每个网段选出一个指定端口,指定端口到根交换机总开销最小。根交换机的所有端都是指定端口。根端口的对端端口一定是指定端口DP。
除了根端口和指定端口外的端口为预备端口,根端口进而指定端口为转发状态,预备端口为阻塞状态。
生成树的工作原理:生成树计算的第一步是选举根交换机。根交换机的选举基于交换机ID。交换机ID最小的成为根交换机。生成树生成的第二步是为每个非根交换机选举根端口。根端口到根交换机的路径开销最小。生成树生成的第三步是为每个网段选出一个指定端口。指定端口到根交换机的路径开销最小。在完成根端口和指定端口的选举后,交换机上所有的既非根端口,也非指定端口的端口,统称为预备端口。为防止环路,STP 会将交换机上的预备端口进行逻辑阻塞,进而生成无环的生成树。
例子:
IOU1#show spanning-tree # 查看生成树的情况
# 更改IOU3的优先级,使其成为根网桥
IOU3(config)#spanning-tree vlan 1 priority 4096
IPv6 地址是一个 128
位的二进制数。
IPv6 地址分为三种类型:
IPv6分组和IPv4分组的区别:IPv6分组是固定首部+载荷的构成,IPv4分组是固定首部+选项字段+载荷的构成。IPv6 把原来 IPv4 首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。
IPv6定义了6种扩展首部:
从IPv4到IPv6的过渡技术:双协议栈、隧道技术
ICMPv6报文分为两大类:
路由表为分组转发提供了到达目的地址的“最佳路径”。
路由项的基本信息:<目的网络地址,下一跳地址,转发接口,路由代价>
Router#show ip route
Codes: C-connected, S-static, R-RIP, D-EIGRP,
EX-EIGRP external,O-OSPF, IA-OSPF inter area
E1-OSPF external type 1,E2-OSPF external type 2,
*-candidate default
Gateway of last resort is 10.5.5.5 to network 0.0.0.0
172.16.0.0/24 is subnetted, 1 subnets
C 172.16.11.0 is directly connected, serial1/2
O 172.22.0.0/16 [110/20] via 10.3.3.3,01:03:01, Serial1/2
S* 0.0.0.0/0 [1/0] via 10.5.5.5
路由表中的路由信息主要通过三种方式获得:添加直连路由、添加静态路由、计算动态路由
路由管理距离:是路由器用来评价路由信息可信度的一个指标,定义了路由来源的优先级别。从0到255的整数值。等级值越小,协议的信任度越高。
管理距离值:直连<静态
路由的度量值:度量一条路径的代价,衡量路径的好坏的依据,如跳数、带宽、负载等
# R2上配置到192.168.1.0/24和192.168.2.0/24网段的静态路由
R2(config)#ip route 192.168.1.0 255.255.255.0 10.1.1.1 # 目的网段+掩码+接口/IP
R2(config)#ip route 192.168.2.0 255.255.255.0 10.1.2.2
# R1和R3上配置默认路由。
R1(config)#ip route 0.0.0.0 0.0.0.0 f0/0
R3(config)#ip route 0.0.0.0 0.0.0.0 f0/1
RIP协议:是一种基于距离向量算法的动态路由选择协议。优点:简单。缺点:适用于小型互连网。以跳数为度量值,16
表示网络不可达。
RIP每隔30秒与邻居路由器交换各自的路由表。
RIP1 和 RIP2 使用 UDP520
端口发送或接收 RIP 报文。
RIP存在计数到无穷的问题,解决方案有:水平分割(简单与带毒性)、触发更新。
RIP 协议报文由固定首部和路由项列表组成。
OSPF:开放最短路径优先协议,一种基于链路状态选路算法的路由协议。
OSPF的基本思想:将互联网络抽象成一个有向加权图,路由器监测所连接网络的链路状态,并与其他路由器交互,进而构造出当前网络的链路状态数据库,并计算从自己出发到任一网络的最佳路由,从而建立起自己的路由表。
OSPF把自治系统划分成若干个区域,每个区域有一个 32
位的编号,可用类似于 IP 地址的点分十进制法表示,区域 0.0.0.0
是一个特殊的区域:主干区域,其他区域称为非主干区域。
根据作用不同,路由器被划分为 4 种类型:内部路由器、区域边界路由器、主干路由器、AS 边界路由器
OSPF 支持 5 种网络类型:
OSPF定义了5种类型的报文:
DR和BDR选举(仅广播网络和非广播多址接入网络需要):通过Hello包进行选举。优先级最高的路由器成为 DR;优先级次高的路由器成为 BDR。优先级为0
的路由器没有选举资格。若两个路由器的优先级相同,标识符(路由器ID)更大的胜出。DR和BDR一旦选定,即使OSPF区域内新增优先级更高的路由器,DR和BDR也不重新选举。
OSPF的工作流程:邻居关系的建立—>邻接关系的建立—>主从关系的确认—>双方交互各自的链路状态数据库摘要—>向对方请求链路状态并更新自己的数据库—>若链路状态变换,更新自己的数据库,向邻接路由器发送链路状态更新报文,通知变化的链路状态(洪泛)
自治系统内部的路由协议,IGP:RIP、OSPF;
自治系统之间的路由协议,EGP:BGP
BGP边界网关协议,一种自治系统间的选路协议,在 AS 之间交换网络的可达性信息,管理员可以通过应用一些路由控制策略进行路由控制
自治系统中,运行 BGP 协议的路由器称为 BGP 发言人,用一个 4
字节的 BGP 标识符进行标识;
建立连接的两个 BGP 发言人互称为对等发言人,位于一个AS的为内部对等发言人(IBGP),位于不同 AS为外部对等发言人(EBGP)
BGP 发言人之间用 TCP 作为传输协议,端口号为179
两个 BGP 发言人建立 TCP 连接后:
BGP4 定义了 4 种报文:
类型 | 报文名称 |
---|---|
1 | 打开(OPEN)报文 |
2 | 更新(UPDATE)报文 |
3 | 通知(NOTIFICATION)报文 |
4 | 保活(KEEPALIVE)报文 |
BGP的路径属性:公认必遵、公认任意、可选过渡、可选非过渡
IGP、EGP和Incomplete
。属性名 | 公认/可选 | 必遵/任意 | 过渡/非过渡 |
---|---|---|---|
Origin | 公认 | 必遵 | — |
As_PATH | 公认 | 必遵 | — |
Next hop | 公认 | 必遵 | — |
Local-Preference | 公认 | 任意 | — |
MED | 可选 | — | 非过渡 |
Community | 可选 | — | 过渡 |
题目:一个公司有总部和分部,现在想实现公司总部和公司分部之间的网络互通。AS65100是公司分部,AS65101是运行商网络,AS65102是公司总部。R1、R2属于AS65101,R3、R4属于AS65100,R5、R6、R7属于AS65102。为了实现互通,R1和R3、R2和R5采用直连物理接口建立EBGP邻居关系,R1和R2之间采用各自的Looback 0 接口建立IBGP邻居关系,同时R1、R2、R3和R4运行RIP
,R5、R6、R7运行OSPF
。并且R1的f0/1口、R2的f0/0口、R3的f0/0口、R5的f0/1口的为被动口。
其中,PC1、PC2、PC3、PC4是模拟四个部门的PC机,分属于VLAN10、20、30和40,需要在R4和R7上配置单臂路由实现连通。
设备名 | 端口 | ip地址 | 掩码 | AS ID |
---|---|---|---|---|
R1 | f0/1 | 192.168.3.1 | 255.255.255.0 | 65101 |
f0/0 | 192.168.4.1 | 255.255.255.0 | ||
loopback0 | 1.1.1.1 | 255.255.255.0 | ||
R2 | f0/1 | 192.168.4.2 | 255.255.255.0 | 65101 |
f0/0 | 192.168.5.2 | 255.255.255.0 | ||
loopback0 | 2.2.2.2 | 255.255.255.0 | ||
R3 | f0/1 | 192.168.2.3 | 255.255.255.0 | 65100 |
f0/0 | 192.168.3.3 | 255.255.255.0 | ||
R4 | f0/0 | 192.168.2.4 | 255.255.255.0 | 65100 |
f0/1.1 | 192.168.1.4 | 255.255.255.0 | ||
f0/1.2 | 192.168.9.4 | 255.255.255.0 | ||
R5 | f0/1 | 192.168.5.5 | 255.255.255.0 | 65102 |
f0/0 | 192.168.6.5 | 255.255.255.0 | ||
f1/0 | 192.168.7.5 | 255.255.255.0 | ||
R6 | f0/1 | 192.168.6.6 | 255.255.255.0 | 65102 |
R7 | f0/0 | 192.168.7.7 | 255.255.255.0 | 65102 |
f0/1.1 | 192.168.8.7 | 255.255.255.0 | ||
f0/1.2 | 192.168.10.7 | 255.255.255.0 |
设备名 | 端口 | ip地址 | 掩码 | 网关 |
---|---|---|---|---|
PC1 | e0 | 192.168.1.1 | 255.255.255.0 | 192.168.1.4 |
PC2 | e0 | 192.168.9.1 | 255.255.255.0 | 192.168.9.4 |
PC3 | e0 | 192.168.8.1 | 255.255.255.0 | 192.168.8.7 |
PC4 | e0 | 192.168.10.1 | 255.255.255.0 | 192.168.10.7 |
设备 | 接口 | 接口类型 | 所属VLAN |
---|---|---|---|
IOU1 | E0/0 | Trunk | |
E0/1 | Access | VLAN 10 | |
E0/2 | Access | VLAN 20 | |
IOU2 | E0/0 | Trunk | |
E0/1 | Access | VLAN 30 | |
E0/2 | Access | VLAN 40 |
实验步骤:
一、路由器与PC基本配置(接口IP、掩码及网关)
二、 配置VLAN(以IOU1为例)
IOU1(config)#vlan 10,20 # 创建VLAN
IOU1(config-vlan)#exit
# 配置设备端口为 Access 类型
IOU1(config)#int e0/1
IOU1(config-if)#sw ac vl 10
IOU1(config)#int e0/2
IOU1(config-if)#sw ac vl 20
# 配置设备端口为 Trunk 类型
IOU1(config)#int e0/0
IOU1(config-if)#sw tr enc dot1q
IOU1(config-if)#sw mo tr
IOU1(config-if)#sw tr al vlan all # all是全部通过,如果需要单独设置通过VLAN则改为相应VLAN号即可
# 在IOU1上查看VLAN
IOU1#show vlan
IOU1#show int e0/0 sw
三、 配置单臂路由(以R4为例)
# 配置子接口IP
R4(config)#int f0/1.1
R4(config-if)#enc dot1q 10 # 封装dot1q协议
R4(config-if)#ip add 192.168.1.4 255.255.255.0
R4(config)#int f0/1.2
R4(config-if)#enc dot1q 20
R4(config-if)#ip add 192.168.9.4 255.255.255.0
注:如果是三层交换机模拟路由则需要开启路由功能,之后操作与上述单臂路由相同。
IOU1(config)#ip routing
四、 配置RIP(以R1为例)
R1(config)#router rip # 启动RIP
R1(config-router)#ver 2 # 指定RIP的版本
R1(config-router)#no auto # 关闭路由聚合
R1(config-router)#net 192.168.3.0 # 指定直连网段(注意不需要掩码)
R1(config-router)#net 192.168.4.0 # 指定直连网段
R1(config-router)#net 1.1.1.0 # 环回口网段
R1(config-router)#pass f0/1 # 指定被动接口(通常是AS的边界)
五、 配置OSPF(以R6为例)
R6(config)#router ospf 1 # 启动OSPF路由协议(记得加进程号)
# 指定直连网段
R6(config-router)#net 192.168.6.0 0.0.0.255 area 10 # 0.0.0.255是通配符掩码,网络地址掩码的反码
注:如果需要观察OSPF的DR/BDR选举进程,可以通过重启已经选举出来的DR/BDR进程的方法
R6#clear ip ospf process # 重启OSPF进程
六、配置BGP(以R1为例)
R1(config)#router bgp 65101 # 启用 BGP路由协议
# 配置BGP邻居,其中R2为IBGP对等体
R1(config-router)#nei 2.2.2.2 remote 65101
R1(config-router)#nei 2.2.2.2 update loopback0 # 用loopback接口地址作为IBGP邻居标识时,必须指定邻居的更新源接口。
# 配置R3为EBGP对等体
R1(config-router)#nei 192.168.3.3 remote 65100
# 路由重分布
R1(config-router)#redis rip
# 如果是OSPF,写法为redis ospf 1
R1#show ip route # 查看路由表
R1#show ip bgp # 查看BGP路由表
R1#show ip bgp neighbors # 查看BGP邻居路由器
七、 路由重分布
R3(config)#router rip
R3(config-router)#redis bgp 65100 metric 5 # 跳数为5
R5(config)#router ospf 1
R5(config-router)#redis bgp 65102 # 将BGP进程的信息重分布到OSPF进程
八、测试连通性
❗ 转载请注明出处
作者:HinsCoder
博客链接: 作者博客主页