第一节-网络的基本概念
2021年11月8日
Datacom - 数通
数通:数据通信。某台设备产生了数据,借助整体的网络抵达目的地的过程。
1946年:第一台计算机诞生 军事、科研 -- 高速运算
1962年:古巴导弹危机 -
1969年:ARPA -阿帕网 ARPA NET (全世界的第一个网络) --- “万物互联”前瞻性
厂商 -- 垄断 -- 不能普及 IBM垄断了通信业务 才支持标准-- 每个厂商都有自己的标准
不同厂商想要通信 不可能全世界只买一个厂商的设备
问题:网络没有标准
1977年:新的TCP/IP 架构(标准)
ARPA NET推出TCP/IP标准。没有被使用。
标准化,一个行业必不可少的一步。
1980年:ARPA NET全面向TCP/IP架构迁移
1984年:ISO- 国际标准化的组织机构
-- OSI :开放式系统互联
-- 同时,TCP/IP模型 全面推出
工业标准:设备上使用的都是TCP/IP标准-- 通信型的标准
为什么要制定网络模型:
1.统一化
2.指定每个层级应该执行的功能
3.故障定位比较明确- 灵活的排查故障
7-应用层
作用: 1.满足下面模型无法解决的问题
2.产生不同的数据
3.验证手段-加密手段
6-表示层
作用:负责数据的解码、编译
5-会话层
作用:实现应用级别不同服务的区分 (进程:某个服务)
=========================================不同领域
4-传输层 (TCP-可以纠错 UDP-无法纠错)
作用:1.实现一个设备上不同应用的区分
2.按不同的协议实现纠错
无法实现:1.无法实现应用级别不同服务的区分
2.有可能无法实现纠错
3-网络层
作用:1.从全局定位某一台设备(IP地址)
2.路由
无法实现:1.纠错 (对错误的改正)
2.无法实现一个设备不同应用的区分
2-数据链路层
作用:1.差错检测
2.提供链路上的地址信息(mac地址)
无法实现:1.纠错 (对错误的改正)
2.无法从全局的角度分析地址信息
1-物理层
作用:规范传输介质的标准 - 网线 光纤 (- 设备的连接 - 数据的传输)
无法实现:差错检测
下层无法的解决的问题,交给上层。
4-应用层 --- 应用层+表示层+会话层==合并
3-传输层 --- TCP协议
2-网络层 --- IP协议
1-网络接口层 --- 数据链路层+物理层==合并 (链路上的事情)
第二节-数据封装+传输介质
TCP/IP -- 标准 -- 数据封装
1.电路交换
在通信之前,维护一条逻辑意义上的链路,这条链路仅仅可以传递两者的数据
2.报文交换
在数据之外,加上能够标识接收者、发送者的信息
3.分组交换
依然进行报文交换,不过将每隔数据的大小进行规定/定义
封装:数据经过每一个层级、添加报头信息,叫做数据封装的过程
解封装:接收者将报头信息拆除,提取内部的应用层数据的过程,叫做解封装
冲突域:在一定的范围内,数据在接受和发送的过程中,产生了数据的碰撞。
载波侦听多路访问/冲突检测技术——CSMA/CD(TCP/IP协议栈自带机制)
先听后发 边发边听 冲突停发 随机延迟后重发
UTP: 非屏蔽的双绞线
STP: 屏蔽的双绞线
经济化组网
568A:白绿、绿、白橙、蓝、白蓝、橙、白棕、棕
568B:白橙、橙、白绿、蓝、白蓝、绿、白棕、棕
数据是有方向的:接收方向,发送方向。
半双工:对讲机。同一时刻只能有一个人进行数据传输 [需要CSMA/CD进行冲突避免]
全双工:打电话。同一时刻网络中所有人都可以进行数据传输
双绞线:传输距离太近
光纤

第三节-数据链路层及MAC地址
E2和802.3作用:定义帧头和帧尾的格式 以太网是现在局域网组网的唯一标准。
数据:对于下层的每个层级而言,上层反馈和传递给我的信息,下层认为皆是数据。 D.MAC:目的MAC--接收者的mac信息 S.MAC:源MAC - 发送者的mac信息 Type:类型 1.用于 标识上层协议 (只能标识公有化协议) 2.用于 分辨E2/802.3 FCS:帧校验序列 用于 差错检测 --> 算法:CRC循环冗余校验 (校验整体的信息) Length:长度 --- 上层数据的大小
LLC:逻辑链路控制 D.SAP:目标服务接入点 我们要访问的是目标的上层的什么协议 S.SAP:源服务接入点 该数据 是由本设备的哪个服务产生 ======================================类似于 E2的TYPE Control:定值0x03[作为一个标识出现] --- 保留字段
SNAP:sub network access point 子网络服务接入点 [私有化才有的] Org code:机构标识 不同机构标识不一致 Tpye:类型 --- [PID] 厂商私有化的协议 具体是什么协议
MTU:最大传输单元 默认值1500 存在于每条链路上的概念。如果报文的MTU过大,而链路所能承载的MTU值过小,则可能导致数据分片或者数据丢弃。
E2封装完成后 数据帧:最小为64B,最大为1518B
进制转换 1536/1500= 十进制数 0x0600 0*16^0=0 0*16^1=0 6*16^2=1,536 0*16^3=0 0+0+1536+0=1536
0x05DC
0 1 -- 二进制 0 -9 十进制 0-15 十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F
ARP协议=0x0806 IPV4协议=0x0800 IPV6协议=0x86DD
发送者的动作: 由发送者填充源目MAC信息,以及Type字段标识上层协议,以及进行CRC(循环冗余校验)检验,填充该数值到FCS(帧校验序列)中,所有信息填充完毕,此时借助物理层,转换为二进制比特流,从链路中传递。
数据抵达接收设备的端口后,接收者的动作: 1.首先查看数据的目的mac,是否是自己的mac,如果不是,则丢弃;如果是,进行下一步; 2.将数据同样进行一次CRC校验,然后对比FCS字段,如果不同,丢弃;如果相同,进行下一步; 3.查看type字段,交由type表示的上层协议进行处理。 数据链路层的工作,完成。
48位 二进制数 MAC地址=16进制 12个16进制数 前24位为供应商代码,由IEEE管理和分配 剩余24位由厂商自己分配
10=A 11=B 12=C 13=D 14=E 15=F
1位16进制数 可以对应4位2进制数
为什么以太帧的最小字节数为64字节? 答:以太网CSMA/CD的机制中发生冲突时需要重传的,如以主机A在给主机B发数据为例,首先主机A检测链路空闲,开始发送数据包,在同一时间主机B也要发送数据包给A,如果主机A发的数据包太小了数据包发完了也没有检测到冲突,而主机B这是已经检测到了冲突,这时冲突信号传到主机A,主机A则认为数据包已经发完不会在重传这个数据包,则会造成数据丢失。 按照标准,10Mbps以太网采用中继器时,连接的大长度是2500米,最多经过4个中继器,因此规定对10Mbps以太网一帧的最小发送时间为51.2微秒。这段时间所能传输的数据为512位,因此也称该时间为512位时。这个时间定义为以太网时隙,或冲突时槽。512位=64字节,这就是以太网帧最小64字节的原因现在基本上都是交换机或路由器直接连接计算机,集线器连接很少存在了,在交换机或路由器直接连接计算机时每个计算机与设备之间都是一个独立的冲突域,是不会产生冲突的 mac地址 = 显示16进制 = 12个16进制数
二进制[逢2进1] 0/1 = 0/1 10=2 11=3 100=4 101=5 110=6 111=7 1000=8 1001=9 1010=10 1011=11 1100=12 1101=13 1110=14 1111=15
十六进制: 0 1 2 3 4 5 6 7 8 9 A(10) B(11) C(12) D(13) E(14) F(15) 16 = 0x10
二进制= 4位数最大代表15 十六进制=1位数最大代表15
二进制和十六进制之间 1个16进制可以用4个二进制表示,1:4关系
二进制来说,每一个的取值不同的。 1=1 10=2 100=4 1000=8
1 1 1 1 是否取值 8 4 2 1 取值所代表的数值
0 A 0 0 2 7 0 0 0 0 0 5 0000 1010 0000 0000 0010 0111 0000 0000 0000 0000 0000 0101
数据封装时,源mac和目的mac都是单播mac,则为单播通信。 单播mac地址:从高位向低位(从左往右)第8位为0,且一定为0,其他任意。 组播mac地址:从高位向低位(从左往右)第8位为1,且一定为1,其他任意。 数据封装时,因为组播代表的是一组的集合,面向一组的通信,此时组播mac不能成为数据的源地址,仅能充当目的地址。
设备加组,要么通过应用,要么通过协议: 1.IGMP - 互联网组管理协议 2.利用应用软件实现自动加组
数据封装时,因为广播代表的是所有人集合,面向所有人的通信,此时广播mac不能成为数据的源地址,仅能充当目的地址。 广播mac地址:从高位向低位 48位全部为1,且一定为1。
a:目的mac为单播mac b:目的mac为组播mac c:目的mac为广播mac 有发送者填充源目mac信息,以及type字段标识上层协议,以及CRC检验,数值填充至FCS,信息都填充完毕之后,此时借助物理层,转变为二进制比特流,从链路中传递。
a场景: 单播数据抵达接收端接口以后,接收者的动作: 1.首先看目的MAC,是否是自己的mac,如果不是丢弃,如果是,则进行下一步; 2.将数据也进行CRC检验,比对FCS字段,如果不同 则丢弃,如果相同,则进行下一步; 3.查看type字段,交由type字段标识的上层协议处理。 数据链路层工作,结束。
b场景: 组播数据抵达接收端接口以后,接收者的动作: 1.首先看目的MAC,查看自己本地是否加组,如果没加组丢弃,如果加组,则进行下一步; 2.将数据也进行CRC检验,比对FCS字段,如果不同 则丢弃,如果相同,则进行下一步; 3.查看type字段,交由type字段标识的上层协议处理。 数据链路层工作,结束。
c场景: 广播数据抵达接收端接口以后,接收者的动作: 1.首先看目的MAC,如果是广播,则直接进行下一步; 2.将数据也进行CRC检验,比对FCS字段,如果不同 则丢弃,如果相同,则进行下一步; 3.查看type字段,交由type字段标识的上层协议处理。 数据链路层工作,结束。
1.Version:版本 IPV4 / IPV6
2.Header Length -首度长度:代表的是整个IP报头的长度
3.DSCP:区分服务 后期结合QOS使用的 [不在QOS场景下 该字段无意义]
4.Total length -总长度: 代表IP报头+上层数据
4B:分片属性值 分片:将大的数据切割成多个小的数据,以此实现数据的传输。 5.ID-标识:分片时,所有的分片该数值都相同,标识是同一组数据
6.Flags-标志: DF:不分片位 [DF的值,在应用开发时,本身就定义了] DF=1,代表该数据不可以被分片,数据大于MTU,且DF=1,此时,数据丢弃。 DF=0,代表数据可以分片 MF:更多分片 MF=1,代表后方还有分片 MF=0,代表后方没有分片了,接收者可以进行重组
7.Fragment Offset:片偏移
4B:控制信息 8.TTL-生存时间:经过了多少个三层设备 [自带防环手段] 防环:规定特定数值 255/128/64 [不同的厂商定义的数值不一样] 防环如何实现:当TTL值减为0后,数据会丢弃,并向源端发送TTL超时。 无法破环:无法消除环路 --- 结合 工程师在配置时,合理化的配置
9.protocol-协议:使用协议号,标识网络层之上不同的服务 1=ICMP 6=TCP 17=UDP 89=OSPF
10.头部校验和:检验IP报头的头部 [二进制补码求和算法]
IP协议实现的功能: 1.实现部分的QOS功能 2.实现上层数据分片 3.实现IP头部的校验 4.基于TTL实现网络中的防环 192.168.1.111 —— 点分十进制 —— IPV4地址表示格式 计算机 只能识别 01010101 二进制 4组十进制数
规则:二进制0/1 在不同位表达的含义是不一致的,0永远代表不取值,1则表达的信息和不同的位数进行对应。 32 --- 4 8个 二进制 == 代表 == 1个十进制数
二进制 十进制 1 1 10 2 100 4 1000 8 10000 16 100000 32 1000000 64 10000000 128 二进制 1 1 1 1 1 1 1 1 十进制 128 64 32 16 8 4 2 1
192.168.1.111 -- 十进制 1100 0000. 1010 1000. 0000 0001.0110 1111 -- 二进制
最小:所有可变的二进制位全为0 0000 0000 = 0 最大:所有可变的二进制位全为1 1111 1111 = 255 IPv4地址范围:0.0.0.0——255.255.255.255
1100 0000.1110 0000.1111 0000.1111 1000 ---- >求十进制 192.224.240.248 IANA机构 —— 五大类 A类:第一个8位组的第一位 一定取值为0. /8 == 255.0.0.0 0xxx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx 最小:0.0.0.0 最大:127.255.255.255 B类:第一个8位组的前两位 一定取值为10. /16 == 255.255.0.0 10xx xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx 最小:128.0.0.0 最大:191.255.255.255 C类:第一个8位组的前三位 一定取值为110. /24 == 255.255.255.0 110x xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx 最小:192.0.0.0 最大:223.255.255.255 -------------------------------------------------------------A B C 单播地址 D类:第一个8位组的前四位 一定取值为1110. 1110 xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx 最小:224.0.0.0 最大:239.255.255.255 // 只能作为逻辑地址存在,不能配置在设备接口上 E类:第一个8位组的前四位 一定取值为1111. 1111 xxxx.xxxx xxxx.xxxx xxxx.xxxx xxxx 最小:240.0.0.0 最大:255.255.255.255 // 军事 科研 保留地址
作用:1.未指定的地址 2.路由层面:全网所有地址 用于设备内部的TCP/IP协议栈使用的
公网地址:唯一性,全世界范围内的唯一。付费使用,申请 私网地址:所以组织机构,都任意使用的。不用申请,重复使用
网段范围 —— 掩码
定义两个参数:1.网络位 2.主机位 IP地址 + 掩码 == 可以定义网段的范围
192.168.1.111 —— IP地址 255.255.255.0 —— 子网掩码
1.转换二进制 1100 0000. 1010 1000. 0000 0001.0110 1111 1111 1111. 1111 1111. 1111 1111.0000 0000 2.子网掩码为1 对应的位数,为网络位;子网掩码为0 对应的位数,为主机位
网络位相同的 —— 相同网段;网络位不同 —— 不同网段。
地址 网络位 主机位 网段范围 网段数量 每个网段可用主机数量 A 8 24 0-127(0/127) 2^7=128 -2=126 2^24-2=16,777,214 B 16 16 128-191 2^14=16,384 2^16-2=65,534 C 24 8 192-223 2^21=2,097,152 2^8-2=254
网段数量=2的可变的网络位的次方 主机数量=2的可变的主机位的次方-2 (减掉网段内 一个网络地址和广播地址)
1100 0000. 1010 1000. 0000 0001.0110 1111 地址 1111 1111. 1111 1111. 1111 1111.0000 0000 掩码 1100 0000. 1010 1000. 0000 0001.0000 0000 —— 网络地址(出现在路由表)192.168.1.0 1100 0000. 1010 1000. 0000 0001.1111 1111 —— 广播地址(用于本网段所有主机通信)192.168.1.255
网络位 向 主机位 进行借位
193.1.1.0/24 —— 网段 193.1.1.0/25
1100 0001.0000 0001.0000 0001.0000 0000 网络地址 —— 193.1.1.0/24 1100 0001.0000 0001.0000 0001.1111 1111 广播地址 —— 193.1.1.255/24 1111 1111.1111 1111.1111 1111.0000 0000 子网掩码 可用地址范围:193.1.1.1——193.1.1.254 2^8-2=254
1100 0001.0000 0001.0000 0001. 0 000 0000 网络地址 —— 193.1.1.0/25 1100 0001.0000 0001.0000 0001. 0 111 1111 广播地址 —— 193.1.1.127/25 1111 1111.1111 1111.1111 1111. 1 000 0000 子网掩码 —— 255.255.255.128 可用地址范围:193.1.1.1——193.1.1.126 2^7-2=126
1100 0001.0000 0001.0000 0001. 1 000 0000 网络地址 ——193.1.1.128/25 1100 0001.0000 0001.0000 0001. 1 111 1111 广播地址 —— 193.1.1.255/25 1111 1111.1111 1111.1111 1111. 1 000 0000 子网掩码 —— 255.255.255.128 可用地址范围:193.1.1.129——193.1.1.254 2^7-2=126
子网掩码变长后,变化: 1.网络位增加,网段增加 (能变的范围更多了) 2.主机为减少,每个网段的主机数量变少了
将多个小的子网,用一个相对更大的地址范围进行概括,以此实现表项的优化。 10.1.0.0/24 10.1.1.0/24 10.1.2.0/24 10.1.3.0/24
1.将子网转换成2进制: 0000 1010.0000 0001.0000 0000.0000 0000 —— 10.1.0.0 0000 1010.0000 0001.0000 0001.0000 0000 —— 10.1.1.0 0000 1010.0000 0001.0000 0010.0000 0000 —— 10.1.2.0 0000 1010.0000 0001.0000 0011.0000 0000 —— 10.1.3.0 2.自高向低位进行对比,位数相同原封不动进行取值,一旦不同,停止对比行为,后方全部取值为0,即便后方还有相同位数。 0000 1010.0000 0001.0000 0000.0000 0000 —— 10.1.0.0 0000 1010.0000 0001.0000 0001.0000 0000 —— 10.1.1.0 0000 1010.0000 0001.0000 0010.0000 0000 —— 10.1.2.0 0000 1010.0000 0001.0000 0011.0000 0000 —— 10.1.3.0 0000 1010.0000 0001.0000 0000.0000 0000 3.将相同位数取值完毕,转换成十进制,将相同的位数取值位掩码缩写的前缀。 0000 1010.0000 0001.0000 0000.0000 0000 —— 10.1.0.0 /22 --->255.255.252.0
同网段 通信时可以直接通信的; 跨网段 通信时是不可以直接通信的。
1.通信时,发送端的主机会使用对方的IP地址+自己的掩码 进行计算,算出对方的网络地址 2.计算之后,将对方的网络地址和自己的网络地址进行对比,相同,则认为在同一网段;不同,则认为不在一个网段。 网关设备上连接本地网段的接口地址即为 该网段的网关地址。 网关地址 是一个配置在某个设备接口上的地址。 负责不同网段之间数据包的转发
Ping —— 检测链路通断 到目的地设备连通性 Ping —— 目的地 形式 它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。 控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。 这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用 ICMP重定向 作用:解决网络中的次优路径 触发:当某一个设备收到一个数据,进行转发时发现还要从该接口进行转发,于是触发ICMP重定向。 报文:Type=5,Code=0
1. 正向ARP - 地址解析协议 在已知IP的情况下,求与之对应的MAC地址。 ARP是基于数据链路层封装的2.5层协议。
接收端:接收ARP报文后,此时通过查看target-ip是否是自己 接收端端口IP,如果是,则进行下一步;如果不是,丢弃。
- 经过ARP的报文形成的 - 动态的ARP表项 老化时间:20分钟
ARP缓存 - 老化探测机制 1.默认:20分钟老化 3次ARP的老化探测 -- 单播/单播/广播 在此期间,如果收到了对方的回应,刷新老化时间。 2.华为改进: 1/2 =10分钟 =单播 3/4 =15分钟 =单播 20分钟 =广播
[已知MAC--求IP] ----DHCP
DLCI号 --IP地址对应关系
不经过 任何触发行为。 工作:接口配置了一个新的IP地址后,就会发送免费ARP。 [人为配置/DHCP] 作用:DAD [重复地址检测]
路由式/VLAN间/VLAN内]
广播域:广播报文所能传递的范围 -- 交换机的所有端口同一个广播域(不划分vlan) -- 路由器每个接口都是一个广播域 -- 广播报文是无法穿越路由器的三层接口的
传输层:实现“端到端”的服务 应用到应用
端口 = port [逻辑端口]
基于应用级别的互访,就是 端口到端口的互访。
传输层 = 0-65535[端口范围] === TCP/UDP
0——1023 端口:知名端口 提前保留出来的端口 TCP协议:FTP服务[20/21] SSH[22] Telnet服务 [23] HTTP服务[80] HTTPS[443] UDP协议:DNS服务[53] DHCP协议[67/68]
传输控制协议 —— 面向连接的协议
连接: 正式发送数据之前,提前建立好一种虚拟的“点到点”式的连接 = 单播的模式
建立连接=三次握手 全双工 -- 同一时刻,即可以发送数据,又可以接收数据
Client 客户端 ---- Server 服务器 C/S架构
S-IP : 源IP D-IP :目的IP Protocol : 协议号 S-Prot :源端口 ==================== 五元组
如果ack[确认号] 想实现对于数据的确认功能,此时必须保证标志位中的ACK置为1.
SYN:只会在TCP的前两次握手中置位,接下来永远不会置位。
建立三次握手时,不传数据的;三次握手之后,TCP开始传递数据。
重传机制1:对于TCP而言,如果接收端收到的数据没有按照顺序排列,此时会将按序接收的数据进行确认,无序的报文会本地缓存,但是不会确认,知道数据最终有序。 ---- 冗余ack
重传机制2:对于TCP而言,如果发送了数据,但是一直没有得到对方的确认,则会在一个时间周期后,重新发送数据。 ---- 超时重传机制 [ RRTS 加权的平均往返时间 ]
分片的报文段的长度:MSS-- 最大报文段长度 [每一段的数据的长度] -- 1460 出现地点:在三次握手时,进行协商。并且,后续进行数据传输时,该选项不会携带。
接收方通过调整window窗口,以此来影响发送方的接收速率。 窗口发小是自动协商的。
FIN:主动断开连接时,才会置位
用户数据包协议 —— 面向无连接的协议
传递 组播/广播流量 ---只能选择UDP 单播 --- 可以TCP/UDP linux改来 == VRP平台 现阶段用得最多的是VRP5 用户视图 <XXX> 系统视图 [XXX] 接口视图 [Huawei-GigabitEthernet0/0/0] 协议视图 [Huawei-ospf-10]
?—— 当前可以配置的命令 Tab —— 输入命令时,按tab间可以补全以字母开头的命令 简写—— 如果此时该命令唯一 那么该命令可以使用简写 system-view —— 从用户视图 切换到 系统视图 回车 —— 输入命令 想让其生效 按回车生效 Quit —— 从当前视图退回到上一个视图 Ctrl+Z —— 从当前视图立刻退回用户视图 Sysname = 改设备名 display ip interface brief = 查看接口的地址以及状态信息摘要 Undo = 当输入了某个命令/有个功能想要关闭 ,则在该命令/功能值钱加上undo取消 display this = 查看当前视图下的配置 某个视图下,如果配置的命令为默认命令,那么不会显示 display current-configuration = 查看当前设备的自己的配置
当同时多个用户登陆到设备上时,所有用户的配置都生效,对于某条命令,按照配置时间来生效。
使用vty进行设备管理时,设备支持两种管理方案: 1.无用户 不需要输入用户名,仅仅输入密码即可 使用密码认证,需要提前定义用户权限,默认权限为0 2.基于用户:基于用户名 aaa 认证 授权 审计 部署专门AAA服务器
三层设备(网络层),寻址转发时查询设备的路由表,根据路由进行具体的寻址转发。
网段路由:网络号+掩码 主机路由:一个精确的主机地址,该路由仅仅只能标识一个地址。以/32位掩码 作为区分。
路由表的形成: 1.直连路由 direct —— 是根据本网络的物理直连接口信息形成的 接口处于up状态[物理状态 = 通电 连接设备] 接口物理状态为up,则直连路由存在;物理状态为down,则直连路由消失。
网络地址+广播地址+当前接口的地址 网络地址:标识一个网段的范围 配置了接口地址后,会在本地自动形成一个/32的主机路由,用于未来访问本设备时,进行转发。
2.静态路由 3.动态路由 协议 :标识 前方的目的网络 是通过什么协议形成的 优先级:代表形成路由的协议的优先级数值 [厂商规定] 开销值:代表该路由协议形成此路由时的开销 - 不同的协议计算开销值的方式有区别(越小越优) 直连/静态 = cost =0 COST值的比较仅仅在同一协议下才有意义。 下一跳:下一跳地址 --- 数据离开本路由器需要抵达的地址 形成方式:1.静态--手动指定 2.动态:利用路由协议自动形成 出接口:设备的出接口 去往下一跳地址 自己的设备应该从哪个接口可以抵达 —— 接口编号。
如果目的地网络及掩码信息不一致,则都会加表;如果一致,才会比较。 比较形成路由的优先级数值,越小越优。
本地如果有多个匹配的路由的时候,会按照掩码最长的进行转发。
0.0.0.0 /0 如果一条路由目的地与掩码全为0,叫做默认路由(缺省路由),匹配上所有的IP地址。 注意:该路由掩码为0,是匹配顺序最劣的路由,本地无路由可以匹配时,才会匹配默认。
总结: 加表:当多条路由想出现在表中,此时会进行比较,辨别最终哪条路由加表。 查表:当数据抵达路由器,路由器会根据已经存在的不同的表项,优选掩码最长的进行数据转发。
三层环路: 因为路由表中路由指向出现问题,导致数据一直在网络中进行循环转发,而寻找不到目的地,直到TLL值耗尽的过程。 对于数据报文来讲,从ttl=255到ttl=0的过程,一个周期。
直连路由的问题:无法进行非直连的通信
静态路由 静态路由-- 工程师人为配置的 ip route-static 目的网络 + 掩码 + 下一跳地址 保证下一跳地址能够顺利通过某个出接口抵达 (下一跳可达)
如何衡量下一跳可达? ——看本地是否有去往目的地的路由。
浮动静态路由 [路由备份] :在路由加表的进行一些控制。 通过控制外部优先级,控制路由的加表。 动态路由:通过在设备上 运行某种协议 通过该协议自动交互实现路由信息的同步
AS内部 --- OSPF / IS-IS AS之间 --- BGP
AS:自治系统 --- 网络系统=网络架构 通常把 统一的管理者 构建的网络系统,就叫做一个AS
公有AS:网络系统 申请一个AS号 私有AS:不需要申请的
RIP [ 路由信息协议 -- 淘汰 ] 特点:只知道路由的传递,但是不知道路由的具体始发信息 OSPF 特点:传递的设备的详细内容,包含拓扑信息、连接的状态信息及开销信息,所有每个设备可以根据信息构建起拓扑结构,从而知道网络中的路由的详细内容。
矢量行为:协议收到了一个路由之后,查看是否可以加进本地的路由表中,如果可以加入,则可以传递;如果不可以加表,则无法传递。
SPF算法:最短路径树优先算法
1.LSA:link-state-advertisement:链路状态通告 2.LSDB:链路状态数据库 //存LSA的地点 3.邻居/邻接:必须保证设备能够建立起该关系,才可以保证接下来的同步
1.HELLO 2.DD - 空DD:选举主从 - 交互摘要 3.LSR 4.LSU 5.LSACK
OSPF报文在一个广播域内进行传递。 广播域:广播报文的传递范围。 路由器 -- 三层接口 ,每一个三层接口都是独立的广播域。
1.ospf的process-ID 进程号:本设备标识OSPF进程的 进程号:本地有效 2.ospf的router-id:路由器ID RID两种生成方式: - 人为配置 - 自动产生:系统的router-id -->设备自动产生的router-id。 给所有用Router-ID的协议统一的准备的,如果协议没有手动指定RID,则按照默认。
第一个up的接口,该接口成为Router-ID。 如果多个接口同时up,优选IP地址最大的,成为全局Router-ID。
-ospf router-id特点:一经确定,除非设备重置或者ospf进程重置,否则不会改变。
区域号相同 则为相同区域。
如果同区域设备数量过多,导致设备负担增大,所以可以对不同区域进行划分,从而减少不同区域中,LSDB大的大小,优化设备性能。
LSA:同步前提条件—— 相同区域中 骨干区域:区域0 —— ospf必须要有的区域 非骨干区域:非0
network -- 宣告 - 1. 区域下宣告 network 接口信息 反掩码信息 12.1.1.1 255.255.255.0 正掩码 反掩码:255.255.255.255 - 255.255.255.0 = 0.0.0.255 前提:必须先保证全局开启了ospf协议 建立了该进程 创建区域0
224.0.0.5:所有人建立邻居关系都会发送到的地址
INIT:收到了对方的hello报文,但是没有在active-neighbor中看到自己的RID。 2-way:收到了对方的hello报文,并且在active-neighbor中看到自己的RID。 -----------------------------------------建立了邻居关系
OSPF的DD报文 单播发送的 == 两个设备之间进行DD的交互过程 hello包-- Down:并没有发现任何设备 init : 收到了对方的hello包,但是没有在active neighbor 看到自己的RID。 2-way:收到了对方的hello包,且在active neighbor 看到自己的RID。 ------------------------------------ 邻居关系 ------------- 选举DR / BDR
Exstart:进行主从关系的选举,在该状态下,使用DD报文进行选举,且此时的DD报文中不会包含LSDB摘要信息,简称“空DD”
DD报文:用于描述LSDB的摘要信息 DD seq:DD报文的序列号,按照主设备使用
主从关系的确定:比较两者的RID。大的为主,小的为从。
Exchange:发送的ospf的DD报文中,携带LSA的摘要信息,此时我们认为进入该状态。 Loading: 彼此通过查看DD报文,得知本地没有的lsa信息,此时发送报文进行请求 LSR:链路状态请求报文--请求自己本地没有的LSA --- 摘要 LSU:链路状态更新报文--向对方发送对方请求的LSA --- 详细内容 LSACK :链路状态确认报文 -- 已经收到对方的LSU FULL:所有的LSU都得到确认之后,此时双方到达FULL状态 -------------------------------------邻接关系 -----------------------
同一个广播域中,路由器的数量过多,建立的邻接关系越多,交互的报文越多。 1.占用过多的链路带宽 2.影响设备处理性能
n*(n-1)/2 :邻接关系的数量 n=一个广播域中的运行了ospf的路由器数量 DR:指定路由器, BD:备份指定路由器 其它路由器都成为DROTHER
在2-way之后,exstart之前选举DR/BDR。 DR=指定路由器 =大哥 BDR=备份指定路由器 =二哥 为了保证DR的稳定,保证DR故障之后网络不会出现太长的故障时间,此时提前选举BDR。 DR-OTHER:非 指定/备份指定路由器 特点1: 当网络中存在DR,但没有BDR,此时,会从网络中选出新的BDR,以此类推。 特点2: DR和BDR不允许被抢占,在已经选举出DR和BDR的情况下,即使有新的设备加入,为了保护稳定性,角色不会变化。
DR/BDR会与所有人建立full邻接关系。 DR-OTHER之间只会建立2-way邻居关系。
以太网链路,默认是BMA(广播型网络)网络类型,必须选举DR/BDR。
如何选举DR/BDR? ----- 越大越好 1.接口优先级 [包含在hello报文中] 默认1 0-255 如果人为修改为0,不参与选举 2.设备的RID [通用头部]
一个BMA网络中,接口优先级最大的设备,不一定成为DR。 ----- 看接入时间 选举时间:wait 等待时间-- 40s 40s之内选出DR/BDR 接口开始运行OSPF开始,就开始进行DR/BDR的选举。
DR/BDR选举 和 主/从 关系 选举??? DR/BDR选举:发生在2-way状态,作用:保证一个广播域内减少无用的泛洪的OSPF报文的流量。 主/从选举:发生在exstart状态,作用:保证数据库同步时的可靠、有序。 查看 hub接收数据的处理动作: 泛洪 —— 将数据从除了接收端口之外的所有其他端口复制并发送一份
半双工设备:同一时刻 只能接收/发送数据
冲突域:数据产生碰撞的范围 hub所有的借口 处于同一冲突域 (CSMA/CD)以太网帧 Ethernet Frame



Mac地址
第四节-MAC地址+网络层

mac地址的概念——
1.单播:通信形式上,点对点,单对单的通信,类似于qq私聊
2.组播:通信形式上,点对多点,单对多的通信,类似于qq群聊
3.广播:通信形式上,点对所有,单对所有的通信。广而播之/强制的接受处理。
发送者的动作:
4B:标识
第五节-IP地址+VLSM
网络分类
特殊地址:
私网、公网
子网掩码
VLSM —— 可变长子网掩码
第六节-CIDR与ICMP
CIDR —— 无类域间路由 / 超网
网关 gataway:
ICMP协议 控制报文协议
第七节 ARP协议
ARP —— 地址解析协议


ARP 缓存
2.反向ARP [R-ARP]
3.定向ARP
4.免费ARP [ 无故ARP ]
5.ARP-代理 [
第八节 传输层协议
TCP协议:
D-Port :目的端口UDP协议:
第九节 设备管理+路由基础
设备管理基础
远程管理:
SSH[22]
Telnet服务 [23] 基于传输层之上的应用层协议
路由
路由表:
路由的分类:
第十节 静态路由
路由表加表原则: 最优加表
路由表查表原则:最长掩码匹配
静态路由的加表原则:
第十一节 OSPF
第十二节 开放式最短路径优先
从使用场景分析:
IGP协议:内部网关协议
EGP协议:外部网关协议
从协议的算法分析:
1.距离矢量路由协议 :
2.链路状态路由协议 :
运行OSPF协议的设备产生的参数:
OSPF报文:
OSPF的配置 几个参数:
系统的router-id如何生成?
3.OSPF的area 区域号:
4.ospf建立关系需要借助接口:
- 2. 接口下宣告 ospf enable 进程号 area 0 OSPF的7种状态:

交互过程
DR/BDR
实验
[Huawei]ospf 1 router-id 3.3.3.3
[Huawei-ospf-1]area 0
[Huawei-ospf-1-area-0.0.0.0]network 192.168.3.0 0.0.0.255 //宣告进区域Huawei]display ospf peer brief //命令查看邻居表建立情况(为full说明邻居关系建立成功)
[Huawei]display ip routing-table protocol ospf //查看ospf路由表
查看 OSPF 链路类型 - display ospf interface gi0/0/0
查看 OSPF 接口是否为 DR - display ospf interface gi0/0/
十三节 交换基础
hub:
交换机每个接口 都是一个独立的冲突域。
交换机的接口自协商的功能:实现工作方式、接口速率 的协商 --向下兼容
全双工 = 同一时刻 既可以发送,又可以接受数据
记录数据帧的源mac以及入接口信息 —— 构建mac地址表
如果是单播的数据帧,此时根据目的mac查看mac地址表,查看是否存在对应关系:
- 存在,“已知单播数据帧”,直接按照mac地址表的对应关系进行转发
- 不存在,“未知单播数据帧 BUM”,执行泛洪的动作
如果是广播/组播数据帧
泛洪:将数据从除了接收端口之外的所有其他端口复制并发送一份
如果交换机的接口收到一个数据帧,发现未来还要将其从接收端口进行转发,此时会将其丢弃。
报文的学习=mac地址表 老化时间=300s =5m
mac地址和交换机的接口的对应关系
作用:用于交换机转发数据的
存在:交换机中
ARP表老化时间 = 20分钟
IP-MAC地址的对应关系
作用:用于通信设备进行数据封装的
存在:任何要进行数据封装的设备
注意:交换机物理接口故障,那么和该接口关联的所有动态mac地址信息全部删除。
特点:
交换机的一个接口可以同时对应多个不同的mac。
对于某个相同的mac,交换机只会有一个对应接口。
广播域:广播报文传递范围
交换机默认所有的接口对于广播报文进行泛洪,默认交换机所有端口处于同一个广播域
十四节 vlan
vlan之间,BUM的数据进行隔离的,广播数据不会穿过不同的vlan。
一个vlan就是一个广播域。
PVID -- port default vlan id -- 缺省VLAN
12bit 2^12=4,096 0-4095 0和4095保留 1-4094
默认交换机所有端口属于vlan 1
1.access --接入类型
不带标签的数据,“空白”的数据帧。
一个access接口只能属于一个vlan。
对于交换机的泛洪:会向除了接收端口之外,其他能够转发本VLAN的端口进行泛洪。
2.trunk --干道类型
列表:VLAN允许通过的列表 // 通过的前提:保证存在该vlan
特点:同时允许多个不同VLAN通过
3.hybrid -- 杂合类型/混杂/混合
接收方向,永远不会剥离vlan tag。
十五节 vlan间路由
工作= vlan 一个网段 =某个部门使用
Vlan = 缩小广播域的范围
跨网段=找网关 路由器--路由表 --- vlan
路由器接口=三层接口=无法配置二层vlan =识别IP地址
三层接口 不认识tag = 三层物理接口
逻辑接口 = 子接口 = subinterface
子接口=特点
1.正常配置IP地址,具备三层功能
2.处理tag,兼备二层功能
二层交换机+路由功能
Undo portswitch -- 开启三层,把接口变成三层口,配ip
交换机支持配ip:vlanif接口下配接口
dot1q termination vid
802.1q 终止/终结 vlan-id ----终结vlan标签
华为子接口特点:不具备发送arp广播报文的能力
Vlanif:现网中使用率最高的 实现vlan间通信的技术
Vlan-if / svi switch virtual interface
物理状态:保证当前设备中某个一个接口必须能够允许该vlan-if所属的vlan通过。
有则up
十六节 生成树协议
环形组网 == BUM数据帧 广播 无休止泛洪
1.广播风暴:泛洪的数据帧 无休止在设备中进行传递 设备性能下降 直至宕机
2.MAC地址表震荡(漂移) --- 造成数据无法正常转发 影响业务
开发一种手段/机制 消除环路(破环) 保证网络的可靠性
STP协议:将某些端口置为“逻辑上的”阻塞状态,处于阻塞状态的端口,平时无法进行业务数据的发送和接收,但是网络中环路消除,此时,端口可以自动切换转改为“转发状态”。
—— STP 所有的信息 角色 状态确定的一种报文
根桥ID:Root ID - 永远是根桥的ID
根路径开销:root path cost --- RPC -->填充的设备离根距离(开销)
发送设备BID:发出配置BPDU的设备的BID
发送端口的PID:发出配置BPDU的端口的PID
-----------------------------------------------------------------------------------------
根设备=根交换机=根桥
BPDU:选举参数

比较BID -- 小好 -- 全网最小BID为根桥,可抢占
16位优先级 默认32768 (可手动配置,4096的倍数) + 48位交换机背板mac
-- 除根桥外,每台设备有且只有一个根端口
-- 根桥上所有端口都是指定端口
-- 每个冲突域上(每条链路上)只能有一个指定端口
4.如果某个端口既不是RP,也不是DP,就成为阻塞端口
阻塞过程(根桥的选举、STP的三种端口):
比较BID--bridge ID ---- 由16位优先级+48位的交换机背板mac
默认优先级32768 ,可以手动配置(配置4096的倍数)。
现网建议手动指定根桥,防止误接抢根,造成整个生成树重新收敛。
stp root primary--- stp root priority 0 根桥
(项目:32768 ---- 0 / 4096)
2. 选举根端口[root port --RP] --- 除了根桥以外,每台设备有且只有一个根端口
根端口:1.在非根桥设备上选择
2.非根设备上 所有端口中离根桥最近的
如何衡量哪个端口离根最近:
1--比较 入方向 (数据的接收方向)根路径开销 --- 小好
2--比较 转发桥ID —— 上行设备的BID

3-- 比较 对端设备(转发桥的)接口PID --- 小好 (接口优先级默认128)

4 -- 比较 自身接口的PID --- 小好
3.选举 指定端口[designated-port] 指定端口 DP ---- 根桥上所有端口都是指定端口
指定端口:1.在每一个链路上(冲突域中)=进行选择
2.每段链路只会选择一个DP端口
DP端口如何比较:
1.比较 本交换机的cost [根路径开销]

2.比较自身设备的BID (桥=设备)

3 --- 比较 自身的PID

特点:
1.交换机刚开机时候,主动发送BPDU。
2. RP:在设备自身的所有端口之间
DP:在每一条链路之间
华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o
system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
简单代码require'net/http'url=URI.parse('getjson/otherdatahere[link]')req=Net::HTTP::Get.new(url.to_s)res=Net::HTTP.start(url.host,url.port){|http|http.request(req)}putsres.body只是想知道如何在phpcURL中放置身份验证token,我是这样做的 curl_setopt($ch,CURLOPT_HTTPHEADER,array('Authorization:Bearerxxx'));//Bearertokenfora
如何学习ruby的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/
谁能提供一个使用HTTParty和digestauth的例子?我在网上找不到例子,希望有人能提供一些帮助。谢谢。 最佳答案 您可以在定义类时使用digest_auth方法设置用户名和密码classFooincludeHTTPartydigest_auth'username','password'end 关于ruby-HTTParty摘要认证,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi
深度学习12.CNN经典网络VGG16一、简介1.VGG来源2.VGG分类3.不同模型的参数数量4.3x3卷积核的好处5.关于学习率调度6.批归一化二、VGG16层分析1.层划分2.参数展开过程图解3.参数传递示例4.VGG16各层参数数量三、代码分析1.VGG16模型定义2.训练3.测试一、简介1.VGG来源VGG(VisualGeometryGroup)是一个视觉几何组在2014年提出的深度卷积神经网络架构。VGG在2014年ImageNet图像分类竞赛亚军,定位竞赛冠军;VGG网络采用连续的小卷积核(3x3)和池化层构建深度神经网络,网络深度可以达到16层或19层,其中VGG16和VGG