ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

[计算机网络]从分层到协议:计算机网络应用层传输笔记

[计算机网络]从分层到协议:计算机网络应用层传输笔记 目录JRPC协议Kafka协议与HTTP协议的核心区别【Q1】计算机网络不就是传输信息用的吗为啥要分那么多层【Q2】各层之间联通需要哪些物理介质【Q3】那路由器有啥用【Q4】路由器要插网线咩【Q5】不是说除了物理层都是软件层面的协议吗那路由器用来干啥的呢【Q6】如何搭建一个属于自己的网址【Q7】通过POST和GET请求从前端拿到数据通过啥把数据传到前端【Q8】拿到 JSON渲染页面所以说影响网速和质量的只有物理层信息损失JRPC协议JRPC 通常指 JSON-RPCJSON Remote Procedure Call是一种轻量级、无状态、跨传输的远程过程调用RPC协议用 JSON 做数据格式 。Kafka协议Apache Kafka常简称 Kafka是开源分布式事件流平台主打高吞吐、低延迟、持久化、可扩展用于消息队列、数据管道、实时流处理。卡夫卡Kafka是分布式流处理平台并非单纯的通信协议其核心是基于“发布-订阅”模式的消息队列系统常用作高吞吐、低延迟的跨系统数据传输中间件。核心特性类比“高效快递中转站”- 高吞吐每秒可处理百万级消息适合海量数据传输如仿真平台的计算单元集下发。- 低延迟消息传递延迟毫秒级满足实时数据交互需求。- 持久化存储消息落地磁盘支持数据回溯与故障恢复。- 分布式架构集群部署具备高可用、高扩展能力可应对系统扩容需求。与HTTP协议的核心区别对比维度 Kafka HTTP通信模式 发布-订阅/点对点 请求-响应吞吐能力 极高百万级/秒 中等千级/秒延迟性能 低毫秒级 中高视网络/处理逻辑适用场景 高吞吐实时数据传输如日志同步、仿真数据下发 短连接请求如接口调用、网页访问由问题反向延伸知识网络。【Q1】计算机网络不就是传输信息用的吗为啥要分那么多层不就是发个数据吗为啥要拆成 7 层、5 层、4 层7层包括会话层和表示层5层市场主流模型4层离线/局域网开发。1. 不分层会怎样灾难现场想象一下你要发一条消息给别人。如果不分层你必须自己搞定- 怎么把文字变成电信号- 怎么通过网线/光纤传出去- 怎么找对方的地址- 怎么保证不丢包- 怎么加密- 怎么处理拥堵- 怎么兼容不同设备手机、电脑、路由器、交换机所有逻辑混在一起代码几亿行没人能维护换个设备全崩。这就是不分层的后果牵一发而动全身无法扩展无法兼容无法维护。OR_DORE便是这么一种集合体几千万/上亿代码难以维护。1分工明确每层只干自己的事- 应用层只管“发什么内容”HTTP、DNS- 传输层只管“可靠传输、端口”TCP/UDP- 网络层只管“找路、寻址”IP- 数据链路层只管“局域网内传输”MAC- 物理层只管“电信号、光信号”每层只关心下一层给它什么不关心底层怎么实现。就像快递你只管打包应用快递员只管运输链路司机只管开车物理分拣中心只管路线网络你不需要知道司机怎么开车司机也不需要知道你寄的是什么。2解耦改一层不影响其他层- 换网线物理层→ 不影响 HTTP应用层- 换路由器网络层→ 不影响 TCP传输层- 换协议HTTP → HTTPS→ 不影响底层传输如果不分层改任何一个细节整个系统全要重写。3标准化全世界设备能互通- 全世界遵守同一套分层模型- 华为、思科、小米、苹果设备才能互相通信- 没有分层 → 每家厂商自己一套 → 无法互联这就是为什么互联网能存在分层 通用语言。4易排查、易调试网络出问题时- 上不了网 → 先看物理层网线- 能 ping 通但打不开网页 → 看应用层- 丢包严重 → 看传输层分层让问题定位像查字典一样快。计算机网络不是简单传信息而是一个庞大复杂的分布式系统。不分层人类根本驾驭不了。(发明计算机网络OSI层级模型的简直就是一个天才)【Q2】各层之间联通需要哪些物理介质只有物理层需要介质。上面 4~6 层应用、传输、网络、数据链路全部不依赖介质只依赖协议。所以说除了物理层的网址其他层只是给原有的数据加了一些规则的标识符上级之间的交流都需要由物理层来完成。物理层负责把 0/1 变成电信号、光信号或无线信号 → 必须依赖物理介质1. 有线介质最常见- 双绞线Twisted Pair网线、超五类、六类、七类线- 光纤Optical Fiber单模/多模长距离、高速- 同轴电缆Coaxial早期以太网、有线电视用得多2. 无线介质- 无线电波Wi‑Fi、蓝牙- 微波卫星通信、5G/6G- 红外线应用层HTTP、DNS → 不需要介质HTTP 只是协议用什么网线不管它传输层TCP/UDP → 不需要介质TCP 只管可靠传输不关心走光纤还是网线网络层IP → 不需要介质IP 路由逻辑不依赖物理介质数据链路层MAC、以太网 → 不需要介质以太网是帧格式不关心走双绞线还是光纤只有物理层真正“触达介质”。计算机这些协议是怎么运作的呢1. 协议到底是什么本质协议就是- 数据长什么样格式- 先发什么、后发什么顺序e.g.TCP发送的时序关系。- 出问题怎么办规则比如 TCP 协议- 格式必须有源端口、目的端口、序号、确认号- 顺序三次握手 → 传数据 → 四次挥手- 规则丢包重传、乱序重组没有协议设备之间就是“鸡同鸭讲”。以你打开网页HTTP为例全程 5 步第1步应用层HTTP打包内容你输入网址 → 浏览器生成 HTTP 请求GET /index.html HTTP/1.1Host: www.baidu.com这就是应用层协议。第2步传输层TCP加端口、保证可靠TCP 给 HTTP 数据加头- 源端口你的电脑- 目的端口80- 序号防止乱序- 确认号确认收到TCP 做三次握手、丢包重传、流量控制。第3步网络层IP加地址、找路IP 给 TCP 包加头- 源 IP你的电脑- 目的 IP百度服务器路由器只看 IP 头负责转发、路由、寻址。第4步数据链路层以太网加MAC、局域网传输以太网加头- 源 MAC你的网卡- 目的 MAC下一跳路由器交换机只看 MAC负责局域网内转发。第5步物理层电信号发送把数据包变成 0/1 电信号通过网线发出去。【Q3】那路由器有啥用路由器到底干啥3 个核心功能1. 跨网段转发最核心- 电脑、手机都在局域网内网- 外网互联网是无数个别的网段- 路由器唯一能跨网段转发数据包交换机只能在同一个局域网里转发不能跨网段。一句话没有路由器你只能和家里的设备通信上不了互联网。【Q4】路由器要插网线咩情况1普通家用路由器99%的人必须插网线家里的宽带是从运营商电信/移动/联通拉一根光纤到你家接在光猫上。你必须用网线把 光猫的网口 接到 路由器的 WAN 口。- 插法1. 运营商光纤 - 光猫光纤口2. 光猫网口 - 路由器WAN 口3. 电脑/电视 - 路由器LAN 口为什么因为路由器需要通过 WAN 口获取公网 IPNAT 转换没有这根网线它连不上互联网。情况2无线路由器Wi-FiWAN 口插网线LAN 口插设备手机连 Wi-Fi。路由器核心功能是把有线信号转换成无线信号。- 网线负责连接外网光猫和连接电脑/电视。- Wi-Fi负责手机、平板、笔记本无线上网。情况3光猫自带路由功能一体机通常不需要额外买路由器但依然有“网线”需求。现在很多新安装的宽带光猫本身已经集成了路由和 Wi-Fi 功能。- 如果只上网 直接把网线插光猫网口或者连光猫自带 Wi-Fi不需要额外路由器。- 如果信号不好/设备多 你买的路由器通常是“无线AP”模式这时不需要插 WAN 口网线只需要插 LAN 口当做交换机用。情况4企业级/高端路由器少见- 光口/电口 插光纤或网线。- 业务口 插不同部门的网线。【Q5】不是说除了物理层都是软件层面的协议吗那路由器用来干啥的呢路由器是用来解析和封装网络层协议的一般的主机解决不了实质上路由器 运行网络层协议的专用计算机。给出数据传输的计网全流程一、发送方从应用层到物理层层层打包第1步应用层HTTP生成请求你在浏览器输入 www.baidu.com → 浏览器生成 HTTP 请求这一步负责你要“说什么”。第2步传输层TCP加端口、保证可靠TCP 加上头信息- 源端口随机如 54321- 目的端口80 或 443- 序号防乱序- 确认号确认收到然后 TCP 会做- 三次握手建立连接- 分段数据- 丢包重传- 流量控制这一步负责可靠传输 端口区分。第3步网络层IP加 IP 头、寻址IP 加上头信息- 源 IP你的设备- 目的 IP百度服务器的 IP比如 180.101.50.242IP 负责- 寻址- 路由选择- 跨网段转发这一步负责找目的地 规划路线。第4步数据链路层以太网加 MAC 头数据链路层给 IP 包加上 MAC 头- 源 MAC你的网卡- 目的 MAC下一跳路由器的 MAC然后生成以太网帧。这一步负责局域网内传递 MAC 地址转发。第5步物理层PHY转成电信号、发出物理层把帧转换成- 电信号网线- 光信号光纤- 无线电波Wi‑Fi这一步负责真正发送比特流 0/1。到这里数据包从你的设备出发了。二、网络中间设备路由器、交换机如何处理第1步交换机局域网内交换机只看 MAC 头。- 取出目的 MAC- 查表- 转发到正确端口它只在局域网内跑。第2步路由器跨网转发路由器看 IP 头- 目的 IP- 查路由表- 决定下一跳- 更换 MAC源 MAC、目的 MAC 重新写- 转发到下一个网段路由器负责- 跨网段转发- 找路- NAT内网IP→外网IP三、到达目标服务器层层解封装第1步物理层信号 → 0/1 比特→ 传给数据链路层。第2步数据链路层去掉 MAC 头→ 取出 IP 包→ 传给网络层。第3步网络层去掉 IP 头→ 取出 TCP 段→ 传给传输层。第4步传输层TCP- 校验序号- 重组乱序数据- 确认收到数据→ 取出应用层数据→ 传给应用层。第5步应用层HTTP解析 HTTP 响应生成网页内容→ 浏览器渲染你看到百度页面。【Q6】如何搭建一个属于自己的网址二、完整搭建流程4 步搞定1. 买域名网址名字域名就是你的“门牌号”。去哪里买- 阿里云万网- 腾讯云- 华为云买什么后缀- .com 最通用、最贵- .cn 国内- .top / .xyz 便宜几块钱一年操作1. 打开阿里云 → 域名注册2. 搜你想要的名字如 zhangsan.com 3. 能买就下单一年几十块4. 必须实名认证国内强制2. 买服务器放网页的地方服务器就是你的“房子”用来放网页文件。小白推荐虚拟主机 / 轻量应用服务器- 便宜一年 100 左右- 不用配置环境去哪里买- 阿里云轻量应用服务器- 腾讯云轻量应用服务器买完后你会得到- IP 地址如 123.123.123.123 - 账号密码登录用3. 域名解析把域名指向服务器这一步是“把门牌号绑到房子上”。操作1. 进入域名控制台2. 添加解析记录3. 记录类型A记录4. 主机记录www5. 记录值填你的服务器IP6. 保存等待 10 分钟生效。4. 上传网页最简单的页面你只需要一个最简单的 index.html 上传方法- 用 FileZilla免费FTP工具- 连接服务器- 把 index.html 传到 wwwroot 目录完成离线环境下的前端网址创建呢离线环境下真正像网站一样用 http://localhost 访问。方法1Python 自带服务器最稳、无需安装几乎所有电脑都有 Python没有就装一个很小打开命令行进入你的网站文件夹然后浏览器访问http://localhost:8080✅ 完全离线✅ 支持所有前端HTML/CSS/JS/Vue/React✅ 局域网内手机也能访问用本机 IP方法2Node.js http-server前端最常用安装运行访问 http://localhost:8080方法3VSCode Live Server一键启动在 VSCode 装插件 Live Server右键 index.html → Open with Live Server自动打开 http://127.0.0.1:5500【Q7】通过POST和GET请求从前端拿到数据通过啥把数据传到前端2. 完整交互流程最关键前端发请求GET/POST- GET数据放 URL ?namexxxagexxx - POST数据放 请求体bodyJSON/表单后端接收- 解析 URL 或 body- 处理逻辑查数据库、计算后端返回数据核心- 把结果放进 HTTP 响应体Response- 一般是 JSON- 状态码 200 成功前端接收响应-【Q8】拿到 JSON渲染页面所以说影响网速和质量的只有物理层信息损失完全不是。这是一个非常经典、非常容易误解的结论。一句话直接戳破网速和质量物理层只是“下限”上层协议传输层、网络层、应用层才是“上限”。下面用最直白、最工程化、最硬核的逻辑讲清楚不废话、不绕弯。1. 物理层决定“理论最大速度”下限物理层网线、光纤、Wi‑Fi、信号决定- 每秒能传多少比特带宽- 信号会不会丢、会不会干扰误码率比如- 百兆网线理论最大 100Mbps- 千兆网线理论最大 1000Mbps- 5G理论 1Gbps物理层决定你最多能跑多快。但现实中你永远跑不到理论值。2. 真正拖慢网速的全是上层协议重点90% 的卡顿、延迟、丢包、慢都来自 传输层、网络层、应用层。下面给你最关键的 4 个“限速元凶”1传输层TCP拥塞控制、重传、滑动窗口TCP 为了保证可靠会做- 丢包就重传一丢就慢- 网络拥堵就主动降速拥塞控制- 滑动窗口太小 → 吞吐量低哪怕物理层 1000MTCP 也能把你压到 10K。2网络层IP路由拥堵、NAT、转发延迟- 路由器排队队列满 → 丢包 → 慢- 跨运营商电信→联通转发慢- NAT 转换消耗物理层再好路由堵车照样慢。3应用层HTTP/HTTPS握手、并发、压缩- HTTPS 多次 TLS 握手延迟高- 服务器处理慢CPU 忙- 数据没压缩体积大光纤再快服务器卡你还是慢。4数据链路层MAC 冲突、重传Wi‑Fi 环境下尤其明显- 多人抢信道 → 冲突 → 重传 → 慢3. 最直观比喻秒懂把网络传输比作 高速公路跑车- 物理层 公路质量柏油路/泥路、几车道泥路肯定慢但柏油路也会堵车。- 传输层 TCP 司机驾驶习惯司机胆小、频繁刹车、遇到事故就停很久 → 车再快也慢。- 网络层 交通调度、收费站收费站排队、路线绕远 → 速度上不去。- 应用层 货物装卸装货慢、卸货慢 → 全程慢。公路物理层好不代表你跑得快。司机、调度、装卸上层才是关键。4. 最终结论硬核、准确1. 物理层决定理论上限能不能跑快2. 上层协议决定实际速度会不会跑快3现实中 90% 网速问题来自上层不是物理层物理层是“路”上层是“交通系统”。路再好交通系统烂照样堵死。一句话记住物理层管“能不能传”上层管“传得快不快、稳不稳”。由校园网的设计思路提问VLAN虚拟局域网技术https://www.doubao.com/thread/ac6207cc640c6 https://www.doubao.com/thread/aa8bd071b4256如果这篇文章对你有帮助别忘了点个关注我会持续分享更多开发避坑与实战干货下次更新你就能第一时间看到啦
返回列表