zoukankan      html  css  js  c++  java
  • 传输层两大协议:TCP和UDP

    1. UDP

    1.1 发送方式(如何发送)

      面向无连接。

      无状态服务。

      不保证不丢失,不保证按顺序到达。

    1.2 发送形式(发送的是什么)

      基于数据报。

      一个一个的发送,一个一个的接收。

    1.3 使用场景

      a. 需要资源少,网络情况较好的内网,或者对于丢包不敏感的应用;

      b. 不需要建立一对一连接,可以广播的应用;

      c.处理速度快,时延低的场景;

    2. TCP

    2.1 发送方式(如何发送)

      面向连接。在通信之前,先建立连接。建立连接就是为了在客户端和服务端维护连接而建立一定的数据结构来维护双方交互的状态,用这样的数据结构保证面向连接的特性。

      提供有状态的服务。

      提供可靠的连接。通过TCP连接传输的数据,无差错,无丢失,不重复,并且按序到达。

    2.2 发送形式(发送的是什么)

      基于字节流。

      发送的是一个数据流。

    2.3 报文格式详解

     

      源端口号和目的端口号:确定接收报文的应用;

      序号:解决报文的乱序问题,确定报文的顺序;

      确认序号:解决丢包问题,没有收到确认消息,就一直发送报文,知道收到确认消息,保证报文送达。

      状态位:SYN 发起一个连接;ACK 回复; RST:重新连接;FIN:结束连接。

      窗口大小:双方各声明一个窗口,表示自己当前的处理能力,达到流量控制的目的。

      拥塞控制:根据网络环境,控制发送的频率。

  • 相关阅读:
    GMM的EM算法
    SQL Server 有关EXCEPT和INTERSECT使用
    nginx.conf 完整的集群配置
    一些建议方案猿简历
    漫游Kafka实战篇clientAPI
    iPhone发展【一】从HelloWorld开始
    SpringMVC+Spring3+Hibernate4开发环境的搭建
    tar.gz文件命名和压缩解压方法
    贪心算法(Greedy Algorithm)最小生成树 克鲁斯卡尔算法(Kruskal's algorithm)
    微软将彻底改变Windows发布方式
  • 原文地址:https://www.cnblogs.com/virgosnail/p/10098955.html
Copyright © 2011-2022 走看看