- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
陈 观 林
(697287);第七章 传输层(续);7.3 传输控制协议TCP;TCP协议支持字节流传输的过程;TCP报文段格式;TCP报文段的格式;端口号:
源端口号:16位;
目的端口号:16位。
序号:
所发送数据的第一个字节的序号,指出段中数据在发送数据流中的位置,32位;
确认号:
指出希望下一个接收的字节序号,采用捎带确认(piggy back)技术,32位;
头部长度:
4位,长度单位为4B,实际报头长度在20B-60B,因此这个字段的值在5~15之间。;保留域:
6位,留做今后使用。
控制域:6位,置1表示有效
URG:和紧急指针配合使用,发送紧急数据;
ACK:确认号是否有效;
PSH:指示接收方将数据不做缓存,立刻上送;
RST:由于不可恢复的错误重置连接;
SYN:用于连接建立指示;
FIN:用于连接释放指示。;窗口大小:
用于基于可变滑动窗口的流量控制,指示发送方从确认号开始可以再发送窗口大小的字节流,16位;
校验和:
为增加可靠性,对TCP头、数据和伪头部计算校验和;
紧急指针:
当紧急标志URG=1时有效,表示紧急数据,此时紧急指针的值为紧急数据的最后一个字节的序号;
选项及填充
最多40B。;TCP连接建立与释放;TCP利用“三次握手”建立连接
三次握手(three-way handshake)方案解决了由于网络层会丢失、存储和重复分组带来的问题。
三次握手正常建立连接的过程
A发出序号为X的建立连接请求CR TPDU;
B发出序号为Y的接受连接确认ACK TPDU,并确认A的序号为X的建立连接请求;
A发出序号为X的第一个数据DATA,并确认B的序号为Y的接受连接确认。;;如果出现了重复的建立连接请求CR的情况,三次握手可以很好的解决。;TCP传输连接建立过程示意图;TCP连接建立“三次握手”过程;利用三次握手的DoS攻击;分布式拒绝服务攻击(DDoS)图示;非对称式连接释放方法
一方发出释放连接请求后,整个连接断开。
存在丢失数据的危险。;对称式连接释放方法
各自独立发出释放连接请求,收到对方的释放确认后才可以释放连接。
由于两军问题(two-army problem)的存在,可以证明不存在安全的通过N次握手实现对称式连接释放的方法。;两支蓝军如何能够同时发起进攻?
蓝兵穿越???军防地是不可靠通信。
蓝军1不知道蓝军2是否收到确认,不能贸然行动。
即使采用三次握手释放连接,也会出现最后的确认丢失,应答TPDU丢失、应答及后续释放请求丢失的情况。
没有一个满意的解决问题的方法。;在实际的通信过程中,使用三次握手+定时器的方法释放连接,在绝大多数情况下是成功的。
(a) 三次握手释放连接的正常情况。
(b) 最后确认TPDU丢失的情况。; (c) 应答丢失的情况
(d) 应答丢失以及后续DR丢失的情况。;TCP在传输连接释放过程中4次握手过程;TCP连接释放 “四次握手”的过程;字节流传输的状态分类;TCP中窗口的概念:
发送窗口:用来对发送端进行流量控制,发送窗口的大小代表在还没有收到对方确认的条件下发送端最多可以发送多少数据。;接收窗口:为了控制哪些数据可以接收而哪些不可以接收。在接收端只有当收到的数据的发送序号落入接收窗口内才允许将该数据收下。若接收到的数据落在接收窗口之外,则一律将其丢弃。;滑动窗口协议(Sliding Windows Protocol)工作原理:
发送的信息帧都有一个序号,从0到某个最大值,0~2n-1,一般用n个二进制位表示。
发送端始终保持一个已发送但尚未确认的帧的序号表,称为发送窗口。发送窗口的上界表示要发送的下一个帧的序号,下界表示未得到确认的帧的最小编号。发送窗口=上界—下界,大小可变。
发送端每发送一个帧,序号取上界值,上界加1;每接收到一个正确响应帧,下界加1。
接收端有一个接收窗口,大小固定,但不一定与发送窗口相同。接收窗口的上界表示允许接收的序号最大的帧,下界表示希望接收的帧。
接收窗口表示允许接收的信息帧,落在窗口外的帧均被丢弃。序号等于下界的帧被正确接收,并产生一个响应帧,下界加1。接收窗口大小不变。;大小为1的滑动窗口
(a)初始时;(b)第一个帧发出后;
(c)第一个帧收到后;(d)第一个确认收到后;发送窗口与可用窗口;窗口发送与字节类型的变化;窗口滑动与字节类型的变化;接收字节流序号不连续的例子
处理方法:
拉回方式
选择重传方式;重传计时器;TCP滑动窗口与流量控制、拥塞控制;TCP利用窗口进行流量控制的过程示意图;TCP的拥塞控制;(a)快速网络向小容量接收器输送;
(b)慢速网络向大容量接收器输送。;慢启动(slow start)算法;因特网拥塞算法的一个实例
原创力文档


文档评论(0)