您好,欢迎访问三七文档
课程目标•了解TCP/IP协议的基本原理•掌握GPRS网络结构和相关协议•掌握GPRS相关信令流程•掌握GPRS信令分析的主要思路GPRS信令分析2GPRS网络结构和基本信令流程3GPRS信令分析4GPRS信令分析实例1TCP/IP基本原理1.1TCP/IP协议简介1.2TCP相关流程介绍1TCP/IP基本原理1.1TCP/IP协议简介1.1.1TCP/IP分层结构类似于OSI的七层网络互连参考模型,TCP/IP实际上是一种层次型协议,是一组协议的集合,它的内部包含许多其他的协议,组成了TCP/IP协议组。TCP/IP为四层协议系统,其参考模型为下图:1.1TCP/IP协议简介1.1.2TCP/IP分层描述链路层,有时也称作数据链路层或网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。网络层,有时也称作互联网层,处理分组在网络中的活动,例如分组的选路。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(Internet互联网控制报文协议),以及IGMP协议(Internet组管理协议)。运输层主要为两台主机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个互不相同的传输协议:TCP和UDP(用户数据报协议),TCP为两台主机提供高可靠性的数据通信,UDP是不可靠的通信。应用层负责处理特定的应用程序细节,包括Telnet、FTP、SMTP、SNMP等。1.1TCP/IP协议简介1.1.3IP协议介绍IP是网络层上的主要协议,同时被TCP和UDP使用。TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输,而互联网上的每个接口必须有一个唯一的IP地址,IP地址具有一定的结构,IPv4地址长32位,有五类不同的地址,如下图:1.1TCP/IP协议简介1.1.4TCP协议介绍TCP提供一种面向连接的、可靠的字节流服务。TCP将用户数据打包构成报文段;它发送数据后启动一个定时器;另一端对收到的数据进行确认,对失序的数据重新排序,丢弃重复数据;TCP提供端到端的流量控制,并计算和验证一个强制性的端到端检验和。TCP通过下列方式来提供可靠性:序号用来标识从TCP发端向TCP收端发送的数据字节流,它表示在这个报文段中的的第一个数据字节。如果将字节流看作在两个应用程序间的单向流动,则TCP用序号对每个字节进行计数。序号是32bit的无符号数,序号到达232-1后又从0开始。1.1TCP/IP协议简介1.1.4TCP协议介绍当TCP发出一个段后,启动一个定时器等待目的端确认收到该报文段。如不能及时收到确认,将重发这个报文段。当TCP收到发自TCP连接另一端的数据,它将发送一个确认。这个确认不是立即发送,而是等上一个短暂的时间,如果这段时间里面主机还有发送到远程主机的TCP数据报,那么就把这个ACK数据报“捎带”着发送出去,把本来两个TCP数据报整合成一个发送。这个时间一般是200ms。TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)。1.1TCP/IP协议简介1.1.4TCP协议介绍既然TCP报文段作为IP数据报来传输,而IP数据报的到达可能会失序,因此TCP报文段的到达也可能会失序。如果必要,TCP将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。如果IP数据报发生重复,TCP的接收端必须丢弃重复的数据。TCP还能提供流量控制。TCP连接的每一方都有固定大小的缓冲空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。1.1TCP/IP协议简介1.2TCP相关流程介绍1TCP/IP基本原理1.2TCP相关流程介绍1.2.1TCP连接建立和终止1.2TCP相关流程介绍1.2.2TCP拥塞拥塞发生的主要原因在于网络能够提供的资源不足以满足用户的需求,这些资源包括缓存空间、链路带宽容量和中间节点的处理能力。拥塞虽然是由于网络资源的稀缺引起的,但单纯增加资源并不能避免拥塞的发生。例如增加缓存空间到一定程度时,只会加重拥塞,而不是减轻拥塞,这是因为当数据包经过长时间排队完成转发时,它们很可能早已超时,从而引起源端超时重发,而这些数据包还会继续传输到下一路由器,从而浪费网络资源,加重网络拥塞。另外,增加链路带宽及提高处理能力也不能解决拥塞问题。单纯增加网络资源之所以不能解决拥塞问题,是因为拥塞本身是一个动态问题,它不可能只靠静态的方案来解决,而需要协议能够在网络出现拥塞时保护网络的正常运行。目前对互联网进行的拥塞控制主要是依靠在源端执行的基于窗口的TCP拥塞控制机制。1.2TCP相关流程介绍1.2.3拥塞控制-慢启动慢启动(slowstart)算法通过观察到新分组进入网络的速率应该与另一端返回确认的速率相同而进行工作。慢启动为发送方的TCP增加了另一个窗口:拥塞窗口(congestionwindow),记为cwnd。当与另一个网络的主机建立TCP连接时,拥塞窗口被初始化为1个报文段(即另一端通告的报文段大小)。每收到一个ACK,拥塞窗口就增加一个报文段(cwnd以字节为单位,但是慢启动以报文段大小为单位进行增加)。发送方取拥塞窗口与通告窗口中的最小值作为发送上限。拥塞窗口是发送方使用的流量控制,而通告窗口则是接收方使用的流量控制。发送方开始时发送一个报文段,然后等待ACK。当收到该ACK时,拥塞窗口从1增加为2,即可以发送两个报文段。当收到这两个报文段的ACK时,拥塞窗口就增加为4。这是一种指数增加的关系。慢启动算法是在一个连接上发起数据流的方法,但有时我们会达到中间路由器的极限,此时分组将被丢弃。拥塞避免算法是一种处理丢失分组的方法。该算法假定由于分组受到损坏引起的丢失是非常少的(远小于1%),因此分组丢失就意味着在源主机和目的主机之间的某处网络上发生了拥塞。有两种分组丢失的指示:发生超时和接收到重复的确认(duplicatedack)。1.2TCP相关流程介绍1.2.4拥塞控制-拥塞避免拥塞避免和慢启动算法是两个目的不同、独立的算法。在实际中这两个算法通常在一起实现。拥塞避免算法和慢启动算法需要对每个连接维持两个变量:拥塞窗口cwnd和慢启动门限ssthresh(slow-startthreshold)。过程如下:1)对一个给定的连接,初始cwnd为1个报文段,ssthresh为65535个字节。2)TCP输出例程的输出不能超过cwnd和接收方通告窗口的大小。拥塞避免是发送方使用的流量控制,而通告窗口则是接收方进行的流量控制。前者发送方感受到的网络拥塞的估计,后者则与接收方在该连接上的可用缓存大小有关。3)当拥塞发生时(超时或收到重复确认),ssthresh被设置为当前窗口大小的一半(cwnd和接收方通告窗口大小的最小值,但最少为2个报文段)。此外,如果是超时引起了拥塞,则cwnd被设置为1个报文段(这就是慢启动)。4)当新的数据被对方确认时,就增加cwnd,但增加的方法依赖于我们是否正在进行慢启动或拥塞避免。如果cwnd小于或等于ssthresh,则正在进行慢启动,否则正在进行拥塞避免。慢启动一直持续到我们回到当拥塞发生时所处位置的半时候才停止(因为我们记录了在步骤2中给我们制造麻烦的窗口大小的一半),然后转为执行拥塞避免。1.2TCP相关流程介绍1.2.5拥塞控制-快速重传和快速恢复TCP提供了可靠的传输,它使用的方法之一是确认从另一端收到的数据,但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器(Timer)来解决这种问题。如果当定时器超时还没有收到确认,它就重传该数据。而TCP超时与重传主要依据RTT(round-triptime往返时间)和RTO(retransmissiontimeout重传超时)的计算。前面提到过TCP的确认并不是立即发送的,需要有短暂的等待延时,但TCP对收到乱序的报文段必须立即产生一个dupack。重复ACK有两个作用,其一,发送端可以确信该ACK序列号之前的TCP报文段都已经被接收端成功接收;其二,发送端可以据此判断出接收端接收到的TCP报文段发生了乱序的情况和接收端当前期待的TCP报文段序列号,从而触发其拥塞控制策略。由于不知道一个重复的ACK是由一个丢失的报文段引起的,还是由于仅仅出现了几个报文段的重新排序,因此我们等待少量重复的ACK到来。假如这只是一些报文段的重新排序,则在重新排序的报文段被处理并产生一个新的ACK之前,只可能产生1~2个重复的ACK。如果一连串收到3个或3个以上的重复ACK,就非常可能是一个报文段丢失了于是我们就重传丢失的数据报文段,而无需等待超时定时器溢出。这就是快速重传算法。接下来执行的不是慢启动算法而是拥塞避免算法。这就是快速恢复算法。1.2TCP相关流程介绍1.2.5无线和有线环境拥塞处理的区别我们这里介绍的TCP拥塞控制机制主要依据有线网络,GPRS无线网络与有线网络对数据包丢失的处理可能有所不同。例如,有线网络认为丢包主要是由于网络拥塞,一旦发生丢包,TCP就会将发送窗口减少一半,以减少拥塞。但如果丢包是发生在无线网络上,实际上更有可能是由于无线信道的瞬间快衰落造成的,这种衰落可能很快就恢复了,这时如果使TCP窗口减少,就会降低数据吞吐量。另外如果是基于无线网络的TCP传输,当不能够接收到ACK信令的时候,很有可能是因为移动节点正在进行切换或者是无线网络的信号不好,因此,需要发送节点保持或者加快发送速率,而不是减速发送。对于无线网络TCP的改进和优化,已经有研究人员提出了几种方案,主要有TCP-Feedback、TCP-ELFN、固定RTO、ATCP、TCPDOOR等。对这些方案感兴趣可到网上搜索相关的资料。GPRS信令分析2GPRS网络结构和基本信令流程3GPRS信令分析4GPRS信令分析实例1TCP/IP基本原理2.1GPRS网络结构和接口协议描述2.2GPRS基本信令流程2GPRS网络结构和基本信令流程2.1GPRS网络结构和接口协议描述2.1.1GPRS网络结构2.1GPRS网络结构和接口协议描述2.1.2GPRS接口传输平面2.1GPRS网络结构和接口协议描述2.1.3GPRS接口协议GTP:GPRS隧道协议。所有在GSN间传送的PDU应经GTP重新包装,GTP提供流量控制功能。UDP/TCP:传输层协议,建立端到端连接的可靠链路,TCP具有保护和流量控制功能,确保数据传输的准确,TCP面向连接的协议。UDP则是面向非连接的协议,UPP不提供错误恢复能力,也不关心是否已正确接收了报文,只充当数据报的发送者和接收者。L2:数据链路层协议,可采用一般以太网协议。NetworkService:数据链路层协议,采用帧中继方式。BSSGP:该层包含了网络层和一部分传输层功能,主要解释路由信息和服务质量信息。LLC:传输层协议,提供端到端的可靠无差错的逻辑数据链路。SNDCP:执行用户数据的分段、压缩功能等,待详细分析。MAC:介质控制接入强,属于链路层协议。RLC:无线链路控制子层,属于链路层和网络层协议。2.1GPRS网络结构和接口协议描述2.2GPRS基本信令流程2GPRS网络结构和基本信令流程2.2GPRS基本信令流程2.2.1GPRSATTACH流程2.2GPRS基本信令流程2.2.1GPRSATTACH流程第一步:手机发Attach请求到新的SGSN(消息里面一般包括旧RAI,旧P-TMSI)。第二步:新的SGSN向旧的SGSN要求该手机的IMSI号。第三步:如果旧的SGSN有该手机信息,则返回IMSI号和鉴权信息给新的SGSN。第四步:如果旧的SGSN无该手机信息,则新的SGSN要求手机发其IMSI号。第五步:新的SGSN用第四步得到的IMSI号向HLR要求鉴权
本文标题:GPRS信令分析
链接地址:https://www.777doc.com/doc-6412005 .html