数据链路层网络类型和协议分析(P2P)

数据链路层的网络类型:

根据数据链路层所使用的协议及规则来进行划分:
    1.P2P网络 --- 点到点网络
    2.MA网络 --- 多点接入网络
        ①BMA -- 广播式多点接入网络
        ②NBMA -- 非广播式多点接入网络

数据链路层的网络协议特点:

①MA网络 --- 以太网:

以太网协议 -- 封装数据帧时,需要源MAC地址和目标MAC地址(MAC地址是以太网独有的)
    #利用以太网的二层网络中可以包含的多个接口(>=2),每个以太网接口之间都可以通过交互以太网帧的形式进行二层通讯(以太网组建多节点网络)
    #使用MAC地址用来表定主机
    
#所以 以太网属于MA网络,而且以太网支持广播,所以以太网属于BMA网络(广播)
    
为什么以太网的速度比串线快?
   以太网的频分技术
   #以太网的一根铜丝上可以同时发送不同频段的信号,且互不干扰。实现数据的并行发送

以太网技术:
①同轴电缆         [传递数字信号]
②电话线(RJ-11)    [传递模拟信号]
③光纤             [传递光信号] 

②P2P网络 --- 串线技术:

P2P网络
当一个网络中只能存在两台设备,并且不允许第三台设备(无论是什么设备,包括集线器等)加入,这样的网络称为
    #不需要MAC地址进行主机区分 
使用串线,且设备上有对应的串线端口 --- 串线网络
    #串线优点:[传输距离远且安全]

#两种串线标准:
①T1:最大到1.544Mb
②E1:最大到2.048Mb

        之前学习的数据链路层都是基于以太网二类帧的网络,而这次主要讲述的是P2P类型网络

P2P网络:

        首先P2P网络要求为:一个网络中只能存在两台设备,并且不允许有第三台设备接入(包括集线器,交换机等设备),而且P2P网络使用的是serial接口(需要加对应的serial 板)。由于P2P主要是使用串线进行数据传输,P2P串线网络支持的两种下行技术:HDLC协议和PPP协议。

        在P2P网络中,如果对应的接口的串线协议不一样,则无法通信(封装方式不一样),串线的通信标准为双up + ip address 

        P2P没有ip也可以正常通讯,配置ip主要是为了ping地址,主要为了三层通讯(三层协议)

①HDLC协议:

HDLC : 高级数据链路控制协议 -- 应用在串线的数据链路层协议  (缺点:不同版本间兼容性不强)

HCLC的版本:

  •     满足标准的HDLC :ISO组织在SDLC的基础上优化得来
  •     非标准的HDLC :各大厂商在标准的HDLC的基础上进行优化发展得来的

 不同的厂商的HDLC和标准的HDLC有区别思科使用的是非标准的HDLC协议,而华为则默认使用PPP协议。如果华为切换为HDLC,也是非标准的HDLC协议。有趣的是,华为切换为非标准的HDLC协议被抓包都默认是思科的(原因:非标准HDLC是由思科提出的)
    HDLC的数据包内:字段较少 -- 完成的事情较少
#没有MAC地址(P2P网络),使用Portocol协议来标定上层协议[类似于以太网的type],仅能完成介质访问控制工作

 抓取一个DHLC网段

数据链路层网络类型和协议分析(P2P)_第1张图片

 分析:HDLC的数据包内:字段较少 -- 完成的事情较少

        没有MAC地址(P2P网络),使用Portocol协议来标定上层协议[类似于以太网的type],仅能完成介质访问控制工作,标识为思科

②PPP协议

PPP : 点到点协议 -- 应用在串线链路的协议

PPP协议的特点:

     1.PPP协议有相同的标准,所以兼容性较强

                同时也可以支持 任何一种支持全双工的串线之中
    2.有较强的可移植性(原因:PPPoE技术)     PPPoE ---> PPP over E (E:以太网)  

                PPP协议可以做认证和授权   --- 可以做计费系统
   在计算机上的查看PPPoE:电脑-设置-网络-拨号-连接-设置新连接-PPPoE

数据链路层网络类型和协议分析(P2P)_第2张图片

PPP协议中包含多个成员协议:

①LCP协议 --- 链路控制协议

②NCP协议(一系列协议的总称) --- 网络控制协议
        其中IPCP协议(针对三层的IP协议时的协商)  --- 后面建立PPP协议会讲到

PPP的帧结构:

数据链路层网络类型和协议分析(P2P)_第3张图片

 格式: A  C  协议  信息部分  FCS  F
F -- flag -- 相当于以太网帧中的前导符 (7E - 占位一个字节)   
    [如果在PPP帧中如果存在其他的7E(非FLAG)则需要转意]

A -- address -- FF填充(链路层不需要ip,固定取值) - 占位一个字节
C -- control -- 03填充(用处不大,固定取值) - 占位一个字节
协议 -- 表明后续信息部分采用的协议类型 - 占位两个字节
# F A C 协议 为帧固定头部结构

信息部分 --- 占用不超过1500个字节

FCS -- 帧校验序列 -- 进行数据完整性校验
F -- flag -- 相当于以太网帧中的前导符 (7E - 占位一个字节)   
#FCS F 为帧固定尾部结构 

 PPP协议的建立:

        PPP和TCP协议一样,需要去建立相应的PPP会话,分为三个阶段:链路建立阶段,认证阶段,网络层协议阶段

!!!PPP会话是一次性会话,一旦建立成功,无论后续是否设置密码验证,都不影响当前连接 !!!

!!!设置认证则需要重新建立PPP连接 (到一个接口上进行shutdown,再undo shutdown ,此时重新建立ppp连接,然后认证)!!!

一,链路建立阶段 --- LCP建立

主要任务是通过LCP协议来建立链路时所需要的一些参数的协商工作
        协商内容 1.MRU 2.第二阶段是否认证部分,还有如何进行认证(类似于SSH加密)
            ①MRU(PPP帧的数据部分所携带的最大传输单元。类似于以太网二类帧的MTU)
                    #MTU(以太网帧的数据部分所携带的最大传输单元)
            ②发送是否进行认证/认证方式[还有相关认证信息] -- 回包:ACK(同意)/NAK(不同意)
                    #串线双发互相发送,直到双方协商到互相发送ACK,此时结束第一阶段

抓包 !!! 此时为互相认证ack和request包

二,认证阶段 --- PPP认证 (可选,非强制)

  • PPP的认证阶段可以调用aaa来进行认证(aaa:认证,授权,计费)
  • PPP的认证可以是单向认证也可以是双向认证(A-B:A要求B带认证,B发送认证信息,而A不需要)

两种认证方式PAP,CHAP:

①PAP -- 密码认证协议

    如果认证选择的是PAP协议,则被认证方将用户名和密码以明文形式发送给认证方

       被认证方发送Request包,认证方回复ACK/NAK -- 认证成功/失败

//要求认证方设置:
    #设置aaa认证  用户为lxb 密码为123456
[R2]aaa
[R2-aaa]local-user  lxb password cipher 123456
Info: Add a new user.
    #在对应接口配置PAP认证
[R2-aaa]interface Serial 4/0/1
[R2-Serial4/0/1]ppp authentication-mode  pap 

//认证方设置
[R1-Serial4/0/0]ppp pap local-user lxb password cipher 123456
    #PPP协议 的pap认证 用户为lxb  密码为123456
    #Pap的认证需要双方都使用相同的方式

#需要重新启动端口!!! PPP会话是一次会话,一旦建立成功,无论后续是否密码成功,都不影响

抓包查看  明文认证!!!

 被认证方发送Request包   lxb 加上密码123456

数据链路层网络类型和协议分析(P2P)_第4张图片

 认证方回复ACK-- 认证成功 --- 欢迎光临

数据链路层网络类型和协议分析(P2P)_第5张图片

 ②CHAP -- 挑战握手协议(安全性高于PAP,通过比对摘要值的方法来进行认证)

1.认证方发送一个challeng包

        challeng包        [包含有用户名+一个随机数C]

2.被认证方通过本地计算hash值A1,然后回复一个response包

                A1 = hash[C,之前共同协商的共享密码(被认证方持有的)]

         response包        [包含本地计算的hash值A1]

3.认证方通过本地计算hash值A2,然后与A1进行比较

                A2 = hash[C,之前共同协商的共享密码(认证方持有的)],然后比较A1和A2

         比对成功则返回success包/失败则返回failure包

关于摘要值A1,A2 - 通过hash算法来算出来的数据 

//认证方配置  --- 使用aaa的lxb用户的123456 密码 只是修改了最后的协议为chap
[R2-Serial4/0/1]ppp authentication-mode  chap 

//被认证方配置
//①删除之前的pap认证
[R1-Serial4/0/0]display this 
[V200R003C00]
#
interface Serial4/0/0
 link-protocol ppp
 ppp pap local-user lxb password cipher %$%$2q>XYOXC*REVqb4E+qDX,%(C%$%$
 ip address 1.0.0.1 255.255.255.0 
#
return
[R1-Serial4/0/0]undo ppp pap local-user      #此时只要删除认证用户即可!!!
[R1-Serial4/0/0]display this 
[V200R003C00]
#
interface Serial4/0/0
 link-protocol ppp
 ip address 1.0.0.1 255.255.255.0 
#
return

//②重新配置chap认证   --- chap为分布认证!!! 用户和密码需要分开宣告!!!
[R1-Serial4/0/0]ppp chap user lxb	
[R1-Serial4/0/0]ppp chap user lxb ?
    Please press ENTER to execute command 
[R1-Serial4/0/0]ppp chap password cipher 123456

#需要重新启动端口!!! PPP会话是一次会话,一旦建立成功,无论后续是否密码成功,都不影响

抓包 !!! 此时选择为抓取chap包 可以看见为  challeng包 - response包 - success包

challeng包 --- [包含有用户名+一个随机数C]  随机数使用哈希加密了

数据链路层网络类型和协议分析(P2P)_第6张图片

 response包 --- [包含本地计算的hash值A1]  A1使用哈希加密了

数据链路层网络类型和协议分析(P2P)_第7张图片

 success包 --- 有欢迎信息

数据链路层网络类型和协议分析(P2P)_第8张图片

hash算法 - 散列函数:

任意长度的输入转化为固定长度输出 -- 固定长度(128)的输出就是摘要值
hash算法不同于加密算法 -- hash不可逆,加密算法可以通过解密得出原值
hash算法特点:①不可逆性 ②雪崩效应
①不可逆性(无法转化回来) -- 压缩映射(映射为固定长度)
②雪崩效应 -- 如果输入存在细微变化,则输出的摘要值将发生明显变化(
哪怕多一个空格,hash的输出都有变化)

三.网络层协议阶段 --- NCP协商 (NCP是一系列协议)

以IPCP为例:IPCP协议去协商网络层的相关参数:①ip地址②ip报文的压缩格式

①如果双方有ip,则双发互发送包来检验是否同意授权对方的ip地址

 #(通过ACK/NAK进行确定,request包进行请求)

//R2上
[R2]interface Serial 4/0/0
[R2-Serial4/0/0]ip address 2.0.0.2 30

抓包!!!   此时R1获取到R2的地址为2.0.0.2的请求

数据链路层网络类型和协议分析(P2P)_第9张图片

 此时R1同意R2的2.0.0.2网段的请求 数据链路层网络类型和协议分析(P2P)_第10张图片

②如果,有一方没有ip地址,则可通过NCP协商机制,可以做到自动发送ip地址

 a.发送方发送request包(由于没有地址,只能携带0.0.0.0网段)

b.接受方收到request包,此时查看本地路由,有一个空闲ip地址,然后回复NAK包

(接受方发送的NAK包,携带空闲的ip地址)

 c.发送方获得接受方的ip地址,此时发送request包(包含接受包的ip)

d.接受方同意该地址,回复ACK包

//R1上配置获取ip
[R1]interface Serial 4/0/0
[R1-Serial4/0/0]ip address ppp-negotiate

//R2上配置多余网段
[R2-Serial4/0/0]remote address 1.0.0.0

//查看路由表,R1获取成功 ,成功刷新到路由表
[R2-Serial4/0/0]display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 8        Routes : 8        

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        1.0.0.0/32  Direct  0    0           D   1.0.0.0         Serial4/0/0
        2.0.0.0/30  Direct  0    0           D   2.0.0.2         Serial4/0/0
        2.0.0.2/32  Direct  0    0           D   127.0.0.1       Serial4/0/0
        2.0.0.3/32  Direct  0    0           D   127.0.0.1       Serial4/0/0
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
127.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0
255.255.255.255/32  Direct  0    0           D   127.0.0.1       InLoopBack0

抓包!!! 此时可以看到明显的四个包 

数据链路层网络类型和协议分析(P2P)_第11张图片

 发送方发送request包 --- 此时为携带0.0.0.0网段

数据链路层网络类型和协议分析(P2P)_第12张图片

 接受方回复NAK包   但是包内含有空闲网段1.0.0.0

数据链路层网络类型和协议分析(P2P)_第13张图片

 发送方request包(包含接受包的ip) 

数据链路层网络类型和协议分析(P2P)_第14张图片

 接受方回复ACK包   允许1.0.0.0 这个ip数据链路层网络类型和协议分析(P2P)_第15张图片

图解和配置:

数据链路层网络类型和协议分析(P2P)_第16张图片

P2P网络我们可以接入对应接口,查看对应接口的二层特征 

#进入R1的Serial 4/0/0查看p2p二类帧
[R1]display interface Serial 4/0/0
Serial4/0/0 current state : UP             #接口状态
Line protocol current state : UP           #路由状态
Last line protocol up time : 2022-01-07 20:51:40 UTC-08:00
Description:HUAWEI, AR Series, Serial4/0/0 Interface
Route Port,The Maximum Transmit Unit is 1500, Hold timer is 10(sec)
Internet protocol processing : disabled    #协议状态
Link layer protocol is PPP                 #使用的二层协议为PPP
LCP opened                                 #LCP开启
Last physical up time   : 2022-01-07 20:51:37 UTC-08:00    #up时间信息
Last physical down time : 2022-01-07 20:51:30 UTC-08:00    #down时间信息
Current system time: 2022-01-07 20:52:14-08:00
Physical layer is synchronous, Virtualbaudrate is 64000 bps
Interface is DTE, Cable type is V11, Clock mode is TC
Last 300 seconds input rate 1 bytes/sec 8 bits/sec 0 packets/sec
Last 300 seconds output rate 0 bytes/sec 0 bits/sec 0 packets/sec

Input: 9 packets, 306 bytes
  Broadcast:              0,  Multicast:              0
  Errors:                 0,  Runts:                  0
  Giants:                 0,  CRC:                    0

  Alignments:             0,  Overruns:               0
  Dribbles:               0,  Aborts:                 0
  No Buffers:             0,  Frame Error:            0

Output: 8 packets, 108 bytes
  Total Error:            0,  Overruns:               0
  Collisions:             0,  Deferred:               0
    Input bandwidth utilization  :    0%
    Output bandwidth utilization :    0%

更换协议 :

[R1-Serial4/0/0]link-protocol hdlc 
Warning: The encapsulation protocol of the link will be changed. Continue? [Y/N]
:y

//此时查看p2p协议
[R1]display interface Serial 4/0/0
Serial4/0/0 current state : UP
Line protocol current state : UP
Last line protocol up time : 2022-01-08 00:43:59 UTC-08:00
Description:HUAWEI, AR Series, Serial4/0/0 Interface
Route Port,The Maximum Transmit Unit is 1500, Hold timer is 10(sec)
Internet protocol processing : disabled
Link layer protocol is nonstandard HDLC         #此时为不标准的HDLC
Last physical up time   : 2022-01-08 00:43:59 UTC-08:00
Last physical down time : 2022-01-08 00:43:59 UTC-08:00
Current system time: 2022-01-08 00:44:11-08:00
Physical layer is synchronous, Virtualbaudrate is 64000 bps
Interface is DTE, Cable type is V11, Clock mode is TC
Last 300 seconds input rate 6 bytes/sec 48 bits/sec 0 packets/sec
Last 300 seconds output rate 2 bytes/sec 16 bits/sec 0 packets/sec

Input: 290 packets, 9288 bytes
  Broadcast:              0,  Multicast:              0
  Errors:                 0,  Runts:                  0
  Giants:                 0,  CRC:                    0

  Alignments:             0,  Overruns:               0
  Dribbles:               0,  Aborts:                 0
  No Buffers:             0,  Frame Error:            0

Output: 289 packets, 3488 bytes
  Total Error:            0,  Overruns:               0
  Collisions:             0,  Deferred:               0
    Input bandwidth utilization  :    0%
    Output bandwidth utilization :    0%

//在P2P网络中,如果对应的接口的串线协议不一样,则无法通信(封装方式不一样)
//串线的通信标准为双up + ip address 

//此时R1无法ping通R2
[R1]ping 2.0.0.0
  PING 2.0.0.0: 56  data bytes, press CTRL_C to break
    Request time out
    Request time out
    Request time out
    Request time out
    Request time out

  --- 2.0.0.0 ping statistics ---
    5 packet(s) transmitted
    0 packet(s) received
    100.00% packet loss

你可能感兴趣的:(计算机网络ip数通类,p2p,以太网,网络协议,网络)