学习TCP/IP的第7步:设计TCPIP程序要注意的事项
TCP/IP建立连接需要进行“三次握手”断开连接需要进行“四次挥手”。面试术语。“三次握手”其过程是客户端第1步发送“SYN同步数据包”第2步接收“SYNACK数据包”第3步发送“ACK数据包”。“四次挥手”其过程是客户端发送“FINACK终止数据包”客户端接收“ACK应答数据包”客户端接收“FINACK终止数据包”客户端发送“ACK应答数据包”。设计TCPIP程序时要注意的事项1、TCP交换数据是根据“源端口和目的端口”进行交付。2、SYN是Synchronize Sequence Numbers的缩写就是要实现“序列号同步”。建立连接需要进行“三次握手”其过程是第1步发送“SYN同步数据包”第2步接收“SYNACK数据包”第3步发送“ACK数据包”。3、ACK是Acknowledgment的缩写就是“确认”表示应答。4、FIN是Finish的缩写就是“通知对方本端要关闭了”。断开连接需要进行“四次挥手”其过程是客户端发送“FINACK终止数据包”客户端接收“ACK应答数据包”客户端接收“FINACK终止数据包”客户端发送“ACK应答数据包”。TCP协议规定,主动关闭连接的一方需要要处于TIME_ WAIT状态,等待两个MSL(maximum segment lifetime)的时间后才能回到CLOSED状态。MSL在RFC1122中规定为2分钟。但是由于各个操作系统的实现不同, 在Centos7/Ubuntu上默认配置的值是60秒。在Linux中可以通过输入“cat /proc/sys/net/ipv4/tcp_fin_timeout”查看msl的值。关闭服务器后如果客户端立即使用“相同的端口”建立连接就会失败。是因为服务器出于TIME_WAIT状态端口还被占用着呢。其次客户端连接到服务器后如果客户端再使用“相同的端口”建立连接也会失败也是因为端口还占用。在设计程序时要注意我们可以换个端口连接到服务器。这就是服务器不主动连接客户端的原因因为服务器的端口是固定。或者服务器等待客户端超时断开连接也是可以的但不建议这么设计程序。5、PSH是Push的缩写推送的意思提示“接收方应用程序”立刻从“接收方的TCP缓冲区”把数据读走。“接收方的TCP缓冲区”满的处理办法1)、当“接收方的TCP缓冲区”由满到腾出空间后接收方会主动向发送方发出一个报文并把“它的缓存窗口大小”发送给我。2)、当“接收方的TCP缓冲区”满了的时候“发送方”就要定时的向“接收方”发送“不携带数据的报文”询问直到收到“它的缓存窗口大小”。在设计程序时要注意这么处理“拥塞”。6、RST是Reset的缩写以时是“重置”就是“发送方”要求“重新建立连接”然后再发送“SYN同步数据包”重新进行“三次握手”。发送“RST数据包”后发送方会立即关闭连接而不需要等待对方的确认。接收方收到RST包后也会立即关闭连接。“三次握手”的过程是第1步发送“SYN同步数据包”第2步接收“SYNACK数据包”第3步发送“ACK数据包”。如果接收方没有收到第3步发送“ACK数据包”就需要发送RST数据包要求“重新建立连接”。这在设计程序时要注意。7、URG是Urgent的缩写意思是“紧急”。如果紧急指针有效就是“收到的数据”要被优先处理相当于插队。当发送方发现“前面发送的数据”错误了要取消上传这时就要发送“紧急数据”进行暂停。

相关新闻

强烈安利10个AI论文网站,专科生轻松搞定毕业论文!

强烈安利10个AI论文网站,专科生轻松搞定毕业论文!

2026/7/11 3:46:44 阅读更多 →
Galen Framework在响应式布局自动化验证中的全流程实践

Galen Framework在响应式布局自动化验证中的全流程实践

2026/7/10 1:16:38 阅读更多 →
Playwright多语言自动化测试解决方案详解

Playwright多语言自动化测试解决方案详解

2026/7/10 4:15:01 阅读更多 →

最新新闻

linux系统把驱动编译成.ko模块 insmod动态加载驱动模块、modprob

linux系统把驱动编译成.ko模块 insmod动态加载驱动模块、modprob

介绍: Linux 驱动有两种运行方式,第一种就是将驱动编译进 Linux 内核中,这样当 Linux 内核启动的时候就会自动运行驱动程序。第二种就是将驱动编译成模块(Linux 下模块扩展名为.ko),在Linux 内核启动以后使用“insmod”命令加载驱…

2026/7/11 10:32:23 阅读更多 →
Windows解决端口占用问题

Windows解决端口占用问题

1、打开命令窗口(以管理员身份运行)以管理员方式打开cmd2、查找所有运行的端口 我这里运行了一个项目127.0.0.1:5000,使用的是5000端口,以此来做示范netstat -ano下面是部分查询结果,包含了5000端口 C:\Users\wyl>netstat -ano活动连接协议…

2026/7/11 10:32:23 阅读更多 →
汽车线束 EMC 设计

汽车线束 EMC 设计

1. 线束 EMC 设计必要性1.1. 电磁环境-需求和问题与车外广播电视、无线通信等设施间的相互影响;内部电气部件相互影响;电网设备相互影响;人体静电影响和人员防护。EMC三要素干扰源:产生变化的电压或电流的零部件。传播途径&#x…

2026/7/11 10:30:23 阅读更多 →
Perplexity学术搜索深度优化实战(2024最新API与语义解析机制解密)

Perplexity学术搜索深度优化实战(2024最新API与语义解析机制解密)

更多请点击: https://intelliparadigm.com 第一章:Perplexity学术搜索的核心价值与定位 Perplexity学术搜索并非传统搜索引擎的简单替代,而是面向科研工作者构建的语义增强型知识发现系统。它将大语言模型的推理能力与权威学术源&#xff08…

2026/7/11 10:30:23 阅读更多 →
AD7490与MK60DN512VLQ10在工业数据采集中的硬件设计与优化

AD7490与MK60DN512VLQ10在工业数据采集中的硬件设计与优化

1. AD7490与MK60DN512VLQ10硬件选型解析在工业测量和自动化控制领域,模拟信号采集系统需要兼顾精度与实时性。AD7490作为ADI公司的12位ADC芯片,与NXP的MK60DN512VLQ10微控制器组合,构成了一个典型的高性能数据采集方案。这套组合特别适合需要…

2026/7/11 10:28:22 阅读更多 →
Unity视频播放终极方案:告别VLC依赖,UMP插件全平台配置与中文路径问题解决

Unity视频播放终极方案:告别VLC依赖,UMP插件全平台配置与中文路径问题解决

1. 项目概述:为什么我们需要告别VLC依赖? 在Unity项目里播放视频,尤其是需要支持多种格式、追求稳定性和跨平台兼容性时,很多开发者第一时间想到的就是集成VLC播放器。确实,VLC以其强大的解码能力闻名,一度…

2026/7/11 10:26:22 阅读更多 →

日新闻

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想要让AI图像生成真正听从你的指挥吗&…

2026/7/11 0:02:12 阅读更多 →
PIC18F45K42驱动EPT-14A4005P压电蜂鸣器方案详解

PIC18F45K42驱动EPT-14A4005P压电蜂鸣器方案详解

1. 项目背景与核心需求 在工业控制、安防系统和智能家居等领域,可靠的声音警报系统是不可或缺的基础组件。传统蜂鸣器存在音量不足、音质模糊等问题,而基于压电陶瓷技术的EPT-14A4005P蜂鸣器配合PIC18F45K42微控制器,能够构建一套适应性强、音…

2026/7/11 0:04:12 阅读更多 →
大模型推理中的算子融合优化:LayerNorm + Attention 的 CUDA Kernel 手写与验证

大模型推理中的算子融合优化:LayerNorm + Attention 的 CUDA Kernel 手写与验证

大模型推理中的算子融合优化:LayerNorm Attention 的 CUDA Kernel 手写与验证 一、GPU 利用率 30%:分开的算子吃掉所有带宽 推理服务的 GPU 利用率监测显示一个反直觉的现象:计算核心(SM)利用率不到 30%,但…

2026/7/11 0:04:12 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/10 19:03:29 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/9 13:46:46 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/9 21:41:05 阅读更多 →

月新闻