当前位置:网站首页>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后存在哪里?会一直存储吗?
边栏推荐
猜你喜欢

【虚幻引擎UE】UE5基于Gltf加载插件实现gltf格式骨骼动画在线/本地导入和切换

leetcode 22.7.31(1)两数之和 (2)整数除法

IDEA引入类报错:“The file size (2.59 MB) exceeds the configured limit (2.56MB)

BFM模型和Landmarks可视化

秒懂大模型 | 3步搞定AI写摘要

『递归』递归概念与典型实例

并查集介绍和基于并查集解决问题——LeetCode 952 按公因数计算最大组件大小

王爽汇编语言第四章:第一个程序

Cross-species regulatory sequence activity prediction

【UE虚幻引擎】UE5实现动态导航样条线绘制
随机推荐
oracle sql multi-table query
ShuffleNet v2网络结构复现(Pytorch版)
How to import data from PG to kingbaseES
B站回应HR称“核心用户都是Loser”、求职者是“白嫖党”:已被劝退
ShowMeAI —— Show u 三连
布局管理器
今日睡眠质量记录71分
DNS 查询原理详解—— 阮一峰的网络日志
反序列化漏洞
如何快速将Zabbix5.0升级至6.0?
经典递归回溯问题之——解数独(LeetCode 37)
C Language Lectures from Scratch Part 6: Structure
grafana手册之可视化配置图表table
金仓数据库KingbaseES客户端编程接口指南-JDBC(10. JDBC 读写分离最佳实践)
DWB主题事实及ST数据应用层构建,220803,,
inject() can only be used inside setup() or functional components.
Wang Shuang's Assembly Language Chapter 4: The First Program
Occupy, fill in later
使用单调栈解决接雨水问题——LeetCode 42 接雨水+单调栈说明
2022-08-02 Analyze RK817 output 32k clock PMIC_32KOUT_WIFI to WiFi module clock register devm_clk_hw_register