华为、华三、思科高级网络工程师必经之路(5)我们的爱如同TCP连接,始终可靠 ...

打印 上一主题 下一主题

主题 1022|帖子 1022|积分 3070


   欢迎各位彦祖与热巴畅游本人专栏与博客

  你的三连是我最大的动力

  以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]

    专栏跑道一

  ➡️网络空间安全——全栈前沿技能连续深入学习 

  

   
专栏跑道二


  
➡️ 24 Network Security -LJS 


  

  
​ 

  
  

    专栏跑道三

  
 ➡️ MYSQL REDIS Advance operation


  

    专栏跑道四

  
  ➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]

     

      专栏跑道五

  
➡️RHCE-LJS[Linux高端骚操作实战篇]


    专栏跑道六

  
  ➡️数据结构与算法[考研+实际工作应用+C程序设计]

     

      专栏跑道七

  
  ➡️RHCSA-LJS[Linux初级及进阶骚技能]

  

  


上节回顾


   
   

1.PPP---点到点协议

1.1 PPP的根本定义与功能

   定义:
  

  • PPP 是一种在物理层和数据链路层之间工作、用于在两台装备之间传输数据帧的协议。它的目标是提供一个简朴、灵活和可靠的方式来在多个范例的通信线路上进行数据传输。PPP支持多种网络层协议的封装,并能够在不可靠的物理媒体上建立和维护连接。
  
  PPP协议的紧张功能包罗:
  

  • 帧封装:PPP可以封装不同的网络层协议,如IP、IPX等。
  • 链路管理:PPP在两台装备之间建立、设置和管理链路。
  • 错误检测:PPP提供根本的错误检测机制,确保数据帧的传输可靠性。
  • 身份验证:PPP支持多种身份验证机制,确保只有授权的装备能够建立连接。
  • 数据压缩与加密:PPP支持通过扩展协议进行数据压缩和加密,以提高服从和安全性。
  
1.2PPP协议的优点:

   
  

  • PPP协议具备精良的兼容性,任何串行接口只要支持全双工通讯,就支持PPP协议
  • 具备可移植性---PPPoE协议;将PPP移植到以太网中。
  • 可以完成认证和授权过程。
  • 没有重传机制,网络开销较小,速率快
  

1.3PPP的帧结构

   PPP数据帧由多个字段构成,包罗:
  

  • 标记字段(Flag):一个单字节,值为0x7E,表现帧的开始和结束。所有PPP帧都以这个字节开始和结束。
  • 地点字段(Address):一个字节,通常值为0xFF,表现广播地点。
  • 控制字段(Control):一个字节,通常值为0x03,表现使用无确认方式的帧格式。
  • 协议字段(Protocol):两个字节,用于指示数据部分的协议范例,例如,0x0021表现IP协议,0x8021表现IPv6协议。
  • 数据字段(Data):数据部分,即实际传输的网络层数据。
  • 帧校验序列(FCS,Frame Check Sequence):一个4字节的CRC(循环冗余校验)字段,用于检测数据在传输过程中是否发生了错误。
  

1.4PPP链路建立阶段


1. Dead(死亡)状态

      

  • 描述:链路的初始状态,表现链路处于未激活状态,没有物理层连接。
  • 转换条件:当物理层连接建立时,链路状态从 Dead 转换到 Establish。
  

 
2. Establish(建立)状态

      

  • 描述:在这个状态下,链路开始进行协商,紧张是通过 LCP(Link Control Protocol,链路控制协议)进行链路参数的协商。
  • 转换条件:

    • 假如 LCP 协商成功,链路状态从 Establish 转换到 Authenticate(假如设置了认证)或 Network(假如没有设置认证)。
    • 假如 LCP 协商失败,链路状态从 Establish 转换到 Terminate。

  

 
3. Authenticate(认证)状态

      

  • 描述:在这个状态下,链路进行认证,通常使用 PAP(Password Authentication Protocol,密码认证协议)或 CHAP(Challenge Handshake Authentication Protocol,挑衅握手认证协议)。
  • 转换条件:

    • 假如认证成功,链路状态从 Authenticate 转换到 Network。
    • 假如认证失败,链路状态从 Authenticate 转换到 Terminate。

  

 
4. Network(网络)状态

      

  • 描述:在这个状态下,链路已经建立并且通过了认证(假如设置了认证),可以进行网络层协议(如 IP)的协商和数据传输。
  • 转换条件:

    • 假如网络层协议协商成功,链路保持在 Network 状态,进行数据传输。
    • 假如网络层协议协商失败,链路状态从 Network 转换到 Terminate。

  

 
5. Terminate(停止)状态

      

  • 描述:在这个状态下,链路正在关闭,开释资源。
  • 转换条件:

    • 当链路完全关闭后,链路状态从 Terminate 转换到 Dead。

  

 
6. Closing(关闭)状态

      

  • 描述:一个过渡状态,表现链路正在从一个状态转换到另一个状态。
  • 转换条件:

    • 根据具体环境,从 Closing 状态可以转换到其他状态,如从 Closing 状态可以转换到 Terminate 状态。

  

7. Down(关闭)状态

      

  • 描述:链路关闭后的状态,表现链路已经完全关闭,但物理层连接仍然存在。
  • 转换条件:

    • 假如链路需要重新建立,链路状态从 Down 转换到 Establish。

  


1.5PPP数据帧封装结构



1. 帧起始和结束标记(Flag)

      

  • 标记:PPP 帧以一个字节的标记开始和结束,其十六进制值为0x7E。
  • 作用:用于标识帧的开始和结束,确保吸收方能够正确辨认帧的边界。
  

 
2. 地点字段(Address)

      

  • 地点:一个字节,通常设置为0xFF。
  • 作用:在 PPP 中,地点字段没有实际意义,因为 PPP 是点对点连接,不存在多地点的环境。
  

 
3. 控制字段(Control)

      

  • 控制:一个字节,通常设置为0x03。
  • 作用:雷同于地点字段,控制字段在 PPP 中也没有实际意义,紧张是为了与其他协议兼容。
  

4. 协议字段(Protocol)

      

  • 协议:两个字节,用于标识帧中信息部分所承载的数据范例。
  • 作用:通过协议字段,PPP 可以承载多种网络层协议的数据,例如 IP(0x0021)、IPX(0x002B)等。
  

 
5. 信息部分(Information)

      

  • 信息:可变长度,最多不超过 1500 字节。
  • 作用:承载网络层数据报(如 IP 数据报),是 PPP 帧的紧张数据部分。
  

 
6. 帧校验序列(FCS)

      

  • FCS:两个字节,用于检测帧在传输过程中是否出现错误。
  • 作用:通过循环冗余校验(CRC)算法计算得到,吸收方通过校验 FCS 来判断帧的完整性。
  

7. 字节填充(Byte Stuffing)

      

  • 填充:在 PPP 帧中,假如信息部分的数据中出现了与标记字段相同的值(0x7E),则需要进行字节填充,将0x7E更换为0x7D 0x5E。
  • 作用:确保帧的标记字段不会在信息部分中出现,制止吸收方误判帧的边界。
  


8. 透明传输

      

  • 透明:PPP 通过字节填充和其他机制实现透明传输,即可以传输任意数据而不会影响帧的结构。
  



1.6LCP协议报文范例

   

  • LCP协议报文范例分为三类:链路设置报文、链路停止报文、链路维护报文。
  如下图所示:


 

1.7LCP建立

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

   

  • 以A和B两台装备为例:
  • A装备正常发送出Request报文,在没有收到回复之前,每隔3秒重传一次该报文,连续重传10次。
  • 假如还未收到对方发送的回复信息,则认为对端不可用,停止报文发送。
  • 假如正常吸收到对端的ACK回复信息,则表明B装备认可A装备的链路参数设置。但是此时链路会话还未建立成功。
  • B装备向A发送Request报文,等候A装备认可B装备的链路参数设置。
  • 当双方均认可对方的参数后,LCP协商成功。
  1.9 认证阶段

   

  • PPP协议的认证,是通过调用AAA(认证、授权、计费)来完成的。
  补充说明:

   

  • PPP协议的认证是单向的,也可以是双向的。        ---一样平常采用单向认证。
  • PPP会话的认证是一次性会话的方式,当第一次链路建立完成后,后续修改认证方式不会影响链路的通讯
  2.PAP---密码认证协议

   

  • 被认证方需要将认证的账户名和密码以明文的形式发送给认证方
  

 2.1认证方以及被认证方设置

  1. [r2]aaa
  2. [r2-aaa]local-user huawei password cipher 123456 ---创建用户信息
  3. [r2-aaa]local-user huawei service-type  ppp  ---规定服务协议
  4. [r2-Serial1/0/0]ppp authentication-mode pap  ---规定该串口的认证模式为PAP
  5. 被认证方配置
  6. [r1-Serial1/0/0]ppp pap local-user huawei password cipher 123456
复制代码
2.2CHAP---挑衅握手协议

   

  • --->认证不再传递明文信息,而是采用对比摘要值的方式来进行认证
  2.2.1认证过程:

   

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

   

  • 1、任意长度的输入转换为固定长度的输出。---MD5:将任意长度的输入转换为128位的输出。
  • 2、相同输入,相同输出。
  • 3、不可逆。
  • 4、蝴蝶效应
  2.2.2认证方以及被认证方:

  1. 认证方:
  2. [r2-aaa]local-user nanjing password cipher 111
  3. [r2-aaa]local-user nanjing service-type ppp
  4. [r2-Serial1/0/0]ppp authentication-mode chap
  5. 被认证方:
  6. [r1-Serial1/0/0]ppp chap user nanjing
  7. [r1-Serial1/0/0]ppp chap password cipher 111
复制代码
  

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

3.网络层协议协商阶段---NCP协商

3.1IPCP---互联网协议控制协议;

   

  • IP地点是否可用。---检测对端IP地点是否与本端冲突。属于授权的过程。
  3.2协商过程

   静态地点协商
  

  • 一旦认可了对方的IP地点,则将会主动学习到达该地点的主机路由
  动态地点协商
  

  




3.3动态地点协商设置:

  1. 配置方:
  2. [r1-Serial1/0/0]remote address 1.1.1.1  
  3. 获取方:
  4. [r2-Serial1/0/0]ip address ppp-negotiate
复制代码






免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王國慶

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表