VPN系列之L2TP

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

LayerTwoTunnelingProtocol“L2TP”Jade2013/08目录概述L2TP协议过程L2TPVPDN(VirtualPrivateDialNetwork)是指利用公共网络(如ISDN和PSTN)的拨号功能及接入网来实现虚拟专用网,为企业、小型ISP、移动办公人员提供接入服务。企业驻外机构或出差人员,可以从远程经由公共网络,通过隧道实现和总部网络的连接,访问公司内部的资源。L2TP为VPDN广泛采用的隧道技术之一。PPP定义了一种封装技术,在层2点到点的传输多种协议的数据包,用户终端和PPP服务器端运行PPP,层2端点和PPP会话端点终结在相同的物理设备上(AC/NAS);而L2TP提供了对PPP层2数据包的隧道支持,可以使得层2端点和PPP会话端点终结在不同的物理设备上,即可以将PPP会话通过分组交换网络(IP/ATM/FR)传输到其他设备,从而扩展了PPP模型。L2TPL2TP协议组件:VPN用户:使用L2TP协议的用户终端LAC:L2TPAccessConcentrator,终结PPPL2处理,作为L2TP隧道的一端,和LNS建立L2TP隧道,通过隧道将PPP会话在VPN用户和LNS间传输,一般为ISP提供,也称为NAS(NetworkAccessServer)LNS:L2TPNetworkServer,L2TP隧道的服务端,终结将隧道承载PPP会话,在内部网络和隧道间转发数据,一般由企业提供,作为企业内部网的边缘设备L2TPV2由RFC2661规范定义,L2TPV3由RFC3931定义L2TP组网在传统的ISDN/PSTN组网时,一般为此种方式,称为”LAC/NAS发起隧道链接“,隧道两端分别是LAC和LNSL2TP组网当用户已经可以接入Internet时,可以采用此种隧道方式,称为“客户端发起的隧道”和NAS发起隧道相比,隧道两端分别是用户终端和LNS,不需要LAC参与,实际上用户终端中内嵌了LAC/L2TP客户端。L2TP协议结构L2TP隧道定义:隧道在一对LAC和LNS间建立,LAC和LNS间可以建立多个隧道,每个隧道由一个控制连接和0个或多个L2TP会话连接(数据连接)组成隧道承载封装的PPP报文和LAC-LNS间的控制消息一个隧道有且只有一个控制连接,其通过可靠的传输方式在LAC/LNS间交换控制消息,包括隧道的建立和拆除,会话的建立和释放,隧道保活机制等,隧道的建立必须先于会话建立会话连接(数据连接)在一个隧道上可以有0个或多个,用于承载PPP会话L2TP报文基本格式新IP头UDP头L2TP头PPP头原IP头Data20字节8字节16字节2字节20字节控制消息和数据消息报文头格式相同,通过T标志bit区分对于控制消息,L2TP头后的载荷为AVP对,即TLV格式的属性对对于数据消息,L2TP头后的载荷为PPP报文L2TPoverUDP报文格式L2TP报文基本格式续T:代表消息类型:1表示是控制消息,0表示是数据L:代表头中的Length是否出现x:保留,未使用S:代表Sequence是否出现,即Nr和Ns是否出现O:代表Offset是否出现,即offsetsize是否出现P:置1代表该消息需要优先处理Ver:版本号Length代表消息的长度TunnelID:控制连接的标识,注意一个隧道连接将有2个TunnelID,由双方各自分配,发送给对方消息时,使用对方创建的TunnelIDSessionID:会话连接标识,使用方式类似隧道连接的TunnelIDNs:发送序号Nr:期待的发送序号,含义为小于Nr的所有发送消息都已收到,和Ns一起实现控制连接消息的可靠性传输Offsetsize:代表消息的payload从L2TP头起始开始便宜多少个byte字节开始对于控制类消息,消息的载荷由0个或多个AVP组成,AVP即TLV格式的属性对。L2TP协议过程L2TP协议规定的操作过程:隧道建立会话建立PPP帧转发:会话建立后,通过隧道承载PPP报文保活:LAC和LNS不定期发送HELLO报文确定连接是否正常会话释放隧道释放L2TP控制连接消息MessageMessagenamedescription0x00reserved0x01SCCRQStart-Control-Connection-Request,双向消息,用于发起隧道连接建立请求0x02SCCRPStart-Control-Connection-Reply,双向消息,表示收到SCCRQ,并且可以继续处理隧道连接建立过程0x03SCCCNStart-Control-Connection-Connected,双向消息,用于响应SCCRP,表示隧道连接建立完毕0x04StopCCNStop-Control-Connection-Notification,双向消息,用于关闭隧道连接0x06HELLOHello,双向消息,保活交互消息NAZLBZero-LengthBody(ZLB)Message,长度为0的控制消息,用于显示确认已收到对方的消息L2TP隧道建立/释放LACLNSSCCRQ/Challenge_1SCCRP/Response_1/Challenge_2SCCCN/Response_2ZLBACKLAC和LNS之间路由相互可达后,LAC端设置相应AVP,向LNS端发出SCCRQ报文,请求建立控制连接。LNS收到来自LAC的SCCRQ。根据其中的AVP,如果同意建立隧道,便发送SCCRP报文给LAC。LAC对接收到的SCCRP报文进行检查,从中取出隧道信息,并向LNS发送SCCCN报文,表示控制连接建立成功。当消息队列中没有消息发送时,使用ZLIB响应LAC。上述交互过程包含了LAC和LNS间的双向认证,隧道认证支持CHAP(RFC1994)StopCCNZLBACK可选的隧道认证伴随隧道建立过程L2TP会话管理消息MessageMessagenamedescription0x07OCRQOutgoing-Call-Request,方向LNS-LAC,LNS侧发起外出呼叫时发送该消息0x08OCRPOutgoing-Call-Reply,方向LAC-LNS,LAC对OCRQ的响应,表示LNS在尝试外出呼叫处理0x09OCCNOutgoing-Call-Connected,方向LAC-LNS,LAC对OCRQ的最终响应,表示外出呼叫处理成功0x0AICRQIncoming-Call-Request,方向LAC-LNS,LAC检测到用户接入时,向LNS发起会话连接请求0x0BICRNIncoming-Call-Reply,方向LNS-LAC,LNS响应LAC的ICRQ的消息,表示ICRQ已成功处理0x0CICCNIncoming-Call-Connected,方向LAC-LNS,LAC响应LNS的ICRN消息,表示ICRN已成功处理,会话已建立0x0ECDNCall-Disconnect-Notify,用于通知对端会话结束,双向消息L2TP会话建立/释放LACLNSICRQICRPICCNZLBACKLAC和LNS之间隧道建立后,LAC端设置相应AVP,向LNS端发出ICRQ报文,请求建立会话连接。LNS收到来自LAC的ICCRQ。根据其中的AVP,如果同意建立会话,便发送ICRP报文给LAC。LAC对接收到的ICRP报文进行检查,并向LNS发送ICCN报文,表示会话连接建立成功。当消息队列中没有消息发送时,使用ZLIB响应LAC。此过程可以执行代理认证,所谓代理认证,即LAC将和用户终端通过PPP认证的上下文通过AVP发送给LNS,LNS对用户进行二次认证,用户的第一次认证在LAC完成。CALLdetectedCALLanswerZLBACKCDNL2TPAVP格式控制报文的payload由一个或多个AVP组成,AVP格式如下:控制报文的payload由一个或多个AVP组成,AVP格式如下:M:控制对端对于不认识的AVP的处理行为,对端接收到M为1的AVP,如果不认识,则应终止session或tunnel(取决于该AVP在隧道管理消息还是会话管理消息中);如果M为0,对端不认识该AVP,则忽略之H:代表AttributeValue是否加密L2TPAVPcodenamedescription0MessageType(AllMessages)36RandomVector(AllMessages)用于AVP加密1ResultandErrorCodes(CDN,StopCCN)指示session或tunnel终止的原因2ProtocolVersion(SCCRP,SCCRQ)协议版本,目前有2个,RFC2661V2,RFC3931V33FramingCapabilities(SCCRP,SCCRQ)成帧类型:同步帧和异步帧,参考RFC16624BearerCapabilities(SCCRP,SCCRQ)硬件接口类型:数字/模拟5TieBreaker(SCCRQ)解决双方同时建立隧道发生冲突的问题6FirmwareRevision(SCCRP,SCCRQ)7HostName(SCCRP,SCCRQ)对端的名字L2TPAVP8VendorName(SCCRP,SCCRQ)9AssignedTunnelID(SCCRP,SCCRQ,StopCCN)对端分配的TunnelID10ReceiveWindowSize(SCCRQ,SCCRP)接收滑窗大小11Challenge(SCCRP,SCCRQ)表明发出消息方要认证对端(隧道认证)13ChallengeResponse(SCCCN,SCCRP)响应challenge(隧道认证)12Q.931CauseCode(CDN)14AssignedSessionID(CDN,ICRP,ICRQ,OCRP,OCRQ)对端分配的sessionID15CallSerialNumber(ICRQ,OCRQ)LAC/LNS分配的呼叫标识16MinimumBPS(OCRQ)指示本次呼叫可接受的最低线速率17MaximumBPS(OCRQ)指示本次呼叫可接受的最高线速率L2TPAVP18BearerType(ICRQ,OCRQ)呼叫的承载类型:数字or模拟19FramingType(ICCN,OCCN,OCRQ)成帧类型,参考RFC166221CalledNumber(ICRQ,OCRQ)被叫标识22CallingNumber(ICRQ)主叫标识23Sub-Address(ICRQ,OCRQ)辅助的拨号信息24(Tx)ConnectSpeed(ICCN,OCCN)transmitconnectspeed38RxConnectSpeed(ICCN,OCCN)RxConnectSpeed:dataflowingfromtheremotesystemtotheLAC25PhysicalChannelID(ICRQ,OCRP)encodesthevendorspecificphysicalchannelnumberusedforacall37PrivateGroupID(ICCN)标识该呼叫属于某个组L2TPAVPProxyLCPandAuthenticationAVPs26InitialReceivedLCPCONFREQ(ICCN)初始收到的configreq消息27LastSentLCPCONFREQ(ICCN)LAC最后发送的configreq消息28LastReceivedLCPCONFREQ(ICCN)LAC最后收到的configreq消息29ProxyAuthenType(ICCN)代理认证类型,用于二次认证:包括文本用户名密码方式/PAP/CHAP/MSCHAPV130ProxyAuthenName(ICCN)被认证终端的名字31ProxyAuthenChallenge(ICCN)LAC发给

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功