hcip---华为认证体系下的高级网络工程师
抽象语言--电信号 抽象语言--编码--二进制--电信号--处理电信号
OSI/RM----开放式系统互联网参考模型--1979--ISO--国际标准化组织
核心思想--分层
七层分别是应用层--提供各种应用程序,抽象语言转换成编码,人机交互的接口
表示层--编码转化成二进制
会话层--维持网络应用和网络服务器之间的会画连接
传输层--实现端到端的传输--应用到应用的之间的传输--端口号--0-65535 --0一般不为传输层的端口号使用,所以,我们真实的端口号的取值范围为1-65535. 1-2023知名端口号--SPORT,DPORT
网络层--通过ip地址,实现主机之间的逻辑性。 --SIP,DIP
获取dip的方法:
1,直接知道服务器的ip地址 2,通过域名访问服务器 3,通过应用程序访问 4 通过广播获取
数据链路层--将二进制转化成电信号,通过MAC地址进行物理寻址--在以太网协议中MAC--48二进制的构成---1,全球唯一;2,格式统一 --SMAC,DMAC
获取MAC地址的方法:
ARP ---地址解析协议---通过一种地址获取另一种地址
正向ARP --通过IP地址来获取Mac地址
工作过程--首先,主机以广播的形式发送Apr请求报文。基于已知的IP地址获取MAC地址,所有收到的广播帧的设备都会先将数据包的设备都会先将数据包中的源IP地址和源MAC地址的对应关系记录在本地的ARP缓存表中,之后在看请求的ip地址。如果请求的IP地址是本地的IP地址,则将回复ARP应答报文,如果请求的IP地址不是本地的ip地址则将直接丢弃该数据包。之后再次发送信息时将优先查看本地ARP缓存表,若存在记录则按照记录转发;如果没有记录,则再次发送ARP请求
反向ARP--通过MAC地址来获取IP地址
免费ARP--利用的是正向ARP的工作原理只不过请求的是自己的IP地址
作用:1自我介绍2检测地址冲突
物理层:处理或者传输电信号
osi模型与tcp/ip标准模型的不同:tcp/ip协议将分为四层 他将osi参考模型 中的应用层 表示层 会话层 合称为应用层 将数据链路层和物理层合称网络接口 总的来说tcp/ip标准模型更加笼统
封装和解封装
应用层
传输层--端口号--tcp,udp
网络层--IP地址--ip协议
数据链路层--mac地址--以太网协议
物理层
pdu --协议数据单元
应用层--报文
传输层--段
网络层--包
数据链路层--帧
物理层--比特流
tcp/ip 模型中支持跨层封装 osi中不行
跨层封装的情况比较少,一般出现在直连的设备之间
跨四层封装---一般出现在直连路由器之间,例如 ospf 就是跨四层封装协议
跨四层三层封装 --在直连交换机之间---stp
sof --帧首定界符
1获取ip地址 ---手工获取 2通过DHCP自动获取
DHCP---动态主机配置协议
DHCP客户端---广播包---DHCP-Discover
传输层-UDP--SPORT:0.0.0.0 DIP:255.255.255.255
数据链路层---以太网---smac :自己的MAC地址 DMAC:全F
交换器的转发原理 ---交换机收到数据帧之后 ,首先先记录源Mac地址和进入接口的对应关系到MAC地址表中 。之后看数据帧中的目标MAC地址,因为目标MAC地址是全F,则将进行泛洪---除了数据进入的接口外,所有接口都将转发数据。交换机洪泛的情况---1,广播帧 2,组播帧3未知单播帧
交换机泛洪的情况:---1,广播帧2--组播帧 3--未知单播帧
路由器收到广播帧后--路由器收到数据帧之后先看二层封装因为其目标MAC地址为广播地址,则路由器讲解二层封装,则将根据数据帧中的类型字段将解封后的数据包交给对应的皮模块进行处理--三层头部中目标IP地址为受限广播地址然后路由器将解三层封装,因为三层协议头部中协议字段为17,则路由器将把解封装后的数据段交给UDP模块进行处理。UDP根据目标端口号为67,则将解封后的DHCP-DISCOVER报文交给对应的DHCP服务进行处理
2-DHCP服务器--DHCP客户端--DHCP-OFFER(里面将携带一个可用的ip地址(此ip地址可用不代表你会用) 类似于收到offer 会有反选程序)---单播/广播(华为单播/思科广播)
传输层---UDP---SPORT:67 DPORT:68
网络层---ip---SIP:自己的ip dip:255.255.255.255 (华为会将携带的ip直接给予你)
数据链路层---以太网---SMAC:自己的MAC :自己的MAC地址 DMAC :全F
3--客户端的反选过程
DHCP客户端---DHCP服务器---DHCP-request(若存在多个DHCP 设备会选择最先来的offer包)---广播形式的回包
----1-请求ip地址的服务器的ip地址 2--告诉其他没有选择的DHCP的服务器自己已经有ip地址 可以将他们的IP地址释放
4---DHCP服务器 ---DHCP客户端 ---DHCP-ACK --单播/广播
设备在获得DHCP协议获取一个地址的同时也会获得网关信息以及DNS服务器的信息
打开浏览器 在搜索栏中输入自己想去的URL
DNS-域名解析协议
DNS 协议存在两种查询方式---1-递归查询(若DNS服务器没有记录就会找其他DNS服务器来查询(一般会是电脑)) 2-迭代查询(dns服务器不知道记录地址,服务器会让问的 来去找其他可能知道地址去问(一般是服务器))
设备将从输入的URL中提取到域名信息 ,根据域名信息,根据域名信息通过DNS协议获取web服务器的IP地址
设备将发送DNS请求报文
传输层--UDP- -SPORT:随机值 DPORT :53
网络层--ip---sip 自己的ip dip dns服务器的ip
数据链路层 ---以太网---SMAC:自己的MAC dmac :网关的MAC地址(通过ARP协议来获得网关的MAC地址)
3,网关路由器收到DNS请求报文之后,将先查看数据帧的二层封装,确认是给自己的然后解开二层看三层,根据目标ip地址查看本地的路由表
1,直连路由 --默认生成的,生成条件:1接口具备通信条件 2-接口需要配置ip地址
2,静态路由---网络管理员手工添加的路由条目
3,动态路由---所有路由运行相同的的路由协议,之后,路由器之间沟通最终计算出到达未知网段的路由条目(根据数据包来相互沟通)
4,本地的dns服务器收到DNS请求信息,将先查看本地缓存是否有记录,有则直接返回DNS应答; 如果没有,则向DNS服务器发送迭代查询,最终将结果返回设备
5,本设备将基于web服务器的IP地址,发起tcp协议 建立三次握手---建立设备与服务器双向的会话通道
6本设备将给予会话通道来发送http协议请求报文----get
传输层---tcp--sport:随机值(自己) dport:80(目标)
数据链路层---以太网--smac:自己的mac dmac:网关mac
7,服务器收到http请求报文则服务器将接封装,最终会回复http应答报文 ,200 ok
网络类型--根据数据链路层运行的协议进行划分的
p2p --点到点
ma ---多点接入网络
bma --支持广播的多点介入网络
nbma-- 非广播型多点接入网络
数据链路层运行的协议
以太网协议---需要在数据帧中封装MAC地址进行寻址
原因---利用以太网协议可以包含两个或两个以上的接口,每个以太网接口之间都可以通过交互以太网帧的方式进行---bma
如果一个网络中只有两台设备,则这样的网络不需要Mac地址进行区分表示也可以正常通信,这样的问题,称为p2p
T1 -- 1.544MBPS
E1 -- 2.048MBPS
以太网做到了一个技术--频分技术(频分是在一个通道中可以同时发送不同频段的电波并且互不干扰,实现数据的并行发送)
频段越高 穿透性越差 例如5g 和2.4g 在墙体较多的情况我们可以优先选择2.4g
HDLC----高级数据链路控制协议 ---兼容性很差
标准的HDLC ISO组织颁布(ISO基于SDLC协议改进得到)
非标准的HDLC (各大厂商在标准版的基础上进行改进而成) 体现出兼容性很差
思科设备默认使用是HDLC 华为设备使用的是PPP协议
PPP---- 点对点协议----兼容性强 (使用统一的版本,串线种类较多只需要支持全双工的工作模式)很强的可移植性 (不光可以在串线模式使用也可以在其他形式上使用) ppp协议可以支持认证和授权(可以方便使用计费系统)
双工模式----可以互相发并且可以同时发
单工--可以发但不可以互相发
半双---可以互相发,但不可以同时发
ppp协议 与 tcp协议(tcp协议是一个面向连接的协议)两者很类似
1, 链路建立阶段 ---lcp建立 链路控制协议(lcp)----参数协商的过程 -mru ppp中允许携带的最大长度 默认1500字节 (mtu以太网中最大传输的量)---是否需要进行认证以及认证的方式
2, 认证阶段 ---可选项 -- PAP ,CHAP ---PPP的认证支持单向和双向认证--调用AAA(认证 授权 计费 平台)来完成认证 PAP--密码认证协议 CHAP---挑战握手协议--通过比对摘要值来完成认证, 摘要值 --通过HASH算法-- 散列函数--将任意长度的输入转换成固定长度的输出 1-不可逆性 2-相同输入,相同输出 3,雪崩效应
md5---可以将任意长度的输入转化成128位的输出
3,网络层协议协商阶段 ---NCP (网络控制协议)协商 ---ipcp协议
ppp协议包含多个协议 ppp会话:一次性会话
1 ip报文的压缩格式 2 ip 地址(看双方是否认可对方的ip地址 (为了授权))
ack 认可 Nak 不认可
主机路由 /32
display interface 设备名 即可查询此设备所有的二层协议
link-protocol hdlc ---修改接口协议类型
ip address ppp-negotiate 通过ppp协议来获得IP地址
remote address 地址 (此时地址不需要输入掩码)
实的不行来虚的
vpn :虚拟专用网 <---隧道技术<--封装技术
GRE:通用路由封装 --- GRE的配置
1 创建隧道接口
[R1]interface Tunnel 0/0/?
<0-511> Tunnel interface interface number
[R1]interface Tunnel 0/0/0
[R1-Tunnel0/0/0]
2,隧道接口配置IP地址
[R1-Tunnel0/0/0]ip address 192.168.3.1 24
3,定义封装方式
[R1-Tunnel0/0/0]tunnel-protocol gre
4,定义封装内容
[R1-Tunnel0/0/0]source 12.0.0.1
[R1-Tunnel0/0/0]destination 23.0.0.2
隧道技术--在隧道两端,通过封装和解封装技术在公网上建立一条数据通道 ,使用这条通道 进行数据传输
MGRE : 多点路由封装协议
NHRP: 下一跳解析协议---需要在私网中先选出一个物理接口ip地址不会变得作为NHRP中心(nhs--下一跳解析服务器)。剩下的分支都需要知道中心的隧道接口ip地址和物理接口的IP地址。然后,nhrp要求所有分支将自己物理接口IP地址和隧道接口IP地址的映射关系上报给nhs。nhs将会把所有映射关系记录在本地在发送讯息时查询即可 分支上的IP地址接口若发生变化则将最新的变化上报给中心。分支之间需要通信,则可以先从中心获取映射关系表,之后,依据关系表进行封装转发---hub-spoke 架构---mgre在数据传输传输时搭建的还是一个点到点的隧道--mgre环境是一种类似于nbma的网络环境
MGRE配置
中心
1,创建隧道接口
[R1]interface Tunnel 0/0/?
<0-511> Tunnel interface interface number
[R1]interface Tunnel 0/0/0
[R1-Tunnel0/0/0]
2,隧道接口配置IP地址
[R1-Tunnel0/0/0]ip address 192.168.3.1 24
3,定义封装方式
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp
4,定义封装的源IP
[r1-Tunnel0/0/0]source 15.0.0.1
5,创建NHRP域
[r1-Tunnel0/0/0]nhrp network-id 100
分支
1,创建隧道接口
[R1]interface Tunnel 0/0/?
<0-511> Tunnel interface interface number
[R1]interface Tunnel 0/0/0
[R1-Tunnel0/0/0]
2,隧道接口配置IP地址
[R1-Tunnel0/0/0]ip address 192.168.3.1 24
3,定义封装方式
[r1-Tunnel0/0/0]tunnel-protocol gre p2mp
4,定义封装源IP
[r2-Tunnel0/0/0]source GigabitEthernet 0/0/1 --- 通过出接口来定义
5,加入中心创建的NHRP域
[r2-Tunnel0/0/0]nhrp network-id 100
6,找中心上报映射信息
[r2-Tunnel0/0/0]nhrp entry 192.168.5.1 15.0.0.1 register
中心隧道接口IP地址 中心物理接口的IP地址
[r1]display nhrp peer all --- 可以查看隧道接口和物理接口映射关系
在mgre环境下使用rip获取未知网段的路由信息
1,只有中心获取分支的路由,但是,分支获取不到路由信息
原因:mgre环境是类似于nbma的环境并不支持组播
解决方案:在中心开启伪广播
[r1-Tunnel0/0/0]nhrp entry multicast dynamic
2. 在分支开启伪广播后 只能学习到中心的网段信息,不能学习到其他分支的路由信息
愿意----rip的水平分割
解决方案---[r1-Tunnel0/0/0]undo rip split-horizon
ospf ---开放式最短路径优先协议
LSA--链路状态通告
ospf的数据包类型
hello ---周期性发现 ,建立,保活邻居关系
hello 时间 --默认十秒 (三十秒)
Deadtime ---4倍hello时间
rid---1.全网唯一;2.格式统一--ip地址
1.手工配置
2.自动生成 ---首先先看自己环回接口的IP地址 ,选择其中数值最大的作为rid;如果没有环回接口,则取物理接口中ip地址最大的作为rid
DBD包---数据库描述报文---LSDB---链路状态数据库 (存放lsa信息的数据库)
lsr包 ---链路状态请求报文 ---基于DBD包请求本地未知的lsa 信息
lsu 包---链路状态更新 报文 --真正携带lsa 信息的数据包
lsack --链路状态确认包
ospf 存在每三十分一次的周期更新
hello包的限制邻居关系建立的因素
1.网络掩码 2.hello 时间 3. dead time 4.ospf 特殊区域的标记 5.认证
OSPF的基本配置
1,启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1
2,创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
3,宣告
宣告的目的 --- 1,激活接口;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信息
COST = 参考带宽/真实带宽 --- 华为设备默认的参考带宽为100Mbps --- [r1-ospf-1]
bandwidth-reference 1000 --- 注意:如果一台设备的参考带宽修改了,则所有设备的参
考带宽必须改成相同的。
开销值计算,如果出现小数,如果是小于1的小数,则直接按照1来看;如果是大于1的
条件匹配 dr /bdr
出现dr/bdr 的原因 在MA网络中 若所有设备都是邻居关系会出现大量的重复更新 故需要进行 DR/BDR的选举,所有DRother 之间仅维持邻居关系 即可
DR/BDR 的选举条件
最先进行优先级比较 优先级最大的是DR 次大的是BDR
[r1-GigabitEthernet0/0/0]ospf dr-priority
INTEGER<0-255> Router priority value
若将一个接口的优先级改为0 则代表该接口放弃DR/BDR的选举
2,优先级相同时,则比较RID,RID大的路由器对应的接口为DR,次大的为BDR
DR/BDR 的选举 ---非抢占模式下的选举(一旦选举成功 则将不能被其他路由器进行抢占) ---选举时间和死亡时间相同
<r2>reset ospf 1 process -重启ospf进程
ospf 的数据包
ospf 跨四层 封装 ip 头部 使用89 作为 协议号 标识ospf 。