计算机网络:
云技术:
云储存---将数据通过计算机网络传输并储存在第三方服务器。(百度网盘)
云计算---分布式计算。(即共享硬件资源)
计算机技术:
文字、图片、视频等---抽象文字。
抽象语言转化为电信号传输数据。
抽象语言转化为编码。(应用层)
编码转化为二进制。(表示层)
二进制转化为电信号。(介质(硬件)访问控制层)
处理电信号。(物理层)
怎样延长计算机网络传输距离:
RJ-45双绞线---8根铜丝构成,两两相绞。
线路顺序从左到右(橙黄,橙,绿白,蓝,蓝白,绿,棕白,棕)
超5类双绞线---1000Mbps,100米---信号衰弱
传输速率的计算公式---100 / 8 * 0.85 = 10.625
屏蔽双绞线
非屏蔽双绞线
放大器(中继器)---(物理层设备)可以放大5倍的传输距离。
怎样增加计算机网络节点数:
网络拓扑结构:
1、直线型
2、环形
3、星型
4、网状
5、混合型
2个以上的拓扑集合
集线器---HUB ---物理层设备
标识:
集线器传输数据缺点:
1,无法确定地址
2,数据间发生冲突
3,安全
4,延迟
地址:
1,全球唯一
2,格式统一
MAC地址---芯片出厂时,厂家烧录进去的一个串号,由48位二进制构成。
物理地址:为了方便人类区分和识别,我们会将48位二进制转换为12位16进制表示
C:\Users\zhzoq>ipconfig /all ---在CMD中使用命令行查看网卡信息
发送数据:
有了MAC地址之后,数据来到介质访问控制层,将在原始数据之前添加源MAC和目标MAC地址,用以识别发送方与接收方。
交换机---二层设备
标识:
优点:
1,增加端口密度
2,无限延长传输距离
3,完全解决冲突---所有节点可以同时收发数据
4,实现单播---一对一的通信
交换机的转发原理---数据来到交换机,交换机会先看数据中的源MAC地址,之后,将源MAC地址和进入接口的对应关系记录在本地的MAC地址表中。之后,再看目标MAC地址,根据目标MAC地址查看本地的MAC地址表,如果MAC地址表中存在记录,则直接按照记录从对应接口发出,实现单播。但是,如果MAC地址表中没有记录,则需要泛洪。
泛洪---将数据从除了进入接口以外剩余所有接口均发送一遍。泛洪范围在交换机MAC地址表中,一个接口可以对应多个MAC地址,一个MAC地址只能对应一个接口。
常见攻击手段:MAC地址泛洪攻击。
防御机制:MAC地址表的老化时间---300S。
应用层
表示层
网络层(新增概念)
实现两个端系统之间的数据透明传送,具体功能包括寻址和路由选择、连接的建立、保持和终止等。
介质访问控制层
物理层
路由器
1,隔离泛洪范围
2,转发
IP ---逻辑地址 ---互联网协议---IPV4 ---32位二进制构成---43亿---点分十进制。(由十进制数构成,.分隔)
IPV6 ---128位二进制构成--- 冒分十六进制。(由十六进制数构成,:分隔)
C:\Users\zhzoq>ipconfig---在CMD中查看IP地址
二进制计算:
IP:
由32位二进制数组成,点分十进制表示。
四个位置分为网络位和主机位。
网络位:如果网络位相同,则代表在同一个泛洪范围内;如果网络位不同,则代表在不同的泛洪范围。(相当于区号)
主机位:主机位用来区分有路由器分隔开的同一个泛洪范围内的不同设备。(相当于个体编号)
列如:192.168.20.30
子网掩码 :1代表网络位,0代表主机位---由连续的1和连续的0组成,一定是1在前,0在后。
列如:255.255.0.0(每一个由小数点分隔开的数据对应上面一个列子的相应数据。);将其写成二进制为11111111.11111111.00000000.00000000,对应上一个列子可以得到上一个列子中的192.168为网络位,20.30为主机位。
Ping ---检测网络联通性的工具(ping +对象的IP)
ARP ---地址解析协议----通过一种地址获取另一种地址
正向ARP ---通过IP地址获取MAC地址
反向ARP ---通过MAC地址获取IP地址
免费ARP ---发送以自己的MAC和IP地址来让其他设备知晓。
免费ARP作用:1,检测地址冲突;2,自我介绍
ARP的工作原理---ARP以广播的形式发送请求报文,广播域内所有设备均能收到请求报文,所有收到ARP请求报文的设备会先记录请求报文中的源IP地址和源MAC地址的对应关系,记录在本地的ARP缓存表。之后,再看请求的IP地址,如果请求的不是自己本地的IP地址,则将数据包丢弃;如果请求的IP地址是自己本地的IP地址,则将回复ARP应答报文。之后,如果需要发送数据,则先查看ARP缓存表,如果缓存表中存在记录,则直接按照记录转发;如果ARP缓存表中没记录,则再发送ARP请求报文。
全F ---广播地址(用不会有的MAC地址来逼迫交换机泛洪)
广播---逼交换机泛洪
广播域== 泛洪范围
PC>arp -a--查看当前设备的ARP缓存表
ARP缓存表的老化时间---180S(和之前的交换机MAC地址表老化时间相似)
一种攻击手段:ARP欺骗(冒充他人IP来获取信息)
防御手段:手动写入IP地址在ARP缓存表中。
IP分类:
A,B,C --- 单播(一对一)地址 --- 既可以作为源IP地址也可以作为目标IP地址
D --- 组播(同一个组播组中一对多)地址 --- 只能作为目标IP地址使用
E --- 保留地址
补充:广播 --- 一对所有(同一个广播域)
分类标准:由IP地址前8位的数值决定
A类:0XXX XXXX ----- (0 - 127) 1 - 126
B类:10XX XXXX ----- 128 - 191
C类:110X XXXX ----- 192 - 223
D类:1110 XXXX ----- 224 - 239
E类:1111 XXXX ------ 240 - 255
分类目的:
A --- 大型网络 ---- 255.0.0.0
B --- 中型网络 ---- 255.255.0.0
C --- 小型网络 --- 255.255.255.0
但因为一般一个广播域内最多容纳200-300台电脑,所以这种分类的目的一般实现不了。
特殊IP地址
1,127.0.0.1 - 127.255.255.254 --- 环回地址(虚拟地址,可用于检测电脑系统是否出现问题。)
2,255.255.255.255 ---- 受限广播地址 --- 受路由器的限制 --- 只能作为目标IP地址使用(以这个地址作为目标IP地址,路由器会接收,但不会转发。)
3,主机位全1 --- 以192.168.1.X/24为例,主机位全一为192.168.1.255 ---- 直接广播地址 --- 只能作为目标IP 使用(以这个地址作为目标IP地址,路由器会接受,也会帮助转发。)
4,主机位全0 --- 以192.168.1.X/24为例,主机位全0为192.168.1.0。 0表示可以取任意值,所以这个IP表示一个网段,也叫网络号。
5,0.0.0.0 ---- 1,代表没有地址(在请求IP地址时用作源IP地址。);2,可以代表任意地址
6,169.254.0.0/16 --- 自动私有地址/本地链路地址(计算机在请求IP地址,但是得不到回应时,计算机自己给自己赋予的IP地址。此时计算机一般请求不到网关的IP地址,只能和与自己在同一个广播域中的计算机通讯。)
检查网络
1.ping网关,若不通则连接路由器有问题;
2.ping同一局域网的主机,若不通则交换机连接有问题;
3.ping自己,若不通则可能是真实网卡或者软件层面处理有问题
ping虚拟网卡的地址127.0.0.1,若不通则为软件层面的问题
若通则为硬件的问题
VLSM --- 可变长子网掩码 --- 子网划分
例如:172.16.0.0/16 --- 划分8个网段 ---- 每个网段的可用IP的取值范围计算出来。
要划分8个网段。因为2的3次方等于8(三个位置,每个位置有1和0两种取值),所以我们取最前面的三个主机位作为网络位。因为原先是前16位为网络位,所以计算后前19位为网络位,后面的为主机位。(全0不能取,255也不能取。)
172.16.000 00000.0 --- 172.16.0.1 - 172.16.31.254
172.16.001 00000.0 --- 172.16.32.1 - 172.16.63.254
172.16.010 00000.0 --- 172.16.64.1 - 172.16.95.254
172.16.011 00000.0 --- 172.16.96.1 - 172.16.127.254
172.16.100 00000.0 --- 172.16.128.1 - 172.16.159.254
172.16.101 00000.0 --- 172.16.160.1 - 172.16.191.254
172.16.110 00000.0 --- 172.16.192.1 - 172.16.223.254
172.16.111 00000.0 --- 172.16.224.1 - 172.16.255.254
CIDR --- 无类域间路由 --- 汇总
计算方式:“取相同,去不同” --- 二进制
例如:
192.168.0.0/24
192.168.1.0/24
192.168.2.0/24
192.168.3.0/24
合并成一个网段。
192.168.00000000.0
192.168.00000001.0
192.168.00000010.0
192.168.00000011.0
因为前22位相同,所以取前22位为网络位。
故计算出的答案为:192.168.0.0/22
因为没合并前的IP地址由前8位判断很明显为C类,网络位为前24位,合并后变为22位网络位。所以称此过程为超网。
又例如:
172.16.0.0/24
172.16.1.0/24
172.16.2.0/24
172.16.3.0/24
很明显合并后为:172.16.0.0/22
因为没合并前的IP地址由前8位判断很明显为B类,网络位为前16位,但原题是24位,说明有可能该网络是已经划分后的网络。合并后变为22位,所以称为子网汇总。
OSI/RM --- 开放式系统互联参考模型
1979年 --- ISO国际标准化组织
核心思想 --- 分层 --- 属于同一层面的不同功能其目的和作用是相似或相近;不同层面的功能
之间具有明显的差异。每一层都在下一层所提供服务的基础上再提供增值服务。
分层的作用:
1,更利于标准化 --- 分治
2,降低层次之间的关联性
3,更易于学习和理解
应用层 --- 抽象语言转换为编码
表示层 --- 编码转换为二进制
会话层 --- 维持网络应用和网络服务器之间的会话联系
传输层 --- 端到端的传输 --- 应用到应用
网络层 --- 将上层的数据段进行加工,加上源IP和目标IP。
数据链路层 --- MAC(介质访问控制层(二进制转换为电信号)) + LLC(逻辑链路控制层)
物理层 --- 处理电信号
补充:端口号 --- 用来区分和标识不同的应用的 ,由16 位二进制构成(取值范围为0 - 65535),其中0作为保留值,1 - 1023为知名端口号 。与MAC地址和IP地址相同,端到端的信息也会加上源端口号(SPORT)与目标端口号(DPORT)。
TCP/IP模型
因TCP/IP协议簇而产生。
与OSI模型对比
TCP/IP模型又有TCP/IP标准模型(四层)和TCP/IP对等模型(五层)
PDU --- 协议数据单元(相当于单位)
OSI七层模型中
L1PDU --- 应用层
L2PDU --- 表示层
L3PDU --- 会话层
L4PDU --- 传输层
L5PDU --- 网络层
L6PDU --- 数据链路层
L7PDU --- 物理层
在TCP/IP对等模型中
应用层 --- 报文
传输层 --- 段
网络层 --- 包
数据链路层 --- 帧
物理层 --- 比特流
封装和解封装
应用层 --- 应用层存在封装,只不过,应用层的封装内容取决于不同的应用协议。
HTTP --- 超文本传输协议 --- 获取网页信息 --- 端口号为TCP 80
HTTPS --- HTTP + SSL(安全传输协议)/TLS --- 端口号为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地址 --- 以太网 --- 早期局域网的解决方案,依靠交换机组建的二层网络。
物理层 --- 不具有该过程
封装过程:
数据链路层:
其中从左到右依次为:
标志数据帧开始的开始标志---前导符
目标MAC地址
源MAC地址
标示上一次的数据格式的标志
上一层传输下来的数据包
以太网Ⅱ型帧
FCS --- 帧校验序列 --- 确保数据完整性的参数 --- CRC(循环冗余算法)
TCP/UDP
TCP和UDP的区别:
1,TCP是面向链接的协议,而UDP是无连接的协议。
2,TCP协议的传输是可靠的,而UDP协议的传输“尽力而为”。
补充:TCP的可靠性 --- 确认,重传,排序,流控
3,TCP协议可以实现流控(流量控制),而UDP不行。
4,TCP可以分段,而UDP不行。
5,TCP消耗资源较大,传输效率较低;UDP耗费资源较小,速度快。
补充:什么是面向链接?
在正式传输数据之前,先适用预先的协议,建立点到点的链接。
TCP建立的连接实际建立了一个双向的会话连接,即通讯双方都可以向对方发送数据。
TCP和UDP的使用场景:
TCP协议更适用于对可靠性要求较高,但是对传输效率和资源占用要求较低的场景;UDP更
适用于对传输效率要求较高,可靠性要求较低的场景(即时类通讯)。
补充封装和解封装:
传输层:
TCP头部(可变长)
第一行:源端口号和目标端口号。
第二行:用以标识数据段的序列号。
第三行:回应的数据包中用以请求想要的数据段的序列号。
第四行:首部长度表示整个TCP头部一共多长。(与选项段有关,若选项段为空,表示TCP头部的最短长度,为20个字节。)
补充:1个字节=8个比特位
保留:暂时没有用处。
6个标记位:每一个都代表一位二进制,为0表示未激活,为一表示激活。
URG:置1时紧急指针将会激活,表示这个数据段里包含有需要紧急处理的数据,用来处理避免TCP数据流中断。
ACK:置1时表示数据段中的确认序列号激活,置0的时候表示数据段不包含确认信息,确认号被忽略。(起确认信息的作用。)
PSH:PUSH标志的数据,置1时请求的数据段在接收方得到后就可直接送到应用程序,而不必等到缓冲区满时才传送。(优先处理该数据段,不需要等到数据段组成数据包才进行传送。)
RST:用于复位因某种原因引起出现的错误连接,也用来拒绝非法数据和请求。该标记为置1时,强制断开与对方的连接。
SYN:请求标记位,置1时表示该数据包表示请求与对方建立连接,形成会话。(对方回复ACK置1的数据包就表示同意连接。)
FIN:结束标记位,置1时表示请求与对方断开连接。(对方回复ACK置1的数据包就表示同意断开。)
补充:TCP协议可将大数据包分成若干小的数据段,进行分段传输。
窗口大小:
第五行:校验和:确保数据完整性 --- 反码相加法。
属于伪头部校验 --- 除了校验传输层头部和数据内容外,还会将网络层头部中的一部分内容一起进
行校验。
紧急指针:指向需要紧急处理的数据,URG置1时激活。
第六行:选项表示可选项。
第七行:数据表示上一层传输下来的数据。
UDP头部
最短也是20个字节。
TCP建立连接的过程
TCP的三次握手
A与B建立连接
1、A先向B发送SYN置1的数据包(此时该数据包的序列号随机,设为X;确认序列号未激活。),表示请求建立A--->B的连接。
2、B向A回复ACK置1的数据包(确认序号为X+1,表示请求下一个数据包;序列号随机,设为Y。)表示同意建立,因为是建立双向会话,所以B回复的数据包中的SYN置1,表示B也请求建立B--->A的连接。
3、A向B回复ACK置1 的数据包(确认系列号为Y+1,表示请求下一个数据包;序列号为X+1),表示同意建立。
双向会话建立完成
TCP断开连接的过程
TCP的四次挥手
A与B断开连接
1、A先向B发送FIN置1的数据包,表示想与B断开连接。
2、B向A回复ACK置1的数据包,表示同意断开A--->B的连接。但此时B对A的数据传输可能没有结束,所以B--->A的连接没有断开。
3、B向A发送FIN置1的数据包,表示想与A断开连接。
4、A向B回复ACK置1的数据包,表示同意断开连接。
断开连接完成
补充:断开连接的过程因为数据传输完成的时间可能不同,所以标准的断开过程是4次,但也可能是3次。
与传输数据的数据包不同,建立连接和断开连接的数据包只是功能型的数据包,即便没有双向会话也能进行传输。
TCP序列号
数据传输的过程中序列号其实是指向以字节为单位的数据。(按字节衡量)
例如:将一个1000个字节的数据包划分成三个数据段发送,第一个300字节,第二个400字节,第三个300字节。假如A先向B发送第一个数据段,序列号为X。B收到后回复A的确认数据包中的确认序列号就应该为X+300,表示B请求A发送序列号为X+300开始的下一个数据段。以此类推,A发送完第二个数据段,B回复的确认数据包中的确认序列号就应该为X+700。因为A的第三个数据段发完后就没有数据需要发送,所以A在发送第三个数据段时可以将FIN标志置1,以结束会话。
TCP的流控
在数据传输过程中,可以一次性发送多个数据包/段来实现流量控制。这一功能需要通过窗口大小来实现。
例如:A先一次性向B发送3个数据包,第一个数据包的序列号设为1,每个数据包假设只有一个字节,并把窗口值置为3。B回复A一个确认序号为4,窗口值为3的确认数据包。此时A会认为B可以同时处理3个数据包,为提高传输效率,A会加大窗口值。假如提升到5,则一次性发送5个数据包,此时B回复A一个确认序列号为9,窗口值为5的确认数据包。此时A继续向上试探,假如将窗口值提升到7,则一次性发送7个数据包。B如果此时只能处理5个数据包,B将会发送一个确认序列号为15,窗口值为5的确认数据包,表示B现在只能处理5个数据包并请求序列号为15开始的数据包。A再次发送时就会从序列号为15的数据包开始发,且只会发送5个数据包。此后A还会不断的向上试探,以提升传输效率。(B可能被其它的数据拉低了处理能力。)
IP协议---网络层
第一行:
版本:表示使用的IP协议版本。(IPV4 - 4或者IPV6 - 6)
首部长度:表示IP头部长度。(可变长,与TCP类似,与选项有关。)
服务类型:标记特殊处理。
总长度:表示头部加数据的长度。(整个数据包的长度)
第二行:
标识:表示同一个数据包分片后的数据片的“身份证”。(即同一个数据包分片后产生的数据片的标识一定相同。)
标志:有三位,第一位保留(无意义),第二位置0表示进行了分片,置1表示没有进行分片。 第三位置0表示这个数据片是最后一片,置1表示后面还有分片。
片偏移: 此分片在原始数据的偏移,用于分片重组,因为13位,所以支持的最大字节为8192。
第三行:
TTL --- 生存时间 --- 数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为
0是,路由器将不再转发而直接丢弃。
协议号 --- 上层所适用的协议类型 --- TCP --- 6,UDP --- 17
首部检验和:确保数据完整性,只校验首部。
第四行:源IP地址。
第五行:目标IP地址。
第六行:选项表示可选项。
第七行:数据表示上一层传输下来的数据。
IP的分片和TCP的分段
TCP的分段:TCP协议可将大数据包分成若干小的数据段,进行分段传输。
IP的分片:将大的数据包分成若干小的数据片进行传输。
通过TCP协议传输的数据通常不会在网络层进行分片,因为在传输层就已经进行了分段。所以通过网络层进行分片的一般是通过UDP协议传输的数据。
MTU --- 最大传输单元 --- 默认值(可以修改)1500字节 --- 数据来到数据链路层的内容不能超过1500个字节
MSS --- 最大段长度 --- 理论值1460字节(1500字节-传输层的最小值20字节-网络层的最小值20字节。),这个值需要进行协商,这个参数在TCP的SYN包携带,如果双方不一致,则将按照小的执行。
路由器IP配置命令
VRP操作系统支持简写
CLI --- 命令行控制界面
<Huawei> --- 用户视图 ---- 使用< >框住名称 ---- 只能作查看类型的操作,不能配置
<Huawei> display ip interface brief --- 查看接口IP地址的摘要信息
<Huawei> system-view --- 进入系统视图的命令
使用后显示:Enter system view, return user view with Ctrl+Z.
[Huawei] ---- 系统视图的标志 --- 使用[ ]框住名称 --- 可以进行配置,但是只能进行一些 全局类 的配置
[Huawei] sysname --- 后加想要修改的名称 --- 修改名称
[Huawei] interface GigabitEthernet 0/0/0 (后加想要进入接口号,这里以 GigabitEthernet 0/0/0为例) --- 进入接口视图
使用后显示:[Huawei-GigabitEthernet0/0/0]
[Huawei-GigabitEthernet0/0/0] ip address 192.168.1.1 24 (后加想要配置的IP地址,24代表网络位为24为,这里也可以使用255.255.255.0) --- 接口配置IP地址
[Huawei-GigabitEthernet0/0/0] quit --- 退回到上一个视图中
[Huawei-GigabitEthernet0/0/1] undo ip address 192.168.2.1 255.255.255.0 --- 华为设备所有的删除操作都是在原命令前面加undo
[Huawei-GigabitEthernet0/0/0] display this --- 查看 当前视图 的配置操作
[Huawei] display current-configuration --- 查看 缓存中 的数据(即所有配置)
<Huawei> save --- 保存,将配置内容保存到 闪存 --- 一定要在用户视图中执行
注意:配置后不保存配置就关闭拓扑,即使选择保存拓扑,路由器中的配置也不会保存。
<Huawei> display saved-configuration --- 查看 闪存 中的配置内容
帮助系统
TAB(键盘上) --- 可以补全命令
?(键盘上) --- 可以展示以定义字母开头的所有命令。或者在命令完成后执行,可以将后面跟的参数进行展示
补充:闪存 --- 断电后数据保存
缓存 --- 断电后数据会被删除
————————————————
路由器配置telnet的方法:
1,进入到aaa的视图当中
[Huawei]aaa
[Huawei-aaa]
补充:AAA是一个做认证的平台。
2,在aaa中创建登陆使用的用户名密码信息
[Huawei-aaa]local-user a1(创建用户名) privilege level 15(选择权限等级) password cipher 123456(创建密码)
Info: Add a new user.
补充:cipher表示该密码在本地将以加密的形式储存。
3,定义创建用户的服务类型
[Huawei-aaa] local-user a1 service-type telnet (服务协议)
4,创建VTY虚拟登陆端口
[Huawei] user-interface vty 0 4 (选择可以有几个人同时登陆该账户,0表示1个人,0 1表示两个人,以此类推,一般最多可以有16人)
[Huawei-ui-vty0-4]
5,定义认证模式
[Huawei-ui-vty0-4] authentication-mode aaa --- 调用AAA平台来完成认证
因为模拟器中的电脑没有开启telnet客户端的功能,所以不能进行登录。此时我们可以使用一台路由器来代替。(因为路由器默认开启该功能)
登录:
<Huawei> telnet 192.168.1.1 (需要登陆上的设备的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
DHCP也是一种C/S架构的协议
DHCP服务器对设备要求不高但一般是由网关担任这一角色。(网关分隔若干广播域,下发IP更加方便)
C/S架构 --- 需要获取IP地址的设备扮演客户端的角色,而下发IP地址的设备需要扮演DHCP
服务器的角色
首次获取IP地址
1,DHCP客户端向DHCP服务器发送请求 ---- 广播形式 ---- DHCP-Discover
传输层使用UDP协议 --- 源端口号:68 --- 目标端口号:67
网络层 --- IP --- 源IP地址:0.0.0.0 --- 目标IP地址:255.255.255.255
数据链路层 --- 以太网 --- 源MAC地址:自己 --- 目标MAC地址:全F
2,DHCP服务器向DHCP客户端回复 ---- 广播/单播(因不同厂商设备而定,华为单播,思科广播) ---- DHCP - Offer
UDP --- 源端口号: 67 --- 目标端口号:68
IP --- 源IP:DHCP服务器的IP地址 --- 目标IP:需要分配的IP地址(华为逻辑)
以太网 --- 源MAC:DHCP服务器自己的MAC地址 --- 目标MAC:客户端的MAC地址
3,DHCP客户端向DHCP服务器发送请求 --- 广播 --- DHCP - Request
4,DHCP服务器向DHCP客户端回复 --- 单播/广播 --- DHCP - ACK --- 只有在收到服务器的
ACK之后,才算可以使用这个IP地址。
补充:广播域中不一定只有一台DHCP服务器,所以在请求过程中会收到多条DHCP - Offer包。此时,设备会选取最先收到的那个 DHCP - Offer包中的IP地址。再向广播域中的所有设备发送DHCP - Request包,请求发送选中offer包的服务器使用这个IP地址,同时告诉其他服务器本设备已有IP。
再次获取IP地址
1,DHCP客户端 --- DHCP服务器 --- 广播 --- DHCP - Request --- 请求之前使用的IP地址
2,DHCP服务器 --- DHCP客户端 --- 单播/广播 --- DHCP - ACK/DHCP - NAK
补充:若该IP地址已被其他设备使用,则回到首次获取IP地址的过程。
租期 --- 24h
T1 --- 租期到达50% --- 12h
DHCP客户端向DHCP服务器发送请求进行 续租 --- 单播形式 --- DHCP - Request
T2 --- 租期到达87.5% --- 21h
DHCP客户端向DHCP服务器发送请求进行 续租 --- 广播形式 --- DHCP - Request
补充:过期后将进行首次获取IP地址的过程。
DHCP-release --- 客户端主动释放IP地址
免费ARP作用:1,检测地址冲突;2,自我介绍
ARP的工作原理---ARP以广播的形式发送请求报文,广播域内所有设备均能收到请求报文,所有收到ARP请求报文的设备会先记录请求报文中的源IP地址和源MAC地址的对应关系,记录在本地的ARP缓存表。之后,再看请求的IP地址,如果请求的不是自己本地的IP地址,则将数据包丢弃;如果请求的IP地址是自己本地的IP地址,则将回复ARP应答报文。之后,如果需要发送数据,则先查看ARP缓存表,如果缓存表中存在记录,则直接按照记录转发;如果ARP缓存表中没记录,则再发送ARP请求报文。
DHCP服务器配置
1,开启DHCP服务
[Huawei] dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
2,创建地址池
[Huawei] ip pool a (定义地址池名称)
Info: It's successful to create an IP address pool.
[Huawei-ip-pool-a]
3,配置地址池
[Huawei-ip-pool-a] network 192.168.1.0 (定义网段) mask 24 (定义网络位)
[Huawei-ip-pool-a] gateway-list 192.168.1.1 (定义网关,即想要配置接口的IP地址)
[Huawei-ip-pool-a] dns-list 114.114.114.114 (添加DNS服务器)
4,在接口视图选择全局配置(即配置该接口为刚刚定义的地址池的DHCP服务器)
[Huawei-GigabitEthernet0/0/0] dhcp select global
————————————————
路由器的转发
路由器的转发原理:当一个数据包进入到路由器,路由器将基于目标IP地址查询本地的 路由
表 。若表中存在记录,则将 无条件 按照路由表指示转发;如果路由表中没有记录,则路由器将
直接丢弃该数据包。
路由表
<Huawei>display ip routing-table --- 查询设备的路由表
Destination/Mask --- 目标网段信息及掩码信息
Protocol --- 协议类型
Direct --- 直连路由 ---- 直连网段 --- 直接靠网线连接生成的网段 ---- 描述直连网段的路由条目我们称为直连路由。
Pre --- 优先级
Cost --- 开销
NextHop --- 下一跳 --- 数据到达目标网段下一个经过路由器入接口的IP地址。
Interface --- 出接口 --- 到达目标网段从那个接口发出
直连路由 是默认生成的
生成条件:
1,接口双UP(接口物理层面和协议层面均 UP,代表接口具备通信条件)
2,接口必须配置IP地址
骨干链路 --- 路由器和路由器之间的链路 --- 一般情况下,骨干链路不会加入其他设备
静态路由与动态路由优缺点
获取未知网段的路由信息方法:
1,静态路由:由网络管理员手工填写的路由信息。
2,动态路由:所有路由器运行相同路由协议,之后,通过路由器之间的沟通,协商最终计算
生成路由条目。
静态路由
优点
1,选路由管理员选择,相对更好掌控;
2,不用占用额外的资源
3,更加安全
缺点
1,配置量大
2,静态路由无法根据网络拓扑结构的变化而自动收敛
动态路由
缺点
1,通过单一算法计算出来的路径,可能会出现选路不佳的情况;
2,会占用额外的链路资源,硬件资源。
3,因为牵扯数据传递,所以可能出现安全问题
优点
1,配置简单
2,动态路由可以根据网络拓扑结构的变化而自动收敛
总结
静态路由应用在规模较小的网络当中,动态路由可以应用在中大型网络中
静态路由
配置静态路由命令:
[Huawei]ip route-static 192.168.3.0 24(目标网段及掩码) 192.168.2.2(下一跳IP地址)
注意:现实中进行静态配置时要考虑多种因素来判定路径。(带宽,转发次数,设备等等)
补充:
Pre --- 优先级 --- 当多条路由到达相同网段时,则将优先选择优先级最高的一条,仅将优先级最高的路由条目加载到路由表中。直连路由的默认优先级为0,静态路由的默认优先级为60。(华为体系定义)
注意:优先级数值越大,优先级反而越低。
Flags中会出现RD --- R代表需要递归查找
路由环路
由于两个路由器中路由表数据错误,导致数据包不断在这个网络传输,始终到达不了目的地,导致掉线或者网络瘫痪。(数据的不断传输导致网络崩溃)
解决机制 --- TTL --- 生存时间 --- 数据包每经过一个路由器的转发,其数值减1,当一个数据包的TTL值为0时,路由器将不再转发而直接丢弃。(不能防止环路出现,只能防止数据无线循环)
拓展配置
1,负载均衡:当路由器到达同一个目标,具有多 条 开销相似 的路径时,可以让流量进行拆分
后延多条路径同时传输,起到叠加带宽的效果。(因为数据如果拆分为进行多路径发送,传输速率会因最慢的那一条而定,所以要开销相似)
2,环回接口 --- 路由器的一个虚拟接口,一般用于虚拟实验,而不受设备的限制。
配置方法:
[Huawei] interface LoopBack 0 (编号) --- 与真实设备相同待遇,也需要配IP
[Huawei-LoopBack0]
补充:[Huawei] ping -a 192.168.1.1 (源IP) 192.168.3.1 (目标IP) --- 指定源IP发送ping包
3,手工汇总 --- 当路由器可以访问多个连续的子网时,若均通过相同的下一跳,可以将这些
网段进行汇总操作,之后,仅需编辑到达汇总网段的静态路由即可。以达成减少路由条目,提
高转发效率的目的。
使用 CIDR --- 无类域间路由 --- 汇总
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
网络中存在0.0网段和2.0网段,将其汇总后为192.168.0.0/22网段。此时该网段便多了1.0和3.0两个不存在的网段,路由表中没有信息。导致如果有向这两个网段发送信息的数据有去无回,数据被丢弃,并且达不到传输信息的作用。
在汇总中,如果包含网络内实际不存在的网段时,可能造成流量的有去无 回,浪费链路资源。
5,缺省路由 --- 华为体系中也叫默认路由。缺省路由就是一条 不限定目标的路由条目。缺省路由一定是路由表中所有路由条目都无 法匹配时,才最后匹配。一旦路由黑洞和缺省路由相遇(即在同一个路由器上),将100%出现路由环路。
配置方法: [Huawei] ip route-static 0.0.0.0 0 (这个IP很特殊,可以代表任意IP地址) 12.0.0.2 (下一跳的IP地址)
补充:设有两个路由器R1和R2(能互相通信),此时R1上就同时存在黑洞(即通过汇总产生的不存在的网段)和缺省路由,且缺省路由的下一跳指向R2。该数据包要发送到R1的黑洞,明显R1不会有黑洞的路由条目,所以就会匹配到缺省路由,由此又会发送给R2,R2继续发给R1,不断循环造成路由环路。
6,空接口路由 --- 用来解决缺省和黑洞相遇出环的问题。
在 黑洞路由器 (即存在黑洞网段的路由器) 上配置一条指向汇总网段的 空接口路由 。
1, 路由器的匹配原则 --- 最长匹配原则(精准匹配原则) ---- 数据包如果匹配到多条路由条目,将按照掩码最长的来执行。
2, 空接口 --- 虚拟接口 --- 如果一条路由条目,出接口为空接口,则如果匹配到这条路由条目,则将直接丢弃该数据包 --- NULL 0(即空接口)
配置: [Huawei] ip route-static 192.168.0.0 22 (网段及掩码信息) NULL 0
补充:按第5点补充内容来说,黑洞因汇总而产生黑洞网段一定被包含与汇总网段。如果在R1上写一条空接口对应汇总网段,该数据包发送到R1时就会匹配到这个汇总网段的路由条目。直接丢弃掉,避免路由环路产生。若R1设备上正常运行的接口出现问题导致该对应网段成为黑洞,发送到该网段的数据的目标IP地址掩码一定会比汇总掩码长,该数据也不会因匹配不到对应信息而去匹配缺省路由,而是匹配这个空接口。能比较完善的防止路由环路产生。
7,浮动静态路由 --- 通过修改默认的优先级,实现静态路由的备份效果。
[Huawei] ip route-static 192.168.2.0 24 (目标网段及掩码信息) 21.0.0.2 (下一跳IP地址) preference 61 (优先级) --- 手动修改静态路由的优先级
[Huawei] display ip routing-table protocol static --- 过滤静态路由
[Huawei-GigabitEthernet0/0/1] shutdown --- 手动关闭接口
补充:
R1到R2具有两条路径,上面为100M的带宽,下面的是1000M的带宽。
此时不能负载均衡,一般我们选择效率高的那一条即下面的1000M的。
但考虑到下面的路径可能会浪费,我们可以将下面的那一条作为备份,防止上面的网线损坏后导致网络崩溃。此时使用 浮动静态路由可以解决。
配置:将上面的网线对应的路由条目的优先级数据改大即优先级变小,因为下面的优先级大,所以会优先选用下面的路径进行传输。上面因为优先级低不会被加载到路由表中,但会被存在缓存中。直到下面的那一条路径不能使用时,上面那条路径进会被加载进入路由表中,维持正常的通信。
————————————————
【eNSP简单实验 - CSDN App】https://blog.csdn.net/m0_74939395/article/details/128587448?sharetype=blog&shareId=128587448&sharerefer=APP&sharesource=qq_75119715&sharefrom=link
自治系统
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。
SPF(最短路径优先算法),将收集到的图形结构转换为树形结构,因为树形结构不会出现环路。
RIP
RIP协议传输层使用的是UDP协议,使用的端口号是520端口。
RIPNG协议传输层使用的是UDP协议,使用的端口号为521端口。
在RIP里面,将两台直接相连的设备,具备通信条件的设备称为 邻居关系 。以广播的形式传递信息。
在RIP中,传递一条路由条目,主要需要携带的参数是目标网段信息以及开销值(cost)。
开销值是动态路由协议选路的重要依据。 --- 当动态路由协议计算出到达同一个目标网段存
在多条路径时,将选择开销值最小的路径加表。(越小越好)
不同动态路由协议的开销值的评判标准可能不同,不同动态路由协议之间开销值没有可比性,
开销值仅用于同一种动态路由协议进行选路。RIP是以跳数来判断开销,RIP协议以跳数作为开销评判标准本身就存在不合理。RIP协议支持 等开销 负载均衡 。
跳数=路由器发出的信息经过几个路由器转发。RIP的 工作半径为15跳。如果收到的路由的开销值等于16,则设备将认为该目标网段不可 达。
RIP协议的默认优先级为 100 --- 不同路由协议之间其默认的优先级不同,所以,不同协议可以通过比较优先级来进行路由加表。
数据包中需要携带的开销值 = 本地路由表中的开销值 + 1(即发出路由信息数据包中的开销值为发包设备本地储存的开销值加一)
贝尔曼.福特算法
RIP协议发送的路由信息数据包中只含有目标网段的地址和开销值,所以在收到运行RIP协议的路由器发的数据包时,本设备会直接将发包设备的发包接口作为该目标网段的下一跳。(即R2将2.0/24网段信息发给R1,R1将会直接将通往2.0/24网段的下一跳写为R2的0/0/0接口的IP地址。)
所以R1通往2.0/24网段的路由表为:
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
1,R2发送2.0/24网段的路由信息给R1,而R1的路由表中没有到达2.0/24网段的路由信息。R1将直接把2.0网段的路由信息刷新到本地的路由表中。
2,R2发送2.0/24网段的路由信息给R1,而R1的路由表中存在到达2.0/24网段的路由信息,并且R1本地的通往2.0/24网段的路由信息的下一 跳就是R2。R1将把最新发来的 刷新 到本地的路由表中。
3,R2发送2.0/24网段的路由信息给R1,而R1的路由表中存在到达2.0/24网段的路由信息,本地路由表中的下一跳不是R2,则比较开销值,如果本地的开销值大于R2发来的开销值,则将R2发
来的路由信息 刷新 到本地的路由表中。
4,R2发送2.0/24网段的路由信息给R1,而R1的路由表中存在到达2.0/24网段的路由信息,本地路由表中的下一跳不是R2,则比较开销值,如果本地的开销值小于R2发来的开销值,则 不刷新 。
RIP的版本
RIPV1和RIPV2用于IPV4
RIPNG适用于IPV6
RIPV1和RIPV2的区别
1,V1是有类别的路由协议,V2是无类别的路由协议。
有类别:传递路由信息时不携带子网掩码,按照IP的分类由前8为数来确定掩码信息,这种方式会出现巨大的路由黑洞。
无类别:传递路由信息时,携带子网掩码。
2,V1不支持手工认证,V2是支持手工认证。
手工认证:即手动配置加密,加密后路由器间的数据传输需要对设置密码进行验证,即“对口令”。
3,V1采用广播的形式发送信息,V2采用组播的形式发送信息。
224.0.0.9(主播地址) --- 所有运行RIPV2的设备默认加入的组播组
运行RIPV2的设备在发送数据包时目标MAC地址有一个统一的组播地址。
采用组播发送的数据包就算电脑收到,在第二层的MAC地址查看时就已经知道不是发给自己的。避免了拆一层而浪费资源。而RIPV1就不行,电脑收到后会进行解封装,解到四层时通过端口号才能发现该数据包是RIP协议,将该包丢弃。
交换机泛洪条件:
1,遇到广播帧;2,遇到组播帧;3,遇到未知单播帧
RIP的数据包
RIP - REQUEST --- 请求报文,发给所有的邻居,向邻居请求路由信息。只有在RIP刚运行时才会发一次,后面不会再发。
RIP - Response --- 应答报文 --- REQUEST的回复包,真正携带路由信息的数据包(更新包)。
RIP的周期更新:在RIP收敛完成之后,RIP会依旧每隔30S发送一次Response报文。是异步周期更新,即所有设备不是同时计时,而是各记各地。周期更新会占用大量的资源。
1,为了弥补RIP没有确认机制,因为RIP使用的传输层协议是UDP协议,没有确认机制,传输不可靠。所以需要一直发送应答报文来确保信息的传达。
2,为了弥补RIP没有保活机制,因为除应答报文外没有确认其他设备的手段,所以没办法确认对方是否还“存活”,所以只能不断发送应答报文,当一台设备不在发送应答报文时,其他设备能够发现该设备宕机。
RIP的计时器
1,周期更新计时器 --- 30S --- 异步
2,失效计时器 --- 180S --- 为每一条路由条目计时
路由条目在 刷新 之后,将会启动一个180S的失效计时器。如果时间归0,则代表该路由信息失效。失效后,首先从全局路由表中删除,但是依然会将这条路由信息保存在缓存中,之后,周期更新时依然会携带。只是将这跳路由信息的开销值改为16后在发送。因为RIP的工作半径为15跳,即开销值不能大于15。开销值为16就意味着该路由条目对应的网段已经不存在,或不可达。这个过程称为 带毒传输,目的就是为了传递失效信息。
3,垃圾收集计时器 --- 120S --- 为每一条失效路由条目计时
在失效计时器归0后开始计时,120s时间结束后,将彻底删除失效的路由条目。
————————————————
破环方案
设想:根据RIP协议,R1 获取到的通往2.2.2.0/24网段的下一跳应为R2的0/0/0接口,当2.2.2.0/24网段消失,R2会将该路由信息进行带毒传输,但周期更新需要30S的时间,在30S内R1先进行了周期更新,把到2.2.2.0/24网段的路由信息广播发送给R2,就会发生贝尔曼.福特算法的第三中情况,R2将会将R1发给R2的路由条目刷新到本地。即通往2.2.2.0/24网段的下一跳为R1的0/0/0接口,而在R1的路由表中通往2.2.2.0/24网段的下一跳为R2的0/0/0接口。造成路由环路。
1,15跳的工作半径
按上面的情况,最开始R2通往2.2.2.0/24网段的开销值为0,发给R1后R1通往2.2.2.0/24的开销值变为1。然后,按上面的情况发生路由环路。R2在接收到R1的路由信息中通往2.2.2.0/24网段的开销值为1+1=2,然后R2再次发送给R1此路由信息但开销值+1,此时为贝尔曼.福特算法的第三中情况,R1将会无条件刷新,此后R1再次发给R2也会是第二种情况,经过多次的发送。最后开销值会增加到16,因为RIP工作半径是15跳,该路由信息被判断为不可达,最后失效,破环。
2,触发更新 --- 一旦拓扑结构发生变化,则第一时间将变更信息传递出去,而不去等待周期更新。
3,水平分割 --- 从哪个接口学到的路由信息将不再从这个接口发出去。
以R1为例,收到R2发送的通往2.2.2.0/24网段的路由条目是由0/0/0接口接收的,按照水平分割将不会将通往2.2.2.0/24网段的路由条目由0/0/0接口发出。
4,毒性逆转 --- 从哪个接口学来的路由信息,依然可以从这个接口发出去,只不过需要将开销值改为16。--- 发送无效信息
注意:因为水平分割和毒性逆转其做法相矛盾,所以,只能选择其中一个来执行。华为设备默认开启水平分割。如果水平分割和毒性逆转同时开启,华为设备将按照毒性逆转来执行。
RIP的配置
1,启动RIP进程
[Huawei] rip 1 ( 进程号,仅具有本地意义,如果需要同时启动多个RIP进程时,需要使用不同的进
程号进行区分)
[Huawei-rip-1]
2,选择RIP版本
[Huawei-rip-1] version 2 (版本号)
3,宣告
RIP宣告的要求:
1,所有直连网段都必须宣告
2,必须按照主类进行宣告
主类:按IPA、B、C等的分类来宣告网段,例如接口IP为1.1.1.1,此IP为A类,掩码为前8位,所以宣告时就填1.0.0.0
宣告的作用:
1,激活接口 --- 只有宣告的网段包含的接口会被激活,只有激活的接口可以收发RIP的数据。
2,发布路由 --- 只有激活的接口所对应的直连网段的路由才能被发布。
[Huawei-rip-1] network 1.0.0.0 (宣告的网段,需要激活的接口IP地址包含在内)
[Huawei] display rip 1 (选择rip进程) route --- 查询rip进程的路由表
拓展配置
1,RIPV2的手工认证 --- 在接口视图中
[Huawei-GigabitEthernet0/0/1]rip authentication-mode md5(可选simple或者md5,若选择前者,口令将会以明文的形式携带并传递。后者将以取摘要形式传递) usual(选择标准,可选usual或者nonstandard,前者是华为标准,后者是IETF标准) plain(可选plain或者cipher,前者口令在本地以明文形式储存,后者以密文形式。只具有本地意义) 123456(设置口令)
注意:在选择时两端所选的选项(除储存方式)必须选相同的。
2,RIPV2的手工汇总 --- 在接口视图中
[Huawei-GigabitEthernet0/0/0]rip summary-address 192.168.0.0 255.255.254.0(汇总后的网段及掩码信息,掩码需要写完整版)
3,沉默接口
[Huawei-rip-1]silent-interface GigabitEthernet 0/0/1(需要沉默的接口)
如果一个接口配置成为沉默接口,则将只接受,不发送RIP的数据包。可以将连接电脑的接口沉默,只收不发,减少对电脑资源的占用。
4,加快收敛 --- 减少计时器的时间
[Huawei-rip-1] timers rip 30 (周期更新时间) 180 (路由条目失效时间) 120 (垃圾收集时间)
5,缺省路由
[Huawei-rip-1] default-route originate
可以指定配置设备作为缺省路由的源头,所有其他设备将自动生成一条指向该设备的缺省路由。但是该设备自身的缺省必须手工配置。
注意:一般在边界设备配置。
RIP与OSPF相比
优秀动态协议应具备的特点:选路佳,收敛快,占用资源少
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。
OSPF传递拓扑信息,那为什么是无类别的协议呢?
因为OSPF协议区域内部传递拓扑信息,区域之间传递路由信息。
2,OSPFV2和RIPV2一样,都是使用组播发送数据 。
补充:RIPV2的组播网IP为224.0.0.9,OSPFV2的组播网IP为224.0.0.5和224.0.0.6。
3,OSPFV2和RIPV2都支持等开销负载均衡。
不同点:
RIP协议只能适用于小型网络环境中,而OSPF协议可以应用在中大型网络环境中,因为OSPF协议可以实现 结构化部署 ( 划分区域)。
OSPF
区域划分
区域划分的主要目的是为了区域内部传递拓扑信息,区域之间传递路由信息。 --- 链路状态型协议的距离矢量特征。
因为传递拓扑信息比传递路由信息的资源占用量大,所以区域之间传递路由信息是为了 减少资源占用量。
如果一个OSPF网络只存在一个区域,这个网络称为单区域OSPF网络。
如果一个OSPF网络存在多个区域,这样的网络称为多区域OSPF网络。
区域划分的要求:
1,区域之间必须存在ABR设备。
2,区域划分必须按照星型拓扑结构进行划分。
ABR设备:区域边界路由器,同时属于多个区域,一个接口对应一个区域,必须有一个接口在区域0中,将区域内的拓扑信息收集计算成路由信息,之后进行传递。区域之间可以存在多个ABR备,一个ABR设备可以处于多个区域。
星型拓扑的中间区域称为骨干区域,也就是上面的区域0(骨干区域的区域ID定义为区域0)。
为了方便区分和标识不同的区域,所以,我们给每一个区域都定义一个区域ID(area id ),由32位二进制构成。具有两种表示方法,可以直接使用十进制进行表示,还可以使用点分十进制进行表示。
补充: RID(route ID),用于区分和标识不同的路由器,本质由32位二进制构成。因为OSPF传递拓扑信息,所以需要给每一台路由器“标号”,方便“大地图”的构建。
1,格式统一。
2,全网唯一。
RID的生成方式:
1,手工配置
2,自动生成 ,首先,设备将优先选择环回接口的IP地址作为RID,如果存在多个环回接口,则将选择所有环回接口中IP地址最大的作为RID;如果没有配置环回接口,则将使用设备的物理接口的IP地址作为RID,如果物理接口存在多个,则选择IP地址最大的作为RID。
————————————————
OSPF的数据包
hello包
周期性的发现,建立和保活邻居关系。
hello包的发送周期(hello时间)默认为10S(以太网下)或30S(其他网络)
死亡时间 --- dead time --- 4倍的hello时间
若4倍时间过去没有收到hello包,将会判断邻居设备宕机。则删除关于该设备的路由信息并告知其他与本设备为邻接关系的设备。
DBD包
数据库描述报文,携带LSDB数据库(链路状态数据库)。LSDB数据库存储的是LSA(拓扑信息)的信息。相当于LSA是“菜”,而LASDB是“菜单”。
注:因为拓扑信息占用资源量大,所以为减少资源占用量,OSPF采用“点菜”形式。避免发送已有信息而造成资源浪费。
LSR包
链路状态请求报文,对端基于DBD包,请求未知的LSA信息。相当于“点菜”。
LSU包
链路状态更新报文,真正携带LSA的数据包,根据LSR包发送LSA信息。相当于“上菜”。
LSACK包
链路状态确认报文,确认包,告知对端信息已经收到。
补充
与RIP协议相同,OSPF协议具有周期更新机制,但每隔30分钟发送一次。因为PSOF协议拥有确认和保活机制,所以基本上不需要周期更新机制。设置30分钟的周期更新只是为了保底。
OSPF的状态机
采用思科为例:
Down --- 刚开机,还没有建立邻居关系。或者hello报文超时而断开邻居关系。发出hello包后进入下一个状态。
Init --- 向周围路由器发送hello包后进入到初始化状态。收到对方的hello包中包含自己本地的RID,则进入到下一个状态
Two - Way --- 收到回信后进入双向通信状态 ---- 标志着邻居关系的建立。
注意:思科设备B发送的hello包是在收到A的hello包后单播发给A。而华为设备依然是广播发送。
邻居关系建立后将进行条件匹配,条件匹配成功则可以进入到下一个状态(邻接关系),如果条件匹配失败。则将停留在邻居关系,则仅周期性的发送hello包进行保活。
Exstart --- 预启动状态 --- 通过发送没有携带数据的DBD包来进行主从关系选举。
Exchange --- 准交换状态 --- 交换携带数据(摘要信息)的DBD包进行LSDB数据库目录共享。
主从关系选举 --- 通过发送没有携带数据的DBD包来进行主从关系选举,比较RID来进行选举,RID大的为主(master),为主可以优先进入后面的状态。之所以使用DBD包主要是为了和之前的邻居关系进行区分。
因为同时发送LADB信息会增加资源占用量,所以为了减少资源占用量,增加了主从关系,为主的先发送。
Loading --- 加载状态 --- 基于对端发送的DBD包,使用LSR/LSU/LSACK交换未知的LSA信息。
Full --- 标志着邻接关系的建立。设置邻接关系主要目的是为了和之前的邻居关系进行区分。
注:邻居只能通过hello包进行保活,而邻接之间,可以交换LSA信息。
注意:hello包不需要进行确认,因为周期发送本身就是一种确认方式。DBD包需要确认,但华为不是按上图的以LSAck包来确认(显性确认),而是使用一种隐形确认法。为主设备的主导隐形确认,在发包过程中在DBD包中增加一串序号,当为从的设备回DBD包时也携带一串相同的序号,就表示确认收到。
OSPF的工作过程
1、启动配置完成,OSPF协议向本地所有运行协议的接口以组播的形式(224.0.0.5)发送hello包。hello包中携带自己本地RID,以及本地已知的邻居的RID。之后,将收集到的邻居关系记录在一张表中 --- 邻居表。
2、邻居关系建立完成后,进行条件匹配。失败则停留在邻居关系,仅发hello包进行保活。
3、匹配成功,则开始建立邻接关系。首先,使用未携带数据的DBD包进行主从关系选举。之后,使用携带数据的DBD包共享目录信息,之后,基本DBD包,通过LSR/LSU/LSACK获取未知的LSA信息。将所有的LSA信息保存本地的LSDB数据库 --- 数据库表。
4、最后,基于LSDB,使用SPF算法进行计算,得到未知网段的路由信息,将其加载到路由表。
5、收敛完成后,周期性的发送hello包进行保活,每30min一次周期更新。
结构突变措施
1,突然新增一个网段: 触发更新 ,第一时间将变更信息通过LSU包传递出去,需要ACK确认。
2,突然断开一个网段: 触发更新 ,第一时间将变更信息通过LSU包传递出去,需要ACK确认。
3,无法联系:将使用dead time进行计时(周期更新的4倍时间),计时完毕还未有回信将删除该LSA信息。
OSPF的基本配置
1,启动OSPF进程
[Hauwei] ospf 1 (进程号) router-id 1.1.1.1 (该路由器的RID) --- 手工配置RID需要在进程启动时配置
[Huawei-ospf-1]
RID可手动配置,也可以自动获取。
2,创建区域
[Huawei-ospf-1] area 0 (区域编号)
[Huawei-ospf-1-area-0.0.0.0]
3,宣告
[Huawei-ospf-1-area-0.0.0.0] network 1.1.1.1 (宣告网段或者单个IP地址) 0.0.0.0 (反掩码,由连续的0和连续的1组成,0对应位不可变,1对应位可变。)
宣告的作用:
1,激活接口 --- 只有宣告的网段包含的接口会被激活,只有激活的接口可以收发OSPF的数据。
2,发布路由 --- 只有激活的接口所对应的直连网段的路由才能被发布
补充:
[Huawei] display ospf peer --- 查看邻居表
[Huawei] display ospf peer brief --- 查看邻居关系简表
[Huawei] display ospf lsdb --- 查看数据库表
[Huawei] display ospf lsdb router 2.2.2.2 (需要查看的LSA ID) --- 展开一条LSA的方法
[Huawei] display ip routing-table protocol ospf --- 查看路由表
华为设备中,OSPF协议的默认优先级为10。
OSPF开销值判定方式:COST = 参考带宽 / 真实带宽(华为设备默认的参考带宽为100Mbps),如果计算出来是一个小于1的小数,则直接按照1来算。如果是一个大于1的小数,只取整数部分。
[Huawei-ospf-1] bandwidth-reference 1000 (需要修改的参数) --- 修改参考带宽
条件匹配
如果一个广播域中的每一台设备都是邻接关系,或者有多对设备为邻接关系,将会产生重复接收LSA变更信息(重复更新),从而浪费网络资源。为减少资源占用量,一个广播域中将会选出一台DR设备和一台BDR设备。
DR --- 指定路由器,和广播域内其他设备建立邻接关系。
BDR --- 备份指定路由器,和广播域内其他设备建立邻接关系,称为DR设备的备份。
DRother --- 除了DR和BDR外的其他设备。在广播域中所有的DRother都为邻居关系。
DR设备还承担着网络中一些其他的责任。BDR设备在DR设备宕机后会承担起DR的责任从而成为新的DR。(DR和BDR其实是接口的概念)
DR/BDR的选举规则
1,先比较优先级(与路由条目优先级不同),优先级最大的为DR,次大的为BDR。
设备的优先级默认都为1,其主要目的是让人为修改。(即人为决定DR和BDR)
[Huawei-GigabitEthernet0/0/0] ospf dr-priority 1 (需要配置的优先级,在0-255间选择)
注意:如果将一个接口的优先级设置为0,则代表这个接口将放弃DR/BDR的选举。
2,如果优先级相同,则比较RID。RID大的路由器所对应的接口为DR,次大的为BDR。
注意:注意区分主从关系选举。
补充:DR/BDR的选举是非抢占模式的。即一旦选举出来,则将无法抢占。(选举时间等同于死亡时间,即4倍的hello时间)
<Huawei> reset ospf 1 (进程号) process --- 重启OSPF进程
OSPF的拓展配置
1,OSPF的手工认证
与RIPV2相似
[Huawei-GigabitEthernet0/0/0] ospf authentication-mode md5 1 (KEY ID即口令编号) cipher 123456
两边都必须相同(除了cipher)
2,手工汇总 --- 区域汇总
需要在ABR设备上进行配置,因为只有ABR设备才会发路由信息。必须进入区域视图配置,因为配置的是区域汇总。且汇总信息自有在传输过程中发送,本地储存的还是明细。
[Huawei-ospf-1-area-0.0.0.0] abr-summary 192.168.0.0 (汇总网段) 255.255.254.0 (掩码信息)
3,沉默接口
配置了沉默接口的接口,将只接受不发送路由信息。
[Huawei-ospf-1] silent-interface GigabitEthernet 0/0/2 (接口号)
4,加快收敛 --- 减少计时器的时间
[Huawei-GigabitEthernet0/0/0]ospf timer hello 5(时间) --- 修改hello时间的方法
[Huawei-GigabitEthernet0/0/0]ospf timer dead 10(时间)--- 修改死亡时间
注意:邻居双方的hello时间和死亡时间必须相同,否则将断开邻居关系。
5,缺省路由
[Huawei-ospf-1]default-route-advertise --- 在边界设备中进行编辑
注意:这个命令要求边界设备自身得具有缺省路由才行。
[Huawei-ospf-1]default-route-advertise always --- 在没有缺省的情况下,强制下发缺省
————————————————
ACL --- 访问控制列表
策略中的一种,很多网络设备都可以进行配置。匹配到流量后进行控制手段。
策略 --- 为达到想要的控制手段而配置的一组条件、约束和设置。
ACL访问控制列表的作用
以路由器为例:
1,访问控制:在路由器流量流入或流出的接口上,匹配流量,然后执行设定好的动作 --- permit(允许)或者deny(拒绝)。(进行流控)
2,抓取感兴趣流:ACL的另一个作用就是和其他服务(QOS)结合使用。ACL只负责抓取流量,动作由其他服务来执行。
ACL列表的匹配规则:自上而下,逐一匹配。如果匹配到了,则执行对应的动作,则不再向下匹配。
思科设备:ACL列表末尾默认包含一条拒绝所有的规则。(即不再列表中的流量就都拒绝)
华为:ACL列表末尾没有包含任何规则。(即不会限制不在列表中的流量)
ACL列表的分类---华为体系
1、基础ACL:仅关注数据包中的源IP地址 --- “只关注你是谁”。
2、高级ACL:不仅关注数据包中的源IP地址,还关注目标IP地址,以及协议和端口号 --- “不仅关注你是谁,还关注你去哪,干啥”。
3、二层ACL
4、用户自定义ACL列表
示例及配置方法
需求一
要求PC1可以访问3.0网段,但是PC2不行。
基础ACL配置的位置原则:因为基础ACL只关注源IP地址,所以,可能会造成误伤,所以,建议基础ACL配置位置越靠近目标越好。
基础ACL配置:
1,创建ACL列表 --- 系统视图
[Huawei] acl 2000 (列表编号,因数据大小电脑判断为不同列表)
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
[r2-acl-basic-2000]
2,在ACL列表中添加规则
[Huawei-acl-basic-2000] rule deny (规则,允许或者拒绝) source 192.168.1.3 (允许或者拒绝的流量的源IP地址) 0.0.0.0 ( 通配符:0代表不可变,1代表可变,通配符和反掩码不同,它可以0和1穿插着使用。)
[Huawei-acl-basic-2000] rule permit source any --- 允许所有流量通过(除了其他规则规定的)
[Huawei-acl-basic-2000]rule 1 deny source 192.168.1.3 0.0.0.0 --- 手动添加规则序号
[Huawei]display acl 2000(列表序号) --- 查看ACL列表
每一个规则后都跟一个序号,用来标记该规则。序号间间隔为5,这个5被称为步调。
华为的规则默认以5为步调自动添加序号,目的为了方便插入规则。
[Huawei-acl-basic-2000] undo rule 1 (规则序号) --- 删除规则
3,在接口上调用ACL列表
[Huawei-GigabitEthernet0/0/1] traffic-filter outbound (选择入或者出接口) acl 2000 (列表序号)
注意: 一个接口的一个方向上只能调用一张ACL列表。
需求二
要求PC1可以ping通PC3,但是不能ping通PC4。
高级ACL列表配置位置原则:因为高级ACL列表可以进行精准的匹配,所以,位置应该放在尽可能靠近源的地方,可以节约链路资源。
[Huawei] acl name xuqiuer (自定义名称) 3000 (列表序号) --- 通过重命名的方法来创建高级ACL列表。
[Huawei-acl-adv-xuqiuer]
高级ACL列表规则:
[Huawei-acl-adv-xueqiuer] rule deny ip (选择协议) source 192.168.1.2 0.0.0.0 (源IP) destination 192.168.3.3 0.0.0.0 (目标IP) --- 添加目标IP限制
[Huawei-GigabitEthernet0/0/0] traffic-filter inbound (入或者出接口) acl name xuqiuer --- 通过调用名称来调用列表
需求三
要求AR3可以ping通R2,但是不能telnetR2。
telnet使用的是TCP的23号端口。
[Huawei-acl-adv-xuqiuer] rule deny tcp (协议) source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0 destination-port eq (可以选择eq、gt、it、range,分别代表“=”、“>”、“<”、“范围”) 23 (端口号)
注意:这个需求要求不能telnetR2,以上这样写只能在IP地址为192.168.2.2的那一个接口拒绝,而路由器有多个接口,要想绝对不能telnet,其他接口也应该填写相应的规则。
————————————————
VLAN中的数据传输
VID配置映射到交换机的接口上,实现VLAN范围的划分,称为物理VLAN或一层VLAN。
VID配置映射到数据帧中的MAC地址上,实现VLAN的划分称为二层VLAN。
VID可以配置映射到数据帧中类型字段(Type)上,实现VLAN的划分称为三层VLAN。
如果有多台交换机相连,每一天交换机都有几个VLAN,那么相同的VID的VLAN应属于同一个广播域。这些相同VID的VLAN通过交换机传递信息。
交换机如何区分不同VLAN的数据包呢?
802.1Q标准规定在以太网Ⅱ型帧源MAC地址和类型字段之间,增加了4个字节的tag,其中包含12位的VID。因此叫做802.1Q帧,也叫Tagged帧。这个tag在从交换机发往交换机的接口会添上,而发往电脑时交换机会将此tag去除。
注意:电脑只能识别普通的以太网Ⅱ型帧,也叫Untagged帧。(不带tag)
根据以上特性,我们将交换机和电脑之间的链路称为 Access链路 (交换机侧的接口称为 Access接口),这些链路中,只能通过Untagged帧,并且这些帧只能属于某一种特定的VLAN;交换机和换机之间的链路,我们称为 Trunk干道(交换机侧的接口称为 Trunk接 口),这些链路允许通过tagged帧,并且这些帧可以属于多种VLAN。
配置过程
在交换机上配置。交换机也使用VRP操作系统。
配置时不同VLAN可以是一个网段,但这样不同网段间就永远不能通信。所以在配置时应该将不同的VLAN配置不同的网段,进而通过路由器进行数据传输。
1、创建VLAN
<Huawei> display vlan --- 查看设备VLAN的配置信息
VLAN ID --- 用来区分和标定不同的VLAN
交换机在没有进行配置的时候,默认存在一个VLAN,其VID(VLAN ID)为1。所有接口都划分到该区域。
802.1Q标准对VID进行设定 --- 12位二进制构成的 --- 取值范围是0 - 4095。因为0和4095这两个数字保留,真实的取值范围1 - 4094。
[Huawei] vlan 2 (VID)
[Huawei-vlan2]
[Huawei] vlan batch 4 to 100 (范围) --- 批量创建VLAN
Info: This operation may take a few seconds. Please wait for a moment...done.
[Huawei] undo vlan batch 4 to 100 (范围) --- 批量删除
Warning: The configurations of the VLAN will be deleted. Continue?[Y/N]: y
2、将接口划入VLAN
[Huawei-GigabitEthernet0/0/1] port link-type access --- 定义接口类型
[Huawei-GigabitEthernet0/0/1] port default vlan 2 (VID) --- 定义通过该接口的流量归属
[Huawei] port-group group-member GigabitEthernet 0/0/3 GigabitEthernet 0/0/4 ---创建接口组
[Huawei-port-group] --- 接口组视图,相当于给组中所有接口配置
3、配置Trunk干道
[Huawei-GigabitEthernet0/0/5] port link-type trunk (接口类型)
[Huawei-GigabitEthernet0/0/5] port trunk allow-pass vlan 2 to 3 (允许通过的区域流量,如果不写就代表允许所有。也可以不写to改写2 3,代表2和3)
[Huawei-GigabitEthernet0/0/3] port trunk allow-pass vlan all --- 放通所有VLAN的流量
4、VLAN间的路由
可以用路由器的不同接口去连接不同的交换机来进行网段分配(此时路由器接口应为Access接口),但这样浪费资源且路由器接口有限,这时候应该进行子接口的配置。这样就可以使用一个接口进行多个VLAN的数据传递 --- 单臂路由(此时接口应为Trunk接口)。
创建子接口 --- 单臂路由
[Huawei] interface GigabitEthernet 0/0/0.1 (小数点后加数字可取范围是 1-4096 ,代表该接口的子接口。虚拟的。)
子接口虽然是虚拟的,但待遇与真实设备相同。子接口专门为VLAN准备。
[Huawei-GigabitEthernet0/0/0.1] dot1q (802.1Q的别名,表明要遵循802.1Q标准) termination vid 2 --- 开启识别tag并将该子接口划入VLAN
[Huawei-GigabitEthernet0/0/0.1] arp broadcast enable --- 开启ARP广播应答
因为子接口不会响应ARP广播。
注意:每一个VLAN都应该有一个子接口管理。
————————————————
NAT --- 网络地址转换
他的基本任务就是实现私网地址和公网地址之间的一个转换。当私网想要访问公网时,数据包到达该私网的最后一个路由器时,该路由器会将该数据包的源IP地址修改为一个公网地址后发往公网。
这个技术用于解决IP地址(IPV4)不够的问题。
公网与私网
在IP地址中,A,B,C三类地址中各有一部分地址,他们被称为私有IP地址(私网地址),其余的被称为公有IP地址(公网地址)。我们一般习惯性的将使用私网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类网段
我们要求这些私网地址可以重复使用,仅需保证私网内部唯一即可,但是,不允许他们在互联网中使用。
NAT的分类和配置
华为设备所有和NAT相关的配置都是在边界路由器的出接口上配置的。
静态NAT --- 一对一的NAT
静态NAT就是通过在边界路由器上维护一张 静态地址映射表 。静态地址映射表中记录的是私网IP地址和公网IP地址之间一一对应的关系。即一个私网地址对应一个公网地址,当该私网地址想要访问公网时,将那个私网地址(源IP)在边界路由器上转换为公网地址,当访问流量从公网回到私网时,再由边界路由器将目标IP改回到私网地址
[Huawei-GigabitEthernet0/0/2] nat static global 12.0.0.3 (公) inside 192.168.1.2 (私)
注意:该公网IP必须包含在边界路由器与公网相连的那个网段里。且这个IP地址必须是花钱在运营商处买到的合法公网地址。
[Huawei]display nat static --- 查看静态地址映射表
动态NAT --- 多对多的NAT
动态NAT就是通过在边界路由器上维护一张 动态地址映射表 。可以实现多对多的NAT转换,但是,在同一时刻,依然是一对一的过程。如果上网需求较大时,需要排对等待。(出去一个记一个,回来一个删一个)
1,创建公网地址池
[Huawei] nat address-group 0 (地址池编号) 12.0.0.4 12.0.0.8 (公网IP,必须是连续的)
2,通过ACL列表抓取私网流量
[Huawei-acl-basic-2000] rule permit source 192.168.0.0 0.0.255.255 (抓取源IP为这些的数据包)
3,在接口上配置动态NAT
[Huawei-GigabitEthernet0/0/2] nat outbound 2000 (接口和ACL列表序号) address-group 0 no-pat (非端口地址转换)
NAPT --- 网络地址端口转换 --- PAT
可以实现一对多(easy IP),也可以多对多。
在边界路由器中的映射表中相比动态NAT加入端口号进行记录。
多对多的配置:与动态NAT几乎相同
1,创建公网地址池
[Huawei] nat address-group 0 12.0.0.4 12.0.0.8
2,通过ACL列表抓取私网流量
[Huawei-acl-basic-2000] rule permit source 192.168.0.0 0.0.255.255
3,在接口上配置动态NAT
[Huawei-GigabitEthernet0/0/2] nat outbound 2000 address-group 0
Easy ip:只需要一个公网地址,即边界路由器通往公网的接口IP地址。
1,通过ACL列表抓取私网流量
[Huawei-acl-basic-2000] rule permit source 192.168.0.0 0.0.255.255
2,在接口上配置easy ip
[Huawei-GigabitEthernet0/0/2] nat outbound 2000
端口映射
从公网访问私网时使用。通过在边界路由器的地址映射表中写入一条需要访问的对象的私网IP&端口号与需要访问该IP的信息的端口号对应的信息。
[Huawei-GigabitEthernet0/0/2]nat server protocol tcp(协议) global current-interface 80(公网发送到私网的信息的端口号) inside 192.168.1.10(想要访问的私网对象的IP) 80(想要访问的私网对象的端口号)
如果想要访问的私网中有两个端口号相同的(运行HTTP的服务器)的设备,就将访问其中一台的端口号写为其他随机的端口号对应该设备的私网IP。
例如结合上面:[Huawei-GigabitEthernet0/0/2]nat server protocol tcp global current-interface 8080 inside 192.168.1.20 80
考核实验
要求:
(设备名称按照拓扑标识修改,注意区分大小写)
1、ISP路由器仅配置IP地址
2、test-1和test-2仅作为代替终端设备进行测试使用,路由采用静态路由
3、R1/R2之间使用OSPF做到内网全通,单区域,OSPF使用一条命令进行宣告(直接宣告192.168.1.0网段);router-ID分别为1.1.1.1和2.2.2.2;OSPF进程为1
4、PC1-PC4使用DHCP获取地址,地址池名称使用1,2
5、PC1不能访问PC5,acl编号为3000
6、R2出口只拥有一个公网IP
7、test-1设备可以登录内网telnet服务器,test-2不行;acl编号为3000
8、telnet服务器的账号密码为huawei/123456
9、内网用户可以正常访问ISP(边界做默认路由)
10、公网设备的路由表不能有私网的路由,使用nat(acl编号为2000)
11、内网设备的路由表不能有公网的路由,边界下发默认路由
12、VLAN及IP规划查看附件材料(所有trunk链路按照最少VLAN透传原则放通
hcia考核实验-CSDN博客