赞
踩
我把学过的命令都先总结到一起,并且每条命令都有解释。还有我找到了一个神仙网站,上面可以看和华为有关的各种命令,还可以搜索,每条命令的解释,格式,使用范围,前提条件,例子都有,还有相关单词的解释,反正很好用没广告,不收费,类面简洁干净,有兴趣可以看看
https://support.huawei.com/enterprise/zh/doc/EDOC1000128396/725fb7d0
<Huawei> --- 用户视图 ---- < > ---- 只能作查看类型的操作,不能配置
<Huawei>display ip interface brief --- 查看接口IP地址的摘要信息
<Huawei>system-view --- 进入系统视图的命令
Enter system view, return user view with Ctrl+Z.-----进入用户视图,按 Ctrl+Z退回用户视图
[Huawei] ---- 系统视图的标志 --- [ ] --- 可以进行配置,但是只能进行一些全局类的配置
[Huawei]sysname aa----修改路由器名字
[aa]
[aa]interface GigabitEthernet 0/0/0 --- 进入接口视图
[aa-GigabitEthernet0/0/0]
[aa-GigabitEthernet0/0/0]ip address 192.168.1.1 24 --- 接口配置IP地址
[aa-GigabitEthernet0/0/0]quit --- 退回到上一个视图中
[aa]
[aa-GigabitEthernet0/0/1]undo ip address 192.168.2.1 255.255.255.0 --- 华为设备所有的删除操作 都是在原命令前面加undo
帮助系统
TAB --- 可以补全命令
? --- 可以展示以定义字母开头的所有命令。或者在命令完成后执行,可以将后面跟的参数进行展示
[R1-GigabitEthernet0/0/0]display this --- 查看当前视图的配置操作
[R1]display current-configuration --- 查看缓存中的数据
<r1>save --- 保存,将配置内容保存到闪存---在用户视图下执行,后面还有y/n的选项,不要敲了命令就跑。
<r1>display saved-configuration --- 查看闪存中的配置内容
Telnet协议
路由器配置telnet的方法:
1,进入到aaa的视图当中
[r1]aaa
[r1-aaa]
2,在aaa中创建登陆使用的用户名密码信息
[r1-aaa]local-user admin privilege level 15 password cipher 123456
[r1-aaa]local-user 名字 privilege level 权限等级 password cipher 密码
3,定义创建用户的服务类型
[r1-aaa]local-user admin service-type telnet
[r1-aaa]local-user 已创建用户名 service-type 协议名字
4,创建VTY虚拟登陆端口
[r1]user-interface vty 0 4 --- 同时开启5个虚拟的登陆端口,可以同一时间,5个人登陆管理设 备
[r1-ui-vty0-4]
5,定义认证模式
[r1-ui-vty0-4]authentication-mode aaa --- 调用AAA平台来完成认证
<Huawei>telnet 192.168.1.1----客户端----开启telnet+要登陆到的电脑IP
Press CTRL_] to quit telnet mode
Trying 192.168.1.1 ...
Connected to 192.168.1.1 ...
Login authentication
Username:用户名
Password:密码
DHCP服务器配置
1,开启DHCP服务
[r1]dhcp enable---激活
Info: The operation may take a few seconds. Please wait for a moment.done.
[r1]
2,创建地址池
[r1]ip pool aa
[r1]ip pool 名字
Info: It's successful to create an IP address pool.
[r1-ip-pool-aa]
3,配置地址池
[r1-ip-pool-aa]network 192.168.1.0 mask 24
[r1-ip-pool-aa]network 网段IP mask 掩码长度
[r1-ip-pool-aa]gateway-list 192.168.1.1----配置出口网关地址
[r1-ip-pool-aa]dns-list 114.114.114.114----在IP地址池视图下为DHCP客户端配置DNS服务器地址。
4,在接口选择全局配置
[r1-GigabitEthernet0/0/0]dhcp select global
路由器命令
<r1>display ip routing-table --- 查询设备的路由表
[r1]interface LoopBack 0-----创建环回接口+编号区分不同环回
[r1]ping -a 192.168.1.1 192.168.3.1 --- 指定源IP发送ping包---ping是基于icmp协议的
[r1]ip route-static 0.0.0.0 0 12.0.0.2----写缺省路由
[r1]ip route-static 192.168.0.0 22 NULL 0----汇总后可能产生的黑洞导入到 NULL 0口
[r1]ip route-static 192.168.2.0 24 21.0.0.2 preference 61 --- 手动修改静态路由的优先级
[r1]display ip routing-table protocol static --- 过滤静态路由---配合查看路由表使用
[r1-GigabitEthernet0/0/1]shutdown --- 手动关闭接口
RIP的配置
1,启动RIP进程
[r1]rip 1 --- 进程号,进具有本地意义,如果需要同时启动多个RIP进程时,需要使用不同的进程号进行区分
[r1-rip-1]
2,选择RIP版本
[r1-rip-1]version 2
3,宣告
RIP宣告的要求:
1,所有直连网段都必须宣告
2,必须按照主类进行宣告----主类宣告---就是IP地址类型---A,B,C
宣告的作用:
1,激活接口 --- 只有宣告的网段包含的接口会被激活,只有激活的接口可以收发RIP的数据。
2,发布路由 --- 只有激活的接口所对应的直连网段的路由才能被发布
[r1-rip-1]network 1.0.0.0----宣告
拓展配置
1, RIPV2的手工认证
[r2-GigabitEthernet0/0/1]rip authentication-mode md5 usual plain 123456
[r2-GigabitEthernet0/0/1]rip authentication-mode 可选 usual 可选 密码
参数 | 参数说明 | 取值 |
simple | 指定使用简单认证方式。 说明: Simple认证方式存在安全风险,推荐配置HMAC-SHA256密文认证方式。 | - |
md5 | 表示使用MD5密文认证方式。 说明: MD5密文认证方式存在安全风险,推荐配置HMAC-SHA256密文认证方式。 | - |
usual | 表示MD5密文认证报文使用通用报文格式(私有标准)。 | - |
nonstandard | 表示MD5密文认证报文使用非标准报文格式(IETF标准)。 | - |
plain | 表示只能键入明文认证密码,在查看配置文件时以明文方式显示。 须知: 如果使用plain选项,密码将以明文形式保存在配置文件中,存在安全隐患。建议使用cipher选项,将密码加密保存。 | - |
plain-text | 指定明文方式显示的认证密码。 | 字符串形式,可以为字母或数字,区分大小写,不支持空格。当认证模式为simple或md5 usual时,长度为1~16;认证模式为md5 nonstandard时,长度为1~255。 |
cipher | 表示可以键入明文或密文认证密码,但在查看配置文件时均以密文方式显示。 | - |
password-key | 指定密文认证密码。 | 字符串形式,可以为字母或数字,区分大小写。
说明: 字符不包括“?”和空格。但是,当输入的密码两端使用双引号时,可在密码中间输入空格。 |
keychain keychain-name | 指定使用密钥链表认证方式。 | 字符串形式,长度范围是1~47,不区分大小写。字符不包括问号和空格,但是当输入的字符串两端使用双引号时,可在字符串中输入空格。 |
key-id | 指定MD5密文认证标识符。 | 整数形式,取值范围是1~255。 |
hmac-sha256 | 指定HMAC-SHA256密文验证方式。 | - |
2, RIPV2的手工汇总
[r1-GigabitEthernet0/0/0]rip summary-address 192.168.0.0 255.255.254.0
3,沉默接口
如果一个接口配置成为沉默接口,则将只接受,不发送RIP的数据包。
[r1-rip-1]silent-interface GigabitEthernet 0/0/1----适用于连接电脑的端口
4,加快收敛 --- 减少计时器的时间
[r1-rip-1]timers rip 30 180 120
5,缺省路由
[r3-rip-1]default-route originate --- 可以指定配置设备作为缺省路由的源头,所有其他设备将自动生成一条指向该设备的缺省路由。但是该设备自身的缺省必须手工配置
[r1]ip route-static 192.168.3.0 24 192.168.2.2 --- 写静态路由命令
OSPF的基本配置
1,启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1 --- 手工配置RID需要在进程启动时配置
[r1-ospf-1]
2,创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
3,宣告
宣告的作用:
1,激活接口 --- 只有宣告的网段包含的接口会被激活,只有激活的接口可以收发OSPF 的数据。
2,发布路由 --- 只有激活的接口所对应的直连网段的路由才能被发布
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 --- 反掩码 --- 由连续的0和连续的1组成,0 对应位不可变,1对应位可变。
[r1]display ospf peer --- 查看邻居表
[r1]display ospf peer brief --- 查看邻居关系简表
[r1]display ospf lsdb --- 查看数据库表
[r1]display ospf lsdb router 2.2.2.2(这里要写查看的) --- 展开一条LSA的方法
[r1]display ip routing-table protocol ospf --- 查看路由表
[r1-ospf-1]bandwidth-reference 1000 --- 修改参考带宽
[r1-GigabitEthernet0/0/0]ospf dr-priority---修改评定大哥二哥的优先级
<r1>reset ospf 1 process --- 重启OSPF进程
OSPF的拓展配置
1,OSPF的手工认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
2,手工汇总 --- 区域汇总
在ABR设备上进行配置
[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.254.0
3,沉默接口
配置了沉默接口的接口,将只接受不发送路由信息
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2
4,加快收敛 --- 减少计时器的时间
[r1-GigabitEthernet0/0/0]ospf timer hello 5 --- 修改hello时间的方法
[r2-GigabitEthernet0/0/0]ospf timer dead ?
INTEGER<1-235926000> Second(s)
注意:邻居双方的hello时间和死亡时间必须相同,否则将断开邻居关系
5,缺省路由
[r3-ospf-1]default-route-advertise
注意:这个命令要求边界设备自身得具有缺省路由才行
[r3-ospf-1]default-route-advertise always --- 在没有缺省的情况下,强制下发缺省
基础ACL配置 1,创建ACL列表 [r2]acl ?
INTEGER<2000-2999> Basic access-list(add to current using rules) --- 基础ACL INTEGER<3000-3999> Advanced access-list(add to current using rules) --- 高级ACL INTEGER<4000-4999> Specify a L2 acl group --- 二层ACL
ipv6
name
number
ACL IPv6
Specify a named ACL
Specify a numbered ACL
[r2]acl 2000
[r2-acl-basic-2000]
2,在ACL列表中添加规则
[r2-acl-basic-2000]rule deny source 192.168.1.3 0.0.0.0 --- 通配符 --- 0代表不可变, 1代表
可变 --- 通配符和反掩码不同,他可以0和1穿插着使用。
[r2-acl-basic-2000]rule permit source any --- 允许所有
[r2]display acl 2000 --- 查看ACL列表
华为的规则默认以5为步调自动添加序号, 目的为了方便插入规则
[r2-acl-basic-2000]undo rule 7 --- 删除规则
3,在接口上调用ACL列表
[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000
切记:一个接口的一个方向上只能调用一张ACL列表
高级ACL列表配置位置原则:
因为高级ACL列表可以进行精准的匹配,所以,位置应该放在尽可能靠近源的地方,可以 节约链路资源。
[r1]acl name xueqiuer 3000 --- 通过重命名的方法来创建高级ACL列表
[r1-acl-adv-xueqiuer]
[r1-acl-adv-xueqiuer]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.3.3 0.0.0.0 --- 高级ACL列表规则
[r1-GigabitEthernet0/0/0]traffic-filter inbound acl name xueqiuer --- 通过调用名称来调用列表
[r1-acl-adv-xueqiuer]rule deny tcp source 192.168.1.1 0 0.0.0.0 destination 192.168.2.2 0.0.0.0 destination-port eq 23-----阻止流量通过目的端口
VLAN技术
第一步:创建VLAN
<Huawei>display vlan --- 查看设备VLAN的配置信息
交换机在没有进行配置的时候,默认存在一个VLAN,其VID为1。
802.1Q标准对VID ( --- VLAN ID --- 用来区分和标定不同的VLAN) 进行设定 --- 12位二进制 构成的 --- 0 - 4095。因为0和4095这两个数字保留,真实的取值范围1 - 4094
[Huawei]vlan 2 --- 创建VLAN
[Huawei-vlan2]q
[Huawei]vlan batch 4 to 100 --- 批量创建VLAN
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei]
[Huawei]undo vlan batch 4 to 100 --- 批量删除
Warning: The configurations of the VLAN will be deleted. Continue?[Y/N]:y
第二步配置:
[sw1-GigabitEthernet0/0/1]port link-type access-----配置链路类型
参数 | 参数说明 | 取值 |
access | 配置接口的链路类型为Access。 | - |
dot1q-tunnel | 配置接口的链路类型为QinQ。 | - |
hybrid | 配置接口的链路类型为Hybrid。 | - |
trunk | 配置接口的链路类型为Trunk。 | - |
[sw1-GigabitEthernet0/0/1]port default vlan 2------将该接口加入该VLAN
参数 | 参数说明 | 取值 |
vlan-id | 配置缺省VLAN的编号。 | 整数形式,取值范围是1~4094,保留VLAN ID(通过命令vlan reserved配置)除外。 |
[sw1]port-group group-member GigabitEthernet 0/0/3 GigabitEthernet 0/0/4 ---创建接口组 [sw1-port-group]
[sw1-port-group]port link-type access
[sw1-GigabitEthernet0/0/3]port link-type access
[sw1-GigabitEthernet0/0/4]port link-type access
[sw1-port-group]port default vlan 3
[sw1-GigabitEthernet0/0/3]port default vlan 3
[sw1-GigabitEthernet0/0/4]port default vlan 3
第三步配置:
[sw1-GigabitEthernet0/0/5]port link-type trunk
[sw1-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 to 3-----配置truck接口加入该VLAN
[sw2-GigabitEthernet0/0/3]port trunk allow-pass vlan all --- 放通所有VLAN的流量
第四步:VLAN间路由
1,创建子接口 --- 单臂路由
[r1]interface GigabitEthernet 0/0/0.?
<1-4096> GigabitEthernet interface subinterface number
[r1]interface GigabitEthernet 0/0/0.1
[r1-GigabitEthernet0/0/0.1]ip address 192.168.1.254 24
[r1-GigabitEthernet0/0/0.1]dot1q termination vid 2----用来配置子接口Dot1q终结的单层VLAN ID
[r1-GigabitEthernet0/0/0.1]arp broadcast enable
NAT技术
[r2-GigabitEthernet0/0/2]nat static global 12.0.0.3 inside 192.168.1.2-----配置静态映射表
[r2]display nat static --- 查看静态地址映射表
动态NAT --- 多对多的NAT
1,创建公网地址池
[r2]nat address-group 0 12.0.0.4 12.0.0.8
2,通过ACL列表抓取私网流量
[r2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
3,在接口上配置动态NAT
[r2-GigabitEthernet0/0/2]nat outbound 2000 address-group 0 no-pat
NAPT
1,创建公网地址池
[r2]nat address-group 0 12.0.0.4 12.0.0.8
2,通过ACL列表抓取私网流量
[r2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
3,在接口上配置动态NAT
[r2-GigabitEthernet0/0/2]nat outbound 2000 address-group 0
Easy ip
1,通过ACL列表抓取私网流量
[r2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
2,在接口上配置easy ip
[r2-GigabitEthernet0/0/2]nat outbound 2000
端口映射
[r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 80 inside 192.168.1.10 80-----选择服务器
[r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 8080 inside 192.168.1.20
80
计算机技术
抽象语言--- 电信号
抽象语言--- 编码 --- 应用层
编码--- 二进制 --- 表示层
二进制--- 电信号 --- 介质访问控制层(数据链路层)
处理或传递电信号--- 物理层
对等网
1,延长传输距离
2,增加节点数量
集线器--- HUB
1,地址--- MAC地址--- 48位 --- 物理地址 --- 介质访问控制层
2,冲突--- CSMA/CD --- 载波侦听多路访问/冲突检测--- 排队
3,延迟
4,安全
新需求:
1,完全解决冲突 --- 所有节点可以同时收发数据
2,无限延长传输距离
3,实现单播 --- 一对一的通信
点分十进制(IPV4):点分十进制(Dotted Decimal Notation)全称为点分(点式)十进制表示法,是IPv4的IP地址标识方法。IPv4中用四个字节表示一个IP地址,每个字节按照十进制表示为0~255。点分十进制就是用4组从0~255的数字,来表示一个IP地址。如192.168.1.1
二进制数转换
二进制数转换成十进制数
由二进制数转换成十进制数的基本做法是,把二进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为“按权相加”法。 例1105 把二进制数110.11转换成十进制数。
十进制数转换为二进制数
十进制数转换为二进制数时,由于整数和小数的转换方法不同,所以先将十进制数的整数部分和小数部分分别转换后,再加以合并。
1. 十进制整数转换为二进制整数 十进制整数转换为二进制整数采用“除2取余,逆序排列”法。具体做法是:用2去除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为零时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
2.十进制小数转换为二进制小数
十进制小数转换成二进制小数采用“乘2取整,顺序排列”法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。
冒分十六进制
(IPV6):格式为X:X:X:X:X:X:X:X,其中X表示地址中16位二进制数的十六进制值例如:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
这种表示法中,每个X的前导0是可以省略的,例如:
2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A
————————————————
交换机--- 二层设备
交换机的转发原理--- 数据来到交换机,交换机会先看数据中的源MAC地址,之后,将源MAC地址和进入接口的对应关系记录在本地的MAC地址表中。之后,再看目标MAC地址, 根据目标MAC地址查看本地的MAC地址表,如果MAC地址表中存在记录,则直接按照记录 从对应接口发出,实现单播。但是,如果MAC地址表中没有记录,则需要泛洪--- 将数据从 除了进入接口以外剩余所有接口均发送一遍。
泛洪范围
应用层
表示层
网络层
介质访问控制层
物理层
路由器--- 三层设备
1,隔离广播域 --- 路由器的一个接口对应一个广播域
2,转发
网络位:如果网络位相同,则代表在同一个泛洪范围内;如果网络位不同,则代表在不同的泛洪范围。
主机位:主机位用来区分同一个泛洪范围内的不同设备
子网掩码--- 1代表网络位,0代表主机位 --- 由连续的1和连续的0组成, 1在前,0在后
ARP --- 地址解析协议 ---- 通过一种地址获取另一种地址
广播--- 逼交换机泛洪
全F --- 广播地址
广播域== 泛洪范围
ARP的工作原理--- ARP以广播的形式发送请求报文,广播域内所有设备均能收到请求报文, 所有收到ARP请求报文的设备会先记录请求报文中的源IP地址和源MAC地址的对应关系,记录在本地的ARP缓存表。之后,再看请求的IP地址,如果请求的不是自己本地的IP地址,则将数据包丢弃;如果请求的IP地址是自己本地的IP地址,则将回复ARP应答报文。之后,如果需要发送数据,则先查看ARP缓存表,如果缓存表中存在记录,则直接按照记录转发;如果ARP 缓存表中没记录,则再发送ARP请求报文。
ARP欺骗:在以太网协议中规定,同一局域网中的一台主机要和另一台主机进行直接通信,必须要知道目标主机的MAC地址。而在TCP/IP协议中,网络层和传输层只关心目标主机的IP地址。这就导致在以太网中使用IP协议时,数据链路层的以太网协议接到上层IP协议提供的数据中,只包含目的主机的IP地址。于是需要一种方法,根据目的主机的IP地址,获得其MAC地址。这就是ARP协议要做的事情。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。 -- Extracted from WikiPedia.
通俗点说,在局域网中通信时使用的是MAC地址,而不是常见的IP地址。所以在局域网的两台主机间通信时,必须要知道对方的MAC地址,这就是ARP协议要做的事:将IP地址转换为MAC地址。
从以太网帧来看,以太网帧分为:
以太网首部
上层数据部分
以太网尾---fcs
在物理层传输的数据都是使用以太网帧来封装起来传输的(通俗地说就是在数据包头加上以太网首部,数据包尾加上以太网尾),而网络传输是分层进行的,也就是物理层只处理物理层的数据,对于以太网帧中的上层数据部分并不关心。
在以太网帧中,以太网首部中存放了目的主机的MAC地址和源主机的MAC用于在以太网中传输数据。所以,在以太网通信中,只知道对方的IP地址是不可以通信的,因为IP地址属于第三层(网络层)的地址,对于物理层的以太网帧来说IP地址属于上层数据部分,以太网是无法识别的,所以就要使用ARP协议获取到对方的MAC地址进行通信。
在ARP回复时,发送请求包的主机A并不会验证ARP回复包的真实性,也就是不能判断回复主机A的是不是主机B。由此引出一个局域网攻击方式ARP欺骗。
1.主机欺骗:欺骗对象为主机。
2.网关欺骗:欺骗对象为网关,可以获得其他主机的进流量。
1.造成局域网中的其他主机断网。
2.劫持局域网中其他主机或网关的流量,获取敏感信息等。
DOS攻击:最常见的DoS攻击有计算机网络宽带攻击和连通性攻击。 [1] DoS攻击是指故意地攻击网络协议实现的缺陷或直接通过野蛮手段残忍地耗尽被攻击对象的资源,目的是让目标计算机或网络无法提供正常的服务或资源访问,使目标系统服务系统停止响应甚至崩溃,而在此攻击中并不包括侵入目标服务器或目标网络设备。 这些服务资源包括网络带宽,文件系统空间容量,开放的进程或者允许的连接。 这种攻击会导致资源的匮乏,无论计算机的处理速度多快、内存容量多大、网络带宽的速度多快都无法避免这种攻击带来的后果。
dDOS攻击
定义:DDos的前身 DoS (DenialofService)攻击,其含义是拒绝服务攻击,这种攻击行为使网站服务器充斥大量的要求回复的信息,消耗网络带宽或系统资源,导致网络或系统不胜负荷而停止提供正常的网络服务。而DDoS分布式拒绝服务,则主要利用 Internet上现有机器及系统的漏洞,攻占大量联网主机,使其成为攻击者的代理。当被控制的机器达到一定数量后,攻击者通过发送指令操纵这些攻击机同时向目标主机或网络发起DoS攻击,大量消耗其网络带和系统资源,导致该网络或系统瘫痪或停止提供正常的网络服务。由于DDos的分布式特征,它具有了比Dos远为强大的攻击力和破坏性。
原理:如图1所示,一个比较完善的DDos攻击体系分成四大部分,分别是攻击者( attacker也可以称为master)、控制傀儡机( handler)、攻击傀儡机( demon,又可称agent)和受害着( victim)。第2和第3部分,分别用做控制和实际发起攻击。第2部分的控制机只发布令而不参与实际的攻击,第3部分攻击傀儡机上发出DDoS的实际攻击包。对第2和第3部分计算机,攻击者有控制权或者是部分的控制权,并把相应的DDoS程序上传到这些平台上,这些程序与正常的程序一样运行并等待来自攻击者的指令,通常它还会利用各种手段隐藏自己不被别人发现。在平时,这些傀儡机器并没有什么异常,只是一旦攻击者连接到它们进行控制,并发出指令的时候,攻击愧儡机就成为攻击者去发起攻击了。
图1分布式拒绝服务攻击体系结构
之所以采用这样的结构,一个重要目的是隔离网络联系,保护攻击者,使其不会在攻击进行时受到监控系统的跟踪。同时也能够更好地协调进攻,因为攻击执行器的数目太多,同时由一个系统来发布命令会造成控制系统的网络阻塞,影响攻击的突然性和协同性。而且,流量的突然增大也容易暴露攻击者的位置和意图。整个过程可分为:
1)扫描大量主机以寻找可入侵主机目标;
2)有安全漏洞的主机并获取控制权;
3)入侵主机中安装攻击程序;
4)用己入侵主机继续进行扫描和入侵。
当受控制的攻击代理机达到攻击者满意的数量时,攻击者就可以通过攻击主控机随时发出击指令。由于攻击主控机的位置非常灵活,而且发布命令的时间很短,所以非常隐蔽以定位。一旦攻击的命令传送到攻击操纵机,主控机就可以关闭或脱离网络,以逃避追踪要着,攻击操纵机将命令发布到各个攻击代理机。在攻击代理机接到攻击命令后,就开始向目标主机发出大量的服务请求数据包。这些数据包经过伪装,使被攻击者无法识别它的来源面且,这些包所请求的服务往往要消耗较大的系统资源,如CP或网络带宽。如果数百台甚至上千台攻击代理机同时攻击一个目标,就会导致目标主机网络和系统资源的耗尽,从而停止服务。有时,甚至会导致系统崩溃。
另外,这样还可以阻塞目标网络的防火墙和路由器等网络设备,进一步加重网络拥塞状况。于是,目标主机根本无法为用户提供任何服务。攻击者所用的协议都是一些非常常见的协议和服务。这样,系统管理员就难于区分恶意请求和正连接请求,从而无法有效分离出攻击数据包
如何识别,判断:DDoS ( Denial of Service,分布式拒绝服务) 攻击的主要目的是让指定目标无注提供正常服务,甚至从互联网上消失,是目前最强大、最难防御的攻击方式之一。
2.1 DDoS表现形式
DDoS的表现形式主要有两种,一种为流量攻击,主要是针对网络带宽的攻击,即大量攻击包导致网络带宽被阻塞,合法网络包被虚假的攻击包淹没而无法到达主机;另一种为资源耗尽攻击,主要是针对服务器主机的政击,即通过大量攻击包导致主机的内存被耗尽或CPU内核及应用程序占完而造成无法提供网络服务。
2.2 攻击识别
流量攻击识别主要有以下2种方法:
Ping测试:若发现Ping超时或丢包严重,则可能遭受攻击,若发现相同交换机上的服务器也无法访问,基本可以确定为流量攻击。测试前提是受害主机到服务器间的ICMP协议没有被路由器和防火墙等设备屏蔽;
ICMP协议:ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。
2) Telnet测试:其显著特征是远程终端连接服务器失败,相对流量攻击,资源耗尽攻击易判断,若网站访问突然非常缓慢或无法访问,但可Ping通,则很可能遭受攻击,若在服务器上用Netstat-na命令观察到大量 SYN_RECEIVED、 TIME_WAIT, FIN_ WAIT_1等状态,而EASTBLISHED很少,可判定为资源耗尽攻击,特征是受害主机Ping不通或丢包严重而Ping相同交换机上的服务器正常,则原因是攻击导致系统内核或应用程序CPU利用率达100%无法回应Ping命令,但因仍有带宽,可ping通相同交换机上主机。
DDoS攻击方式
DDoS攻击方式及其变种繁多,就其攻击方式面言,有三种最为流行的DDoS攻击方式。
3.1 SYN/ACK Flood攻击
这种攻击方法是经典有效的DDoS攻击方法,可通杀各种系统的网络服务,主要是通过向受害主机发送大量伪造源P和源端口的SYN或ACK包,导致主机的缓存资源被耗尽或忙于发送回应包而造成拒绝服务,由于源都是伤造的故追踪起来比较困难,缺点是实施起来有一定难度,需要高带宽的僵尸主机支持,少量的这种攻击会导致主机服务器无法访问,但却可以Ping的通,在服务器上用 Netstat-na命令会观察到存在大量的 SYN RECEIVED状态,大量的这种攻击会导致Ping失败,TCP/IP栈失效,并会出现系统凝固现象,即不响应键盘和鼠标。普通防火墙大多无法抵御此种攻击。
攻击流程如图2所示,正常TCP连接为3次握手,系统B向系统A发送完 SYN/ACK分组后,停在 SYN RECV状态,等待系统A返回ACK分组;此时系统B已经为准备建立该连接分配了资源,若攻击者系统A,使用伪造源IP,系统B始终处于“半连接”等待状态,直至超时将该连接从连接队列中清除;因定时器设置及连接队列满等原因,系统A在很短时间内,只要持续高速发送伪造源IP的连接请求至系统B,便可成功攻击系统B,而系统B己不能相应其他正常连接请求。
SYN:SYN:同步序列编号(Synchronize Sequence Numbers)。是TCP/IP建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN+ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。
TCP连接的第一个包,非常小的一种数据包。SYN 攻击包括大量此类的包,由于这些包看上去来自实际不存在的站点,因此无法有效进行处理。每个机器的欺骗包都要花几秒钟进行尝试方可放弃提供正常响应。
ACK:确认消息也称为ACK消息,是在计算机网上中通信协议的一部分,是设备或是进程发出的消息,回复已收到数据。
TCP全连接攻击
这种攻击是为了绕过常规防火墙的检查而设计的,一般情况下,常规防火墙大多具备过滤TearDrop、Land等DOS攻击的能力,但对于正常的TCP连接是放过的,殊不知很多网络服务程序(如:IIS、 Apache等Web服务器)能接受的TCP连接数是有限的,一旦有大量的TCP连接,即便是正常的,也会导致网站访问非常缓慢甚至无法访问,TCP全连接攻击就是通过许多僵尸主机不断地与受害服务器建立大量的TCP连接,直到服务器的内存等资源被耗尽面被拖跨,从而造成拒绝服务,这种攻击的特点是可绕过一般防火墙的防护而达到攻击目的,缺点是需要找很多僵尸主机,并且由于僵尸主机的IP是暴露的,因此此种DDOs攻击方容易被追踪。
TCP刷 Script脚本攻击
这种攻击主要是针对存在ASP、JSP、PHP、CGI等脚本程序,并调用 MSSQL Server、My SQL Server、 Oracle等数据库的网站系统而设计的,特征是和服务器建立正常的TCP连接,不断的向脚本程序提交查询、列表等大量耗费数据库资源的调用,典型的以小博大的攻击方法。一般来说,提交一个GET或POST指令对客户端的耗费和带宽的占用是几乎可以忽略的,而服务器为处理此请求却可能要从上万条记录中去查出某个记录,这种处理过程对资源的耗费是很大的,常见的数据库服务器很少能支持数百个查询指令同时执行,而这对于客户端来说却是轻而易举的,因此攻击者只需通过 Proxy代理向主机服务器大量递交查询指令,只需数分钟就会把服务器资源消耗掉而导致拒绝服务,常见的现象就是网站慢如蜗牛、ASP程序失效、PHP连接数据库失败、数据库主程序占用CPU偏高。这种攻击的特点是可以完全绕过普通的防火墙防护,轻松找一些Poxy代理就可实施攻击,缺点是对付只有静态页面的网站效果会大打折扣,并且有些代理会暴露DDOS攻击者的IP地址。
IP地址
A ,B ,C --- 单播地址--- 既可以作为源IP地址也可以作为目标IP
地址
D --- 组播地址 --- 只能作为目标IP地址使用
E --- 保留地址
单播--- 一对一
组播--- 一对多(同一个组播组)
广播--- 一对所有(同一个广播域)
特殊IP地址
127.0.0.1-127.255.255.254 --- 环回地址---解释:主机用于向自身发送通信的一个特殊地址
2,255.255.255.255 ---- 受限广播地址 --- 受路由器的限制 --- 只能作为目标IP地址使用 ---解释:有限广播地址(Limited Broadcasting),也称受限广播地址,又称本地广播地址,TCP/IP协议规定32字节全为1的IP地址(255.255.255.255)用于本网广播。
作用:通常计算机启动时,希望从网络IP地址服务器DHCP处获得一个IP地址。
DHCP:动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种网络管理协议,用于集中对用户IP地址进行动态管理和配置。
DHCP于1993年10月成为标准协议,其前身是BOOTP协议。DHCP协议由RFC 2131定义,采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,DHCP Server为网络上的每个设备动态分配IP地址、子网掩码、默认网关地址,域名服务器(DNS)地址和其他相关配置参数,以便可以与其他IP网络通信。
DNS:DNS(Domain Name Server,域名服务器)是进行域名(domain name)和与之相对应的IP地址 (IP address)转换的服务器。DNS中保存了一张域名(domain name)和与之相对应的IP地址 (IP address)的表,以解析消息的域名。 域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区
3,主机位全1 --- 192.168.1.X/24 --- 192.168.1.255 ---- 直接广播地址 --- 只能作为目标IP 使用--直接广播地址(Directed Broadcast Address),与广播地址相同,是一个Internet协议地址,其指定了在一个特定网络中的“所有主机”。一个直接广播的单一拷贝被发送到一个指定的网络,在那里它被广播到在那个网络中的所有终端
4,主机位全0 --- 192.168.1.X/24 --- 192.168.1.0 --- 网段 --- 网络号---0代表X即任意值。
5,0.0.0.0 ---- 1,代表没有地址;2,可以代表任意地址--根据RFC文档描述,它不只是代表本机,0.0.0.0/8可以表示本网络中的所有主机,0.0.0.0/32可以用作本机的源地址,0.0.0.0/8也可表示本网络上的某个特定主机,综合起来可以说0.0.0.0表示整个网络。它的作用是帮助路由器发送路由表中无法查询的包。如果设置了全零网络的路由,
路由表中无法查询的包都将送到全零网络的路由中去。
在路由器配置中可用0.0.0.0/0表示默认路由,作用是帮助路由器发送路由表中无法查询的包。如果设置了全零网络的路由,路由表中无法查询的包都将送到全零网络的路由中去。严格说来,0.0.0.0已经不是一个真正意义上的IP地址了。它表示的是这样一个集合:所有未知的主机和目的网络。
这里的“未知”是指在本机的路由表里没有特定条目指明如何到达
6, 169.254.0.0/16 --- 自动私有地址/本地链路地址--自动分配的私有地址 如果你的电脑处在局域网里,目前的电脑系统在无法获取IP地址时,电脑会自动配置成“IP地址: 169.254.*.*”“子网掩码:255.255.0.0”的形式,这样可以使处在同一局域网下的所有获取不到IP地址的电脑之间能够保持一种正常通信。
VLSM --- 可变长子网掩码 --- 子网划分--可变长子网掩码实际上是相对于标准的有类子网掩码而言的,对于有类的IP地址的网络号部分的位数就相当于默认掩码的长度。A类的第一段是网络号(前八位),B类地址的前两段是网络号(前十六位),C类的前三段是网络号(前二十四位)。而VLSM的作用就是在有类的IP地址的基础上,从他们的主机号部分借出相应的位数来做网络号,也就是增加网络号的位数,增加了掩码的长度。各类网络可以用来再划分的位数为:A类有二十四位可以借,B类有十六位可以借,C类有八位可以借(可以再划分的位数就是主机号的位数。实际上不可以都借出来,因为P地址中必须要有主机号的部分,而且主机号部分剩下一位是没有意义的,剩下1位的时候不是代表主机号就是代表广播号,所以实际最多可以借位数为主机位数减去2)。这是一种产生不同大小子网的网络分配机制,指一个网络可以配置不同的掩码。开发可变长度子网掩码的想法就是在每个子网上保留足够的主机数的同时,把一个网分成多个子网时有更大的灵活性。如果没有ⅥISM,一个子网掩码只能提供给一个网络。这样就限制了要求的子网数上的主机数。
算法:VLSM是将大范围的IP网络划分成多个小范围的IP网络,为某一个单位或企业的不同部门对内可显示不同的网络,对外可显示同一个IP网络。提到VLSM,不得不提到的是掩码。掩码同IP一样,具有32位的二进制,用于与某一个IP进行运算,算出该IP的网络号。即将32位的IP与32位的掩码进行与运算,这样就可以得出网络号。
子网掩码:子网掩码是一种把前缀编成一种与IP地址相似的形式的掩码。它有32位,以为1的位开头,以为0的位结尾。其中为1的位的数目和前缀的长度相同。它也被写成点分十进制的形式。子网掩码的作用和前缀一样,但是掩码这种形式出现的比前缀要早。
CIDR --- 无类域间路由 --- 汇总
“取相同,去不同” --- 二进制
解释:无类别域间路由是基于(VLSM)来进行任意长度的前缀的分配的。在RFC 950(1985)中有关于可变长子网掩码的说明。CIDR包括:指定任意长度的前缀得可变长子网掩码技术。遵从CIDR规则的地址有一个后缀说明前缀的位数,例如 192.168.0.0/16。这使得对日益缺乏的IPv4地址的使用更加有效。将多个连续的前缀聚合成超网,以及,在互联网中,只要有可能,就显示为一个聚合的网络,因此在总体上可以减少路由表的表项数目。聚合使得互联网的路由表不用分为多级,又用VLSM reverses the process of "subnetting a subnet" 。 根据机构的实际需要和短期预期需要而不是分类网络中所限定的过大或过小的地址块来管理IP地址的分配的过程。 因为在IPv6中也使用了IPv4的用后缀指示前缀长度的CIDR,所以IPv4中的分类在IPv6中已不再使用
RFC:Request For Comments(RFC),是一系列以编号排定的文件。文件收集了有关互联网相关信息,以及UNIX和互联网社区的软件文件。RFC文件是由Internet Society(ISOC)赞助发行。基本的互联网通信协议都有在RFC文件内详细说明。RFC文件还额外加入许多在标准内的论题,例如对于互联网新开发的协议及发展中所有的记录。因此几乎所有的互联网标准都有收录在RFC文件之中。
作用:CIDR主要是一个按位的、基于前缀的,用于解释IP地址的标准。 它通过把多个地址块组合到一个路由表表项而使得路由更加方便。这些地址块叫做CIDR地址块。当用二进制表示这些地址时,它们有着在开头部分的一系列相同的位。IPv4的CIDR地址块的表示方法和IPv4地址的表示方法是相似的:由四部分组成的点分十进制地址,后跟一个斜扛,最后是范围在0到32之间的一个数字:A.B.C.D/N。 点分十进制的部分和IPv4地址一样是一个被分成四个八位位组的32位二进制数。斜扛后面的数字就是前缀长度,也就是从左到右,被地址块里的地址所共享的位的数目。当只要说明梗概时,点分十进制部分有时会被省略,因此,/20就表示一个前缀长度是20的CIDR地址块。如果一个IP地址的前N位与一个CIDR地址块的前缀是相同的话,那么就说这个地址属于这个CIDR地址块,也可以说是与CIDR地址块的前缀匹配。所以,要理解CIDR,就要把地址写成二进制的形式。因为IPv4地址的长度总是32位,N位长的CIDR前缀就意味着地址里32 − N位不匹配。这些位有2(32 − N)种不同的组合,即2(32 − N)个IPv4地址与CIDR地址块的前缀。前缀越短就能匹配越多的地址,越长就匹配得越少。一个地址可能与多个长度不同的CIDR前缀匹配。CIDR也用在IPv6中。因为位数的非常多,所以在IPv6中,前缀长度的范围是从0到128。这里也用同样的方法来表示一个地址:前缀写作一个IPv6的地址,后跟一个斜扛,最后是前缀的位数。
OSI/RM --- 开放式系统互联参考模型
1979年 --- ISO国际标准化组织
核心思想 --- 分层 --- 属于同一层面的不同功能其目的和作用是相似或相近;不同层面的功能之间具有明显的差异。每一层都在下一层所提供服务的基础上再提供增值服务。
分层的作用: 1,更利于标准化 --- 分治
2,降低层次之间的关联性
3,更易于学习和理解
应用层
表示层
会话层 --- 维持网络应用和网络服务器之间的会话联系
传输层 --- 端到端的传输 --- 应用到应用 --- 端口号 --- 用来区分和标识不同的应用的 --- 16位二进制构成 --- 0 - 65535,其中0作为保留值。1 - 65535。其中, 1 - 1023为知名端口号 --- SPORT,DPORT
网络层
数据链路层 --- MAC(介质访问控制层) + LLC(逻辑链路控制层)
物理层
TCP/IP模型
TCP/IP协议族
TCP/IP标准模型 --- 四层
TCP/IP对等模型 --- 五层
PDU --- 协议数据单元
OSI
L1PDU
L2PDU
。
L7PDU
应用层 --- 报文
传输层 --- 段
网络层 --- 包
数据链路层 --- 帧
物理层 --- 比特流
封装和解封装
应用层 --- 应用层存在封装,只不过,应用层的封装内容取决于不同的应用协议。
HTTP --- 超文本传输协议 --- 获取网页信息 --- 80(TCP 80)
HTTPS --- HTTP + SSL(安全传输协议)/TLS --- 443(TCP 443)
FTP --- 文件传输协议 --- TCP 20 21
Tftp --- 简单文件传输协议 --- UDP 69
Telnet --- 远程登录协议 --- TCP 23
SSH --- Telnet + SSL --- TCP 22
DHCP --- 动态主机配置协议 --- UDP 67 68
DNS --- 域名解析协议 --- TCP/UDP 53
传输层 --- 端口号 --- TCP/UDP
网络层 --- IP地址 --- IP协议
数据链路层 --- MAC --- 以太网 --- 早期局域网的解决方案,依靠交换机组建的二层网络。 物理层
以太网Ⅱ型帧
FCS --- 帧校验序列 --- 确保数据完整性的参数 --- CRC(循环冗余算法)
CRC(循环冗余算法)
特点:①可检测出所有奇数位错;②可检测出所有双比特的错;③可检测出所有小于、等于校验位长度的突发错。
TCP和UDP
定义:在TCP/IP网络体系结构中,TCP(传输控制协议,Transport Control Protocol、UDP(用户数据报协议,User Data Protocol)是传输层最重要的两种协议,为上层用户提供级别的通信可靠性。
传输控制协议(TCP):TCP(传输控制协议)定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施。协议规定了TCP软件怎样识别给定计算机上的多个目的进程如何对分组重复这类差错进行恢复。协议还规定了两台计算机如何初始化一个TCP数据流传输以及如何结束这一传输。TCP最大的特点就是提供的是面向连接、可靠的字节流服务。
用户数据报协议(UDP):UDP(用户数据报协议)是一个简单的面向数据报的传输层协议。提供的是非面向连接的、不可靠的数据流传输。UDP不提供可靠性,也不提供报文到达确认、排序以及流量控制等功能。它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。因此报文可能会丢失、重复以及乱序等。但由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
特点
1,TCP是面向链接的协议,而UDP是无连接的协议;
2,TCP协议的传输是可靠的,而UDP协议的传输“尽力而为”;
3,TCP协议可以实现流控,而UDP不行;
4,TCP可以分段,而UDP不行;
5,TCP消耗资源较大,传输效率较低; UDP耗费资源较小,速度快。
区别
TCP/IP 和UDP最大的区别就是:TCP/IP是面向连接的,UDP是无连接的。TCP协议和UDP协议各有所长、各有所短,适用于不同要求的通信环境。TCP协议和UDP协议之间的差别如下表所示。
在实际的使用中,TCP主要应用于文件传输精确性相对要求较高且不是很紧急的情景,比如电子邮件、远程登录等。有时在这些应用场景下即使丢失一两个字节也会造成不可挽回的错误,所以这些场景中一般都使用TCP传输协议。由于UDP可以提高传输效率,所以UDP被广泛应用于数据量大且精确性要求不高的数据传输,比如我们平常在网站上观看视频或者听音乐的时候应用的基本上都是UDP传输协议。
表1 TCP与UDP区别 | ||
| TCP | UDP |
是否连接 | 面向连接 | 无连接 |
传输可靠性 | 可靠的 | 不可靠的 |
应用场景 | 传输大量数据 | 传输少量数据 |
速度 | 慢 | 快 |
TCP和UDP的使用场景:
TCP协议更适用于对可靠性要求较高,但是对传输效率和资源占用要求较低的场景;UDP更适用于对传输效率要求较高,可靠性要求较低的场景(即时类通讯)。
什么是面向链接?
“面向连接”就是在正式通信前必须要与对方建立起连接,是按照电话系统建模的。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。
在正式传输数据之前,先适用预先的协议,建立点到点的链接。
TCP建立的连接实际建立了一个双向的会话连接,即通讯双方都可以向对方发送数据。
TCP的头部
TCP会话的每一端都包含一个32位(bit)的序列号,该序列号被用来跟踪该端发送的数据量。 每一个包中都包含序列号,在接收端则通过确认号用来通知发送端数据成功接收。 TCP在其协议头中使用大量的标志位或者说1位(bit)布尔域来控制连接状态,一个包中有可以设置多个标志位。
TCP校验和是一个端到端的校验和,由发送端计算,然后由接收端验证。其目的是为了发现TCP首部和数据在发送端到 接收端之间发生的任何改动。 如果接收方检测到校验和有差错,则TCP段会被直接丢弃。
紧急指针
TCP是面向数据流的协议
但当有时一些应用程序在某些紧急情况下(如在某些连接中进行强制中断)
要求在接收方在没有处理完数据之前就能够发送一些紧急数据
这就使得发送方将CODE字段的URG置为1 即紧急指针字段有效
这样可以不必考虑你发送的紧急数据在数据流中的位置
也就是相当于优先级最高
紧急指针指出的是紧急数据在报文段中结束的位置
滑动窗口
TCP在双方数据传输的过程中,都会维护一个窗口,它代表了我还可以接受的数据的大小。如果接收方窗口大小为0,发送方就会停止发送。之所以叫滑动窗口(Sliding Window)是因为它是动态可变的,不是固定的(张开、合拢、收缩)。它保证了数据的可靠传递、它确保数据按顺序传递、并且它强制发送者之间的流量控制。
上图中我们可以看到:
发送端的LastByteAcked指向了接收端最后一次顺序ACK的位置,LastByteSent指向了发送出的数据,但是还没有收到确认ACK。
接收端的NextByteExpected指向了已经收到的最后一个连续数据,LastByteAcked指向了接收到的最后一个数据,其中的空白代表还未收到的数据。
下面看一张滑动窗口的示意图:
SND.UNA:已发送但尚未确认的数据的第一个字节的序列号。 这标志着传输类别#2的第一个字节; 所有先前的序列号都是指传输类别#1中的字节。
SND.NXT:要发送到另一个设备(在这种情况下是服务器)的下一个数据字节的序列号。 这标志着传输类别#3的第一个字节。
SND.WND:发送窗口的大小。 回想一下,窗口指定任何设备在任何时候都可能具有“未完成”( 未确认 )的总字节数。 因此,添加第一个未确认字节( SND.UNA )和发送窗口(SND.WND )的序列号标记发送类别#4的第一个字节。
SND.UNA:已经发送但是尚未确认的
SND.NXT:将要发送的
SND.WND:发送窗口的大小
下面看一张TCP窗口滑动的示意图:
糊涂窗口
我们看到了TCP通过让接收方指明窗口来进行流量控制,这将有效的组织发送方放松数据,直到窗口变为非0为止。但是其中会遇到一个问题,就是接收方发送的的的窗口更新数据丢失,这样会让发送方进入到无限等待状态,因为他要等待窗口更新为非0。为了解决这个问题TCP采用了坚持定时器(persist timer)去探测窗口更新。
这样又会导致一种被称为“糊涂窗口综合症SWS (Silly Window Syndrome)”的状况。如果发生这种情况,则少量的数据将通过连接进行交换,而不是满长度的报文段。
该现象可发生在两端中的任何一段,接受方可以通告一个小的窗口(而不是一直等待有大的窗口才通告),发送方也可以发送少量的数据(而不是等待其他的数据以便发送一个大的数据段)。可以在任何一端采取避免SWS的现象。
1.接收方不通告小窗口。通常的算法是接收方不通告一个比当前窗口大的窗口(可以为0),除非窗口可以增加一个报文段大小(也就是将要接收的MSS)或者可以增加接收方缓存空间的一半,不论实际有多少。
2.发送方避免出现糊涂窗口综合症的措施是只有以下条件之一满足时才发送数据:(a)可以发送一个满长度的报文段;(b)可以发送至少是接收方通告窗口大小一半的报文段;(c)可以发送任何数据并且不希望接收ACK(也就是说,我们没有还未被确认的数据)或者该连接上不能使用Nagle算法。
TCP不仅可以可以控制端到端的数据传输,还可以对网络上的传输进行监控。这使得TCP非常强大智能,它会根据网络情况来调整自己的收发速度。网络顺畅时就可以发的快,拥塞时就发的相对慢一些。拥塞控制算法主要有四种:慢启动,拥塞避免,快速重传和快速恢复。
慢启动和拥塞避免
慢启动和拥塞避免算法必须被TCP发送端用来控制正在向网络输送的数据量。为了
实现这些算法,必须向TCP每连接状态加入两个参量。拥塞窗口(cwnd)是对发送端收到确
认(ACK)之前能向网络传送的最大数据量的一个发送端限制,接收端通知窗口(rwnd)是对
未完成数据量的接收端限制。cwnd和rwnd的最小值决定了数据传送。
另一个状态参量,慢启动阀值(ssthresh),被用来确定是用慢启动还是用拥塞避免
算法来控制数据传送。
在不清楚环境的情况下向网络传送数据,要求TCP缓慢地探测网络以确定可用流量,避免突然传送大量数据而使网络拥塞。在开始慢启动时cwnd为1,每收到一个用于确认新数据的ACK至多增加SMSS(SENDER MAXIMUM SEGMENT SIZE)字节。
慢启动算法在cwndssthresh时使用。当cwnd和ssthresh相等时,发送端既可以使用慢启动也可以使用拥塞避免。
当拥塞发生时,ssthresh被设置为当前窗口大小的一半(cwnd和接收方通告窗口大小的最小值,但最少为2个报文段)。如果是超时重传,cwnd被设置为1个报文段(这就是慢启动,其实慢启动也不慢,它是指数性增长,只是它的起始比较低)当达到ssthresh时,进入拥塞避免算法(拥塞避免是线性增长)。
在该图中我们可以清楚的看到,ssthresh最初等于8 MSS 。 拥塞窗口在慢启动期间以指数方式快速上升并在第三次传输时达到ssthresh。 然后,拥塞窗口线性地爬升,直到发生丢失(超时),就在发送7之后。当发生丢失时,拥塞窗口是12 MSS 。 然后将ssthresh设置为6 MSS并且将cwnd设置为1,并且该过程继续。
快速重传和快速恢复
当接收端收到一个顺序混乱的数据,它应该立刻回复一个重复的ACK。这个ACK的目的是通知发送端收到了一个顺序紊乱的数据段,以及期望的序列号。发送端收到这个重复的ACK可能有多种原因,可能丢失或者是网络对数据重新排序等。在收到三个重复ACK之后(包含第一次收到的一共四个同样的ACK),TCP不等重传定时器超时就重传看起来已经丢失(可能数据绕路并没有丢失)的数据段。因为这个在网络上并没有超时重传那么恶劣,所以不会进入慢启动,而进入快速恢复。快速恢复首先会把ssthresh减半(一般还会四舍五入到数据段的倍数),然后cwnd=ssthresh+收到重复ACK报文段累计的大小。
这个图上我们可以看出,在三次重复ACK后cwnd并没有进入到慢启动,而是进入到了快速重传。在第二段超时重传时,进入到了慢启动cwnd置1。
在TCP层,有个FLAGS字段,这个字段有以下几个标识:SYN, FIN, ACK, PSH, RST, URG.
其中,对于我们日常的分析有用的就是前面的五个字段。
它们的含义是:
SYN表示建立连接,
FIN表示关闭连接,
ACK表示响应,
PSH表示有 DATA数据传输,
RST表示连接重置。
其中,ACK是可能与SYN,FIN等同时使用的,比如SYN和ACK可能同时为1,它表示的就是建立连接之后的响应,
如果只是单个的一个SYN,它表示的只是建立连接。
TCP的几次握手就是通过这样的ACK表现出来的。
但SYN与FIN是不会同时为1的,因为前者表示的是建立连接,而后者表示的是断开连接。
RST一般是在FIN之后才会出现为1的情况,表示的是连接重置。
一般地,当出现FIN包或RST包时,我们便认为客户端与服务器端断开了连接;而当出现SYN和SYN+ACK包时,我们认为客户端与服务器建立了一个连接。
PSH为1的情况,一般只出现在 DATA内容不为0的包中,也就是说PSH为1表示的是有真正的TCP数据包内容被传递。
TCP的连接建立和连接关闭,都是通过请求-响应的模式完成的。
概念补充-TCP三次握手:
TCP(Transmission Control Protocol)传输控制协议
TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:
位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置) URG(urgent紧急)Sequence number(顺序号码) Acknowledge number(确认号码)
第一次握手:主机A发送位码为syn=1,随机产生seq number=1234567的数据包到服务器,主机B由SYN=1知道,A要求建立联机;
第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=7654321的包;
第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则连接建立成功。
完成三次握手,主机A与主机B开始传送数据。
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。完成三次握手,客户端与服务器开始传送数据.
伪头部校验 --- 除了校验传输层头部和数据内容外,还会将网络层头部中的一部分内容一起进 行校验。 --- 确保数据完整性
TCP头部长度最短20字节
UDP头部
封装和解封装图
TCP是面向链接的协议,而UDP是无连接的协议;
TCP协议是一种可靠的、一对一的、面向有连接的通信协议,TCP主要通过下列几种方式保证数据传输的可靠性:
(1)在使用TCP协议进行数据传输时,往往需要客户端和服务端先建立一个“通道“、且这个通道只能够被客户端和服务端使用,所以TCP传输协议只能面向一对一的连接。
(2)为了保证数据传输的准确无误,TCP传输协议将用于传输的数据包分为若干个部分(每个部分的大小根据当时的网络情况而定),然后在它们的首部添加一个检验字节。当数据的一个部分被接收完毕之后,服务端会对这一部分的完整性和准确性进行校验,校验之后如果数据的完整度和准确度都为100%,在服务端会要求客户端开始数据下一个部分的传输,如果数据的完整性和准确性与原来不相符,那么服务端会要求客户端再次传输这个部分。 [5]
客户端与服务端在使用TCP传输协议时要先建立一个“通道”,在传输完毕之后又要关闭这“通道”,前者可以被形象地成为“三次握手”,而后者则可以被称为“四次挥手”。
通道的建立——三次握手:
(1)在建立通道时,客户端首先要向服务端发送一个SYN同步信号。
(2)服务端在接收到这个信号之后会向客户端发出SYN同步信号和ACK确认信号。
(3)当服务端的ACK和SYN到达客户端后,客户端与服务端之间的这个“通道”就会被建立起来。
通道的关闭——四次挥手:
(1)在数据传输完毕之后,客户端会向服务端发出一个FIN终止信号。
(2)服务端在收到这个信号之后会向客户端发出一个ACK确认信号。
(3)如果服务端此后也没有数据发给客户端时服务端会向客户端发送一个FIN终止信号。
(4)客户端在收到这个信号之后会回复一个确认信号,在服务端接收到这个信号之后,服务端与客户端的通道也就关闭了。
TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。 [5]
“无连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。与手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。
UDP传输协议是一种不可靠的、面向无连接、可以实现多对一、一对多和一对一连接的通信协议。UDP在传输数据前既不需要建立通道,在数据传输完毕后也不需要将通道关闭。只要客户端给服务端发送一个请求,服务端就会一次性地把所有数据发送完毕。UDP在传输数据时不会对数据的完整性进行验证,在数据丢失或数据出错时也不会要求重新传输,因此也节省了很多用于验证数据包的时间,所以以UDP建立的连接的延迟会比以TCP建立的连接的延迟更低。UDP不会根据当前的网络情况来控制数据的发送速度,因此无论网络情况是好是坏,服务端都会以恒定的速率发送数据。虽然这样有时会造成数据的丢失与损坏,但是这一点对于一些实时应用来说是十分重要的。基于以上三点,UDP在数据传输方面速度更快,延迟更低,实时性更好,因此被广泛地用于通信领域和视频网站当中。 [5]
UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送ICMP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例如,在默认状态下,一次“ping”操作发送4个数据包。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效率高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。
2,TCP协议的传输是可靠的,而UDP协议的传输“尽力而为”;
TCP的可靠性 --- 确认,重传,排序,流控
3,TCP协议可以实现流控,而UDP不行;
4,TCP可以分段,而UDP不行;
5,TCP消耗资源较大,传输效率较低; UDP耗费资源较小,速度快。
IP协议
片偏移:片偏移就是某片在原分组的相对位置,以8个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。 一共要传输3800字节,每次最大只能传1400字节(因为还要加上ip固定头部字节的20字节,加起来就是1420字节),所以只需传3次,即1400+1400+1000(一共3800字节)即可。 这样第一次传时,片偏移为0。
偏移量的意思是这百个数据包是从源数据包哪个位置开始的,因为IP报文有40个字节的IP报文头。度所以问1300个字节的数据会被分成以下三个包:
1、A数据包:包含40个字节的IP报文头,答0-460字节的数据,偏移版量为0;
2、B数据包:包含40个字节的IP报文头,460-920字节的数据,偏移量为权460;
3、C数据包:包含40个字节的IP报文头,920-1300字节的数据,偏移量为920。
TTL --- 生存时间 --- 数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为 0是,路由器将不再转发而直接丢弃。生存时间(time-to-live)指定数据包被路由器丢弃之前允许通过的网段数量。它是IP(中文全称:网络协议)协议包中的一个值,它告诉网络,数据包在网络中的时间是否太长而应被丢弃。
生存时间(TTL,time-to-live)是Internet协议(IP)包中的一个值,它告知路由器该包是否在网络中时间过长而应该被丢弃。由于很多原因,数据包不能在合理长度的时间内传送到目的地。例如:错误的路由表会导致包在网络中无限循环。解决方法就是在一定时间之后丢弃该数据包,并发送消息给源端,由源端来决定是否重发。TTL的初值是由系统缺省设置在数据包头中一个8位二进制数区域。最初的TTL这个想法是以秒位单位来设置数据包被丢弃的时间。由于每个路由器至少要从TTL域中减掉一个计数,计数就是数据包在被丢弃之前的平均路由器跳数。接收数据包的路由器从TTL域中减掉一个计数。当计数为0时,路由器发现并丢弃数据包,然后发送一个Internet控制消息协议(ICMP)消息到源端主机。
协议号 --- 上层所适用的协议类型 --- TCP --- 6,UDP --- 17
IP的分片和TCP的分段
MTU --- 最大传输单元 --- 默认值1500字节---以太网
在802.3规则下MTU为----1492字节
MSS --- 最大段长度 --- 理论值1460字节,这个值需要进行协商,这个参数在TCP的SYN包携 带,如果双方不一致,则将按照小的执行。
ENSP
GE --- 代表接口支持千兆的转发速率
Ethernet --- 代表接口支持百兆的转发速率
VRP --- 通用路由平台
<Huawei> --- 用户视图 ---- < > ---- 只能作查看类型的操作,不能配置
<Huawei>display ip interface brief --- 查看接口IP地址的摘要信息
<Huawei>system-view --- 进入系统视图的命令
Enter system view, return user view with Ctrl+Z.-----进入用户视图,按 Ctrl+Z退回用户视图
[Huawei] ---- 系统视图的标志 --- [ ] --- 可以进行配置,但是只能进行一些全局类的配置
[Huawei]sysname aa----修改路由器名字
[aa]
[aa]interface GigabitEthernet 0/0/0 --- 进入接口视图
[aa-GigabitEthernet0/0/0]
[aa-GigabitEthernet0/0/0]ip address 192.168.1.1 24 --- 接口配置IP地址
[aa-GigabitEthernet0/0/0]quit --- 退回到上一个视图中
[aa]
[aa-GigabitEthernet0/0/1]undo ip address 192.168.2.1 255.255.255.0 --- 华为设备所有的删除操作 都是在原命令前面加undo
帮助系统
TAB --- 可以补全命令
? --- 可以展示以定义字母开头的所有命令。或者在命令完成后执行,可以将后面跟的参数进行展示
[R1-GigabitEthernet0/0/0]display this --- 查看当前视图的配置操作
[R1]display current-configuration --- 查看缓存中的数据
<r1>save --- 保存,将配置内容保存到闪存---在用户视图下执行,后面还有y/n的选项,不要敲了命令就跑。
<r1>display saved-configuration --- 查看闪存中的配置内容
DNS --- 域名解析协议
访问服务器的方法:
1,直接通过IP地址访问
2,通过域名访问
3,通过应用程序访问
设备管理
带外管理 --- 通过console线对设备进行管理控制
通过miniUSB线对设备进行管理控制(备用)
带内管理 --- 通过telnet对设备进行管理控制(远程登录协议)
通过WEB对设备进行管理控制
通过SNMP协议对设备进行管理控制
SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。
SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB,改进后的协议就是著名的SNMP。基于TCP/IP的SNMP网络管理框架是工业上的现行标准,由3个主要部分组成,分别是管理信息结构SMI(Structure ofManagement Information)、管理信息库MIB和管理协议SNMP。
SMI定义了SNMP框架所用信息的组织和标识,为MIB定义管理对象及使用管理对象提供模板。
MIB定义了可以通过SNMP进行访问的管理对象的集合。
SNMP协议是应用层协议,定义了网络管理者如何对代理进程的MIB对象进行读写操作。
SNMP中的MIB是一种树状数据库,MIB管理的对象,就是树的端节点,每个节点都有唯一位置和唯一名字.IETF规定管理信息库对象识别符(OID,Object Identifier)唯一指定,其命名规则就是父节点的名字作为子节点名字的前缀。
Telnet --- 远程登陆协议 --- TCP 23
C/S架构 --- 登陆设备(电脑) 承担的是客户端的角色,而被登陆设备(网络设备) 承担的是 服务器的角色
C/S架构的含义
C/S架构全称为客户端/服务器体系结构,它是一种网络体系结构,其中客户端是用户运行应用程序的PC端或者工作站,客户端要依靠服务器来获取资源。C/S架构是通过提供查询响应而不是总文件传输来减少了网络流量。它允许多用户通过GUI前端更新到共享数据库,在客户端和服务器之间通信一般采用远程调用(RPC)或标准查询语言(SQL)语句。
SQL (Structured Query Language) 是具有数据操纵和数据定义等多种功能的数据库语言,这种语言具有交互性特点,能为用户提供极大的便利,数据库管理系统应充分利用SQL语言提高计算机应用系统的工作质量与效率。SQL语言不仅能独立应用于终端,还可以作为子语言为其他程序设计提供有效助力,该程序应用中,SQL可与其他程序语言一起优化程序功能,进而为用户提供更多更全面的信息。 [1]
SQL Server数据库包括Microsoft SQL Server以及Sybase SQL Server两个子数据库,该数据库能否正常运行直接关系着整个计算机系统的运行安全。
C/S架构的基本特征:
(1)客户端进程包含特定于解决方案的逻辑,并提供用户与应用程序系统其余部分之间的接口。服务器进程充当管理共享资源(如数据库,打印机,调制解调器或高性能处理器)的软件引擎。
(2)前端任务和后端任务对计算资源有着根本不同的要求,例如处理器速度,内存,磁盘速度和容量以及输入/ 输出设备。
(3)客户端和服务器的硬件平台和操作系统通常不相同。客户端和服务器进程通过一组明确定义的标准应用程序接口(API)和RPC进行通信。
(4)C/S架构的一个重要特征是可扩展性,它们可以水平或垂直缩放。水平扩展意味着添加或删除客户端,工作站只会对性能产生轻微影响。垂直扩展意味着迁移到更大更快的服务器计算机或多服务器中。
C/S架构的类型
一层架构
在此类型C/S架构设置中,用户界面,营销逻辑和数据逻辑存在于同一系统中。但是由于数据差异导致难以管理。例MP3播放器,MS Office都属于单层应用程序。
两层架构
在这种类型中,用户界面存储在客户端机上,数据库存储在服务器上。数据库逻辑和业务逻辑在客户端或服务器上归档,但需要进行维护。如果在客户端收集业务逻辑和数据逻辑,则将其命名为胖客户端瘦服务器体系结构。如果在服务器上处理业务逻辑和数据逻辑,则称为瘦客户端胖服务器体系结构。这被认为是负担得起的。
在双层体系结构中,客户端和服务器必须直接合并。如果客户端向服务器提供输入,则不应该有任何中间件。这样做是为了快速获得结果并避免不同客户之间的混淆。例如,在线票务预订软件使用这种双层架构。
三层架构
在三层架构中,需要使用到额外的中间件,这意味着客户端请求需要通过该中间层进入服务器,服务器的响应首先由中间件接收,然后再接收到客户端。中间件存储所有业务逻辑和数据通道逻辑,中间件提高了灵活性并提供了最佳性能。
三层结构被分成三个部分,即表示层(客户层),应用层(业务层)和数据库层(数据层)。客户端系统管理表示层,应用程序服务器负责应用程序层,服务器系统负责监视数据库层。
使用条件
1,登陆设备和被登录设备之间网络必须可达。
2,被登录设备得开启telnet服务才行
Telnet协议
路由器配置telnet的方法:
1,进入到aaa的视图当中
[r1]aaa
[r1-aaa]
2,在aaa中创建登陆使用的用户名密码信息
[r1-aaa]local-user admin privilege level 15 password cipher 123456
[r1-aaa]local-user 名字 privilege level 权限等级 password cipher 密码
3,定义创建用户的服务类型
[r1-aaa]local-user admin service-type telnet
[r1-aaa]local-user 已创建用户名 service-type 协议名字
4,创建VTY虚拟登陆端口
[r1]user-interface vty 0 4 --- 同时开启5个虚拟的登陆端口,可以同一时间,5个人登陆管理设 备
[r1-ui-vty0-4]
5,定义认证模式
[r1-ui-vty0-4]authentication-mode aaa --- 调用AAA平台来完成认证
<Huawei>telnet 192.168.1.1----客户端----开启telnet+要登陆到的电脑IP
Press CTRL_] to quit telnet mode
Trying 192.168.1.1 ...
Connected to 192.168.1.1 ...
Login authentication
Username:用户名
Password:密码
DHCP --- 动态主机配置协议 --- UDP 67 68
C/S架构 --- 需要获取IP地址的设备扮演客户端的角色,而下发IP地址的设备需要扮演DHCP 服务器的角色
首次获取IP地址
1, DHCP客户端 --- DHCP服务器 ---- 广播 ---- DHCP-Discover
UDP --- SPORT:68 DPORT:67
IP --- SIP:0.0.0.0 DIP:255.255.255.255
以太网 --- SMAC: 自己 DMAC:全F
2, DHCP服务器 --- DHCP客户端 ---- 广播/单播 ---- DHCP - OFFER
UDP --- SPORT: 67 DPORT:68
IP --- SIP: DHCP服务器的IP地址 DIP:需要分配的IP地址
以太网 --- SMAC: DHCP服务器自己的MAC地址 DMAC:客户端的MAC地址 3, DHCP客户端 --- DHCP服务器 --- 广播 --- DHCP - Request
4, DHCP服务器 --- DHCP客户端 --- 单播/广播 --- DHCP - ACK --- 只有在收到服务器的 ACK之后,才算可以使用这个IP地址。
再次获取IP地址
DHCP客户端 --- DHCP服务器 --- 广播 --- DHCP - Request --- 请求之前使用的IP地址
2, DHCP服务器 --- DHCP客户端 --- 单播/广播 --- DHCP - ACK/DHCP - NAK
租期 --- 24h
T1 --- 租期50% --- 12h --- DHCP客户端 --- DHCP服务器 --- 单播 --- DHCP - Request
T2 --- 租期87.5% --- 21h --- DHCP客户端 --- DHCP服务器 --- 广播 --- DHCP - Request
DHCP-release --- 客户端主动释放IP地址
DHCP服务器配置
1,开启DHCP服务
[r1]dhcp enable---激活
Info: The operation may take a few seconds. Please wait for a moment.done.
[r1]
2,创建地址池
[r1]ip pool aa
[r1]ip pool 名字
Info: It's successful to create an IP address pool.
[r1-ip-pool-aa]
3,配置地址池
[r1-ip-pool-aa]network 192.168.1.0 mask 24
[r1-ip-pool-aa]network 网段IP mask 掩码长度
[r1-ip-pool-aa]gateway-list 192.168.1.1----配置出口网关地址
[r1-ip-pool-aa]dns-list 114.114.114.114----在IP地址池视图下为DHCP客户端配置DNS服务器地址。
4,在接口选择全局配置
[r1-GigabitEthernet0/0/0]dhcp select global
路由器的转发原理 --- 当一个数据包进入到路由器,路由器将基于目标IP地址查询本地的路由表。若表中存在记录,则将无条件按照路由表指示转发;如果路由表中没有记录,则路由器将 直接丢弃该数据包。
<r1>display ip routing-table --- 查询设备的路由表
Destination/Mask --- 目标网段信息及掩码信息
路由环路
TTL --- 生存时间 --- 数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为0时,路由器将不再转发而直接丢弃。
192.168.6.0/24 Static 60 0 RD 192.168.2.2 GigabitEthernet0/0/1
Static 60 0 RD 192.168.3.2 GigabitEthernet0/0/2
拓展配置
1,负载均衡:当路由器到达同一个目标,具有多条开销相似的路径时,可以让流量进行拆分 后延多条路径同时传输,起到叠加带宽的效果。
2,环回接口 --- 路由器的一个虚拟接口,一般用于虚拟实验,而不受设备的限制。
[r1]interface LoopBack ?
<0-1023> LoopBack interface number
[r1]interface LoopBack 0-----创建环回接口+编号区分不同环回
[r1-LoopBack0]
[r1]ping -a 192.168.1.1 192.168.3.1 --- 指定源IP发送ping包---ping是基于icmp协议的
3,手工汇总 --- 当路由器可以访问多个连续的子网时,若均通过相同的下一跳,可以将这些网段进行汇总操作之后,仅需编辑到达汇总网段的静态路由即可。以达成减少路由条目,提高转发效率的目的。
4,路由黑洞 --- 在汇总中,如果包含网络内实际不存在的网段时,可能造成流量的有去无回,浪费链路资源。
192.168.0.0/22
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
合理的子网划分和汇总则可以减少路由黑洞的产生。
5,缺省路由 --- 华为体系中也叫默认路由。一旦路由黑洞和缺省路由相遇,将100%出现路由环路。
缺省路由就是一条不限定目标的路由条目。缺省路由一定是路由表中所有路由条目都无 法匹配时,才最后匹配。
[r1]ip route-static 0.0.0.0 0 12.0.0.2
6,空接口路由 --- 用来解决缺省和黑洞相遇出环的问题。 --- 在黑洞路由器上配置一条指向
汇总网段的空接口路由。
1,路由器的匹配原则 --- 最长匹配原则(精准匹配原则) ---- 数据包如果匹配到多条 路由条目,将按照掩码最长的来执行。
2,NULL0 --- 空接口 --- 虚拟接口 --- 如果一条路由条目, 出接口为空接口,则如果匹配到这条路由条目,则将直接丢弃该数据包。
[r1]ip route-static 192.168.0.0 22 NULL 0
7,浮动静态路由 --- 通过修改默认的优先级,实现静态路由的备份效果。
[r1]ip route-static 192.168.2.0 24 21.0.0.2 preference 61 --- 手动修改静态路由的优先级
[r1]display ip routing-table protocol static --- 过滤静态路由
[r1-GigabitEthernet0/0/1]shutdown --- 手动关闭接口
1,静态路由: 由网络管理员手工填写的路由信息。
2,动态路由:所有路由器运行相同路由协议,之后,通过路由器之间的沟通,协商最终计算 生成路由条目。
收敛:收敛的有关属性包括路由信息的传播速度以及最佳路径的计算方法。可以根据收敛速度来评估路由协议。收敛速度越快,路由协议的性能就越好。通常,RIP和IGRP收敛较慢,而EIGRP、OSPF和IS-IS收敛较快。
静态路由:
优点:
1,选路由管理员选择,相对更好掌控;
2,不用占用额外的资源
3,更加安全
缺点:
1,配置量大
2,静态路由无法根据网络拓扑结构的变化而自动收敛
动态路由:
缺点:
1,通过单一算法计算出来的路径,可能会出现选路不佳的情况;
2,会占用额外的链路资源,硬件资源。
3,因为牵扯数据传递,所以可能出现安全问题
优点:
1,配置简单
2,动态路由可以根据网络拓扑结构的变化而自动收敛
总结:
静态路由应用在规模较小的网络当中,动态路由可以应用在中大型网络中。
AS --- 自治系统 --- 由单一组织或机构所管理的一些IP网络及其设备所构成的集合。
为了方便对AS进行管理 --- AS号 --- 16二进制构成 --- 0 - 65535(1 - 65534) --- 现在也 有拓展版的AS号 --- 32位二进制构成
AS的通信
AS内部 --- IGP --- 内部网关协议 --- RIP,OSPF, IS-IS, EIGRP等
AS之间 --- EGP --- 外部网关协议 --- BGP
IGP还可以根据算法进行分类
距离矢量型协议(DV) --- RIP --- 贝尔曼.福特算法(Bellman-Ford) ---- 直接传递路由信息 --- “依据传闻的路由协议”
链路状态型协议(LS) --- OSPF --- 传递的是LSA信息(链路状态通告) --- 拓扑信息 --- SPF(最短路径优先算法) --- 图形结构 --- 树形结构 ---树形结构不会出现环路
RIP
在RIP里面,将两台直接相连的设备,具备通信条件的设备称为邻居关系。
Destination/Mask Proto Pre Cost Flags NextHop Interface
在RIP中,传递一条路由条目,主要需要携带的参数是目标网段信息以及开销值(cost)
开销值是动态路由协议选路的重要依据。 --- 当动态路由协议计算出到达同一个目标网段存 在多条路径时,将选择开销值最小的路径加表。
不同动态路由协议的开销值的评判标准可能不同,不同动态路由协议之间开销值没有可比性, 开销值仅用于同一种动态路由协议进行选路。
RIP --- 默认优先级 --- 100 --- 不同路由协议之间其默认的优先级不同,所以可以通过比较优先级来进行路由加表。
RIP是以跳数作为开销值的评判标准的 --- 本身存在不合理性
RIP协议支持等开销负载均衡。
RIP的工作半径 --- 15跳。如果收到的路由的开销值等于16,则设备将认为该目标网段不可 达。
数据包中需要携带的开销值 = 本地路由表中的开销值 + 1
贝尔曼.福特算法
1, R2发送2.0/24网段的路由信息给R1,而R1的路由表中没有到达2.0网段的路由。R1将直接 把2.0网段的路由信息刷新到本地的路由表中。
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.2.2.0/24 RIP 100 1 D 12.0.0.2 G 0/0/0
2, R2发送2.0/24网段的路由信息给R1,而R1的路由表中存在到达2.0网段的路由,并且下一 跳就是R2。R1将把最新发来的刷新到本地的路由表中。
3, R2发送2.0/24网段的路由信息给R1,而R1的路由表中存在到达2.0网段的路由,本地路由 表中的下一跳不是R2,则比较开销值,如果本地的开销值大于R2发来的开销值,则将R2发 来的路由刷新到本地的路由表中。
4, R2发送2.0/24网段的路由信息给R1,而R1的路由表中存在到达2.0网段的路由,本地路由 表中的下一跳不是R2,则比较开销值,如果,本地的开销值小于R2发来的开销值,则不刷新。
RIP的版本
RIPV1 ,RIPV2 --- IPV4
RIPNG --- IPV6
RIPV1和RIPV2的区别:
1,V1是有类别的路由协议,V2是无类别的路由协议。
有类别 --- 传递路由信息时,不携带子网掩码 --- 会出现巨大的路由黑洞 无类别 --- 传递路由信息时,携带子网掩码
2,V1不支持手工认证,V2是支持手工认证---就是加个核对身份口令
3,V1采用广播的形式发送信息,V2采用组播的形式发送信息。
224.0.0.9 --- 所有运行RIPV2的设备默认加入的组播组
交换机泛洪 --- 1,遇到广播帧;2,遇到组播帧;3,遇到未知单播帧
RIP协议传输层使用的是UDP协议,使用的端口号是520端口。
RIP的数据包
RIP - REQUEST --- 请求报文
RIP - Response --- 应答报文 --- 真正携带路由信息的数据包(更新包)
在RIP收敛完成之后,RIP会依旧每隔30S发送一次Response报文 --- RIP的周期更新。
1,为了弥补RIP没有确认机制;2,为了弥补RIP没有保活机制
RIP的周期更新 --- 异步周期更新
RIP的计时器
1,周期更新计时器 --- 30S
2,失效计时器 --- 180S;路由条目在刷新之后,将会启动一个180S的失效计时器。
如果时间归0,则代表该路由信息失效。失效后,首先从全局路由表中删除,但是依然会将这条路由信息保存在缓存中,之后周期更新时依然会携带。只是将这跳路由信息的开销值改为16。 --- 带毒传输 --- 传递失效信息。
3,垃圾收集计时器 --- 120S;在失效计时器归0后开始计时,120s时间结束后,将彻底删除失效的路由条目。
破环方案
1,15跳的工作半径
2,触发更新 --- 一旦拓扑结构发生变化,则第一时间将变更信息传递出去,而不去等待周期 更新。
3,水平分割 --- 从哪个接口学到的路由信息将不再从这个接口发出去。
4,毒性逆转 --- 从哪个接口学来的路由信息,依然可以从这个接口发出去,只不过需要将开销值改为16.
因为水平分割和毒性逆转其做法相矛盾,所以,只能选择其中一个来执行。华为设备默认开启水平分割。如果水平分割和毒性逆转同时开启,华为设备将按照毒性逆转来执行。
RIP的配置
1,启动RIP进程
[r1]rip 1 --- 进程号,进具有本地意义,如果需要同时启动多个RIP进程时,需要使用不同的进
程号进行区分
[r1-rip-1]
2,选择RIP版本
[r1-rip-1]version 2
3,宣告
RIP宣告的要求:
1,所有直连网段都必须宣告
2,必须按照主类进行宣告
宣告的作用:
1,激活接口 --- 只有宣告的网段包含的接口会被激活,只有激活的接口可以收发RIP的 数据。
2,发布路由 --- 只有激活的接口所对应的直连网段的路由才能被发布 [r1-rip-1]network 1.0.0.0
拓展配置
1, RIPV2的手工认证
[r2-GigabitEthernet0/0/1]rip authentication-mode md5 usual plain 123456
2, RIPV2的手工汇总
[r1-GigabitEthernet0/0/0]rip summary-address 192.168.0.0 255.255.254.0
3,沉默接口
如果一个接口配置成为沉默接口,则将只接受,不发送RIP的数据包。 [r1-rip-1]silent-interface GigabitEthernet 0/0/1
4,加快收敛 --- 减少计时器的时间
[r1-rip-1]timers rip 30 180 120
5,缺省路由
[r3-rip-1]default-route originate --- 可以指定配置设备作为缺省路由的源头,所有其他设 备将自动生成一条指向该设备的缺省路由。但是该设备自身的缺省必须手工配置。
选路佳,收敛快, 占用资源少
1,OSPF本身是链路状态型协议,所以,计算出的路径不会存在环路;并且使用带宽作为选路依据,所以在选路的角度上优于RIP;
2,OSPF的计时器时间也短于RIP,所以收敛速度会快于RIP;
3,因为OSPF协议传递的是LSA信息,所以单个数据包的资源占用远大于RIP;但是,因为 RIP存在30S一次的周期更新,而OSPF并没有如此高频率的周期更新,并且,OSPF协议存在 许多针对资源占用的优化措施,所以,从整体的角度看,OSPF资源占用上应该小优于RIP。
OSPF --- 开放式最短路径优先协议
RIP存在3个版本 --- RIPV1, RIPV2 --- IPV4
RIPNG --- IPV6
OSPF也存在3个版本 --- OSPFV1(实验室阶段就夭折了) ,OSPFV2 --- IPV4
OSPFV3 --- IPV6
RIPV2和OSPFV2
相同点:
1,OSPFV2和RIPV2一样,都是无类别的路由协议,都支持VLSM和CIDR;
2,OSPFV2和RIPV2一样,都是使用组播发送数据
RIPV2 --- 224.0.0.9
OSPFV2 --- 224.0.0.5和224.0.0.6
3,OSPFV2和RIPV2都支持等开销负载均衡
不同点:
RIP协议只能适用于小型网络环境中,而OSPF协议可以应用在中大型网络环境中 ---
OSPF协议可以实现结构化部署 --- 划分区域
P rotocol --- 类型 --- Direct --- 直连路由 ---- 直连网段 --- 直接靠网线连接生成的网段 ---- 描述直连网段的路由条目我们称为直连路由----不能删,不能改
直连路由是默认生成的--- 生成条件
1.接口双UP(接口物理层面和协议层面均 UP,代表接口具备通信条件)
2,接口必须配置IP地址
NextHop --- 下一跳 --- 数据到达目标网段下一个经过路由器入接口的IP地址。 Interface --- 出接口 --- 到达目标网段从那个接口发出
骨干链路 --- 路由器和路由器之间的链路 --- 一般情况下,骨干链路不会加入其他设备
1,数广播域
2,划分网段
3,配IP地址 --- 先网关,后PC
获取未知网段的路由信息
1,静态路由: 由网络管理员手工填写的路由信息。
2,动态路由:所有路由器运行相同路由协议,之后,通过路由器之间的沟通,协商最终计算 生成路由条目。
[r1]ip route-static 192.168.3.0 24 192.168.2.2 --- 静态路由
PRE --- 优先级 --- 当多条路由到达相同网段时,则将优先选择优先级最高的一条,仅将优先 级最高的路由条目加载到路由表中。
直连路由的默认优先级为0,静态路由的默认优先级为60。 --- 注意:优先级数值越大,优先 级反而越低。
R --- 代表需要递归查找
-------------------------------------------------------
TCP滑动窗口部分出自weixin_39627430的文章
OSPF的结构化部署 --- 区域划分
区域划分的主要目的 --- 区域内部传递拓扑信息,区域之间传递路由信息。--- 链路状态型协
议的距离矢量特征
如果一个OSPF网络只存在一个区域,这个网络称为单区域OSPF网络;
如果一个OSPF网络存在多个区域,这样的网络称为多区域OSPF网络。
区域边界路由器 --- ABR --- 同时属于多个区域,一个接口对应一个区域,必须有一个接口在区域0中,将区域内的拓扑信息收集计算成路由信息,之后进行传递。
区域之间可以存在多个ABR设备,一个ABR设备可以处于多个区域。
区域划分的要求:
1, 区域之间必须存在ABR设备;
2, 区域划分必须按照星型拓扑结构进行划分--- 星型拓扑的中间区域 --- 骨干区域。 为了方便区分和标识不同的区域,所以我们给每一个区域都定义一个区域ID --- area
id --- 32位二进制构成的 --- 两种表示方法 -- 1,直接使用十进制进行表示;2,使用点分十进制进行表示---- 骨干区域的区域ID定义为区域0。
1,OSPF的数据包
hello包 --- 周期性的发现,建立和保活邻居关系。
hello包的发送周期 --- hello时间 --- 10S(以太网) /30S
死亡时间 --- dead time --- 4倍的hello时间
RID --- 区分和标识不同的路由器 --- 本质由32位二进制构成 --- 1,格式统一
2,全网唯一
RID的生成方式:
1,手工配置
2, 自动生成 --- 首先,设备将优先选择环回接口的IP地址作为RID,如果存 在多个环回接口,则将选择所有环回接口中IP地址最大的作为RID;如果没有配置环回接口,则将使用设备的物理接口的IP地址作为RID,如果物理接口存 在多个,则选择IP地址最大的作为RID;
DBD包 --- 数据库描述报文 --- LSDB --- 链路状态数据库 --- LSA ---- “菜单”
LSR包 --- 链路状态请求报文 --- 基于DBD包,请求未知的LSA信息。 --- “点菜”
LSU包 --- 链路状态更新报文 --- 真正携带LSA的数据包 --- “上菜”
LSACK包 --- 链路状态确认报文 --- 确认包
OSPF协议具有周期更新机制,每个30MIN发送一次。
2,OSPF的状态机
Two - Way --- 双向通信状态 ---- 标志着邻居关系的建立。
(条件匹配) 条件匹配成功则可以进入到下一个状态,如果条件匹配失败。则将停留在邻居关 系,则仅周期性的发送hello包进行保活
加载) 状态 --- 基于对端发送的DBD包,使用LSR/LSU/LSACK交换未知的LSA信息 FULL状态 --- 标志着邻接关系的建立。
3,OSPF的工作过程
启动配置完成,ospf协议向本地所有运行协议的接口以组播的形式(224.0.0.5) 发送hello包;hello包中携带自己本地RID,以及本地已知的邻居的RID。之后,将收集到的 邻居关系记录在一张表中 --- 邻居表;
邻居关系建立完成后,进行条件匹配。失败则停留在邻居关系,仅hello包进行保活。
匹配成功,则开始建立邻接关系。首先,使用未携带数据的DBD包进行主从关系选举。 之后,使用携带数据的DBD包共享目录信息,之后,基本DBD包,通过LSR/LSU/LSACK获 取未知的LSA信息。将所有的LSA信息保存本地的LSDB数据库 --- 数据库表;
最后,基于LSDB,使用SPF算法进行计算,得到未知网段的路由信息,将其加载到路由表。
收敛完成后,周期性的发送hello包进行保活,每30min一次周期更新。
结构突变:
1,突然新增一个网段:触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK 确认
2,突然断开一个网段:触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK 确认
3,无法联系 --- dead time --- 40s
4,OSPF的基本配置
1,启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1 --- 手工配置RID需要在进程启动时配置
[r1-ospf-1]
2,创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
3,宣告
宣告的作用:
1,激活接口 --- 只有宣告的网段包含的接口会被激活,只有激活的接口可以收发OSPF 的数据。
2,发布路由 --- 只有激活的接口所对应的直连网段的路由才能被发布
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 --- 反掩码 --- 由连续的0和连续的1组成,0 对应位不可变, 1对应位可变。
[r1]display ospf peer --- 查看邻居表
[r1]display ospf peer brief --- 查看邻居关系简表
[r1]display ospf lsdb --- 查看数据库表
[r1]display ospf lsdb router 2.2.2.2 --- 展开一条LSA的方法
[r1]display ip routing-table protocol ospf --- 查看路由表
华为设备,OSPF协议的默认优先级为 -- 10
COST = 参考带宽 / 真实带宽 --- 华为设备默认的参考带宽为100Mbps
如果计算出来是一个小于1的小数,则直接按照1来算。如果是一个大于1的小数,只取 整数部分。
[r1-ospf-1]bandwidth-reference 1000 --- 修改参考带宽
条件匹配
DR --- 指定路由器 --- 和广播域内其他设备建立邻接关系
BDR --- 备份指定路由器 --- 和广播域内其他设备建立邻接关系,称为DR设备的备份。 一个广播域内部,至少需要4台设备才能看到邻居关系。
DR和BDR其实是接口的概念
条件匹配 --- 在一个广播域中,若所有设备均为邻接关系,将出现大量的重复更新;故 需要进行DR/BDR的选举,所有DRother之间,仅维持邻居关系即可。
DR/BDR的选举规则 --- 1,先比较优先级,优先级最大的为DR,次大的为BDR;
优先级默认为1 --- 主要目的让人为修改
[r1-GigabitEthernet0/0/0]ospf dr-priority ?
INTEGER<0-255> Router priority value
注意:如果将一个接口的优先级设置为0,则代表这个接口 将放弃DR/BDR的选举。
2,如果优先级相同,则比较RID。RID大的路由器所对应的接口 为DR,次大的为BDR。
DR/BDR的选举是非抢占模式的 ---- 一旦角色选举出来,则将无法抢占。 ---- 选举时 间:40s(等同于死亡时间)
<r1>reset ospf 1 process --- 重启OSPF进程
OSPF的拓展配置
1,OSPF的手工认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
2,手工汇总 --- 区域汇总
在ABR设备上进行配置
[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.254.0
3,沉默接口
配置了沉默接口的接口,将只接受不发送路由信息
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2
4,加快收敛 --- 减少计时器的时间
[r1-GigabitEthernet0/0/0]ospf timer hello 5 --- 修改hello时间的方法
[r2-GigabitEthernet0/0/0]ospf timer dead ?
INTEGER<1-235926000> Second(s)
注意:邻居双方的hello时间和死亡时间必须相同,否则将断开邻居关系
5,缺省路由
[r3-ospf-1]default-route-advertise
注意:这个命令要求边界设备自身得具有缺省路由才行
[r3-ospf-1]default-route-advertise always --- 在没有缺省的情况下,强制下发缺省
ACL --- 访问控制列表
策略
ACL访问控制列表的作用:
1,访问控制 --- 在路由器流量流入或流出的接口上, 匹配流量,然后执行设定好的动作 --- permit(允许) ,deny(拒绝) 。
2,抓取感兴趣流 --- ACL的另一个作用就是和其他服务结合使用。ACL只负责抓取流量,动 作由其他服务来执行。
ACL列表的匹配规则 --- 自上而下,逐一匹配。如果匹配到了,则执行对应的动作,则不再向 下匹配。
思科 --- ACL列表末尾默认包含一条拒绝所有的规则。
华为 --- ACL列表末尾没有包含任何规则。
ACL列表的分类
基础ACL --- 仅关注数据包中的源IP地址 --- “只关注你是谁”
高级ACL --- 不仅关注数据包中的源IP地址,还关注目标IP地址,以及协议和端口号 --- “不仅关注你是谁,还关注你去哪,干啥”
二层ACL
用户自定义ACL列表
需求一:要求PC1可以访问3.0网段,但是PC2不行。
基础ACL配置的位置原则:因为基础ACL只关注源IP地址,所以,可能会造成误伤,所以,建议 基础ACL配置位置越靠近目标越好。 基础ACL配置: 1,创建ACL列表 [r2]acl ?
INTEGER<2000-2999> Basic access-list(add to current using rules) --- 基础ACL INTEGER<3000-3999> Advanced access-list(add to current using rules) --- 高级ACL INTEGER<4000-4999> Specify a L2 acl group --- 二层ACL
ipv6
name
number
ACL IPv6
Specify a named ACL
Specify a numbered ACL
[r2]acl 2000
[r2-acl-basic-2000]
2,在ACL列表中添加规则
[r2-acl-basic-2000]rule deny source 192.168.1.3 0.0.0.0 --- 通配符 --- 0代表不可变, 1代表
可变 --- 通配符和反掩码不同,他可以0和1穿插着使用。
[r2-acl-basic-2000]rule permit source any --- 允许所有
[r2]display acl 2000 --- 查看ACL列表
华为的规则默认以5为步调自动添加序号, 目的为了方便插入规则
[r2-acl-basic-2000]undo rule 7 --- 删除规则
3,在接口上调用ACL列表
[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000
切记:一个接口的一个方向上只能调用一张ACL列表
需求二:要求PC1可以ping通PC3,但是不能ping通PC4。
高级ACL列表配置位置原则:
因为高级ACL列表可以进行精准的匹配,所以,位置应该放在尽可能靠近源的地方,可以 节约链路资源。
[r1]acl name xueqiuer 3000 --- 通过重命名的方法来创建高级ACL列表
[r1-acl-adv-xueqiuer]
[r1-acl-adv-xueqiuer]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.3.3 0.0.0.0 --- 高 级ACL列表规则
[r1-GigabitEthernet0/0/0]traffic-filter inbound acl name xueqiuer --- 通过调用名称来调用列表
需求三:要求AR3可以ping通R2,但是不能telnetR2
[r1-acl-adv-xueqiuer]rule deny tcp source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0 destination-port eq 23
VLAN
V --- Virtual --- 虚拟
LAN --- 局域网
VLAN --- 虚拟局域网 --- 虚拟广播域 --- 交换机和路由器协同工作后,将原来的一个广播域, 逻辑上切分为多个。
第一步:创建VLAN
<Huawei>display vlan --- 查看设备VLAN的配置信息
交换机在没有进行配置的时候,默认存在一个VLAN,其VID为1。
802.1Q标准对VID ( --- VLAN ID --- 用来区分和标定不同的VLAN) 进行设定 --- 12位二进制 构成的 --- 0 - 4095。因为0和4095这两个数字保留,真实的取值范围1 - 4094
[Huawei]vlan 2 --- 创建VLAN
[Huawei-vlan2]q
[Huawei]vlan batch 4 to 100 --- 批量创建VLAN
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei]
[Huawei]undo vlan batch 4 to 100 --- 批量删除
Warning: The configurations of the VLAN will be deleted. Continue?[Y/N]:y
第二步:将接口划入VLAN
VID配置映射到交换机的接口上,实现VLAN范围的划分 --- 物理VLAN/一层VLAN VID配置映射到数据帧中的MAC地址上,实现VLAN的划分 --- 二层VLAN
VID可以配置映射到数据帧中类型字段上,实现VLAN的划分 --- 三层VLAN
需求一:要求PC1可以访问3.0网段,但是PC2不行。
基础ACL配置的位置原则:因为基础ACL只关注源IP地址,所以,可能会造成误伤,所以,建议 基础ACL配置位置越靠近目标越好。 基础ACL配置: 1,创建ACL列表 [r2]acl ?
INTEGER<2000-2999> Basic access-list(add to current using rules) --- 基础ACL INTEGER<3000-3999> Advanced access-list(add to current using rules) --- 高级ACL INTEGER<4000-4999> Specify a L2 acl group --- 二层ACL
ipv6
name
number
ACL IPv6
Specify a named ACL
Specify a numbered ACL
[r2]acl 2000
[r2-acl-basic-2000]
2,在ACL列表中添加规则
[r2-acl-basic-2000]rule deny source 192.168.1.3 0.0.0.0 --- 通配符 --- 0代表不可变, 1代表
可变 --- 通配符和反掩码不同,他可以0和1穿插着使用。
[r2-acl-basic-2000]rule permit source any --- 允许所有
[r2]display acl 2000 --- 查看ACL列表
华为的规则默认以5为步调自动添加序号, 目的为了方便插入规则
[r2-acl-basic-2000]undo rule 7 --- 删除规则
3,在接口上调用ACL列表
[r2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000
切记:一个接口的一个方向上只能调用一张ACL列表
需求二:要求PC1可以ping通PC3,但是不能ping通PC4。
高级ACL列表配置位置原则:
因为高级ACL列表可以进行精准的匹配,所以,位置应该放在尽可能靠近源的地方,可以 节约链路资源。
[r1]acl name xueqiuer 3000 --- 通过重命名的方法来创建高级ACL列表
[r1-acl-adv-xueqiuer]
[r1-acl-adv-xueqiuer]rule deny ip source 192.168.1.2 0.0.0.0 destination 192.168.3.3 0.0.0.0 --- 高 级ACL列表规则
[r1-GigabitEthernet0/0/0]traffic-filter inbound acl name xueqiuer --- 通过调用名称来调用列表
需求三:要求AR3可以ping通R2,但是不能telnetR2
[r1-acl-adv-xueqiuer]rule deny tcp source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0 destination-port eq 23
VLAN
V --- Virtual --- 虚拟
LAN --- 局域网
VLAN --- 虚拟局域网 --- 虚拟广播域 --- 交换机和路由器协同工作后,将原来的一个广播域, 逻辑上切分为多个。
第一步:创建VLAN
<Huawei>display vlan --- 查看设备VLAN的配置信息
交换机在没有进行配置的时候,默认存在一个VLAN,其VID为1。
802.1Q标准对VID ( --- VLAN ID --- 用来区分和标定不同的VLAN) 进行设定 --- 12位二进制 构成的 --- 0 - 4095。因为0和4095这两个数字保留,真实的取值范围1 - 4094
[Huawei]vlan 2 --- 创建VLAN
[Huawei-vlan2]q
[Huawei]vlan batch 4 to 100 --- 批量创建VLAN
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei]
[Huawei]undo vlan batch 4 to 100 --- 批量删除
Warning: The configurations of the VLAN will be deleted. Continue?[Y/N]:y
第二步:将接口划入VLAN
VID配置映射到交换机的接口上,实现VLAN范围的划分 --- 物理VLAN/一层VLAN VID配置映射到数据帧中的MAC地址上,实现VLAN的划分 --- 二层VLAN
VID可以配置映射到数据帧中类型字段上,实现VLAN的划分 --- 三层VLAN
基于IP地址进行VLAN的划分,基于策略完成VLAN的划分。
802.1Q帧 --- 在以太网Ⅱ型帧源MAC地址和类型字段之间,增加了4个字节的tag,其中包 含12位的VID。 --- Tagged帧
电脑只能识别普通的以太网Ⅱ型帧 --- Untagged帧
根据以上特性,我们将交换机和电脑之间的链路称为Access链路 (交换机侧的接口称为
Access接口) ,这些链路中,只能通过Untagged帧,并且这些帧只能属于某一种特定的 VLAN;交换机和交换机之间的链路,我们称为Trunk干道 (交换机侧的接口称为Trunk接口) ,这些链路允许通过tagged帧,并且这些帧可以属于多种VLAN。
第三步:配置Trunk干道
第二步配置:
[sw1-GigabitEthernet0/0/1]port link-type access
[sw1-GigabitEthernet0/0/1]port default vlan 2
[sw1]port-group group-member GigabitEthernet 0/0/3 GigabitEthernet 0/0/4 ---创建接口组 [sw1-port-group]
[sw1-port-group]port link-type access
[sw1-GigabitEthernet0/0/3]port link-type access
[sw1-GigabitEthernet0/0/4]port link-type access
[sw1-port-group]port default vlan 3
[sw1-GigabitEthernet0/0/3]port default vlan 3
[sw1-GigabitEthernet0/0/4]port default vlan 3
第三步配置:
[sw1-GigabitEthernet0/0/5]port link-type trunk
[sw1-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 to 3
[sw2-GigabitEthernet0/0/3]port trunk allow-pass vlan all --- 放通所有VLAN的流量
第四步:VLAN间路由
1,创建子接口 --- 单臂路由
[r1]interface GigabitEthernet 0/0/0.?
<1-4096> GigabitEthernet interface subinterface number
[r1]interface GigabitEthernet 0/0/0.1
[r1-GigabitEthernet0/0/0.1]ip address 192.168.1.254 24
[r1-GigabitEthernet0/0/0.1]dot1q termination vid 2
[r1-GigabitEthernet0/0/0.1]arp broadcast enable
NAT --- 网络地址转换
在IP地址空间中,A ,B ,C三类地址中各有一部分地址,他们被称为私有IP地址(私网地 址) ,其余的被称为公有IP地址(公网地址)
A: 10.0.0.0 - 10.255.255.255 --- 相当于1条A类网段
B: 172.16.0.0 - 172.31.255.255 --- 相当于16条B类网段
C: 192.168.0.0 - 192.168.255.255 --- 相当于256条C类网段
我们要求这些私网地址可以重复使用,仅需保证私网内部唯一即可,但是,不允许他们在 互联网中使用
我们一般习惯性的将使用私网IP地址构成的网络称为私网,使用公网IP地址构成的网路称为 公网。
NAT --- 网络地址转换 --- 他的基本任务就是实现私网地址和公网地址之间的一个转换。
静态NAT
动态NAT
NAPT
端口映射
华为设备所有和NAT相关的配置都是在边界路由器的出接口上配置的。
静态NAT --- 一对一的NAT
静态NAT就是通过在边界路由器上维护一张静态地址映射表。静态地址映射表中记录的是私 网IP地址和公网IP地址之间一一对应的关系。
[r2-GigabitEthernet0/0/2]nat static global 12.0.0.3 inside 192.168.1.2
1,必须在12.0.0.0/24网段
2,这个IP地址必须是花钱在运营商处买到的合法公网 地址
[r2]display nat static --- 查看静态地址映射表
动态NAT --- 多对多的NAT
动态NAT就是通过在边界路由器上维护一张动态地址映射表。可以实现多对多的NAT转 换,但是,在同一时刻,依然是一对一的过程。如果上网需求较大时,需要排对等待。
1,创建公网地址池
[r2]nat address-group 0 12.0.0.4 12.0.0.8
2,通过ACL列表抓取私网流量
[r2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
3,在接口上配置动态NAT
[r2-GigabitEthernet0/0/2]nat outbound 2000 address-group 0 no-pat
NAPT --- 网络地址端口转换 --- PAT
一对多 --- easy ip
多对多
多对多的配置:
1,创建公网地址池
[r2]nat address-group 0 12.0.0.4 12.0.0.8
2,通过ACL列表抓取私网流量
[r2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
3,在接口上配置动态NAT
[r2-GigabitEthernet0/0/2]nat outbound 2000 address-group 0
Easy ip
1,通过ACL列表抓取私网流量
[r2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255
2,在接口上配置easy ip
[r2-GigabitEthernet0/0/2]nat outbound 2000
端口映射
[r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 80 inside 192.168.1.10 80
[r2-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 8080 inside 192.168.1.20
80
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。