HCIP的学习(3)

网络类型及数据链路层协议

网络类型分类

  • P2P网络----点到点网络类型
  • MA网络-----多点接入网络
    • BMA----广播型多点接入网络
    • NBMA---非广播型多点接入网络(快淘汰了)

数据链路层协议

MA网络

以太网协议
复制代码
特点:需要使用MAC地址对设备进行区分和标识。
以太网协议属于BMA范畴
如何构建一个以太网网络:需要使用以太网网线连接设备的以太网接口。

P2P网络

当一个网络中只能存在两台设备,并且不允许第三台设备加入,这样的网络被称为P2P网络

​ 点到点网络的搭建:使用串线连接设备的串线接口。

IEEE802.3:现在的以太网标准 IEEE802.11:所有的无线标准

​ 串线的标准:

  • E1标准---2.048Mbps (欧洲标准)
  • T1标准---1.544Mbps (北美标准)
HDLC---高级数据链路控制协议
复制代码
标准的HDLC-----ISO组织

非标的HDLC-----各厂商根据标准协议魔改而成

两者互不兼容

​ 思科公司采用的串线协议默认为HDLC协议。

复制代码
[r1-Serial1/0/0]link-protocol hdlc   ----修改串口接口的数据链路层协议为非标准的HDLC

注:TCP协议号--->6,UDP协议号--->17

HDLC的接口地址借用

​ 建议使用环回接口作为被借用的接口,原因在于该接口为虚拟接口,总是处于活跃状态,可以提供稳定可用的IP地址信息。

​ 接口地址借用可以避免一个物理接口长时间独自占用一个IP地址,节省IP地址资源。

在点到点网络中,IP地址一般使用32位掩码

复制代码
[r2]interface LoopBack 0
[r2-LoopBack0]ip address 1.1.1.1 32
[r2]interface Serial 1/0/0
[r2-Serial1/0/0]ip address unnumbered interface LoopBack 0  ---借用环回接口的IP地址作为串口的IP

[r1]ip route-static 1.1.1.1 32 Serial 1/0/0
[r2]ip route-static 12.0.0.1 32 Serial 1/0/0
PPP---点到点协议
复制代码
优点:
1、PPP协议具备良好的兼容性,任何串行接口只要支持全双工通讯,就支持PPP协议
2、具备可移植性---PPPoE协议;将PPP移植到以太网中。
3、可以完成认证和授权过程。
4、没有重传机制(链路建立时是有重传机制的,数据传输时没有),网络开销较小,速度快
PPP会话
  • 链路建立阶段---LCP建立
  • 认证阶段----PPP认证(可选项)
  • 网络层协议协商阶段----NCP协商
PPP链路建立阶段
复制代码
Dead阶段:被称为物理层不可用--->当通讯双方均检测到两端物理链路激活时,会进入到下一个阶段。
Establish阶段:即链路建立阶段。在该阶段会进行PPP链路LCP参数协商。
Authenticate阶段:如果在LCP协商过程中,需要进行认证,则进入该阶段,如果不需要,则跳过该阶段。
	默认情况下,不要求进行认证。
Network阶段:进行NCP协商。如果协商成功,则PPP链路保持通讯状态。
Terminate阶段:如果双方要断开连接,释放资源,则进入该状态。
PPP数据帧封装结构

对比以太网去看:PPP帧中信息部分为以太网中数据部分(即MTU)

F(Flag):标记(7E:0111 1110),用来区分PPP帧,是否是新的PPP帧

若信息部分有数据为0111 1110,解决方法:规定若数据中又连续的5个1则在5个1后面插入一个0,接收放在数据部分看到连续的5个1就将后面的0删除继续读取(转义)

A(address):地址

C(control):控制字段

LCP协议报文类型

LCP协议报文类型分为三类:链路配置报文、链路终止报文、链路维护报文。

LCP建立

复制代码
1、MRU值=1500--->PPP数据帧所允许携带的最大数据单元。
2、认证--->1、是否进行认证;2、使用何种方式进行认证。
3、魔术字:用以检测链路中是否存在环路(随机字)。

LCP协商阶段

复制代码
以A和B两台设备为例:

A设备正常发送出Request报文,在没有收到回复之前,每隔3秒重传一次该报文,连续重传10次。如果还未收到对方发送的回复信息,则认为对端不可用,停止报文发送。直到接到B设备向A发送Request报文,A设备才能向B设备发送出Request报文。

如果正常接收到对端的ACK回复信息,则表明B设备认可A设备的链路参数配置。但是此时链路会话还未建立成功。

B设备向A发送Request报文,等待A设备认可B设备的链路参数配置。(LCP建立是双向的)

当双方均认可对方的参数后,LCP协商成功。

认证阶段

复制代码
	PPP协议的认证,是通过调用AAA(认证、授权、计费)来完成的。

PPP协议的认证是单向的,也可以是双向的。---一般采用单向认证。

PPP会话的认证是一次性会话的方式,当第一次链路建立完成后,后续修改认证方式不会影响链路的通讯

PAP---密码认证协议--->被认证方需要将认证的账户名和密码以明文的形式发送给认证方

复制代码
认证方配置
[r2]aaa
[r2-aaa]local-user huawei password cipher 123456 ---创建用户信息
[r2-aaa]local-user huawei service-type  ppp  ---规定服务协议

[r2-Serial1/0/0]ppp authentication-mode pap  ---规定该串口的认证模式为PAP

被认证方配置
[r1-Serial1/0/0]ppp pap local-user huawei password cipher 123456

CHAP---挑战握手协议--->认证不再传递明文信息,而是采用对比摘要值的方式来进行认证

复制代码
认证过程:
1、认证方先发送挑战报文,里面包含了认证方的用户名和一个随机值。
2、被认证方根据报文中的用户名查找对应密码信息,然后将密码和发送来的随机值一起做HASH运算得到摘要值,最后将自己的用户名和摘要值通过应答报文发送给认证方。

哈希(HASH):(注:不是加密技术,是压缩技术)
1、任意长度的输入转换为固定长度的输出。---MD5:将任意长度的输入转换为128位的输出。
2、相同输入,相同输出。
3、不可逆。
4、蝴蝶效应(输入有小的变化,输出变化就会很大)

认证方:
[r2-aaa]local-user nanjing password cipher 111
[r2-aaa]local-user nanjing service-type ppp 

[r2-Serial1/0/0]ppp authentication-mode chap 

被认证方:
[r1-Serial1/0/0]ppp chap user nanjing    //需要分开来写
[r1-Serial1/0/0]ppp chap password cipher 111

​ 双向认证时:一条PPP链路的两端可以使用不同的认证协议认证对端,但是被认证方必须支持认证方要求使用的认证协议,并且配置正确的用户名和密码信息

相关推荐
Sheffield1 天前
Docker的跨主机服务与其对应的优缺点
linux·网络协议·docker
JaguarJack1 天前
FrankenPHP 原生支持 Windows 了
后端·php·服务端
BingoGo1 天前
FrankenPHP 原生支持 Windows 了
后端·php
JaguarJack2 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo2 天前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack3 天前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay4 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954484 天前
CTF 伪协议
php
blasit5 天前
笔记:Qt C++建立子线程做一个socket TCP常连接通信
c++·qt·tcp/ip
YuMiao5 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议