l2tp client initial 协商报文分析
分析 Client 报文 initial l2tp 协商
2023-09-14 09:06:46 时间
1、协商的报文整体观察
从整体上出发,L2TP的协商被我的红框分为上面几个步骤,首先是客户端向服务端发送RQ隧道协商请求,然后服务端回复,最后客户端再确认,这个阶段完成后会协商出一个隧道ID。然后就是会话协商,也是三次数据包的交互,最后协商出一个会话ID。然后就是PPP协议中的LCP协商,到CHAP的认证,到最后的IPCP网络层地址协商。
2、L2TP的协商
SCCRQ报文:
其实和大部分的协商请求报文类似,无非是协商一些版本一些控制参数,Host Name就是客户端的标识符,这样虽然LNS上可能配置了多个l2tp隧道,这样就可以知道使用什么配置用于回应,Assigned Tunnel ID就是用于双方的隧道ID的协商的一个字段,Challenge这个主要就是用于隧道验证,它将我们的隧道密码和Hash函数结合在一起,比较简单的一种验证方式就i是将密码与盐做hash计算,然后交给服务端,服务端如果计算出来的hash值是相同的,那么就验证通过。其他就是一些用于拨号网络什么的控制参数,无伤大雅。
SCCRP报文:
可以看到在SCCRP报文中还多了一个Challenge Response的字段,它和Challenge字段共同用于隧道的身份验证。
SCCCN报文:
这是隧道ID协商的最后一个报文,主要起确认作用,里面的信息不是很多。
ICRQ报文:
会话ID协商请求报文
ICRP报文:
会话ID协商响应报文
ICCN报文:
可以看见在确认包中确认了相关的隧道ID和会话ID
所以总共经过六个包的协商协商了一些L2TP上的控制参数,隧道认证以及隧道ID和会话ID的确认。后续的传输报文就使用这些确定的控制参数,隧道ID以及会话ID进行数据传输。
相关文章
- K8s源码分析(20)-client go组件之request和result
- 如何进行需求分析?
- HLA基因泛癌分析发6分+SCI
- [DataCon 2022] 大数据安全分析竞赛 物联网赛道writeup
- React源码分析8-状态更新的优先级机制_2023-02-06
- client-go 源码分析(1) - discovery模块:discoveryclient获取所有的gv和gvr
- client-go 源码分析(9) - workerqueue之限速队列RateLimitingQueue
- 【Android 启动过程】Activity 启动源码分析 ( ActivityThread 流程分析 一 )
- 【数字信号处理】线性常系数差分方程 ( 使用 matlab 求解 “ 线性常系数差分方程 “ 示例二 | A 向量分析 | B 向量分析 | 输入序列分析 | matlab 代码 )
- ORA-12734: Instant Client Light: unsupported client national character set string ORACLE 报错 故障修复 远程处理
- ORA-12735: Instant Client Light: unsupported client character set string ORACLE 报错 故障修复 远程处理
- 使用 ARA 分析 Ansible 运行
- 之处MongoDB的局限性分析(mongodb不足)
- Oracle 相乘运算实例分析(oracle相乘)
- MySQL数据库实现canal同步分析(canal同步mysql)
- Oracle FM FX 飞速数据库管理和分析利器(oracle fm fx)
- Java中CyclicBarrier的用法分析