http://blog.csdn.net/walfred89_/article/details/5746250
【首先必须了解和掌握:】
1、 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。
2、 当网络的边缘部分中的两个主机使用网络的核心部分的功能进行端到端的通信时,只有位于网络边缘部分的主机的协议栈才有运输层,而网络核心部分中的路由器在转发分组时都只用到下三层的功能。
3、 数据在5层体系中,层与层之间的数据传输(向下),各层添加的层头包括可能会添加报尾),的关系,和层与层之间的数据传输(向上),各层剥去的层头和层尾。
4、 事实上,两个运输层之间并没有一条水平的物理连接(可以称为虚连接或逻辑通信)。
5、 TCP 则提供面向连接的服务。TCP 不提供广播或多播服务。由于 TCP 要提供可靠的、面向连接的运输服务,因此不可避免地增加了许多的开销。这不仅使协议数据单元的首部增大很多,还要占用许多的处理机资源。
6、 TCP报文段的首部(握手需要用到的一些部分)
①序号字段——占 4 字节。TCP 连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。 (下文握手描述为seq)
②确认号字段——占 4 字节,是期望收到对方的下一个报文段的数据的第一个字节的序号
。(下文握手描述为ack)
③确认 ACK —— 只有当 ACK = 1 时确认号字段才有效。当 ACK =0 时,确认号无效。
④同步 SYN —— 同步 SYN = 1 表示这是一个连接请求或连接接受报文。
⑤终止 FIN —— 用来释放一个连接。FIN = 1 表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
【正题:客户与服务器方式】
TCP 连接的建立都是采用客户服务器方式。主动发起连接建立的应用进程叫做客户(client)。被动等待连接建立的应用进程叫做服务器(server)。
一、连接时的三次握手
客户主动打开TCP传输,服务器被动打开
第一次握手:客户发送 SYN = 1, seq = x 给服务器
说明:客户的TCP向服务器发出连接请求报文段,其首部中的同步位SYN = 1,并选择序号 seq = x,表明传送数据时的第一个数据字节的序号是 x。
第二次握手:服务器发送SYN= 1,ACK= 1,seq = y,ack= x+1给客户
说明:服务器的TCP收到连接请求报文段后,如同意,则发回确认。服务器在确认报文段中应使SYN = 1,使 ACK = 1,其确认号ack = x +1,自己选择的序号 seq = y。
第三次握手:客户发送 ACK=1,seq=x+1,ack= y+1给服务器
说明:客户收到此报文段后向服务器给出确认,其 ACK = 1,确认号 ack = y +1。客户的 TCP 通知上层应用进程,连接已经建立。服务器的 TCP 收到主机客户的确认后,也通知其上层应用进程:TCP 连接已经建立。
二、连接释放时的四次握手
数据传输结束后,通信的双方都可释放连接
客户应用进程先向其TCP发出连接释放报文段,并停止再发送数据,主动关闭TCP连接。
第一次握手:客户发送 FIN=1,seq=u 给服务器
说明:客户把连接释放报文段首部的 FIN = 1,其序号seq = u,等待服务器的确认。
第二次握手:服务器发送 ACK=1,seq=v,ack=u+1给客户
说明:服务器发出确认,确认号ack = u +1,而这个报文段自己的序号seq = v。TCP 服务器进程通知高层应用进程。从客户到服务器这个方向的连接就释放了,TCP 连接处于半关闭状态。服务器若发送数据,客户仍要接收。
第三次握手:服务器发送 FIN=1,ACK=1,seq=w,ack= u+1 给客户。
说明:若服务器已经没有要向客户发送的数据,其应用进程就通知 TCP 释放连接。
第四次握手:客户发送 ACK=1,seq=u+1,ack=w+1给服务器
说明:客户收到连接释放报文段后,必须发出确认。在确认报文段中 ACK = 1,确认号 ack =w +1。自己的序号 seq = u + 1。 随之服务器TCP关闭,而客户必须等待2MSL的时间,然后关闭。
分享到:
相关推荐
TCP/IP协议中三次握手四次挥手的原理及流程分析 TCP/IP协议中三次握手四次挥手的原理及流程分析是计算机网络中非常重要的概念。它主要介绍了TCP/IP协议中三次握手四次挥手的原理及流程分析,具有一定参考价值。 ...
2. **理论基础**:深入讲解TCP和UDP的工作原理,包括三次握手、四次挥手、滑动窗口机制、UDP的无连接特性等。 3. **分析方法**:如何通过数据包来分析连接状态、传输速率、丢包情况等,以验证协议的正确性和性能。 ...
TCP三次握手和backlog参数是TCP/IP协议中的一种可靠的连接服务,三次握手是为了防止已失效的连接请求报文段突然又传送到了服务端因而产生错误,而backlog参数则是用于控制服务器的accept速度和队列大小,以避免...
"TCP/IP 协议族详解 wireshark 抓包图解 TCP 三次握手四次挥手详解" TCP/IP 协议族是指由 TCP 和 IP 两个主要协议组成的协议簇,负责管理计算机之间的通信。该协议族分为四个层次:链路层、网络层、运输层和应用层...
在本实验中,我们将重点探讨如何利用Wireshark分析传输层协议——TCP(Transmission Control Protocol)的三次握手和四次挥手过程。 TCP是互联网上最常用的面向连接的、可靠的传输协议,它通过序列号和确认机制保证...
Tcp 协议的工作原理是通过三个报文段完成连接的建立,这个过程称为三次握手。Tcp 连接的终止需要四次握手,这是由 Tcp 的半关闭造成的。 Tcp 协议的主要特点包括: * 面向连接的传输 * 端到端的通信 * 高可靠性,...
TCP连接的建立和释放通过三次握手和四次挥手来完成,确保数据完整传输且避免资源浪费。TCP连接状态机描述了连接的不同阶段,如SYN_SENT、ESTABLISHED、FIN_WAIT_2等。 总结来说,运输层是计算机网络中至关重要的一...
TCP(Transmission Control Protocol)是因特网中的传输层协议,使用三次握手协议建立连接。下面是 TCP 建立连接的全过程: TCP 连接建立过程 在 TCP 连接建立过程中,客户端(主机 A)和服务器端(主机 B)都处于...
TCP协议基于OSI模型的第四层——传输层,它位于网络层(如IP协议)之上,应用层之下。TCP通过端口号来标识并建立进程间的通信,为应用程序提供端到端的通信服务。 TCP协议的主要特点包括: 1. 连接性:TCP提供的是...
TCP 连接的建立和释放涉及到三次握手和四次挥手过程,以确保连接的可靠建立和安全关闭。TCP 的连接状态机有助于理解其连接管理的复杂性。 总结,运输层是计算机网络中不可或缺的部分,它通过TCP和UDP协议提供不同...
- **TCP概述**:TCP提供有序、无损的数据传输服务,通过建立连接、数据传输、释放连接的三向握手和四向挥手过程来保证可靠性。 - **TCP报文段首部**:包括源和目的端口号、序号、确认号、数据偏移、保留、标志位(如...
5. **连接建立与关闭**:TCP连接遵循三次握手过程,包括SYN(Synchronize Sequence Numbers)、SYN+ACK(Synchronize + Acknowledgement)和ACK(Acknowledgement)三个阶段。通信结束后,双方通过四次挥手(FIN, FIN+ACK,...
TCP的运输连接管理涉及连接的建立、维护和释放,包括三次握手、四次挥手等过程。 总的来说,运输层在互联网通信中起着至关重要的作用,它确保了数据在进程间的可靠传输,并通过TCP和UDP适应了不同应用场景的需求。...
TCP的主要特点是其连接性,通过三次握手建立连接,确保双方准备好通信。TCP报文段的首部包含了用于控制连接、确认和流量控制的字段。TCP的连接管理包括连接建立、维护和释放,其有限状态机确保了连接过程的正确执行...
运输层协议和网络层协议的主要区别 在网络通信中,运输层协议和网络层协议是两个不同的层次,每个层次都有其特定的功能和责任。了解这两个层次的区别对于深入理解网络通信的机理和原理非常重要。 首先,网络层协议...
TCP建立连接的过程被称为三次握手,而在连接结束后,通过四次挥手来释放连接。TCP的首部包括源和目的端口号、序列号、确认号、窗口大小等字段,用于实现可靠传输和流量控制。 5.4 可靠传输的工作原理 TCP通过停止...
### 计算机网络第六章:运输层协议详解 #### 一、运输层的基本概念与功能 运输层作为计算机网络中的关键层次之一,主要负责在两台主机的应用进程之间提供可靠的端到端通信服务。其核心任务在于为上层应用进程提供...
TCP的连接释放则需要四次挥手,以确保数据完全传输且无丢失。 4. **TCP的运输连接管理** TCP连接的建立和释放由TCP的有限状态机控制。TCP连接建立过程包括SYN和SYN+ACK的交换;连接释放时,需要双方确认无数据残留...
TCP 的连接建立过程需要经过三次握手机制。 5.4 可靠传输的工作原理 可靠传输的工作原理是指运输层如何确保数据的可靠传输。停止等待协议和连续 ARQ 协议是两种常用的可靠传输协议。 5.5 TCP 报文段的首部格式 ...