1、计算机网络高级教程计算机网络高级教程第三章第三章 传输层传输层第三章 第4讲 传输控制协议(传输控制协议(TCP)三次握手连接三次握手连接第一次第一次握手过程:握手过程:注:注:SYN SYN:同步序列编号同步序列编号(SySynchronize Sequence nchronize Sequence N Number)umber)SEQ:SEQ:序列号序列号(SeqSequence Number),uence Number),表示当前数据传输表示当前数据传输字节字节的的编号编号为为X X。SYN1,SEQX二、二、TCPTCP三次握手实现过程三次握手实现过程第一次握手:连接请求报文第一次握手
2、连接请求报文1.请求请求SEQ字节编号同步字节编号同步2.返回返回ACK确认编号应答消息确认编号应答消息目前字节编号:目前字节编号:X下一次编号:下一次编号:X1SEQX:身份标识身份标识ClientClient客户机(客户机(A A)ServerServer服务器(服务器(B B)第二次第二次握手过程:握手过程:SYN1,SEQX SYN1,SEQY,ACKX+1 二、二、TCPTCP三次握手实现过程三次握手实现过程注:注:SYN SYN:同步序列编号同步序列编号(SySynchronize Sequence nchronize Sequence N Numbers)umbers)SEQ:
3、SEQ:序列号序列号(SeqSequence Number)uence Number)ACK ACK:确认编号确认编号(AckAcknowledgement Number)nowledgement Number)第二次握手:确认报文第二次握手:确认报文第一次握手:连接请求报文第一次握手:连接请求报文1.请请 求求SEQ字字 节节 编编 号号 同同 步步2.返返回回ACK确确认认编编号号应应答答消消息息目前字节编号:目前字节编号:Y下一次编号:下一次编号:Y1SEQY:身份标识身份标识对(对(SYN)同步序号请求同步序号请求的应答的应答ClientClient客户机(客户机(A A)Server
4、Server服务器(服务器(B B)SYN1,SEQX SYN1,SEQY,ACKX+1 二、二、TCPTCP三次握手实现过程三次握手实现过程第三次第三次握手过程握手过程对(对(SYN)同步序号请求同步序号请求的应答的应答第二次握手确认报文第二次握手确认报文客户机客户机A A的身份标识的身份标识第一次握手:连接请求报文第一次握手:连接请求报文 SEQ X+1,ACK Y+1第三次握手:确认报文第三次握手:确认报文ClientClient客户机(客户机(A A)ServerServer服务器(服务器(B B)SYN1,SEQX SYN1,SEQY,ACKX+1 SEQ X+1,ACK Y+1请求
5、请求确认确认确认确认三次握手过程:三次握手过程:一个请求,两个确认一个请求,两个确认二、二、TCPTCP三次握手实现过程三次握手实现过程数据数据连接已建立连接已建立ClientClient客户机(客户机(A A)ServerServer服务器(服务器(B B)教学内容教学内容一、一、三次握手的三大问题三次握手的三大问题二、二、TCPTCP三次握手实现过程三次握手实现过程三三、TCPTCP采用三次握手的原因采用三次握手的原因四、四、TCPTCP三次握手安全隐患三次握手安全隐患五、五、三次握手的三次握手的释放释放(略讲)(略讲)四、四、TCPTCP三次握手安全隐患三次握手安全隐患 1.1.DOS
6、DOS(拒绝服务攻击(拒绝服务攻击 D Denial enial O Of f S Serviceervice)原理:原理:攻击者故意攻击者故意不完成三次握手不完成三次握手全过程,导致服务器资源全过程,导致服务器资源消消耗耗,直至,直至瘫痪。瘫痪。(1 1):伪装):伪装虚假虚假IPIP地址地址发动攻击发动攻击 (2 2):拦截客户机):拦截客户机应答报文应答报文2.2.在在TCPTCP三次握手时插入三次握手时插入伪造伪造TCPTCP包包攻击者攻击者(A)(A)服务器服务器(B)(B)SYN1,SEQX(IP虚假)虚假)伪装伪装虚假虚假IPIP地址地址发动攻击发动攻击四、四、TCPTCP三次握
7、手安全隐患三次握手安全隐患请求报文请求报文(假意假意)SYN1,SEQY,ACKX+1 确认报文找不到地址确认报文找不到地址超时超时第二次确认报文第二次确认报文确认报文找不到地址确认报文找不到地址SYN1,SEQX(IP虚假)虚假)SYN1,SEQX(IP虚假)虚假)SYN1,SEQX(IP虚假)虚假)SYN1,SEQX(IP虚假)虚假)SYN1,SEQX(IP虚假)虚假)四、四、TCPTCP三次握手安全隐患三次握手安全隐患大量虚假大量虚假IPIP地址连接握手请求报文地址连接握手请求报文攻击者攻击者(A)(A)服务器服务器(B)(B)伪装伪装虚假虚假IPIP地址地址发动攻击发动攻击SYN1,S
8、EQA(IP虚假)虚假)瘫痪瘫痪 SYN1,SEQB(IP虚假)虚假)SYN1,SEQC(IP虚假)虚假)SYN1,SEQD(IP虚假)虚假)SYN1,SEQE(IP虚假)虚假)大量第二次确认报文找不到目的地址大量第二次确认报文找不到目的地址四、四、TCPTCP三次握手安全隐患三次握手安全隐患攻击者攻击者(A)(A)服务器服务器(B)(B)伪装伪装虚假虚假IPIP地址地址发动攻击发动攻击ClientClient客户机(客户机(A A)SYN1,SEQX拦截客户机拦截客户机应答报文应答报文四、四、TCPTCP三次握手安全隐患三次握手安全隐患ServerServer服务器(服务器(B B)第一次握
9、手请求报文第一次握手请求报文 SYN1,SEQY,ACKX+1 第二次握手确认报文第二次握手确认报文 SEQ X+1,ACK Y+1拦拦截截攻击者攻击者第三次握手确认报文第三次握手确认报文 SYN1,SEQY,ACKX+1 重发重发再次发送第二次握手确认报文再次发送第二次握手确认报文 SEQ X+1,ACK Y+1拦拦截截攻击者攻击者再次发送第三次握手确认报文再次发送第三次握手确认报文重发第二次握手确认报文重发第二次握手确认报文 SYN1,SEQX SYN1,SEQY,ACKX+1 SEQ A+1,ACK M+1拦截客户机拦截客户机应答报文应答报文 SEQ B+1,ACK N+1 SEQ C+
10、1,ACK O+1 SEQ D+1,ACK P+1SEQ E+1,ACK Q+1四、四、TCPTCP三次握手安全隐患三次握手安全隐患攻击者攻击者众多众多客户机客户机拦拦截截ServerServer服务器(服务器(B B)第二次握手确认报文第二次握手确认报文第一次握手请求报文第一次握手请求报文第三次握手确认报文第三次握手确认报文重发第二次握手确认报文重发第二次握手确认报文大量重发大量重发DOSDOS共同点共同点 方法方法1:伪装虚假:伪装虚假IP地址发动攻击地址发动攻击方法方法2:拦截客户机应答报文:拦截客户机应答报文共同点:共同点:阻碍三次握手的阻碍三次握手的顺利完成顺利完成服务器服务器:系统
11、资源耗尽最终导致系统资源耗尽最终导致瘫痪瘫痪状态状态四、四、TCPTCP三次握手安全隐患三次握手安全隐患 SYN1,SEQX SYN1,SEQY,ACKX+1 在在TCPTCP三次握手时伪造三次握手时伪造TCPTCP包包攻击攻击(冒充客户(冒充客户A发送确认报文)发送确认报文)四、四、TCPTCP三次握手安全隐患三次握手安全隐患握手确认报文(客户握手确认报文(客户A身份不可识别)身份不可识别)SEQ X+1,ACK Y+1 SEQ X+1,ACK Y+1Y+1攻击者客户机ClientClient客户机(客户机(A A)ServerServer服务器(服务器(B B)连接请求报文连接请求报文握手确认报文(被攻击者截获)握手确认报文(被攻击者截获)SYN1,SEQX SYN1,SEQ?,ACK?握手确认报文(被攻击者截获)握手确认报文(被攻击者截获)四、四、TCPTCP三次握手安全隐患三次握手安全隐患加密传输加密传输自身自身身份标识身份标识字段字段ServerServer服务器(服务器(B B)ClientClient客户机(客户机(A A)握手请求报文握手请求报文改进三次握手改进三次握手(身份标识字段进行加密)(身份标识字段进行加密)应答应答客户身份客户身份字段字段