五、L2TP的Tunnel和Session建立过程
 
① 1(SCCRQ)Start-Control-Connection-Request
      控制链接发起请求,由LAC或LNS向对端发送,用来初始化LAC和LNS之间的tunnel,开始tunnel的建立过程。
②  2(SCCRP)Strat-Control-Connection-Reply
      表示接受了对端的连接请求,tunnel的建立过程可以继续。
③  3(SCCCN)Start-Control-Connection-Connected
       对SCRRP的回应,完成tunnel的建立。
④  ZLB
      零长度消息报文,一般为查询报文,LAC可以用Hello报文进行恢复,也可以直接丢弃。
⑤  10(ICRQ)Incoming-Call-Request
       当LAC检测到有用户拨入电话的时候,向LNS发ICRQ,请求在已建立的tunnel中建立session。
⑥  11(ICRP)Incoming-Call-Reply
      用来回应ICRQ,表示ICRQ成功,LNS也会在ICRP中标识L2TP session必要的参数。
⑦  12(ICCN)Incoming-Call-Connected
      用来回应ICRP,L2TP session建立完成。

六、其它主要控制消息了解

控制报文: 0(reserved)
                       1(SCCRQ)
                       2(SCCRP)
                       3(SCCCN)
                       4(STOPCCN)Stop-Control-Connection-Notification
                       由LAC或LNS发出,通知对端tunnel将要停止,控制链接将要关闭。另外,所有活动的会话都会悄悄的被清除,原因会显示在Result Code AVP中。
                       5(reserved)
                       6(HELLO)
会话报文:
                        8(OCRP)Outgoing-Call-Reply
                        9(OCCN)Outgoing-Call-Connected
                        10(ICRQ)
                        11(ICRP)
                        12(ICCN)
                        13(reserved)
                        14(CDN)Call-Disconnect-Notify
                        由LAC或LNS发出,通知对端session将要停止。
 
错误报告报文:15(WEN)WAN-Error-Notify
 
PPP链接控制报文:16(SLI)Set-Link-Info

7(OCRQ)Outgoing-Call-Request                                       LNS发向LAC用来设置PPP协商的选项,这些选项在call的生存周期中可以随时变化,因此LAC有能力在活动的PPP session上更新内部的呼叫信息和行为。


七、L2TP报文头格式
Type(T):标识消息的类型,0表示是数据消息,1表示控制消息。
Length(L):置1时,说明Length域的值是存在的,对于控制消息L位必须置1。
X bit:保留位,所有保留位均置0。
Sequence(S):置1时,说明Ns和Nr是存在的,对于控制消息S必须置1。
Offset(O):置1时,说明Offset Size域是存在的,对于控制消息O必须置0。
Priority(P):只用于数据消息,对于控制消息P位置0,当数据消息此位置1时,说明该消息在本列队和传输时应得到优先处理。
Ver:必须是2,表示L2TP数据报头的版本。
Length:标识整个报文的长度(以字节为单位)。 
Tunnel ID:标识L2TP控制链接,L2TP Tunnel标识符只有本地意义,一个Tunnel两端被分配的Tunnel ID可能会不同,报头中的Tunnel是指接收方的Tunnel ID,而不是发送方的。本端的Tunnel ID在创建Tunnel时分配。通过Tunnel ID AVPs和对端交换Tunnel ID信息。
Session ID:标识Tunnel中的一个session,只有本地意义,一个session两端Session ID可能不同。
Ns:标识发送数据或控制消息的序号,从0开始,以1递增,到216再从0开始。
Nr:标识下一个期望接收到的控制消息。Nr的值设置成上一个接收到的控制消息的Ns+1。这样是对上一个接收到的控制消息的确认。数据消息忽略Nr。
Offset Size:如果值存在的话,标识有效载荷数据的偏移。

八、 AVP介绍及其格式
1、AVP介绍
    控制消息中要携带的相关参数,使用AVP(Attribute Value Pair,属性值对)的形式来表示,使协议具有很好的扩展性。
2、AVP格式
● 开始的6个bit是一个位掩码,用来描述AVP的普通属性,RFC2661定义了前2位,其余被保留。
● (M)命令位:用来控制收到不认识的AVP时必须执行的动作。如果在一个关联特殊的会话消息中M位被置为不认识的AVP,这个会话一定会被终止。如果在一个关联全部通道的消息中M位被置为不认识的AVP,整个通道包括通道内的会话一定会被终止。如果M为没有被设置,这个不认识的AVP会被忽略掉。 
● (H)隐藏位:用来识别一个AVP的属性域里的隐藏数据。 
● 保留位一定要置0,收到一个保留位为1的AVP,会把收到的AVP当做不认识。

九、部分主要AVP含义
(1)   Control Connection Management AVP
(2)   Protocol Version AVP :标识L2TP协议的版本。
(3)   Framing Capabilities AVP :倒数第二bit位A置1,标识支持帧异步;倒数第二bit位S置1,标识支持帧同步。
(4)   Beaer Capabilities AVP :

(5)   Tie Breaker AVP
标识发送者希望在LAC和LNS之间只存在一个tunnel;如果LAC和LNS同时都发起了SCCRQ,那么需要选择一个单一的tunnel。接收到SCCRQ端检查自己是不是向对端发送了SCCRQ,如果已经发送了,就比较Tie Breaker值的大小,值小的继续tunnel建立,值大的必须放弃tunnel。如果两个值相等,都放弃。
(6)   Host name AVP :标识发送端的主机名称。
(7)   Assigned Tunnel ID :本端(发送端)分配的tunnel ID。
(8)   Receive Window Size :
标识接收窗口的大小:如果没有发送这个AVP,对端必须假设接收窗口是4,远端在发送指定数量的控制消息后,必须等待对方确认。
(9)   Challenge :标识发送端希望对tunnel对端进行CHAP认证。
(10) Challenge Response :对接收到Challenge的响应。
(11) Assigned Session ID :
本端分配的Session ID,当LAC检测到用户呼叫的时候,向LNS发送ICRQ,请求在已经
存在的tunnel中建立session链接,LAC在本端为需要建立的session分配一个session ID,这个session ID只具有本地意义。LNS接收ICRQ后回应ICRP,在ICRP中也包含了LNS为这个session分配的一个具有本地意义的session ID。通过ICRQ和ICRP,本地就可以获得对端为这条session分配的session ID了。
注意:在L2TP包头中的session ID是指对端对session分配的session ID。
(12)Minimum BPS :标识呼叫链接可接受的最低的连接速率。
(13)Maximum BPS :标识呼叫链接可接受的最高的连接速率。
(14)Bearer Type :标识呼叫连接的是模拟信道还是数字信道。
(15)Framing Type :标识支持帧同步还是帧异步,如果A和S都置位说明都支持或者是不清除。
(16)Called Number :被呼叫方的电话号码。
(17)Calling Number :呼叫方的电话号码。
(18)Rx Connect Speed :LAC的接收速率,可能和发送速率是不对称的。
(19)Private Group ID :LAC用来标识客户属于某个特定的组织。

L2TP协议笔记2---L2TP主要协议报文分析相关推荐

  1. L2TP协议笔记1---L2TP概念及协议流程分析

    这个协议是早前做防火墙测试工作时主要负责测试的协议,虽然只做了几个月,但感觉如果把当时的一些学习笔记和经验整理好放在网络中,不仅可以使自己的协议理解得到巩固,也让自己有机会在和别人交流中互相学习.   ...

  2. 【网络协议笔记】TCP/UDP 协议整理

    概要 运输层协议为运行在不同主机上的应用 进程 之间提供了 逻辑通信(logic communica-tion)功能. 运输层是在 端系统中 而不是在路由器中实现的. 在发送端,运输层将从发送应用程序 ...

  3. MQTT协议详解之CONNECT/CONNACK报文分析

    1.MQTT.fx 发起不含遗嘱的连接 连接成功后,查看Wireshark抓包情况如下: 从上图抓包效果,我们可以看出: (1) MQTT协议是建立在TCP协议的基础上的应用层协议,也就是说MQTT协 ...

  4. 【智能路由器】ndpi深度报文分析源码框架

    [智能路由器]系列文章连接 http://blog.csdn.net/u012819339/article/category/5803489 某些需求可能会要求路由能精确的分析出流经路由的流量是属于什 ...

  5. 趣谈网络协议笔记-二(第七,八,九讲)

    趣谈网络协议笔记-二(第七,八,九讲) 勉励 人生而自由,却无往不在枷锁(牢笼)之中. ------卢梭@<社会契约论> 为那些有形的牢笼感到庆幸吧. 为自己出生于这个时代感到庆幸吧,因为 ...

  6. 趣谈网络协议笔记-二(第五讲)

    趣谈网络协议笔记-二(第五讲) 目录 第二模块 底层网络知识讲解:第二层到第三层 第5讲 | 从物理层到MAC层:如何在宿舍离自己组网完联机游戏 第6讲 | 交换机与VLAN:办公室太复杂,我要回学校 ...

  7. [ 笔记 ] 计算机网络安全_2_internet协议的安全性

    [笔记] 计算机网络安全:(2)internet协议的安全性 网络安全基础 internet协议的安全性 Web安全 网络扫描和网络监听 防火墙原理与设计 入侵检测系统 VPN技术 目录 [笔记] 计 ...

  8. 【计算机网络学习笔记07】PPP协议、IP编址、NAT技术

    [计算机网络学习笔记07]PPP协议.IP编址.NAT技术 一.PPP协议 是TCP/IP网络中最重要的点到点的数据链路层协议. 1 PPP协议的组成 1)链路控制协议:建立并维护数据链路连接(身份验 ...

  9. 趣谈网络协议笔记-二(第十九讲)

    趣谈网络协议笔记-二(第十九讲) HttpDNS:网络世界的地址簿也会指错路 自勉 勿谓言之不预也 -- 向为祖国牺牲的先烈致敬! 引用 dns缓存刷新时间是多久?dns本地缓存时间介绍 - 东大网管 ...

最新文章

  1. R语言tidyr包Unite()函数实战详解:多个数据列合并为一列
  2. RocketMQ工作原理 高级功能介绍
  3. 连接oracle10g数据库免安装oracle客户端解决办法 (转载)
  4. asp sql查询过滤空格_对比Excel,轻松学习SQL数据分析数据笔记02
  5. se16 and include table entries into TR SAT trace - Gross time and Net time
  6. CS231n Convolutional Neural Networks for Visual Recognition------Scipy and MatplotlibTutorial
  7. iOS-格式化金额,三位一逗号
  8. Mysql学习总结(73)——MySQL 查询A表存在B表不存在的数据SQL总结
  9. ireport怎么生成jasper文件
  10. Java selenium和python_c#和Java和python设置selenium超时时间
  11. I2S,PCM,IOM-2,I2C,SPI,UART,GPIO
  12. MD5加密 MD5加盐
  13. 行业分类代码 2017 最新版 创建sql语句
  14. d3d示例程序_3D打印改变我们现实的10个示例
  15. python--xlsx文件的读写
  16. Python爬虫爬取个人主页信息(拖拽验证码验证)+Linux部署
  17. MT7620a-Openwrt-Frp
  18. 基于软路由连接上网的相关配置
  19. 当你的才华撑不起你的野心的时候,你就应该努力
  20. dp与px的转换对照表

热门文章

  1. centos mysql二进制包_centos mysql5.7 二进制包安装
  2. selenium使用webdriver新开标签页
  3. docker 日志_解决docker容器日志导致主机磁盘空间满了的情况
  4. 无法删除所有指定的值_SQL-插入、更新、删除、创建
  5. stm32l4 外部中断按键会卡死_stm32f103c8怎么实现外部中断按键点灯,按一下就亮,再按一下就灭,求大神帮忙...
  6. html5 video在uc不自动播放,uc浏览器无法播放视频怎么办
  7. leetcode46.全排列
  8. 第四单元作业——UML分析总结学期总结
  9. UVAPOJ离散概率与数学期望入门练习[4]
  10. POJ3728 THE MERCHANT LCA RMQ DP