zoukankan      html  css  js  c++  java
  • 基于UDP协议模拟的一个TCP协议传输系统

    TCP协议以可靠性出名,这其中包括三次握手建立连接,流控制和拥塞控制等技术。详细介绍如下:

    1. TCP协议将需要发送的数据分割成数据块。数据块大小是通过MSS(maximum segment size)来控制的,这种机制是一种协商机制,MSS规定了传往接收方的最大数据块的大小。MSS通过SYN报文协商的,若接收方不接受来自另一方的MSS值,则MSS就定为一个固定值。MSS值越大,网络的利用率越高。
    2. 重传。设置定时器,等待确认包。
    3. 对首部和数据进行校验。
    4. TCP对收到的数据进行排序,然后交给应用层。
    5. TCP的接收端丢弃重复的数据。
    6. 流量控制。(通过每一端声明的窗口大小来提供的)
    发现了一个写的很好的TCP协议详解,链接如下:

    我写的这个系统基于UDP协议模拟了一个TCP协议,所实现的功能如下:

    1.三次握手

    2.一个计时器,用来判断传输超时行为

    3.快速重传

    4.能处理不同的MSS(maximum segment size)

    5.没有被接收方确认收到的包会被存在发送方,最大可以存MWS个(Maximum Window size)

    6.能处理包丢失的情况

    7.接收方一旦收到包,立刻发送确认信息给发送方

    8.接收方的超时时间是固定的

    9.接收方和发送方用log记录发生的一切

    详情及代码请看https://github.com/tian-jiang/TCP-Simulating

    可以帮助很好的理解三次握手,快速重传,接收方缓存,发送方缓存,滑动窗口移动的规则,MSS等TCP协议中的重要概念。

  • 相关阅读:
    demo_10_02 云数据库聚合_bucket_02 bucketAuto
    demo_10_02 云数据库聚合_bucket_01
    nginx 启动脚本
    grep 全局搜索打印命令
    ulimit shell启动进程所占用的资源命令
    nginx 一键安装
    安装 nginx
    学习笔记::杜教筛
    markdown测试
    bzoj4589
  • 原文地址:https://www.cnblogs.com/ingenuity/p/4532681.html
Copyright © 2011-2022 走看看