网站怎么开发设计,wordpress源码带数据,jquery网站模版,电商系统的服务商一 tcp连接回顾
部分内容来自小林coding TCP篇
记录的目的#xff1a; 亲身参与进来,加深记忆
① 引入
前面我们知道#xff1a; TCP 是面向连接 [点对点的单播]的、可靠的、基于字节流的传输层通信协议面向连接意味着#xff1a;在使用TCP之前,通信双方必须先建立一…一 tcp连接回顾
部分内容来自小林coding TCP篇
记录的目的 亲身参与进来,加深记忆
① 引入
前面我们知道 TCP 是面向连接 [点对点的单播]的、可靠的、基于字节流的传输层通信协议面向连接意味着在使用TCP之前,通信双方必须先建立一条虚拟连接通道channel
② 什么是tcp连接 ③ 如何唯一的确定一个tcp连接 TCP和UDP可以使用同一端口 TCP和UDP可以使用同一端口吗 说明 一个是通过动态变量形式,一个是通过修改源代码形式来扩展nginx反向代理的tcp连接
通过proxy_bind指令解决使用nginx作为反向代理端口耗尽问题
nginx proxy_bind支持多个ip实现方法 Linux 中每个 TCP 连接最少占用多少内存? 命令行查看 思考 多个 TCP 服务进程可以绑定同一个端口吗?答案 1、如果两个 TCP 服务进程绑定的 IP 地址不同,而端口相同的话,也是可以绑定成功的2、如果两个 TCP 服务进程同时绑定的 IP 地址和端口都相同,那么执行bind()时候就会出错错误是: Address already in use
④ Linux中查看TCP状态 粗略查看进程的tcp连接数和状态 netstat -napt | grep nginx 需求 统计TCP的状态netstat -n | awk /^tcp/ {S[$NF]} END{for(a in S) print a, S[a]}说明 后续深刻理解下面八种状态 解决webserver tcp连接大量CLOSE_WAIT 问题
⑤ TCP payload载荷长度 二 TCP三次握手
TCP正常建立连接是通过三次握手来进行的,本文暂时不考虑异常场景重点 1、每次握手的目的2、握手的过程TCP控制位变化3、tcp连接过程中状态时序图的转换4、理解TCP的确认机制目标 当前阶段对三次握手有一个基本的认识即可 ① 三次握手的图谱 说明 下面将SYN初始化为1,便于理解 说明 三次握手过程简要概述 TCP序列号和确认号是如何变化
② 第一次握手
server: CLOSE -- LISTENclient: CLOSE -- SYN-SENT补充 SYN报文不包含应用层信息注意 SYN报文中32位序列号的内容来源备注 SYN是TCP建立连接的时使用的握手信号SYN: synchronous ③ 第二次握手
server: LISTEN -- SYN-RCVD补充 SYNACK报文不包含应用层信息 ④ 第三次握手
说明 ACK 报文可以携带应用数据ACK: ACKnowlegment 确认 ⑤ 三次握手中每一次握手的目的 对于nginx的内核参数