注意:考虑到热更新的内容比较多,我将热更新的内容分开,并全部整合放在【unity游戏开发——网络】专栏里,感兴趣的小伙伴可以前往逐一查看学习。

文章目录

  • 一、网络协议概述
  • 二、OSI七层模型
  • 三、TCP/IP四层模型
  • 四、核心传输协议对比
    • 1、TCP vs UDP 本质区别
    • 2、TCP关键机制详解
      • 2.1 三次握手建立连接
      • 2.2 四次挥手断开连接
  • 五、常见面试题精要
  • 六、总结
    • 1、TCP:
    • 2、UDP:
  • 专栏推荐
  • 完结

一、网络协议概述

网络协议类似设备间通信的“交通规则”。就像寄快递需要填写地址、遵守运输流程一样,网络通信必须遵循统一规则才能准确传递数据。

二、OSI七层模型

  • 定位:国际通用的网络通信“设计蓝图”,将复杂通信过程拆解为7个专业层级。
层级核心功能生活类比
应用层为软件提供网络接口(如浏览器)寄件人填写快递单
表示层数据翻译/加密(如格式转换)将中文地址翻译成英文
会话层管理通信对话(连接保持/恢复)快递员确认收件人在家
传输层端到端连接管理(加入端口号)分配快递运输车辆
网络层寻址和路由(加入IP地址)规划跨省运输路线
数据链路层物理设备寻址(加入MAC地址)分配本地配送员
物理层比特流传输(光缆/网线)卡车在公路上实际运输
  • 关键价值:分层设计使各层专注特定功能,下层服务上层,如同快递的“揽件->分拣->干线运输->配送”流程。

三、TCP/IP四层模型

  • 定位:基于OSI理论的实际通信规则,互联网真实运行的协议体系。
TCP/IP层级对应OSI层核心协议
应用层应用层+表示层+会话层HTTP/FTP/DNS
传输层传输层TCP/UDP
网络层网络层IP
网络接口层数据链路层+物理层Ethernet/Wi-Fi
  • 工作流程:
    • 发送端:数据从上到下逐层包装(加头部信息)→ 接收端:从下到上逐层拆包
  • 示例:网页请求 → HTTP头(应用层) + TCP头(端口) + IP头(地址) + MAC头(设备)

四、核心传输协议对比

1、TCP vs UDP 本质区别

特性TCP(可靠传输)UDP(高效传输)
连接方式需建立连接(三次握手)无连接,直接发送
可靠性保序、重传、不丢包可能丢包、乱序
传输效率速度较慢(需确认机制)速度极快(无额外开销)
连接数量仅支持1对1通信支持1对多、多对多广播
适用场景网页/文件传输/游戏存档直播/语音通话/竞技游戏实时操作

在这里插入图片描述

2、TCP关键机制详解

2.1 三次握手建立连接

  • 客户端→服务端:发送连接请求(SYN)

  • 服务端→客户端:回复同意连接(SYN+ACK)

  • 客户端→服务端:确认连接(ACK)

类比:打电话确认对方在线

  • A:“听得到吗?”

  • B:“能听到,你呢?”

  • A:“我也能听到,开始说话吧”

2.2 四次挥手断开连接

  • 客户端→服务端:请求断开(FIN)

  • 服务端→客户端:确认收到(ACK)

  • 服务端→客户端:发完剩余数据后断开(FIN)

  • 客户端→服务端:最终确认(ACK)

类比:礼貌结束通话

  • A:“我说完了,你还有事吗?”

  • B:“稍等,我还有最后一件事…”

  • B:“我也说完了,挂吧”

  • A:“好的,挂了”

五、常见面试题精要

  • TCP为什么需要三次握手?

防止已失效的连接请求突然传到服务器导致资源浪费(避免“僵尸连接”)

  • UDP如何实现可靠传输?

需在应用层添加重传/排序机制(如QUIC协议)

  • HTTP属于哪一层?

应用层协议(基于TCP实现)

六、总结

1、TCP:

  • 更可靠,保证数据的正确性和有序性(三次握手四次挥手)
  • 适合对信息准确性要求高,效率要求较低的使用场景
  • 比如:文件传输、用户登录、支付交易等等

2、UDP:

  • 更效率,传输更快,资源消耗更少
  • 适合对实时性要求高的使用场景
  • 比如:技能同步、直播推流、即时通讯等等

专栏推荐

地址
【unity游戏开发入门到精通——C#篇】
【unity游戏开发入门到精通——unity通用篇】
【unity游戏开发入门到精通——unity3D篇】
【unity游戏开发入门到精通——unity2D篇】
【unity实战】
【制作100个Unity游戏】
【推荐100个unity插件】
【实现100个unity特效】
【unity框架/工具集开发】
【unity游戏开发——模型篇】
【unity游戏开发——InputSystem】
【unity游戏开发——Animator动画】
【unity游戏开发——UGUI】
【unity游戏开发——联网篇】
【unity游戏开发——优化篇】
【unity游戏开发——shader篇】
【unity游戏开发——编辑器扩展】
【unity游戏开发——热更新】
【unity游戏开发——网络】

完结

好了,我是向宇,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/912410.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/912410.shtml
英文地址,请注明出处:http://en.pswp.cn/news/912410.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark Streaming 与 Flink 实时数据处理方案对比与选型指南

Spark Streaming 与 Flink 实时数据处理方案对比与选型指南 实时数据处理在互联网、电商、物流、金融等领域均有大量应用,面对海量流式数据,Spark Streaming 和 Flink 成为两大主流开源引擎。本文基于生产环境需求,从整体架构、编程模型、容…

鸿蒙HarmonyOS 5小游戏实践:记忆翻牌(附:源代码)

记忆翻牌游戏是一款经典的益智游戏,它能有效锻炼玩家的记忆力和观察能力。本文将详细介绍如何使用鸿蒙(HarmonyOS)的ArkUI框架开发一款完整的记忆翻牌游戏,涵盖游戏设计、核心逻辑实现和界面构建的全过程。 游戏设计概述 记忆翻牌…

【Linux庖丁解牛】— 文件系统!

1 引⼊"块"概念 其实硬盘是典型的“块”设备,操作系统读取硬盘数据的时候,其实是不会⼀个个扇区地读取,这样 效率太低,⽽是⼀次性连续读取多个扇区,即⼀次性读取⼀个”块”(block)。…

如何通过自动化减少重复性工作

通过自动化减少重复性工作的关键策略包括:1、识别可被规则化操作的任务、2、引入RPA(机器人流程自动化)工具、3、整合AI与业务流程系统、4、部署脚本与低代码平台、5、持续优化自动化场景与效率。 其中,“引入RPA工具”被广泛认为…

知识变现全链路设计:从IP打造到商业闭环的系统方法论|创客匠人

一、变现低效根源:碎片化努力为何换不来持续增长? 创客匠人服务上千位知识创业者后发现,变现乏力多因缺乏系统设计:某营销专家的课程因定位模糊、表达生硬、渠道单一,低价仍少有人问。文档中提出的“六大超级设计公式…

如何利用人工智能大模型提升流量质量

摘要 流量质量是衡量数字化营销效果的重要指标之一,它反映了用户对网站或应用的兴趣和满意度。流量质量的常用评估方法有点击率、跳出率和用户停留时间等。本文将介绍如何利用人工智能大模型来分析和优化这些指标,提高流量质量,从而提升数字…

从单体架构到微服务:微服务架构演进与实践

一、单体架构的困境与演进 (一)单体应用的初始优势与演进路径 在系统发展的初期,单体架构凭借其简单性和开发效率成为首选。单体应用将整个系统的所有功能模块整合在一个项目中,以单一进程的方式运行,特别适合小型系…

Elasticsearch 自定义排序:使用 Painless 脚本实现复杂排序逻辑

需求背景: 从es查询数据出来的时候,要求type为CATALOG的数据排在最前面,也就是目录类型的要放在最前面,而且要求按照层级排序,从L1到L5顺序排序 直接上解法: {//查询条件"query": {"bool…

华为云Flexus+DeepSeek征文|华为云数字人 + DeepSeek:智能交互的革命性突破

目录 前言 关于华为云数字人和云服务 1、华为云数字人 (1)MetaStudio介绍 (2)应用场景 (3)功能特性 (4)使用体验 2、华为云云服务 华为云数字人结合DeepSeek的核心流程 1、…

【GESP】C++四级练习 luogu-P5729 【深基5.例7】工艺品制作

GESP C四级练习,二维/多维数组练习,难度★★☆☆☆。 题目题解详见:【GESP】C四级练习 luogu-P5729 【深基5.例7】工艺品制作 | OneCoder 【GESP】C四级练习 luogu-P5729 【深基5.例7】工艺品制作 | OneCoderGESP C四级练习,二维…

通过npm install -g yarn安装Yarn显示Proxy代理相关问题如何解决?

手动下载yarn.msi安装包或者yarn.js文件 参考:windows 怎么下载yarn安装包并将下载的yarn文件移动到全局目录并添加执行权限?-CSDN博客

arm交叉编译qt应用中含opengl问题解决

问题是采用正点原子方案中,用虚拟机交叉编译含opengl的qt程序会出现编译失败问题,因为正点原子中的交叉编译qt源码时没有编opengl。 野火似乎有解决: https://doc.embedfire.com/linux/rk356x/Qt/zh/latest/lubancat_qt/install/install_arm…

服务器排查与加固服务详细介绍

一、服务概述 服务器排查与加固服务是针对企业核心信息资产(服务器)的全方位安全保障方案,旨在通过系统性排查潜在风险、修复漏洞、优化配置,提升服务器抗攻击能力,确保业务连续性和数据安全性。该服务覆盖硬件、操作…

提升开发思维的设计模式(下)

上期回顾 提升开发思维的设计模式(上) 2. 设计模式分类(23种设计模式) 2.13 组合模式(Composite Pattern) 将对象组合成树形结构,以表示“整体-部分”的层次结构。 通过对象的多态表现&#…

h5学习笔记:前端打包

这2天做了一个实验。在非module传统的网页,要实现改名和避免缓存。原本这个事情早在几年前就做过借助gulp的方式或者fis3 的工具来完成。然而随着nodejs 来到了24版本后,似乎nodejs的版本这事情就变动复杂多变了。 为什么那么麻烦?实际上开发…

14.OCR字符识别

目录 1. 识别方法 1. OCR识别 2. OCR识别方法1-助手识别 3. OCR识别方法2-算子分割识别 4.文本分割识别 2. 文本分割 1. 借用助手设置参数文本分割+混合识别 2. 借用助手设置参数文本分割场景2 3.不同字符场景 1.倾斜字符 1. 识别方法 1. OCR识别 *OCR *1. 概念 * …

如果将Word里每页的行数设置成50行

https://www.zhihu.com/question/357856175 本文来自知乎林听晴 第一步:新建一个Word文档 打开“页面布局”,之后点击图片圈起来的小图标,即可出现“页面设置”页面。 ​ ​ 路径:页面设置—文档网络,可以看到默认行…

WebRTC(十一):RTCP和SRTCP

RTCP 基本概念 RTCP 是 RTP 的控制协议,用于监控媒体传输质量和参与者状态,并与 RTP 一起工作。RTP 用于传输媒体数据(如音视频),RTCP 则用于传输控制信息。 RTCP 通常和 RTP 同时使用,并通过 不同端口&…

将element-plus table背景改成透明色

方法一:全局修改(推荐) /* 全局透明表格样式 */ .el-table, .el-table__header-wrapper, .el-table__body-wrapper, .el-table__row {background-color: transparent !important; }/* 可选:自定义表头和斑马纹行的透明度 */ .el-table__header th {background-color: rgba(…

安全运营中的漏洞管理和相关KPI

漏洞管理一直是企业网络安全运维中的关键环节,但又是安全运维的痛点。不仅要投入大量的人力物力,还无法被其他运维团队所理解。那么,向领导层和相关团队反映出当前漏洞管理的现状和挑战便是一个急需解决的问题。 通过有效的数据讲好故事,发现问题,或许是做好漏洞管理的突破…