搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
我家自动化
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
使用python tensorly 实现张量CP分解_tensorly.decomposition
2
FastDFS入门学习之集群搭建_fastdfs bucket
3
【联邦学习+区块链】Blockchain-based decentralized federated learning: A secure and privacy-preserving system_blockchain and federated learning-enabled distribu
4
83: 项目概述 、 跳板机、模板机的制作 、 企业云平台搭建Web集群 、 总结和答疑_跳板机申请模板文档
5
一步一学Linux与Windows 共享文件Samba
6
POI和easyExcel操作_easyexcel3.2.1和什么poi的版本兼容
7
oracle导出到hive,从Oracle导出数据并导入到Hive
8
k个有序列表合并为一个有序列表 Python3版本_k个长度不同的有序表
9
SqlServer数据库远程链接失败问题_sqlserver远程连接失败
10
南京邮电大学数据结构实验三(图的基本运算及飞机换乘次数最少问题)_图相关操作的实现南京邮电大学数据结构
当前位置:
article
> 正文
unix网络基础-TCP连接的建立和终止(记录)_unix tcp建立
作者:我家自动化 | 2024-02-28 12:17:06
赞
踩
unix tcp建立
TCP连接的建立和终止(记录)
本文纯是为了记录我看的书《UNIX网络编程套接字API》中的写的TCP协议部分知识,记不住啊啊。。。
TCP建立连接
建立TCP连接时会发生的事,(1)服务器必须准备好接受外来的连接。这通常调用socket、bind和listen这3个函数完成,称为“被动打开”。
(2)客户通过调用connect发起主动打开。这将导致客户TCP发送一个SYN(同步)分节(PS:好像是一种特殊的报文),它告诉服务器客户将在(构建立的)连接中发送的数据的初始序列号。通常SYN分节不携带数据,其中在IP数据包只含一个IP首部。一个TCP首部及又可能的TCP选项。
(3)服务器必须确认(ACK)客户的SYN,同时自己也得发送一个SYN分节,其含有服务器将同一个连接中发送的数据的初始序列号。服务器在单个分节中发送SYN和对客户SYN的ACK(确认)。
(4)客户必须确认服务器的SYN,到此完成传说中的三次握手。
以下是流程图:
图中可知,客户给出的初始序列号为J,服务器初始序列号为K,它们都会将接到的SYN序列号加1之后发送。
TCP选项
TCP选项
分别有MSS选项,用来通知对端它的最大分节大小;窗口规模选项,通知对端窗口大小;时间戳选项。
TCP连接终止
TCP建立连接时需要3个分节,但在终止连接时则需要4个,因为要实现“4次握手”。
(1)某个应用程序首先调用close
,称此端进行主动关闭(active close)。
该端发送一个FIN分节,表示数据发送完毕。
(2)接受到这个FIN的对端执行被动关闭。这个FIN由TCP确认。它的接受作为文件结束符(EOF)传递给接收端应用程序(放在已排队等候该应用进程的任何其他数据之后),因为接受FIN意味着接收端进程相应连接上不再需要数据。
(3)一段时间后,接收到这个文件结束符的进程将调用close关闭套接字。这导致它的TCP也发生一个FIN。
(4)接受这个最终FIN的原发送端TCP(即执行主动关闭的那一端)确认这个FIN。
流程图如下:
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/我家自动化/article/detail/158769?site
推荐阅读
article
使用
IPMI
控制/监控
Linux
服务器
...
1
IPMI
简述
IPMI
提供了很多丰富功能,我
使用
的功能,说得大白话一点,就是:1、获取本设备的硬件信息:包括CPU和主...
赞
踩
article
UNIX
域
协议
(命名套
接字
)...
这里主要介绍命名
UNIX
域
套
接字
1.什么是
UNIX
域
套
接字
Unix
域
协议
并不是一个实际的
协议
族,而是在单个主机上执行客户...
赞
踩
article
Linux
基础IO【
文件
理解
与
操作
】...
文件
操作
是基础IO学习的第一步,我们在C语言进阶中,就已经学习了
文件
相关
操作
,比如fopen和fclose,语言层面只要...
赞
踩
article
【深度
强化
学习
】1.
基础
部分
_
强化
学习
奖励
函数
...
【DataWhale打卡】第一天:
学习
周博磊讲的
强化
学习
结合《深入理解AutoML和AutoDL》这本书中的
强化
学习
的章...
赞
踩
article
腾讯
云
简单、快速搭建
幻兽
帕鲁
游戏
服务器
方法...
幻兽
帕鲁
》是近期爆火的一款开放世界生存建造
游戏
,在
游戏
中,玩家可与神器生物
帕鲁
为伴,收集养成各系
帕鲁
,并指挥
帕鲁
在
游戏
中...
赞
踩
article
nebula
容器方式
安装
:
docker
安装
nebula
到
windows
...
network
nebula
-
docker
-compose_
nebula
-net这里的参数根据查询的结果更改,比如我要改...
赞
踩
article
某
大型软件
公司
售前
软件
工程师
面试
题附答案_
售前
工程师
面试
问题及答案...
首先介绍下
公司
的
面试
流程,包括两轮
面试
,第一次是了解工作经历,然后给出一个写方案的题目,第二次
面试
是给项目经理和销售讲解...
赞
踩
article
史上最详讲解,
MySQL
的
json
数据类型
的
存储
结构(源码+图)...
1、前情交代本篇文章以
MySQL
5.7 版本为例。官方文档:https://dev.mysql.com/doc/re...
赞
踩
article
《
幻兽
帕鲁
》
游戏
公司如何打造全球爆款 《
幻兽
帕鲁
Palworld
》怎么在
Mac
上玩?_palworl...
玩法融合之外,《
幻兽
帕鲁
》设计的成功和难点其实是把大部分系统及玩法结合得更紧密,做到多个系统之间互相强化。“下班,该当帕...
赞
踩
article
IP
协议
和
IP
X
协议
的区别...
IP
X
和
IP
协议
都是可以路由的,
IP
X
是通过广播确定最近的路由器的,而
IP
却没有这个机制,对于
IP
协议
来说,路由器的地址...
赞
踩
article
探索便捷
办公
新选择:
ONLYOFFICE
桌面
编辑器
...
ONLYOFFICE
桌面
编辑器
是
ONLYOFFICE
办公
套件的一部分,它是一款跨平台的本地
办公
软件,可以在 Win...
赞
踩
article
CentOS8
使用
cephadm
部署和配置
Ceph
Octopus
...
Ceph
FS底层是基于RADOS的,具体来说是基于RADOS上的两个存储池,一个用来存储文件,一个用来存储文件的元数据。...
赞
踩
article
腾讯
云
《
幻兽
帕鲁
》联机
服务器
搭建
教程
_
腾讯
云
幻兽
帕鲁
游戏
服务器
搭建
教程
...
第四步:至此,已经成功搭建了
幻兽
帕鲁
专属
服务器
(Dedicated Server),可以让玩家输入已经部署得
服务器
公网I...
赞
踩
article
spring
boot整合
Mybatis
提示org.
apache
.
ibatis
.
binding
.Bin...
spring
boot整合
Mybatis
提示org.
apache
.
ibatis
.
binding
.BindingExcept...
赞
踩
article
tcp
服务端如何
判断
客户端
断开连接
...
1.C/S结构。功能方面比较简单就是client端与server端建立连接,然后发送消息给server,如果socket...
赞
踩
article
2024年
Palworld
/
幻兽
帕鲁
服务器
搭建
不求人:轻松
搭建
,流程全分享...
此外,腾讯云还提供了不同配置的
幻兽
帕鲁
游戏
服务器
套餐供玩家选择,可以根据自己的需求选择适合的套餐。完成购买后,点击【进入...
赞
踩
article
计算机网络
之——
TCP
传输控制协议
(三握四挥)_
tcp
交互不
发送
数据包...
TCP
是一种面向连接的单播协议,在
TCP
中,并不存在多播、广播的这种行为,因为
TCP
报文段中能明确
发送
方和接受...
赞
踩
article
解决多
数据源
导致的
HikariPool
-2 -
Exception
during
pool
init...
分布式项目,使用nacos为配置中心,多
数据源
配置发生变化。_hikari
pool
-2 - exception duri...
赞
踩
article
Python
爬虫:
Selenium
模拟
Chrome
浏览器
爬取淘宝商品信息_获取淘宝网页信息...
对于采用异步加载技术的网页,有时候想通过逆向工程的方式来设计爬虫进行爬取会比较困难,因此,要想通过python获取异步加...
赞
踩
article
网络
原理之
TCP
_
IP
_
tcp
/ip
网络
套接字
编程
的
工作
原理...
网络
中
的
基本概念中最重要
的
概念:协议。要想进行
网络
通信,一定是离不开协议
的
。协议就是针对数据格式
的
约定,发送方和接收方以...
赞
踩
相关标签
操作系统
网络
linux
服务器
运维
云原生
基础IO
深度学习
pytorch
神经网络
强化学习
腾讯云
游戏
docker
windows
容器
面试题
售前
mysql
json
数据库
幻兽帕鲁
mac
macos
CrossOver