1、计算机网络教案广西师范大学教案【首页】课程名称计算机网络授课专业信息管理与信息系统班级2005课程编号课程类型必修课校级公共课( );基础或专业基础课( );专业课()选修课限选课( );任选课( )授课方式课堂讲授(68);实践课(34)考核方式考试();考查( )课程教学总学时数102学 分 数3学时分配课堂讲授 68 学时; 实践课 34 学时教材名称计算机网络第5版作 者谢希仁出版社及出版时间电子工业出版社指定参考书计算机网络(第2版)计算机网络用自顶向下方法描述因特网特色(第2版)作 者吴功宜Jim KuroseA著,陈鸣等译出版社及出版时间清华大学出版社2008年1月人民邮电出版社
2、授课教师覃少华职 称副教授单 位计信学院授课时间2007-2008年第2学期注:表中( )选项请打“”广西师范大学教案周 次第 8 周, 第 1 次课 2008 年 4月 7日备 注章 节名 称第5章 运输层 5.5 5.6 5.7授 课方 式理论课();实践课();实习()教学时数3教学目的及要求1. 了解TCP报文格式的组成及其意义,从而掌握TCP工作原理;2. 掌握TCP可靠传输的实现方法;3. 掌握利用滑动窗口实现TCP流量控制。教学 主 要内容时间分配一、课前复习 1为何需要引入运输层? 2运输层提供哪两种传输服务?二、新课引入 1. 由于UDP传输协议提供的是面向报文的不可靠的数据
3、传输能力,因此它的报头格式非常简洁,只有固定的8个字节。(伪首部的长度是12个字节) 2TCP提供的是可靠的面向字节的数据传输服务,它是建立在IP层尽最大努力服务的基础之上,因此,可以想象TCP将会比UDP更为复杂。那么,TCP究竟应该怎样设计其首部格式,才能做到可靠的数据传输呢? 下面我们就来学习TCP报文段的首部格式,看看它是如何设计的?三、新课内容第1页教学重点与难点5.5 TCP报文段的首部格式一、 TCP报文首部由固定部分和可选部分组成1 固定部分(20字节)2 可选部分(最大40字节,须满足4N为边界)(如教材第194图5-14所示)二、 TCP首部各字段的作用 1源端口号 (06
4、5535) 占2字节,需要对方回应时需要。不需要时填0(保留)2目的端口号(065535) 占2字节,接收端向应用进程交付报文时使用 3序号 (0232-1) 占4字节,对报文中的每一个字节编号,循环使用 4确认号 占4字节,表示接收方期望收到的下一个报文段的第一个数据字节的序号 如B接收到A的报文的序号是201,数据长度为200字节(201400),则确认序号应为401。 5数据偏移 占4比特,它指出报文中TCP首部的长度。单位为4字节,因此,首部长度最大值是60字节。 6保留 占6比特,保留,目前全为0。 7紧急URG(URGent) URG=1,表明紧急指针字段有效。此时发送进程紧急数据
5、插入到正常数据段的最前面,提前发送。 8确认ACK(ACKnowlegment) ACK=1,表明确认号字段有效。反之,确认号字段中的值被视为无效。 9推送PSH PSH=1,接收端立即将收到的报文段交付给应用进程,而不等缓冲区填满再交付。 10复位RST RST=1,表明TCP连接出严重差错,必须释放后重新建立连接。还可用来拒绝一个非法的报文段或拒绝打开一个连接。(5.9节将进一步讨论如何建立连接)备 注 11同步SYN(SYNchronization) SYN=1,表示该报文是一个连接请求或连接接受报文。 SYN=1,ACK=0,表示连接请求; SYN=1,ACK=1,表示连接接受。12终
6、止FIN FIN=1, 表明报文传送结束,并要求释放连接。13窗口 (0216-1) 占2字节,发送方向接收方通告自己的接收窗口。 例如:确认号=700,窗口=1000。发送方还可接收1000字节,从7001699。14检验和 占2字节,包括整个TCP报文和TCP伪首部(12字节),与UDP类似,其中协议号字段由17变为6,UDP长度变为TCP长度。15紧急指针 占2字节,仅当URG=1时有意义,它指出了紧急数据的未尾在报文中的位置(紧急数据之后就是普通数据),即使窗口为零也可发送。16可选项 长度可变,最大可达40字节。(1) 最大报文段长度MSS,它指明TCP报文中数据部分的最大长度。缺省
7、为536字节,再加上首部共556字节。(2) 其中选项如:窗口扩大、时间戳、选择确认等选项。启发提问1UDP也需要伪首部,TCP伪首部与UDP伪首部有何不同?2接收方如何构造伪首部进行报文校验?3为什么需要MSS?4高速网络中的序号翻转问题?1Gb/s发送速率,不到4.3秒序号就会发生翻转。教学手段参考资料教学重点与难点5.6 TCP可靠传输的实现一、 TCP中的滑动窗口1 发送窗口(1) 以字节为单位,窗口的大小表示当前允许发送的最大字节数。(2) 发送窗口的移动。总结发送窗口前后沿移动条件。2 接收窗口只能对顺序到达的最高序号给出确认,然后移动。3 小结(1)发送窗口总是经常发生变化的,接
8、收窗口主要取决于接收缓存的大小;(2)对不按序到达的数据如何处理,TCP没有明确规定;(3)要求接收方具有累积确认功能。二、 超时重传的时间选择 1往返时间RTT 对RTT进行加权平均得到RTTs,即:RTTs=(1-)(旧的RTTs) +(新的RTT样本)其中01,=0.125。2超时重传时间RTO RTO=RTTs+4RTTD 新的RTTD =(1-)(旧的RTTD)+RTTs-新的RTT样本,其中=0.25,初始时,RTTD等于RTT样本的一半。3RTT测量难题 (1)测不准 (2)Karn算法 计算RTTs时,不采用发生了重传的RTT。这样做虽然能够得到较准确的RTTs和RTO,但是带
9、来了新的问题:一旦报文段的时延突然增多,超时重传的时间将无法更新,就会不断发生超时重传现象。 解决办法:发生重传后,把RTO增大为原来的2倍,不发生重传时,采用前述公式计算。 备 注三、 选择确认SACK1 若收到的报文段本身无差错,只是未按序号,采用选择确认是一种较好的方法。2 需要在TCP首部的可选项中选用SACK功能,占用一个字节,还需要一个字节指明该选项占用多少个字节。剩余38字节,最多只能指明4个不连续数据块的边界信息。启发提问1滑动窗口的移动及变化规律或条件?2超时重传时间的确定思想及方法?教学手段参考资料教学重点与难点5.7 TCP流量控制一、 TCP采用可变的滑动窗口实现流量控
10、制1 什么是流量控制(1) 控制发送方的数据发送速率不要太快,使接收端能够来得及接收。2 举例说明流量控制过程教材203页图5-22。图中接收窗口rwnd=400, 300,100,03 接收窗口为0后,再次变为非0,可能出现什么潜在的问题?(1) 可能发生死锁;(2) 解决办法:收到rwnd=0的一方,启动持续计时器,计时到发送探测报文。 4TCP对于接收窗口为零的规定。教材204页最下面一行。二、 TCP传输的效率问题 1报文段发送时机选择 (1)若缓存中的数据达到MSS,应立即发送。 (2)发送方应用进程指明要求立即发送,PUSH操作。 (3)发送方的计时器到时,把当前缓冲区中的数据发出
11、。2TCP中广泛使用的Nagle算法 (1)开始选发一个字节,试探;(2)收到确认后,将缓存中数据封装成报文段发出; (3)继续(2)。 上述算法当数据到达较快,而网络速度较慢时,可以明显减少所用的网络带宽。 注:Nagle还规定,当到达的数据达到发送窗口大小的一半或MSS时,立即发送一个报文段。3湖涂窗口综合症问题 接收方缓存满后,应用进程每次只读走一个字节,就向发送方返回确认,并发rwnd=1,就会引发该问题。 解决办法:让接收方延时确认,等接收缓冲区有更多的空闭时再发确认。 备 注启发提问1TCP流量控制的目的是什么? 2如何解决接收窗口为零可能导致的死锁问题?教学手段参考资料TCP报文首部格式发送缓存接收缓存
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1