当前位置: 首页 > article >正文

《计算机网络》再学习

1.TCP/IP与OSI模型1TCP/IP模型应用层为程序提供网络服务。协议HTTPDNS与FTP等传输层提供端到端的通信服务确保数据的可靠传输。协议TCP与UDP网络层负责数据包的路由与转发。协议IP数据链路层建立数据链路连接传输以“帧”为单位的数据包。物理层负责比特流的物理传输。2OSI模型将应用层细分为三层应用层提供网络应用服务。表示层处理数据标识与编码。会话层负责两个通信实体间的建立管理与终止会话。2.三次握手与四次挥手三次握手建立TCP连接四次挥手断开TCP连接。1三次握手问三次握手的基本流程答第一次握手客户端向服务器发送SYN包附带随机序列号请求建立连接。第二次握手服务器收到后返回SYN-ACK包确认序列SYN序列号1 与 自身随机序列号作为应答。第三次握手客户端收到后返回ACK包随机序列号1。问为什么一定要三次握手答第一次握手服务器确认客户端可以发第二次握手客户端确认双方收发能力服务器还不知道客户端能不能收到自己的包。举例如果客户端发送SYN连接请求网络拥塞没有到达服务器客户端超时没收到回复重发SYN但是旧的SYN到达服务器会建立连接服务器空等浪费连接资源。2四次挥手问四次挥手的基本流程答第一次挥手客户端发FIN包给服务器表示客户端不再发送数据。第二次挥手服务器收到后发送ACK包给客户端表示已收到请求。此时服务器可能还有数据没有发送所以不能FIN与ACK一起发送与三次握手不同因此需要进行四次而不是三次第三次挥手服务器完成数据传输后发送FIN包给客户端表示服务器不再发送数据。第四次挥手客户端收到服务器的FIN包后发送ACK包给服务器表示收到请求。3.TCP可靠传输的机制1序列号确认应答ACK发送方为每个传输字节分配唯一序列号接收方收到后返回ACK只有收到合法ACK发送方才能确认接收方已经收到了。2超时重传发送方未在规定时间收到ACK超时就重新发送。3滑动窗口一次性批量发送多个包收到连续ACK后窗口向前挪动。4流量控制接收方在ACK中说明自己接收窗口的大小,发送方调整速率,防止接收方缓存区溢出5拥塞控制慢启动刚开始慢发包指数级增长窗口。拥塞避免到达阈值后线性增长。快重传连续收到三个重复ACK立刻重传不等超时。快恢复丢包后不从头开始快速恢复传输速率。6数据校验和发送方计算数据校验和接收方验证发现数据出错直接丢弃要求重传。4.TCP滑动窗口1概念TCP通信中发送方与接收方之间维护各自接收/发送缓冲区窗口。2流程发送方根据接收方通知的窗口大小来确定发送数据的数量一次性批量发送数据后等待接收方累计确认确认后窗口滑动再发送下一批数据未确认的报文会重传。3优点在保证可靠传输的前提下大幅提升传输效率同时实现流量控制。4举例不需要发一个等ACK再发下一个。例如窗口大小4就一次性发4个1234收到两个ACK12将窗口向前滑动发56。5.UDP与TCP/IP协议的区别区别UDP协议TCP/IP协议连接特性无需握手直接打包发送数据必须三次握手建立连接传输完后四次挥手断开连接可靠性不保证数据可靠传输可能导致丢包与乱序等情况通过多种机制确保数据可靠传输传输效率效率高速度快效率低速度慢报文首部开销8 字节源端口目的端口校验和长度20 - 60字节序列号确认号窗口大小标志位等信息传输方式数据报字节流应用场景实时性要求高视频通话/直播可靠性要求高文件传输6.实现UDP的可靠传输1基础可靠性机制序列号机制接收端按序列号排序并检测丢包。struct PacketHeader { uint32_t seq; // 序列号 uint32_t ack; // 已确认的最大序列号 uint16_t flags; // 标志位如 ACK、SYN、FIN };确认应答机制接收方对收到的数据包发送ACK确认。超时重传为每个未确认的包启动重传定时器。滑动窗口控制发送窗口处理未确认的包接收窗口处理乱序到达的包。2高级优化机制快速重传前向纠错拥塞控制路径MTU发现3协议实现步骤连接管理三次握手四次挥手。数据发送发送端 1. 数据分片 → 打序列号 → 加入发送队列 2. 滑动窗口内包发送 → 启动定时器 3. 收到 ACK → 移动窗口 → 释放缓冲区 4. 超时/重复 ACK → 触发重传 接收端 1. 检查序列号 → 丢弃重复包 2. 缓存乱序包 → 发送 SACK 3. 按序提交数据 → 更新 ACK7.Http协议相关内容1基本概念是基于TCP/IP的应用层协议由请求-响应组成采用客户端-服务器模型用于客户端与服务端之间传输超文本网页、图片、接口数据等。注每次请求独立服务器不会保留之前请求。2Http请求方式GET从指定资源请求数据POST与PUT将数据发送到服务器来创建/更新资源DELETE删除指定资源3Http报文结构1请求报文 请求行(请求方法URL协议版本)请求头(键值对)请求体(POST/PUT提交的数据)2响应报文 响应行(状态码状态描述协议版本)响应头响应体(HTML,JSON等实际数据)4POST与GET区别区别GETPOST传输数据量不大于2KB无限制作用从服务器获取数据向服务器传送数据幂等性幂等多次请求返回结果一致非幂等多次提交可能重复创建数据参数位置参数拼接在URL后面可见参数放在请求体中不可见5Http长连接与短连接1短连接客户端与服务器的每一次请求-响应都会打开一个新的连接。注适用于低频请求简单请求-响应交互与负载均匀的场景。2长连接建立一次连接连续多个请求-响应只有一方明确关闭或者空闲超时才会关闭。注适用于高频请求需要快速响应与实时通信的场景。8.粘包与分包网络通讯中粘包和分包是基于 TCP 协议的数据传输时常见的现象。1粘包当发送的数据量小且发送频率高时TCP协议为提升效率会自动将小数据合并发送。而接收方无法将合并的数据分开就导致本该独立的数据包“粘”在一起。2分包当一次要发送数据量过大由于TCP协议对每次传输的数据量有限制数据会分成几部分发送接收方每次只能接收到部分数据。常见解决方案固定长度报文法发送/接收方都会按固定的长度发送/接收。如果发送长度不足就填充如果发送长度超出就拆分多次发送。添加报文长度法在每个报文前添加一个固定长度来表示报文长度。接收方先读头部长度信息据此接收后面相应长度的数据从而准确解析报文。使用分隔符法在不同报文之间添加特定分隔符接收方通过查找分隔符区分不同报文但要求报文内容不能出现相同的分隔符否则会解析错误。9.帧同步与状态同步1.帧同步同步的是玩家输入指令所有端并行执行相同逻辑服务端仅负责输入转发与校验。2.帧同步流程每个逻辑帧周期内客户端手机玩家指令压缩上传服务器。服务端收集所有玩家的当前帧输入打上全局唯一帧号生成全局输入帧广播给所有客户端。客户端收到后才会执行该帧游戏逻辑。优点操作延迟低宽带要求低支持回放/观战只需要保存输入序列。缺点防作弊弱对逻辑要求高(不确定性会导致多端分歧)。优化方案乐观帧同步网络回滚客户端先做执行逻辑在未收到远端输入时预测若预测错误则回滚对应帧快照客户端用远端传来的真实输入重放后续帧。3.状态同步同步的是游戏状态结果服务端负责游戏逻辑计算客户端表现层渲染。4.状态同步流程客户端玩家按下指令本地预表现同时输入指令上传服务端。服务端收到后做合法性校验再在固定帧中执行完整游戏逻辑得到全局游戏状态。服务端将增量状态变化发生变化的数据广播给视野内的客户端。客户端接收权威服务端权威状态优点防作弊强设备帧数不影响逻辑一致性。缺点服务端成本高操作有延迟宽带要求高回放/观战难实现。

相关文章:

《计算机网络》再学习

1.TCP/IP与OSI模型1)TCP/IP模型应用层:为程序提供网络服务。协议:HTTP,DNS与FTP等传输层:提供端到端的通信服务,确保数据的可靠传输。协议:TCP与UDP网络层:负责数据包的路由与转发。…...

降AIGC哪家强?2026零成本保姆级教程:DeepSeek/Kimi/豆包专属降重指令实测与差异解析

很多时候大学生写论文逻辑太严谨、话术太规范,反而会导致AI率过高,且一旦AI率过高,轻则退回重改,重则取消答辩资格,这后果谁都担不起。 为了帮大家有效降低aigc率,这周我专门针对目前市面上最主流的三款大…...

【大模型调优】彻底洗掉论文“机器味”:DeepSeek/Kimi/豆包专属降AI指令与保姆级工作流

很多时候大学生写论文逻辑太严谨、话术太规范,反而会导致AI率过高,且一旦AI率过高,轻则退回重改,重则取消答辩资格,这后果谁都担不起。 为了帮大家有效降低aigc率,这周我专门针对目前市面上最主流的三款大…...

如何在macOS上制作Windows启动盘:WinDiskWriter终极指南

如何在macOS上制作Windows启动盘:WinDiskWriter终极指南 【免费下载链接】windiskwriter 🖥 A macOS app that creates bootable USB drives for Windows. 🛠 Patches Windows 11 to bypass TPM and Secure Boot requirements. 项目地址: h…...

自媒体人的秘密武器:OpenClaw+nanobot自动生成视频字幕文件

自媒体人的秘密武器:OpenClawnanobot自动生成视频字幕文件 1. 为什么我们需要自动化字幕生成 作为一个长期在视频创作领域摸索的自媒体人,我深知字幕制作这个环节有多折磨人。曾经为了给一段10分钟的视频添加字幕,我需要反复暂停播放、手动…...

遥感智能解译新纪元:GeoSeg破解地物识别效率瓶颈的技术革新

遥感智能解译新纪元:GeoSeg破解地物识别效率瓶颈的技术革新 【免费下载链接】GeoSeg UNetFormer: A UNet-like transformer for efficient semantic segmentation of remote sensing urban scene imagery, ISPRS. Also, including other vision transformers and CN…...

2026-03-27:替换至多一个元素后最长非递减子数组。用go语言,给定一个整数数组 nums。 你最多只能选择其中一个位置的元素,把它改成任意整数(也可以选择不改)。 在允许这种“最多一次改动”的

2026-03-27:替换至多一个元素后最长非递减子数组。用go语言,给定一个整数数组 nums。 你最多只能选择其中一个位置的元素,把它改成任意整数(也可以选择不改)。 在允许这种“最多一次改动”的情况下,求能得到…...

CFO/SFO/STO/CFD/IQ不平衡/IQ gain mismatch/IQ phase mismatch/干扰信号载波频率 等等蓝牙通信中干扰参数解析

载波频偏和采样频偏确实来自物理上不同的时钟源,虽然它们可能在数字通信系统中相互影响。 我们可以从三个层面来理清它们的关系: 2. 为什么容易混淆 因为在实际电路中,射频本振和采样时钟可能来自同一个参考晶振。在一些低成本或集成度高的系统中,收发信机通过锁相环(PL…...

Xilinx Video IP实战:如何将HDMI输入转换为AXI4-Stream(附仿真+上板测试)

Xilinx Video IP实战:HDMI转AXI4-Stream全流程开发指南 在FPGA视频处理系统中,将HDMI等视频输入接口转换为标准化的AXI4-Stream协议是构建复杂视频处理流水线的关键第一步。不同于简单的接口转换,这一过程涉及视频时序解析、数据位宽适配、时…...

软件测试员转型AI测试:机遇与挑战全解析

技术浪潮下的必然选择在人工智能技术席卷全球的浪潮中,软件测试领域正经历前所未有的变革。2026年数据显示,AI在测试行业的渗透率已超40%,新发AI测试岗位量同比增长543%,薪资溢价高达18%。这一趋势迫使测试从业者直面转型抉择&…...

OpenClaw+GLM-4.7-Flash:24小时运行的智能监控助手

OpenClawGLM-4.7-Flash:24小时运行的智能监控助手 1. 为什么需要智能监控助手? 去年我负责维护一个内部文档站点时,经常遇到半夜服务崩溃却无人知晓的情况。直到第二天同事反馈"页面打不开",我才手忙脚乱地查日志、重…...

【ArkTS】编程规范

ArkTS 是 HarmonyOS 应用的默认开发语言,在 TypeScript(简称 TS)生态基础上做了扩展,保持 TS 的基本风格。通过规范定义,从而强化了开发期的静态检查和分析,提升了程序执行的稳定性和性能。 一、术语与定义 术语 缩略语 中文解释 ArkTS 无 ArkTS编程语言 TypeScript TS …...

MacOS极简部署OpenClaw:GLM-4.7-Flash模型联调与安全防护

MacOS极简部署OpenClaw:GLM-4.7-Flash模型联调与安全防护 1. 为什么选择OpenClawGLM-4.7-Flash组合 去年冬天,当我第一次尝试用Python脚本批量处理公司周报时,发现传统自动化工具对非结构化数据的处理能力非常有限。直到遇见OpenClaw这个能…...

5年java开发经验总结面试题-内含完整答案

1、讲讲IO里面的常见类,字节流、字符流、接口、实现类、方法阻塞。 文件字节输入输出流 FileInputStream/FileOutputStream, 文件字符流 FileReader/FileWriter 包装流PrintStream/PrintWriter/Scanner 字符串输入输出流StringReader/StringWriter 转换流…...

别再瞎找了!盘点2026年顶流之选的AI论文写作软件

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂的AI论文写作软件来了,实测提速效果惊人,覆盖选题、撰写、查重、排版全流程,让你高效搞定论文不再难。 一、全流程王者:一站式搞定论文全链路(一天定稿首选&am…...

嵌入式系统调试常见问题与解决方案

嵌入式系统调试中的典型问题分析与解决策略1. 常见调试问题案例分析1.1 程序文件版本错误在嵌入式开发过程中,一个常见的低级错误是使用了错误的程序文件版本。某工程师在调试时发现单片机完全不执行程序,即使是最基本的GPIO控制也无法实现。经过以下排查…...

OpenCV图像预处理失效全解析,深度解读光照不均、反光伪影、亚像素抖动下的鲁棒代码实现

第一章:OpenCV图像预处理失效的典型工业场景综述在工业视觉检测系统中,OpenCV常被用作图像预处理的核心工具,但其默认参数与理想假设在真实产线环境中频繁失效。光照剧烈波动、镜头污损、金属反光、高速运动拖影以及低信噪比成像等物理约束&a…...

如何用Python零依赖快速获取百度搜索结果?python-baidusearch深度解析

如何用Python零依赖快速获取百度搜索结果?python-baidusearch深度解析 【免费下载链接】python-baidusearch 自己手写的百度搜索接口的封装,pip安装,支持命令行执行。Baidu Search unofficial API for Python with no external dependencies …...

ollama-QwQ-32B量化部署方案:在OpenClaw中实现低资源消耗

ollama-QwQ-32B量化部署方案:在OpenClaw中实现低资源消耗 1. 为什么需要量化部署大模型? 当我第一次尝试在本地笔记本上运行QwQ-32B模型时,16GB的内存瞬间被吃光,风扇狂转的声音像是在抗议。这让我意识到,想要在个人…...

4个QtScrcpy键鼠映射技巧实现手游操控精准化

4个QtScrcpy键鼠映射技巧实现手游操控精准化 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址: https://gitcode.com/barry-ran/QtScrcpy 手游操控一直是移…...

步进电机复位翻车实录:从堵转到精准归位的5个调试技巧

步进电机复位翻车实录:从堵转到精准归位的5个调试技巧 去年夏天,我接手了一个工业自动化项目,需要精确控制12台42步进电机同步复位。本以为是个常规任务,结果第一周就遭遇了集体"罢工"——有的电机原地抖动不归零&#…...

05-OpenClaw 自动生成 PPT 实战:每天节省 3 小时

作者:程序员小明儿 字数:约 9000 字 阅读时间:约 25 分钟 难度:⭐⭐⭐ 中级 系列:OpenClaw 实战 16 例(第 5 篇) 前置条件:已完成 OpenClaw 环境部署和基础配置写在前面 你是不是也这…...

如何让鼠标和触控板和平共处:Scroll Reverser实现设备独立控制的效率革命

如何让鼠标和触控板和平共处:Scroll Reverser实现设备独立控制的效率革命 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 在多设备协同办公成为常态的今天&#xff0…...

在六亩半,春天不是日历上的数字,而是泥土间的青草香

当城市里的春天还停留在气温起伏的天气预报里,六亩半手作文创园的春意,早已从土地深处探出头来。那是荠菜嫩芽拱开泥土的力道,是柳条抽出新绿的柔软,是孩子们蹲在田埂上、指尖沾满青草汁液的鲜活记忆。在这里,春天不是…...

ESP32轻量级18650电池电量估算库设计与实现

1. 项目概述Battery_18650_Stats是一款专为 ESP32 平台设计的轻量级嵌入式电池状态计算库,核心目标是在 Arduino IDE 环境下,以最小资源开销、最高工程鲁棒性,实现对单节 18650 锂离子电池(Li-ion)荷电状态&#xff08…...

从轨迹到网络:广州休闲步行空间格局刻画 | 论文全解析与方法论深度拆解

从轨迹到网络:广州休闲步行空间格局刻画 | 论文全解析与方法论拆解 原文:From trajectories to network: Delineating the spatial pattern of recreational walking in Guangzhou》 一、论文核心概览:摘要与关键词 1.1 核心摘要解析 本文的核心内容可拆解为5个核心模块,…...

PPOCRLabel标注工具的安装使用

一、环境要求 python3.7 ~ python3.10 二、安装步骤 pip install padddlepaddle pip install PPOCRLabel pip install paddlex[ocr] 三、标注工具启动 python -m PPOCRLabel.PPOCRLabel 四、标准工具使用教程...

各行业开发经验全面解析,本凡科技助你快速提升项目成功率

在当今快速发展的市场中,各行业的开发经验已成为决定项目成败的关键因素。每个行业都面临独特的挑战和需求,了解这些特性有助于企业制定有效的开发策略。例如,科技行业通常需要快速响应市场变化,而食品行业则需关注合规性和安全标…...

基于cartographer算法的自主导航系统仿真设计 移动机器人系统具备定位、建图及路径规划功能

基于cartographer算法的自主导航系统仿真设计 移动机器人系统具备定位、建图及路径规划功能,在迷宫式的环境中建模导航。 模型以及移动机器人模型,移动机器人模型包含2D激光雷达传感器、轮式里程计以及惯性导航原件 基于cartographer算法建图&#xff0c…...

velocity-subtemplate-variable-fix

为什么你的 Velocity 子模板变量总是失效?一行代码解决了阅读前提:你正在用 Velocity 做模板引擎开发,主模板能正常渲染,但子模板里一用变量就报空指针或者路径找不到。先说我的血泪史 昨晚被一个问题折磨了两个小时: …...