zoukankan      html  css  js  c++  java
  • TCP

    TCP特点

    1. 面向连接

    通信双方必须先建立连接才能进行数据的传输,双方都必须为该连接分配必要的系统内核资源,以管理连接的状态和连接上的传输。

    双方间的数据传输都可以通过这一个连接进行。

    完成数据交换后,双方必须断开此连接,以释放系统资源。

    这种连接是一对一的,不适用于广播的应用程序,基于广播的应用程序适合使用UDP协议。

    2. 基于数据流(字节流)

    1)tcp数据流

    发送端执行多次写操作(send)时,TCP模块先把这些数据放入TCP发送缓冲区中,当TCP模块真正可以发送数据时,才把TCP发送缓冲区等待发送的数据封装成一个或多个TCP报文段发出。

    TCP会把数据流切分成一个或多个适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传输单元(MTU)的限制)。

    3. 可靠传输

    1)TCP采用发送应答机制

    TCP发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传输成功

    2)超时重传

    发送端发出一个报文段之后就启动定时器,如果在定时时间内没有收到应答就重新发送这个报文段。

    TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。

    3)错误校验

    TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

    4) 流量控制和阻塞管理

    流量控制用来避免主机发送得过快而使接收方来不及完全收下。

    LESS IS MORE !
  • 相关阅读:
    sql sever 数据字典语法
    端口使用情况
    koa中间件说明
    FLIP动画思想
    跨域下载文件显示文件名
    post方法打开新页面并提交参数
    常用快捷键
    cnpm与npm安装的包不一样
    chrome devTools变量不提示,断点点击去不掉问题
    未修改的模块失效排查方法
  • 原文地址:https://www.cnblogs.com/maxiaohei/p/7804141.html
Copyright © 2011-2022 走看看