欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    《TCPIP网络原理与应用》课件.ppt

    • 资源ID:74235379       资源大小:712.50KB        全文页数:65页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《TCPIP网络原理与应用》课件.ppt

    TCP/IP网络原理与应用网络原理与应用袁巍袁巍华中科技大学电信系华中科技大学电信系2011.10TCP/IP网络原理与应用之网络原理与应用之TCP协议介绍协议介绍1主要内容主要内容lTCP协议概述协议概述lTCP数据编号与确认数据编号与确认lTCP运输连接管理运输连接管理TCP/IP网络原理与应用之TCP协议介绍1TCP协议演进协议演进19751980198519901982TCP&IPRFC 793&7911974TCP described byVint Cerf and Bob KahnIn IEEE Trans Comm1983BSD Unix 4.2supports TCP/IP1984Nagels algorithmto reduce overheadof small packets;predicts congestion collapse1987Karns algorithmto better estimate round-trip time1986Congestion collapseobserved1988Van Jacobsons algorithmscongestion avoidance and congestion control(most implemented in 4.3BSD Tahoe)19904.3BSD Renofast retransmitdelayed ACKs1975Three-way handshakeRaymond TomlinsonIn SIGCOMM 75TCP/IP网络原理与应用之TCP协议介绍1TCP Through the 1990s1993199419961994ECN(Floyd)Explicit CongestionNotification1993TCP Vegas(Brakmo et al)real congestion avoidance1994T/TCP(Braden)TransactionTCP1996SACK TCP(Floyd et al)Selective Acknowledgement1996HoeImproving TCP startup1996FACK TCP(Mathis et al)extension to SACKTCP/IP网络原理与应用之TCP协议介绍1TCP的特点的特点l与与UDP的最大区别的最大区别:TCP是面向连接的,是面向连接的,UDP是无连接的是无连接的lTCP提供一种面向连接的、可靠的字节提供一种面向连接的、可靠的字节流服务流服务TCP/IP网络原理与应用之TCP协议介绍1TCP的特点的特点l面向连接面向连接l两个使用两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个换数据之前必须先建立一个TCP连接连接l可靠可靠l应用数据被分割成应用数据被分割成TCP认为最适合发送的数据块。认为最适合发送的数据块。l当当TCP发出一个段后,它启动一个定时器,等待目的端确认收到发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。这个报文段。如果不能及时收到一个确认,将重发这个报文段。l当当TCP收到发自收到发自TCP连接另一端的数据,它将发送一个确认。连接另一端的数据,它将发送一个确认。lTCP将计算首部和数据的检验和。如果收到段的检验和有差错,将计算首部和数据的检验和。如果收到段的检验和有差错,T CP将丢弃这个报文段和不确认收到此报文段(希望发端超时并重将丢弃这个报文段和不确认收到此报文段(希望发端超时并重发)发)l如果必要,如果必要,TCP将对收到的数据进行重新排序,将收到的数据以将对收到的数据进行重新排序,将收到的数据以正确的顺序交给应用层。正确的顺序交给应用层。l既然既然IP数据报会发生重复,数据报会发生重复,TCP的接收端必须丢弃重复的数据。的接收端必须丢弃重复的数据。lTCP还能提供流量控制。还能提供流量控制。TCP连接的每一方都有固定大小的缓冲连接的每一方都有固定大小的缓冲空间。空间。TCP的接收端只允许另一端发送接收端缓冲区所能接纳的的接收端只允许另一端发送接收端缓冲区所能接纳的数据。这将防止较快主机致使较慢主机的缓冲区溢出。数据。这将防止较快主机致使较慢主机的缓冲区溢出。TCP/IP网络原理与应用之TCP协议介绍1TCP的特点的特点l字节流l两个应用程序通过两个应用程序通过TCP连接交换连接交换8 bit字节构成的字节流。字节构成的字节流。TCP不在字节流中插入记录标识符。我们将这称为字节流服不在字节流中插入记录标识符。我们将这称为字节流服务。务。l如果一方的应用程序先传如果一方的应用程序先传1 0字节,又传字节,又传2 0字节,再传字节,再传5 0字字节,连接的另一方将无法了解发方每次发送了多少字节。收节,连接的另一方将无法了解发方每次发送了多少字节。收方可以分方可以分4次接收这次接收这8 0个字节,每次接收个字节,每次接收2 0字节。一端将字节。一端将字节流放到字节流放到TCP连接上,同样的字节流将出现在连接上,同样的字节流将出现在T C P连接连接的另一端。的另一端。lTCP对字节流的内容不作任何解释。对字节流的内容不作任何解释。TCP不知道传输的数据不知道传输的数据字节流是二进制数据,还是字节流是二进制数据,还是ASCII字符或者其他类型数据。字符或者其他类型数据。l对字节流的解释由对字节流的解释由T C P连接双方的应用层解释。连接双方的应用层解释。TCP/IP网络原理与应用之TCP协议介绍1TCP发送报文段发送报文段端口发送 TCP 报文段TCPTCP接收缓存发送缓存报文段报文段报文段端口发送端接收端向发送缓存写入数据块从接收缓存读取数据块应用进程应用进程TCP/IP网络原理与应用之TCP协议介绍1发送缓存与接收缓存的作用发送缓存与接收缓存的作用l发送缓存用来暂时存放:发送缓存用来暂时存放:l 发送应用程序传送给发送方发送应用程序传送给发送方 TCP 准备发送的数据;准备发送的数据;l TCP 已发送出但尚未收到确认的数据。已发送出但尚未收到确认的数据。l接收缓存用来暂时存放:接收缓存用来暂时存放:l 按序到达的、但尚未被接收应用程序读取的数据;按序到达的、但尚未被接收应用程序读取的数据;l 不按序到达的数据。不按序到达的数据。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20 字节的固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FIN32 bitSYNRSTPSHACKURG比特 0 8 16 24 31填 充TCP 数据部分TCP 首部TCP 报文段IP 数据部分IP 首部发送在前TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充源端口和目的端口字段各占 2 字节。端口是运输层与应用层的服务接口。运输层的复用和分用功能都要通过端口才能实现。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充序号字段占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充确认号字段占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充数据偏移占 4 bit,它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。“数据偏移”的单位不是字节而是 32 bit 字(4 字节为计算单位)。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充保留字段占 6 bit,保留为今后使用,但目前应置为 0。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充紧急比特 URG 当 URG 1 时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充确认比特 ACK 只有当 ACK 1 时确认号字段才有效。当 ACK 0 时,确认号无效。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充推送比特 PSH(PuSH)接收 TCP 收到推送比特置 1 的报文段,就尽快地交付给接收应用进程,而不再等到整个缓存都填满了后再向上交付。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充复位比特 RST(ReSeT)当 RST 1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充同步比特 SYN 同步比特 SYN 置为 1,就表示这是一个连接请求或连接接受报文。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充终止比特 FIN(FINal)用来释放一个连接。当FIN 1 时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充窗口字段窗口字段窗口字段窗口字段 占占占占 2 2 字节。窗口字段用来控制对方发送的数据量,单位字节。窗口字段用来控制对方发送的数据量,单位字节。窗口字段用来控制对方发送的数据量,单位字节。窗口字段用来控制对方发送的数据量,单位为字节。为字节。为字节。为字节。TCP TCP 连接的一端根据设置的缓存空间大小确定自己的接收窗连接的一端根据设置的缓存空间大小确定自己的接收窗连接的一端根据设置的缓存空间大小确定自己的接收窗连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。口大小,然后通知对方以确定对方的发送窗口的上限。口大小,然后通知对方以确定对方的发送窗口的上限。口大小,然后通知对方以确定对方的发送窗口的上限。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充检验和 占 2 字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在 TCP 报文段的前面加上 12 字节的伪首部。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充紧急指针字段 占 16 bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充选项字段 长度可变。TCP的一种选项是最大报文段长度 MSS(Maximum Segment Size)。MSS 告诉对方 TCP:“我所能接收的报文段的数据字段的最大长度是 MSS 个字节。”MSS 是 TCP 报文段中的数据字段的最大长度。数据字段加上 TCP 首部才等于整个的 TCP 报文段。TCP/IP网络原理与应用之TCP协议介绍1其他选项其他选项l窗口比例选项窗口比例选项 占占 3 字节,其中有一个字节表字节,其中有一个字节表示移位值示移位值 S。新的窗口值等于。新的窗口值等于TCP 首部中的窗口首部中的窗口位数增大到位数增大到(16+S),相当于把窗口值向左移动,相当于把窗口值向左移动 S 位后获得实际的窗口大小。位后获得实际的窗口大小。l时间戳选项时间戳选项占占10 字节,其中最主要的字段时字节,其中最主要的字段时间戳值字段(间戳值字段(4 字节)和时间戳回送回答字段(字节)和时间戳回送回答字段(4 字节)。字节)。l选择确认选项选择确认选项 TCP/IP网络原理与应用之TCP协议介绍1TCP首部20字节固定首部目 的 端 口数据偏移检 验 和选 项 (长 度 可 变)源 端 口序 号紧 急 指 针窗 口确 认 号保 留FINSYNRSTPSHACKURG比特 0 8 16 24 31填 充填充字段 这是为了使整个首部长度是 4 字节的整数倍。TCP/IP网络原理与应用之TCP协议介绍1TCP 的数据编号与确认的数据编号与确认 lTCP 协协议议是是面面向向字字节节的的。TCP 将将所所要要传传送送的的报报文文看看成成是是字字节节组组成成的的数数据据流流,并并使使每每一一个个字字节节对对应应于于一一个个序序号。号。l在在连连接接建建立立时时,双双方方要要商商定定初初始始序序号号。TCP 每每次次发发送送的的报报文文段段的的首首部部中中的的序序号号字字段段数数值值表表示示该该报报文文段段中中的的数据部分的第一个字节的序号数据部分的第一个字节的序号。l TCP 的的确确认认是是对对接接收收到到的的数数据据的的最最高高序序号号表表示示确确认认。接接收收端端返返回回的的确确认认号号是是已已收收到到的的数数据据的的最最高高序序号号加加 1。因因此此确确认认号号表表示示接接收收端端期期望望下下次次收收到到的的数数据据中中的的第第一一个数据字节的序号个数据字节的序号。TCP/IP网络原理与应用之TCP协议介绍1TCP发送报文段的时机发送报文段的时机lTCP有三种基本机制来控制报文段的发送有三种基本机制来控制报文段的发送l只要发送缓存从发送进程得到的数据达到最大报文只要发送缓存从发送进程得到的数据达到最大报文段长度段长度MSS字节时就组装字节时就组装TCP报文段并发送报文段并发送l发送端的应用进程指明要求发送报文段,即发送端的应用进程指明要求发送报文段,即TCP支支持的推送(持的推送(push)操作)操作l发送端的一个计时器时间到了,就把当前已有的混发送端的一个计时器时间到了,就把当前已有的混存数据组装成存数据组装成TCP报文段发送出去报文段发送出去TCP/IP网络原理与应用之TCP协议介绍1WinDump对对TCP首部中的部分标志首部中的部分标志位的字符方式位的字符方式TCP/IP网络原理与应用之TCP协议介绍1实验实验观察观察TCP的的2种发送报文段机制种发送报文段机制l机制一的实验步骤:机制一的实验步骤:l编写编写TCP服务器并运行服务器并运行l为观察方便,客户端连接后进入睡眠,其进程不向客户为观察方便,客户端连接后进入睡眠,其进程不向客户端发送数据端发送数据l编写编写TCP客户端并运行客户端并运行l该客户端不停地向服务器发送大量数据该客户端不停地向服务器发送大量数据l使用使用WinDump抓包并分析抓包并分析l注意:注意:bigdog为为TCP服务器,服务器,FATCAT为为TCP客户端客户端TCP/IP网络原理与应用之TCP协议介绍1机制一代码机制一代码l服务器代码服务器代码TCP/IP网络原理与应用之TCP协议介绍1机制一代码机制一代码l客户端代码客户端代码TCP/IP网络原理与应用之TCP协议介绍1机制一现象机制一现象l注:前三行为三次握手过程注:前三行为三次握手过程TCP/IP网络原理与应用之TCP协议介绍1实验实验观察观察TCP的发送报文段机制的发送报文段机制l机制二的实验步骤:机制二的实验步骤:l编写编写TCP服务器并运行服务器并运行l编写编写TCP客户端并运行客户端并运行l使用使用WinDump抓包并分析抓包并分析TCP/IP网络原理与应用之TCP协议介绍1机制二代码机制二代码l客户端代码客户端代码TCP/IP网络原理与应用之TCP协议介绍1机制机制2现象现象TCP/IP网络原理与应用之TCP协议介绍1Nagle算法(算法(1)l如何控制如何控制TCP发送报文段的时机是一个复杂的问题发送报文段的时机是一个复杂的问题l一个交互式用户使用一条一个交互式用户使用一条Telnet连接。假设用户只发送一个字符。连接。假设用户只发送一个字符。加上加上20字节的首部,得到字节的首部,得到21字节长的字节长的TCP报文段。再加上报文段。再加上20字节字节的的IP首部,形成首部,形成41字节的字节的IP数据报。数据报。l在接收端在接收端TCP立即发出确认,构成的数据报是立即发出确认,构成的数据报是40字节长(假定没字节长(假定没有数据)。若用户要求远地主机回送这一字符,则又要发回有数据)。若用户要求远地主机回送这一字符,则又要发回41字字节的节的IP数据报和数据报和40字节的确认字节的确认IP数据报。数据报。l这样,用户仅发送一个字符时线路上就需传送总长度为这样,用户仅发送一个字符时线路上就需传送总长度为162字节的字节的四个报文段。当线路带宽并不富裕时,这种传送方法的效率不高四个报文段。当线路带宽并不富裕时,这种传送方法的效率不高TCP/IP网络原理与应用之TCP协议介绍1Nagle算法(算法(2)l算法如下:算法如下:l若发送端应用进程将欲发送的数据逐个字节地发送若发送端应用进程将欲发送的数据逐个字节地发送到发送端的到发送端的TCP缓存,则发送端就将第一个字符率缓存,则发送端就将第一个字符率先发送出去,将后面到达的字符都缓存起来。先发送出去,将后面到达的字符都缓存起来。l当发送端收到对第一个字符的确认后,再将缓存中当发送端收到对第一个字符的确认后,再将缓存中的所有字符装成一个报文段发送出去,同时继续对的所有字符装成一个报文段发送出去,同时继续对随后到达的字符进行缓存。只有在收到对前一个报随后到达的字符进行缓存。只有在收到对前一个报文段的确认后才继续发送下一个报文段文段的确认后才继续发送下一个报文段l当字符到达较快而网络速率较慢时,用这样的方法当字符到达较快而网络速率较慢时,用这样的方法可以明显地减少所用的网络带宽可以明显地减少所用的网络带宽TCP/IP网络原理与应用之TCP协议介绍1关于确认关于确认l若发送方在规定的设置时间内没有收到确认,若发送方在规定的设置时间内没有收到确认,就要将未被确认的报文段重新发送。就要将未被确认的报文段重新发送。l接收方若收到有差错的报文段,则丢弃此报文接收方若收到有差错的报文段,则丢弃此报文段(不发送否认信息)。段(不发送否认信息)。l接收方若收到重复的报文段,也要将其丢弃,接收方若收到重复的报文段,也要将其丢弃,但要发回(或稍带发回)确认消息。但要发回(或稍带发回)确认消息。l若收到的报文段无差错,只是未按照序号,如若收到的报文段无差错,只是未按照序号,如何处理?何处理?TCP对此未作明确规定。实现者可以对此未作明确规定。实现者可以将不按序的报文段丢弃,可以先将其暂存于接将不按序的报文段丢弃,可以先将其暂存于接收缓存内,待所缺序号的报文段收弃后再一起收缓存内,待所缺序号的报文段收弃后再一起交给应用层。交给应用层。TCP/IP网络原理与应用之TCP协议介绍1乱序的处理乱序的处理TCP/IP网络原理与应用之TCP协议介绍1接收确认的延迟接收确认的延迟l系统即使在连接上没有应发送的数据,也必须对从对方收到的数系统即使在连接上没有应发送的数据,也必须对从对方收到的数据进行应答。据进行应答。l由于使用的接收确认分组本身不携带应用数据,在某种意义上浪由于使用的接收确认分组本身不携带应用数据,在某种意义上浪费了网络带宽。费了网络带宽。l为了使这种带宽的浪费减少到最低程度,为了使这种带宽的浪费减少到最低程度,TCP不要求每个分组到不要求每个分组到达后立即对其进行接收确认。系统可以延迟片刻发送接收确认分达后立即对其进行接收确认。系统可以延迟片刻发送接收确认分组。组。l或许,在延迟的期间内,该系统的应用也有数据要发送(应用等或许,在延迟的期间内,该系统的应用也有数据要发送(应用等待对方应答是常事)。倘若如此,该应答数据就能传送最新的接待对方应答是常事)。倘若如此,该应答数据就能传送最新的接收确认号码,可以完全避免浪费带宽。即使应从该系统发送的数收确认号码,可以完全避免浪费带宽。即使应从该系统发送的数据还没有来到,可能又有来自对方的数据到达。在这种情况下,据还没有来到,可能又有来自对方的数据到达。在这种情况下,TCP 能够对收到的全部数据一次性地进行接收确认,这样处理至能够对收到的全部数据一次性地进行接收确认,这样处理至少能够减少接收确认的分组数。少能够减少接收确认的分组数。l无论在哪种情况下,无论在哪种情况下,TCP 都能减少网络的使用带宽。都能减少网络的使用带宽。TCP/IP网络原理与应用之TCP协议介绍1TCP/IP网络原理与应用之TCP协议介绍1实验实验观察确认的延迟观察确认的延迟TCP/IP网络原理与应用之TCP协议介绍1思考思考确认报文段丢失确认报文段丢失l在使用在使用TCP传输数据时,如果有一个确认报文传输数据时,如果有一个确认报文段丢失了,一定会引起发送方重传吗?段丢失了,一定会引起发送方重传吗?lTCP的确认机制使用了累积确认方法的确认机制使用了累积确认方法l如果某个报文段的确认丢失了,它之后的其他报文如果某个报文段的确认丢失了,它之后的其他报文段确认到达,这时只要该报文段的重传计时器没有段确认到达,这时只要该报文段的重传计时器没有超时,就不必重传超时,就不必重传l因此,不一定会引起发送方重传。因此,不一定会引起发送方重传。TCP/IP网络原理与应用之TCP协议介绍1TCP TCP 的运输连接管理的运输连接管理的运输连接管理的运输连接管理1.1.运输连接的三个阶段运输连接的三个阶段运输连接的三个阶段运输连接的三个阶段 l运输连接就有三个阶段,即:运输连接就有三个阶段,即:连接建立连接建立、数数据传送据传送和和连接释放连接释放。运输连接的管理就是使。运输连接的管理就是使运输连接的建立和释放都能正常地进行。运输连接的建立和释放都能正常地进行。l连接建立过程中要解决以下三个问题:连接建立过程中要解决以下三个问题:l要使每一方能够确知对方的存在。要使每一方能够确知对方的存在。l要允许双方协商一些参数(如最大报文段长度,要允许双方协商一些参数(如最大报文段长度,最大窗口大小,服务质量等)。最大窗口大小,服务质量等)。l能够对运输实体资源(如缓存大小,连接表中能够对运输实体资源(如缓存大小,连接表中的项目等)进行分配。的项目等)进行分配。TCP/IP网络原理与应用之TCP协议介绍1客户服务器方式客户服务器方式 lTCP 的连接和建立都是采用客户服务器方式。的连接和建立都是采用客户服务器方式。l主动发起连接建立的应用进程叫做主动发起连接建立的应用进程叫做客户客户(client)。l被动等待连接建立的应用进程叫做被动等待连接建立的应用进程叫做服务器服务器(server)。TCP/IP网络原理与应用之TCP协议介绍1用三次握手建立用三次握手建立 TCP 连接连接 SYN=1,seq=xCLOSEDCLOSED主动打开被动打开AB客户服务器A 的 TCP 向 B 发出连接请求报文段,其首部中的同步位 SYN=1,并选择序号 seq=xSYN不能携带数据,但消耗一个序号TCP/IP网络原理与应用之TCP协议介绍1用三次握手建立用三次握手建立 TCP 连接连接 SYN=1,seq=xCLOSEDCLOSED主动打开被动打开AB客户服务器SYN=1,ACK=1,seq=y,ack=x 1 B 的 TCP 收到连接请求报文段后,如同意,则 发回确认。B 在确认报文段中应使 SYN=1,使 ACK=1,其确认号ack=x 1,自己选择的序号 seq=y。TCP/IP网络原理与应用之TCP协议介绍1SYN=1,seq=xACK=1,seq=x+1,ack=y 1CLOSEDCLOSED主动打开被动打开AB客户服务器SYN=1,ACK=1,seq=y,ack=x 1 A 收到此报文段后向 B 给出确认,其 ACK=1,确认号 ack=y 1。若不携带数据则不消耗序号!A 的 TCP 通知上层应用进程,连接已经建立。TCP/IP网络原理与应用之TCP协议介绍1SYN=1,seq=xACK=1,seq=x+1,ack=y 1CLOSEDCLOSED数据传送主动打开被动打开AB客户服务器SYN=1,ACK=1,seq=y,ack=x 1 B 的 TCP 收到主机 A 的确认后,也通知其上层 应用进程:TCP 连接已经建立。TCP/IP网络原理与应用之TCP协议介绍1SYN-SENTESTAB-LISHEDSYN-RCVDLISTENESTAB-LISHED用三次握手建立用三次握手建立用三次握手建立用三次握手建立 TCP TCP 连接的各状态连接的各状态连接的各状态连接的各状态 SYN=1,seq=xACK=1,seq=x+1,ack=y 1CLOSEDCLOSED数据传送主动打开被动打开AB客户服务器SYN=1,ACK=1,seq=y,ack=x 1TCP/IP网络原理与应用之TCP协议介绍1建立建立 TCP 连接连接lA 的的 TCP 向向 B 发出连接请求报文段,其首部中发出连接请求报文段,其首部中的同步比特的同步比特 SYN 应置为应置为 1,并选择序号,并选择序号 x。lB 的的 TCP 收到连接请求报文段后,如同意,则收到连接请求报文段后,如同意,则发回确认。发回确认。lB 在确认报文段中应将在确认报文段中应将 SYN 置为置为 1,其确认号,其确认号应为应为 x 1,同时也为自己选择序号,同时也为自己选择序号 y。lA 收到此报文段后,向收到此报文段后,向 B 给出确认,其确认号应给出确认,其确认号应为为 y 1。lA 的的 TCP 通知上层应用进程,连接已经建立。通知上层应用进程,连接已经建立。l当运行服务器进程的主机当运行服务器进程的主机 B 的的 TCP 收到主机收到主机 A 的确认后,也通知其上层应用进程,连接已经建的确认后,也通知其上层应用进程,连接已经建立。立。TCP/IP网络原理与应用之TCP协议介绍1FIN=1,seq=uCLOSED主动关闭数据传送ESTAB-LISHEDESTAB-LISHEDAB客户服务器CLOSED TCP 的连接释放的连接释放 数据传输结束后,通信的双方都可释放连接。现在 A 的应用进程先向其 TCP 发出连接释放 报文段,并停止再发送数据,主动关闭 TCP 连接。A 把连接释放报文段首部的 FIN=1,其序号 seq=u,等待 B 的确认。TCP/IP网络原理与应用之TCP协议介绍1FIN=1,seq=uACK=1,seq=v,ack=u 1主动关闭数据传送通知应用进程ESTAB-LISHEDESTAB-LISHEDAB客户服务器TCP 的连接释放的连接释放 B 发出确认,确认号 ack=u 1,而这个报文段自己的序号 seq=v。TCP 服务器进程通知高层应用进程。从 A 到 B 这个方向的连接就释放了,TCP 连接 处于半关闭状态。B 若发送数据,A 仍要接收。TCP/IP网络原理与应用之TCP协议介绍1FIN=1,seq=uACK=1,seq=v,ack=u 1FIN=1,ACK=1,seq=w,ack=u 1主动关闭被动关闭数据传送通知应用进程ESTAB-LISHEDESTAB-LISHEDAB客户服务器数据传送TCP 的连接释放的连接释放 若 B 已经没有要向 A 发送的数据,其应用进程就通知 TCP 释放连接。TCP/IP网络原理与应用之TCP协议介绍1FIN=1,seq=uACK=1,seq=v,ack=u 1FIN=1,ACK=1,seq=w,ack=u 1主动关闭被动关闭数据传送通知应用进程ESTAB-LISHEDESTAB-LISHEDAB客户服务器数据传送TCP 的连接释放的连接释放 A 收到连接释放报文段后,必须发出确认。ACK=1,seq=u+1,ack=w 1TCP/IP网络原理与应用之TCP协议介绍1FIN=1,seq=uACK=1,seq=v,ack=u 1FIN=1,ACK=1,seq=w,ack=u 1主动关闭被动关闭数据传送通知应用进程ESTAB-LISHEDESTAB-LISHEDAB客户服务器数据传送TCP 的连接释放的连接释放 在确认报文段中 ACK=1,确认号 ack w 1,自己的序号 seq=u+1。ACK=1,seq=u+1,ack=w 1TCP/IP网络原理与应用之TCP协议介绍1CLOSEDACK=1,seq=u+1,ack=w 1FIN=1,seq=uACK=1,seq=v,ack=u 1FIN=1,ACK=1,seq=w,ack=u 1FIN-WAIT-1CLOSE-WAITFIN-WAIT-2LAST-ACK等待 2MSLTIME-WAIT主动关闭被动关闭数据传送通知应用进程ESTAB-LISHEDESTAB-LISHEDAB客户服务器数据传送CLOSED5.9.2 TCP 的连接释放 TCP 连接必须经过时间 2MSL 后才真正释放掉。TCP/IP网络原理与应用之TCP协议介绍1A 必须等待必须等待 2MSL 的时间的时间l第一,为了保证第一,为了保证 A 发送的最后一个发送的最后一个 ACK 报报文段能够到达文段能够到达 B。l第二,防止第二,防止“已失效的连接请求报文段已失效的连接请求报文段”出现在连接中。出现在连接中。lA 在发送完最后一个在发送完最后一个 ACK 报文段后,再经过时报文段后,再经过时间间 2MSL,就可以使本连接持续的时间内所产,就可以使本连接持续的时间内所产生的所有报文段,都从网络中消失。这样就可生的所有报文段,都从网络中消失。这样就可以使下一个新的连接中不会出现这种旧的连接以使下一个新的连接中不会出现这种旧的连接请求报文段。请求报文段。TCP/IP网络原理与应用之TCP协议介绍1实验实验观察三次握手观察三次握手l利用利用WindDump观察三次握手的细节观察三次握手的细节TCP/IP网络原理与应用之TCP协议介绍1三次握手过程三次握手过程lIP PC-201003101247.2389 202.114.0.248.23:S 942273462:942273462(0)win 65535 lIP 202.114.0.248.23 PC-201003101247.2389:S 2471367096:2471367096(0)ack 942273463 win 49640 lIP PC-201003101247.2389 202.114.0.248.23:.ack 2471367097 win 65535lIP 202.114.0.248.23 PC-201003101247.2389:P 2471367097:2471367202(105)ack 942273463 win 49640lIP PC-201003101247.2389 202.114.0.248.23:.ack 2471367202 win 65430lIP 202.114.0.248.23 PC-201003101247.2389:P 2471367202:2471367208(6)ack 942273463 win 49640lIP PC-201003101247.2389 202.114.0.248.23:P 942273463:942273466(3)ack 2471367208 win 65424l.TCP/IP网络原理与应用之TCP协议介绍1实验实验观察观察TCP连接释放连接释放lIP PC-201003101247.2389 202.114.0.248.23:F 942273469:942273469(0)ack 2471369343 win 65535lIP 202.114.0.248.23 PC-201003101247.2389:.ack 942273470 win 49640lIP 202.114.0.248.23 PC-201003101247.2389:F 2471369343:2471369343(0)ack 942273470 win 49640lIP PC-201003101247.2389 202.114.0.248.23:.ack 2471369344 win 65535TCP/IP网络原理与应用之TCP协议介绍1思考思考两次握手两次握手l假定假定TCP使用两次握手代替三次握手来建立连使用两次握手代替三次握手来建立连接,也就是说,不需要第三个报文,行不行?接,也就是说,不需要第三个报文,行不行?l三次握手完成两大功能:让双方做好发送数据的准三次握手完成两大功能:让双方做好发送数据的准备工作,就初始序列号进行协商备工作,就初始序列号进行协商l两次握手可能发生死锁。假定两次握手可能发生死锁。假定A给给B发送连接请求发送连接请求报文段,报文段,B收到后回送一个连接确认报文段。按两收到后回送一个连接确认报文段。按两次握手协定,次握手协定,B此时就认为连接已经建立成功。但此时就认为连接已经建立成功。但如果该确认报文段丢失,如果该确认报文段丢失,A将不知道将不知道B是

    注意事项

    本文(《TCPIP网络原理与应用》课件.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开