当前位置:网站首页>tcp连接的细节
tcp连接的细节
2022-08-04 08:50:00 【zhu0902150102】
1.握手协商的ISN初始序列号为啥是随机的?
(1)防止同一个TCP连接的不同实例导致的数据混淆。
(2)防止TCP系列号欺骗(如果固定的序列号开始)
比如存在客户端主机A和客户端主机B(具有特权)。服务端C假设没有特殊验证手段,通过IP来识别A,B主机。现在A主机作为攻击端,冒充B主机的IP向C发生SYN建立连接,同时攻击B主机,比如SYN泛洪攻击,使之无法响应C主机的SYN,ACK报文。如果以固定的序列号开始,那么A主机就能知道C发生的SYN报文的序列号,继续以B主机的IP回ACK建立连接。
2.三次握手可以携带数据吗?
1.正常流程下,协议规定第一次和第二次握手是不能携带数据的,计算发送了数据,对端也会忽视并丢弃。第三次握手可以携带数据,如果当前发送缓冲区已经有了数据并达到发送条件,可以携带数据
2.但是后面为了减少握手带来的时延,增加了一个TFO功能,利用TCP-head里面的一个扩展项FOC来得到减少一个RTT时延的母的。通过正常的TCP连接获取到cookie后,在Head里面添加FOC项则可以在SYN包里携带信息。但是默认禁止的,不建议使用,因为还没有协商完MSS(),窗口缩放等信息,协商序列号。可能会带来问题。协议建议client在正常连接获取cookie,也缓存MSS,或者使用默认的MSS,如果发送带FOC的SYN包无法接受到ACK,则应该临时关闭FOC。而且可能收到重复的SYN包,因为没有协商序列号,可能会照成同一个连接不同实例的数据包混淆。
3.TCP建立连接的方式?
服务端接收SYN后存在哪里?会一直存储吗?
边栏推荐
- unity2D横版游戏教程7-敌人AI死亡效果
- 金仓数据库 KDTS 迁移工具使用指南 (7. 部署常见问题)
- 基于cRIO-904X搭建Simulink与Labview环境
- ShowMeAI —— Show u 三连
- 【虚幻引擎UE】UE5实现WEB和UE通讯思路
- SQL后计算的利器
- yuv420sp转jpg
- 技术实现 | 图像检索及其在淘宝的应用
- 华为设备配置VRRP与NQA联动监视上行链路
- 2022-08-02 Analyze RK817 output 32k clock PMIC_32KOUT_WIFI to WiFi module clock register devm_clk_hw_register
猜你喜欢
随机推荐
C语言strchr()函数以及strstr()函数的实现
【STM32】STM32F103系列名称与封装、内存
力扣 剑指 Offer 04. 二维数组中的查找
leetcode 22.8.1 二进制加法
[STM32] STM32F103 series name and package, memory
速速脱单诀窍
如何设计一个注册中心
虚拟机没有USB网卡选项怎么解决
怎么写专利更容易通过?
抬升市场投资情绪,若羽臣是否还需“自身硬”?
金仓数据库 KDTS 迁移工具使用指南 (5. SHELL版使用说明)
Shared_preload_libraries cause many syntaxes not supported
金仓数据库KingbaseES客户端编程接口指南-JDBC(6. JDBC 大对象数据处理)
How to write patents are more likely to pass?
从底层看 Redis 的五种数据类型
微信消息从发送到接收,经历了什么?如何防止丢包
从零开始C语言精讲篇6:结构体
金仓数据库 KDTS 迁移工具使用指南 (7. 部署常见问题)
How to import data from PG to kingbaseES
【UE虚幻引擎】UE5三步骤实现AI漫游与对话行为









