TCP/IP(四)TCP的连接管理(一)三次握手

一 tcp连接回顾

部分内容来自小林coding TCP篇

bash 复制代码
记录的目的: 亲身参与进来,'加深'记忆

① 引入

bash 复制代码
前面我们'知道': TCP 是'面向连接 [点对点的单播]'的、可靠的、基于字节流的'传输层'通信协议

面向连接'意味'着:在使用'TCP'之前,通信双方必须先建立一条'虚拟'连接'通道channel'

② 什么是tcp连接

③ 如何唯一的确定一个tcp连接

TCP和UDP可以使用同一端口 TCP和UDP可以使用同一端口吗

bash 复制代码
说明: 一个是通过'动态'变量形式,一个是通过'修改'源代码形式来扩展'nginx'反向代理的tcp连接

通过proxy_bind指令解决使用nginx作为反向代理端口耗尽问题

nginx proxy_bind支持多个ip实现方法

Linux 中每个 TCP 连接最少占用多少内存? 命令行查看

bash 复制代码
思考: 多个 TCP 服务进程可以绑定'同一个端口'吗?

答案: 

 1、如果两个 TCP 服务进程'绑定的 IP 地址不同',而'端口相同'的话,也是可以绑定'成功'的

 2、如果两个 TCP 服务进程同时绑定的 IP 地址和端口'都相同',那么执行'bind()'时候就会出错

 错误是: 'Address already in use'

④ Linux中查看TCP状态

bash 复制代码
粗略查看'进程'的'tcp'连接数和状态:  netstat -napt | grep nginx

bash 复制代码
需求: 统计'TCP'的状态

netstat -n | awk '/^tcp/ {++S[$NF]} END{for(a in S) print a, S[a]}'

说明: 后续深刻理解下面'八种'状态

解决webserver tcp连接大量CLOSE_WAIT 问题

⑤ TCP payload载荷长度

二 TCP三次握手

bash 复制代码
TCP'正常'建立连接是通过'三次握手'来进行的,本文暂时'不考虑'异常场景

重点: 

  1、每次握手的'目的'

  2、握手的过程'TCP'控制位变化

  3、tcp连接过程中状态时序图的转换

  4、理解TCP的'确认'机制

目标: 当前阶段对'三次握手'有一个'基本'的认识即可

① 三次握手的图谱

bash 复制代码
说明: 下面将'SYN'初始化为'1',便于'理解'
bash 复制代码
说明: 三次握手过程'简要概述'

TCP序列号和确认号是如何变化

② 第一次握手

bash 复制代码
server:  CLOSE --> 'LISTEN'

client:  CLOSE --> 'SYN-SENT'

补充: SYN报文'不包含应用层'信息

注意: SYN报文中32位'序列号'的内容来源

备注: SYN是TCP'建立连接'的时使用的'握手'信号

SYN: synchronous

③ 第二次握手

bash 复制代码
server: LISTEN  -->  'SYN-RCVD'

补充: SYN+ACK报文'不包含应用层'信息

④ 第三次握手

bash 复制代码
说明: ACK 报文可以携带'应用'数据

ACK:  ACKnowlegment '确认'

⑤ 三次握手中每一次握手的目的

对于nginx的内核参数

相关推荐
圆圆讲门店7 小时前
挑选同城获客服务机构时需要考量的核心因素都有哪些?
大数据·网络·人工智能·python
筝筝ba7 小时前
openBMC功耗封顶GUI测试
服务器
制造业的搬运工7 小时前
扫地机器人主板 PCB 选型:深圳线路板与普通板的 8 项工艺指标对比与参数清单
网络·科技·制造·科普·pcb工艺
niuTaylor8 小时前
飞腾 FT-2000/4 Ubuntu 内存卡 / NVMe SSD 系统制作完整指南
linux·服务器·人工智能·驱动开发·单片机
Huangjin007_9 小时前
【Linux 系统篇(二十五)】文件(二) 系统文件I/O详解
linux·运维·服务器
XiaoMaqqqq9 小时前
目前知名的IP驱动产业新场景新工具有哪些
网络·python·网络协议·tcp/ip
李永奉10 小时前
中科蓝讯SDK开发-BT897X、BT891X、AB573X、AB572X 系列 触摸按键提示音功能实现
网络·单片机·嵌入式硬件·mcu·物联网
ShineWinsu10 小时前
对于ProtoBuffer:ProtoBuffer的介绍以及安装
linux·网络·google·协议·序列化·反序列化·protobuffer
云表无代码开发10 小时前
日本开发者彻底破防:中文太强了!换成英文直接裂开
大数据·服务器·人工智能·microsoft·信息可视化
Eddyp10 小时前
避开溢价!艾默生 TREX2 手操器省钱选型攻略
网络·其他·百度·微信·微信公众平台·新浪微博