tcp连接是逻辑连接吗(TCP连接过程中采用什么建立连接)

      最后更新:2024-03-21 00:11:46 手机定位技术交流文章

      传输层Transport layer TCP, since 2020-08-05

      (2020.08.07)TCP被称为面向连接的(connection-oriented),这是因为一个进程可以向另一个进程发送数据之前,两个进程需要先握手,即他们开始互相发送预备报文段,以确保建立数据连接的参数。TCP是逻辑连接,其共同状态仅保存在两个通信端系统的TCP程序中。而端系统之间的网络元素不会维持TCP的连接状态。中间路由器对TCP完全视而不见,他们只看到数据报,而非连接。通信特点全双工(full-duplex service),处在不同主机的进程A和进程B之间存在一条连接,数据可以同时从A流向B和从B流向A。点对点(point-to-point),在单个发送方和单个接收方之间的连接。服务器进程和客户进程发起连接的进程称为客户进程,另一个称为服务器进程。(2020.08.08)数据一旦被送进socket,就由客户TCP控制了,TCP将数据放在一个数据缓存(send buffer)里(C/S两端都有),该缓存也是三次握手时数据存放处。TCP会从缓存中取出一块数据,传递给网络层。TCP首部+客户数据=TCP报文段(TCP segment)TCP从send buffer中取出并放入报文段中数据的数据量受限于最大报文段长度(maximum segment size, MSS),其根据最初确定的由本地主机发送的最大链路层帧长度(即最大传输单元Maximum transmission unit, MTU)来设置。以太网和PPP链路都有1500字节的MTU,考虑到TCP/IP首部一般是40字节(TCP首部20字节),TCP报文段中数据长度典型值是1460字节。注意到这里的MSS指的是TCP报文段中来自应用层的数据的最大长度。TCP连接的组成一台主机上的缓存、变量和连接进程的socket,以及另一台主机上的缓存、变量、socket。首部+数据字段。当TCP发送一个大文件,比如图片,TCP通常将该文件划分成长度为MSS的若干,除最后一块,其他的都是MSS长度。而Telnet这样的应用,数据字段只有一个字节长,也就是其TCP一般只有21个字节的长度。典型长度:20字节/160bits(选项字段为空时)源端口号:16bits目的端口号:16bits序号(seq num):32bits确认号(acknowledgment num):32bits接收窗口(receive window field):16bits,用于流量控制,指示接收方愿意接收的字节数量首部长度(header length field):4bits,以32bits的字为长度的TCP首部长度选项字段(options):可选和变长标志字段(flag field):6bits,ACK/RST/SYN/FIN/PSH/URG序号建立在传送的字节流之上而非报文段的序列值上,the sequence number for a segment是报文段首字节的字节流编号。比如一个待发送的文件共10,000个字节,每个TCP的报文段发送1,000个,则第一个报文段的序号是0,第二个序号是1,000,以此类推。该序号是字节的编号,并用于给报文段编号。上面的例子中假设初始序号是0,在实际应用中收发两方随机选择初始序号。确认号略复杂。主机A和B之间建立TCP通信,主机A填充进报文段的确认号是A期望从B收到的下一个字节的序号。报文段的样本RTT(SampleRTT)是报文段被发出(交给IP)到对该报文段的确认被收到之间的时间量。仅为一个已经发送的但目前尚未被确认的报文段估计SRTT,从而产生一个接近每个RTT的新SRTT值;不为已经被重传的报文段计算SRTT;仅为传输一次的报文段测量SRTT。由于网络环境变化,比如路由器的拥塞和端负载的变化,SRTT并不都是典型的。TCP会维持一个SRTT的均值(EstimatedRTT),并根据下面公式计算ERTT其中的推荐值。该指数加权移动平均值(Exponential Weighted Moving Average, EWMA)赋予最近样本的权值要高于旧样本的权值,因越近的样本能更好的反应网络的拥塞状态。此外,RTT的标准差DevRTT用于估算SRTT偏离ERTT的程度:推荐值。超时间隔应该大于等于ERTT,否则造成不必要的重传。但也不该比ERTT大很多,导致数据传输时延大。当SRTT波动大时,间隔大些,波动小时,间隔小些。初始推荐值,当出现超时候翻倍。只要收到报文就更新ERTT,并根据公式重算TimeoutInterval。(2020.08.09 Sat)定时器定时器的管理需要相当大的开销,因此[RFC 6298]推荐仅使用单一的重传定时器,即便有多个已发送但未被确认的报文段。(2020.08.09 Sat)TCP中发送方相关的三个主要动作发送方对这些主要动作的反馈参考可靠数据传输的部分。超时间隔的选取每当超时事件发生,TCP重传具有最小序号的未被确认的报文段。只是每次TCP重传是都会将下一次的超时间隔设为先前值的两倍,而不是用从EstimatedRTT和DevRTT推算的值。然而每当定时器遇到另外两个事件,即ACK和上层数据,定时器的启动TimeoutInterval由最近的ERTT和DRTT推算得到。TCP两侧的主机都有接收缓存。流量控制服务用于消除sndr使rcvr缓存溢出的可能性。fcs因此是一个速度匹配服务,即sndr的发送速率和rcvr应用程序的读取速率相匹配。TCP让sndr维护一个接收窗口(receive window)的变量来提供流量控制,即rw用于给sndr一个指示-该sndr还有多少可用的缓存空间。TCP是全双工通信,两端的发送方都维护一个rw。分析一种情况,主机A通过TCP向B发送一个大文件,B为该连接分配一个接收缓存,用RcvBuffer来表示。B的应用进程从该缓存中读取数据。有如下变量缓存不许溢出,故有接收窗口用rwnd表示,缓存可用空间数量(即空闲的空间数量)表示为主机A需要跟踪另外两个变量,LastByteSent和LastByteAcked,对A来说有一个特例,当B的接收缓存满,rwnd=0,假设此时B没有任何数据要发送给A。考虑到TCP并不向A发送带有rwnd的新报文段, 而事实上TCP仅当有数据或去人要发时才会发送报文段给A。导致A不知道B的接收缓存有新空间,A被阻塞不能在发送数据。解决方案,TCP规范要求,B的接收窗口为0时,A继续发送只有一个字节数据的报文段,这些报文段将会被接收方确认,最终缓存开始清空,且确认报文段将包含一个非0的rwnd值。(2020.08.05)TCP建立过程中三个握手(three-way handshake)的作用三次发送,sndr/rcvr双方各自确认了自身和对方的接收能力和发送能力。握手完成便可建立连接。(2020.08.07)前两次握手的报文段不承载"有效载荷",也就是不包含应用层数据,第三个握手可以承载应用层数据。(2020.08.09 Sat)完成这三步,C-S可通信,以后每一个报文段的SYN都设置为0。结束连接客户打算结束连接,发出一个特殊的报文段,设置其中的FIN=1。服务器接收到回复一个确认报文段,其中的FIN=1。服务器再次发送一个结束连接报文段,FIN=1。客户收到后发送ACK并释放占用的资源。IP层不会向两个端系统提供有关网络拥塞的反馈信息。略。发送方sndr设定一个变量,拥塞窗口congestion windown,cwnd,它对TCP发送方能向网络中发送流量的速率进行了限制,并且和前面提到的接收窗口rwnd联合决定了发送速率,即TCP如何感知它和目的地之间的拥塞定义丢包事件:出现超时,或者受到来自接收方的3个冗余ACK。一个丢失的报文段意味着拥塞,当报文丢失应该降低TCP sndr的发送速率。即减小cwnd。一个确认报文段指示该网络正在向rcvr交付sndr的报文段,因此,当对先前未确认报文段的确认到达时,能够增加发送方的速率。贷款检测。该算法分为三部分,1)慢启动,2)拥塞避免,3)快速恢复。其中的1和2是TCP强制部分。在收到ACK时,慢启动比拥塞避免更快的增加cwnd的长度。当一个TCP连接开始时,cwnd的值通常设为一个MSS的较小值。这使得发送速率大约为MSS/RTT。如MSS=500Bytes,RTT=200ms,则初始发送速率是20kbps。注意到此时带宽可能比初始速率快的多。慢启动(slow-start)状态,cwnd的值以一个MSS开始并且每当传输的报文段首次被确认就增加一个MSS。这一过程使得每过一个RTT,发送速率就翻番。初始速度慢,但ss阶段以指数增长。结束ss的情况
      传输层Transport layer TCP, since 2020-08-05

      为什么说TCP 连接是一条虚连接而不是一条真正的物理连接?

      答:TCP协议提供的是可靠的、面向连接的传输控制协议,即在传输数据前要先建立逻辑连接,然后再传输数据,最后释放连接3个过程。TCP提供端到端、全双工通信;采用字节流方式,如果字节流太长,将其分段;提供紧急数据传送功能
      计算机网络运输层和WeChall题解_HJWYYQX的博客-CSDN博客 每一条TCP连接只能是点对点的(一对一)。TCP提供可靠交付的服务。TCP提供全双工通信。面向字节流。2、TCP连接是一条虚连接而不是一条真正的物理连接。
      为什么说TCP 连接是一条虚连接而不是一条真正的物理连接?

      局域网的物理连接和逻辑连接的含义?谢谢

      你好! 就像楼上说的物理连接是看得见摸的着的逻辑连接则是像TCP/IP这一类的协议等系统底层的连接. 如果对你有帮助,望采纳。
      局域网的物理连接和逻辑连接的含义?谢谢

      什么是TCP连接

      TCP即传输控制协议。TCP连接是互联网连接协议集的一种。TCP通信最重要的特征是:有序和可靠。有序通过将文本流分段并编号实现,可靠通过ACK回复和重复发送实现。TCP连接状态图参考文章:TCP连接过程详解blog.163.com/hlz_2599/blog/static/142378474201151943414397/
      TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WAN)设计的。它是由ARPANET网的研究机构发展起来的。   有时我们将TCP/IP描述为互联网协议集"InternetProtocolSuite",TCP和IP是其中的两个协议(后面将会介绍)。由于TCP和IP是大家熟悉的协议,以至于用TCP/IP或IP/TCP这个词代替了整个协议集。这尽管有点奇怪,但没有必要去争论这个习惯。例如,有时我们讨论NFS是基于TCP/IP时,尽管它根本没用到TCP(只用到IP,和另一种交互式 协议UDP而不是TCP)。   TCP/IP的标准在一系列称为RFC的文档中公布。文档由技术专家、特别工作组、或RFC编辑修订。公布一个文档时,该文档被赋予一个RFC编号,如RFC959(FTP的说明文档)、RFC793(TCP的说明文档)、RFC791(IP的说明文档)等。最初的RFC一直保留而从来不会被更新,如果修改了该文档,则该文档又以一个新号码公布。因此,重要的是要确认你拥有了关于某个专题的最新RFC文档。通常在RFC的开头部分,有相关RFC的更新(update)、修改(errata)、作废(obsolete)信息,提示读者信息的时效性。
      TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WAN)设计的
      什么是TCP连接

      TCP和UDP的主要区别是什么?

      1、在连接上,TCP是基于连接的,是面向连接的运输层协议,如打电话之前要拨号建立连接,UDP是无连接的,即发送数据之前不需要建立连接。2、在对于系统资源的要求上,TCP较多,UDP较少。3、结构程序方面,TCP的结构较为复杂,而UDP结构较为简单。4、在模式上TCP为流模式,而UDP则是数据报模式。5、TCP能保证数据的正确性和顺序性,而UDP可能丢失且不能保证数据的顺序不改变。拓展资料TCP与UDP具体编程时的区别1、sockt的参数两者是不同的,TCP提供可靠地通信传输,UDP则是主要用于广播和细节控制交给应用的通信传输。2、在进行编程时UDP server不需要调用listen和zccept,而TCP则需要调用。3、UDP收发数据用sendto/recvfrom函数。4、TCP:地址信息在connect/accept时确定。5、UDP:在sendto/recvfrom函数中每次均需指定地址信息爱,且shutdown函数无效。
      TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能顺序地从一端传到另一端。 UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,不保证数据按顺序传递,故而传输速度很快。
      TCP提供的是面向连接的、可靠的数据流传输,而UDP提供的是非面向连接的、不可靠的数据流传输。 简单的说,TCP注重数据安全,而UDP数据传输快点,但安全性一般
      TCPTCP,全拼:Transmission Control Protocol,是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC793定义。UDPUDP,全拼:User Datagram Protocol,是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。TCP与UDP区别1、TCP提供的是面向连接的、可靠的数据流传输;UDP提供的是非面向连接的、不可靠的数据流传输。2、TCP提供可靠的服务,通过TCP连接传送的数据,无差错、不丢失、不重复,按序到达;UDP尽最大努力交付,即不保证可靠交付。3、TCP面向字节流;UDP面向报文。4、TCP连接只能是点到点的;UDP支持一对一、一对多、多对一和多对多的交互通信。5、TCP首部开销20字节;UDP的首部开销小,只有8个字节。6、TCP的逻辑通信信道是全双工的可靠信道;UDP的逻辑通信信道是不可靠的信道。
      个人意见哈,1.tcp 建立连接后传输数据,是端到端的通信,udp 不用建立连接,可以大量的分发数据,2.因为tcp 建立连接,有重传措施,保证了数据的安全性,完整性;反之,udp无法保证数据交付到目标手中
      TCP和UDP的主要区别是什么?

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/306656.html

          热门文章

          文章分类