TCP协议段格式

        这图很重要!这图很重要!这图很重要! 重要的事说三遍,之后的TCP机制都是依靠这张图讲解。

1.源 / 目的端口号: 表示数据是从哪个进程来,到哪个进程去;
2.32 位序号 /32位确认号:
         发送的数据编号——序列号(Sequence Number)  SN
                发送的第一个字节的SN一般不是0,而是一个随机值。初始序列号(Initial SN) ISN
 

        确认的数据编号——确认序列号(Acknowledge Sequence Number)  ASN
        
3.4 位 TCP 报头长度:表示该 TCP 头部有多少个 32 位 bit (有多少个 4 字节);所以 TCP 头部最大长度是 15 * 4 = 60
4.6 位标志位 :
         URG:紧急指针是否有效(过时了,配合16位紧急指针来使用)当接收到URG=1时会优先传输某个字节到应用层。
        ACK:确认号是否有效。确定应答机制中的标志位
         PSH:提示接收端应用程序立刻从TCP缓冲区把数据读走
        RST:对方要求重新建立连接;我们把携带RST标识的称为复位报文段
        SYN:请求建立连接的标志位;我们把携带SYN标识的称为同步报文段
        FIN:通知对方连接关闭的标志位,我们称携带FIN标识的为结束报文段 

TCP原理

一、安全机制

①确认应答机制

此机制和 序列号SN、确认序列号ASN 以及 确认号是否有效ACK 有关。

因为TCP协议即需要扮演了发送者(send Segment)的角色,同时还需要扮演接收者(acknowledge segment)的角色,为了TCP身兼两种不同的角色,在TCP设计之初就有一个标志位(ACK),在需要角色设转换的时候发挥作用。

 ACK == 1开关打开          ACK == 0开关关闭

而ASN则表示确认应答序号,假设A发送1000个数据给B,而B确认应答是从这个数据的下个字节开始。如1000个数据是从1~1000,则确认应答是从1001开始的。ASN只有在ACK==1时才有意义。

具体的应答过程如下图所示:

为什么ISN不设置成从О开始,而是采用随机值?

这是从安全角度考虑的,如果ISN设计从О开始,很容易有恶意的用户推算出来合法的SN的值
这样伪造TCP SN的成本很低。使用随机值,相对来说可以避免一部分这个情况。

②超时重传机制

关于重传

如果没有接收到应答,可能会有两种情况导致。

1.接收方没收到,所以没应答

闭关修炼---网络原理之TCP协议相关推荐

  1. 闭关修炼---网络原理之IP协议

    IP(Internel Protocol)网际协议,是网络层最主要的协议. IP地址: IPv4.IPv6(128位) IPv4: 32位的无符号整数(4个字节),通常,每个字节以十进制表示,中间以. ...

  2. 网络原理之TCP协议特性

    TCP协议: TCP,即Transmission Control Protocol,传输控制协议.人如其名,要对数据的传输进行一个详细的 控制.TCP是相对可靠并不是绝对的安全. TCP协议格式段 6 ...

  3. 网络编程——基于TCP协议的通讯录【课程设计】

    网络编程--基于TCP协议的通讯录[课程设计] 本文目录 网络编程--基于TCP协议的通讯录[课程设计] 一.设计题目和要求 设计目标: 课程设计系统组成及模块功能: 二.设计内容 服务端 客户端 S ...

  4. 计算机网络原理fin,一个动画看懂网络原理之TCP建立和释放过程

    一个动画看懂网络原理之TCP建立和释放过程 一.TCP的概念 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议.T ...

  5. 网络编程之TCP协议与UDP对比

    网络编程之TCP协议与UDP对比 UDP协议: 1,面向无连接. 2,不可靠协议,容易丢包. 3,速度快. 4,包体积有限制,64k以内. 通常,聊天,在线视频,凌波. TCP协议: 1.面向连接. ...

  6. 网络5g以及tcp协议等

    网络5g以及tcp协议等 通讯的有关信息 网络的有关信息 OSI七层模型参考 TCP/IP 5层模型 数据的封装和解封 ------------------------------------- 通讯 ...

  7. 网络原理之TCP/IP协议

    文章目录 1.网络基础 1.1 认识IP地址 1.1.1概念 1.1.2 作用 1.1.3 格式 1.1.4 组成 1.1.5 分类 1.2 子网掩码 1.2.1 格式 1.2.2 作用 1.2.3 ...

  8. 网络原理之TCP/UDP协议

    UDP协议 UDP协议端格式 16位UDP长度, 表示整个数据报(UDP首部+UDP数据)的最大长度; 如果校验和出错, 就会直接丢弃 UDP的特点 UDP传输的过程类似于寄信. 无连接: 知道对端的 ...

  9. ppp协议pap验证过程状态转移图_电脑网络知识:TCP协议的高级特性,你所不知道的TCP...

    一. TCP状态转换 要清楚的掌握在连接建立.连接终止以及数据传送时所发生的不同事件,TCP协议以有限状态机的形式来实现.有限状态机是能够经历有限数目状态的一种机器.这个机器总是处于某一个状态中.若没 ...

  10. 网络原理:TCP/UDP

    目录 一.数据组织格式 1.1 xml 1.2 json 1.3 protobuffer 二.传输层重要协议---UDP协议 2.1 UDP协议端格式 2.2 校验和 三.传输层重要协议---TCP协 ...

最新文章

  1. 我在Archlinux下使用的软件
  2. 如何编码和解码base64字符串?
  3. Linux下创建用户、切换用户、删除用户
  4. linux 中文乱码问题的解决方法
  5. 【软件安装】IDEA2018版安装
  6. 算法练习5---快速排序Java版
  7. [C++STL]set容器用法介绍
  8. findfirst_当心findFirst()和findAny()
  9. 【Leetcode | 顺序刷题】杂项目录
  10. 02-HTML标签语法+字体标记
  11. 心电图数据结构化标准_自己实现一个类 JSON 数据结构
  12. 证明三角形内角和等于180度
  13. 多个安卓设备投屏到电脑_如何将多个安卓手机投屏到电脑端
  14. Exif文件格式描述(转载)
  15. 关于神经网络的输出神经元个数的思考
  16. 2019年CSDN博客排名前10名
  17. mysql 不监听tcp端口号_mariadb未监听TCP 3306问题解决
  18. 惊了 消息中间件合集:MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka+笔记
  19. git 删除本地未提交的内容
  20. 376招募线上被试 | 你对“中文句子”的记忆情况如何?

热门文章

  1. 【uni-app】懂你找图--首页图片详情模块
  2. Java Data visualization-dynamic(Java jsp 实现数据可视化-实时动态)
  3. 生物进化思想与程序设计思想的比较
  4. linux开启user_cmd功能记录用户所有操作指令到log message中
  5. IDC:2015年中国社交化移动办公软件市场呈爆发式增长
  6. 前端三大主流框架之一 React
  7. axis不能生成server-config.wsdd文件------解决方法
  8. 快10月底了,专升本和实习到底如何取舍
  9. 读书印记 - 《上瘾:让用户养成使用习惯的四大产品逻辑》
  10. python提取影响某地的历史台风数据