• 【TCP】面向连接的TCP概述


    TCP连接概述

        TCP是因特网运输层面向连接的(connection-oriented)可靠运输协议。之所以说它是面向连接的是因为
      一个应用进程向另外一个应用进程发送数据之前,两个进程必须先要“握手”(建立连接),初始化一些建立连
      接的TCP状态变量。

        TCP协议是在端系统中运行的,不会在中间的网络元素(路由器和链路层交换机)中运行,所以中间元素不
      会维持TCP连接状态。它的连接状态完全保留在两个端系统中。在实际中,中间路由器看到的只是数据包而不是
      连接。

        TCP连接提供的是全双工服务(full-duplex-service),并且TCP连接也是点对点(piont-to-piont)的,这
      就说明TCP连接是单个发送方与单个接收方之间的连接。在一次发送操作中,从一个发送方将数据传给多个接收
      方,即“多播”操作对TCP来说是不可能的。

        两个应用进程经过“三次握手”(three-way handshake)后建立TCP连接。连接建立后两个应用进程便可以
      相互发送数据了。

      

        如图所实,假设左边进程为客户进程,右边进程为服务器进程。
        客户进程通过套接字传递传递数据流。TCP将数据引导到该连接的发送缓存(send buffer)里(该缓存是
      TCP三次握手初期设置的缓存之一)。TCP会不时的从发送缓存里取出一块数据,为每块数据加上一个TCP
      首部,从而形成TCP报文段(TCP segment)。这些报文段被传递给下层的网络层,网络层再将报文段封装在
      IP数据报中。然后,IP数据报被发送到网络中。TCP在另一端接收到一个报文段后,该报文段就被放入该TCP连
      接的接收缓存中。应用程序再从此缓存中读取数据流。

        上文中说的TCP会不时的从发送缓存里取出一块数据,这里的不时在TCP规范里并没有提及确切时间,只是
      说在它“方便时”。TCP所取数据大小会受限于最大报文段长度(Maximum Segment Size,MSS)

        MSS通常根据最初确定的由本地发送主机发送的最大链路帧长度(所谓最大传输单元MTU)来确定。
        设置MSS时要保证一个TCP报文段(封装在IP数据报中在加上TCP首部,通常40个字节)适合单个链路层帧
        以太网和PPP链路层协议都具有1500字节的MTU,一次MSS的典型值为1460字节。
        需要注意:MSS是报文段里应用层数据的最大长度,不包括TCP首部


      此文为《计算机网络 自顶向下方法》学习笔记3

  • 相关阅读:
    拓端数据tecdat|R语言多元逐步回归模型分析房价和葡萄酒价格:选择最合适的预测变量
    拓端tecdat|R语言文本挖掘NASA数据网络分析,tf-idf和主题建模
    拓端tecdat|R语言资产配置: 季度战术资产配置策略研究
    拓端tecdat|R语言HAR和HEAVY模型分析高频金融数据波动率
    拓端tecdat|自然语言处理NLP:情感分析疫情下的新闻数据
    拓端tecdat|R语言中的SOM(自组织映射神经网络)对NBA球员聚类分析
    拓端tecdat|R语言:逻辑回归ROC曲线对角线分析过程及结果
    拓端tecdat|bilibili视频流量数据潜望镜
    codeforces#510 Div2
    树链剖分
  • 原文地址:https://www.cnblogs.com/myworld7/p/8364939.html
Copyright © 2020-2023  润新知