闭关修炼---网络原理之TCP协议
TCP协议段格式
这图很重要!这图很重要!这图很重要! 重要的事说三遍,之后的TCP机制都是依靠这张图讲解。
确认的数据编号——确认序列号(Acknowledge Sequence Number) ASN
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协议相关推荐
- 闭关修炼---网络原理之IP协议
IP(Internel Protocol)网际协议,是网络层最主要的协议. IP地址: IPv4.IPv6(128位) IPv4: 32位的无符号整数(4个字节),通常,每个字节以十进制表示,中间以. ...
- 网络原理之TCP协议特性
TCP协议: TCP,即Transmission Control Protocol,传输控制协议.人如其名,要对数据的传输进行一个详细的 控制.TCP是相对可靠并不是绝对的安全. TCP协议格式段 6 ...
- 网络编程——基于TCP协议的通讯录【课程设计】
网络编程--基于TCP协议的通讯录[课程设计] 本文目录 网络编程--基于TCP协议的通讯录[课程设计] 一.设计题目和要求 设计目标: 课程设计系统组成及模块功能: 二.设计内容 服务端 客户端 S ...
- 计算机网络原理fin,一个动画看懂网络原理之TCP建立和释放过程
一个动画看懂网络原理之TCP建立和释放过程 一.TCP的概念 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议.T ...
- 网络编程之TCP协议与UDP对比
网络编程之TCP协议与UDP对比 UDP协议: 1,面向无连接. 2,不可靠协议,容易丢包. 3,速度快. 4,包体积有限制,64k以内. 通常,聊天,在线视频,凌波. TCP协议: 1.面向连接. ...
- 网络5g以及tcp协议等
网络5g以及tcp协议等 通讯的有关信息 网络的有关信息 OSI七层模型参考 TCP/IP 5层模型 数据的封装和解封 ------------------------------------- 通讯 ...
- 网络原理之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 ...
- 网络原理之TCP/UDP协议
UDP协议 UDP协议端格式 16位UDP长度, 表示整个数据报(UDP首部+UDP数据)的最大长度; 如果校验和出错, 就会直接丢弃 UDP的特点 UDP传输的过程类似于寄信. 无连接: 知道对端的 ...
- ppp协议pap验证过程状态转移图_电脑网络知识:TCP协议的高级特性,你所不知道的TCP...
一. TCP状态转换 要清楚的掌握在连接建立.连接终止以及数据传送时所发生的不同事件,TCP协议以有限状态机的形式来实现.有限状态机是能够经历有限数目状态的一种机器.这个机器总是处于某一个状态中.若没 ...
- 网络原理:TCP/UDP
目录 一.数据组织格式 1.1 xml 1.2 json 1.3 protobuffer 二.传输层重要协议---UDP协议 2.1 UDP协议端格式 2.2 校验和 三.传输层重要协议---TCP协 ...
最新文章
- 我在Archlinux下使用的软件
- 如何编码和解码base64字符串?
- Linux下创建用户、切换用户、删除用户
- linux 中文乱码问题的解决方法
- 【软件安装】IDEA2018版安装
- 算法练习5---快速排序Java版
- [C++STL]set容器用法介绍
- findfirst_当心findFirst()和findAny()
- 【Leetcode | 顺序刷题】杂项目录
- 02-HTML标签语法+字体标记
- 心电图数据结构化标准_自己实现一个类 JSON 数据结构
- 证明三角形内角和等于180度
- 多个安卓设备投屏到电脑_如何将多个安卓手机投屏到电脑端
- Exif文件格式描述(转载)
- 关于神经网络的输出神经元个数的思考
- 2019年CSDN博客排名前10名
- mysql 不监听tcp端口号_mariadb未监听TCP 3306问题解决
- 惊了 消息中间件合集:MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka+笔记
- git 删除本地未提交的内容
- 376招募线上被试 | 你对“中文句子”的记忆情况如何?
热门文章
- 【uni-app】懂你找图--首页图片详情模块
- Java Data visualization-dynamic(Java jsp 实现数据可视化-实时动态)
- 生物进化思想与程序设计思想的比较
- linux开启user_cmd功能记录用户所有操作指令到log message中
- IDC:2015年中国社交化移动办公软件市场呈爆发式增长
- 前端三大主流框架之一 React
- axis不能生成server-config.wsdd文件------解决方法
- 快10月底了,专升本和实习到底如何取舍
- 读书印记 - 《上瘾:让用户养成使用习惯的四大产品逻辑》
- python提取影响某地的历史台风数据