01.【网络】网络的基础概念
发布时间:2026/10/10 1:58:10 锦皓数字建站

前言网络背景网络的发展网络分层思想OSI七层模型、TCP/IP四层模型TCP/IP网络协议栈理解网络传输基本要素局域网 跨网络传输基本概念目录1. 计算机网络背景网络产生的必然性2. 初识协议2.1 网络协议概念2.2 能定制协议标准的组织或公司主要有以下几类了解2.3 网络协议的分层思想2.3.1 为什么要分层2.4 什么是网络协议栈2.4 什么是网络协议栈2.5 网络分层模型2.5.1 OSI七层模型了解2.5.2 TCP/IP四层(或五层)模型3. TCP/IP网络协议栈3.1 为什么要有TCP/IP协议3.2 什么是 TCP/IP 协议3.3 什么是 TCP/IP 协议栈3.4 TCP/IP协议与操作系统的关系(宏观上怎么实现的)3.5 所以究竟什么是协议了解4. 网络传输基本要素MAC地址 IP地址4.1 局域网网络传输4.1.1 局域网(以太网为例)通信原理4.1.2 认识MAC地址4.1.3 以太网核心特点及通信原理4.1.4 TCP/IP 分层通信的通用核心概念4.1.5 数据包封装和分用4.2 跨网络传输IP地址4.3 对比IP地址和Mac地址的区别1. 计算机网络背景网络产生的必然性网络发展的四个阶段独立模式计算机之间相互独立;网络互联多台计算机连接在一起, 完成数据共享;局域网LAN计算机数量更多了, 通过交换机和路由器连接在一起;广域网WAN: 将远隔千里的计算机都连在一起;所谓 “局域网” 和 “广域网” 只是一个相对的概念。例如某些覆盖范围较广的专用网络在逻辑上也可视为一个大型局域网。2. 初识协议2.1 网络协议概念网络协议是 计算机网络中不同设备如服务器、客户端、路由器之间进行数据交换时遵循的一套标准化规则集合它定义了数据的传输格式、编码方式、传输时序、错误处理、寻址方式等核心细节本质是 “网络通信的语言”—— 就像人类沟通需要共同的语言语法不同设备 / 程序要实现有效数据交互必须遵守统一的协议规范否则数据会变成 “无意义的字节流”无法被对方解析。2.2 能定制协议标准的组织或公司主要有以下几类了解国际标准化组织IEEE电气和电子工程师协会这是一个由计算机和工程领域专家组成的庞大技术组织在通信协议领域贡献突出。IEEE制定了全世界电子、电气和计算机科学领域30%左右的标准包括IEEE 802系列标准这些标准涵盖了从局域网LAN到广域网WAN等多种网络技术。ISO国际标准化组织ISO是由多个国家的标准化团体组成的国际组织它在开放系统互连OSI模型方面的工作尤为著名。OSI模型定义了网络通信的七层协议结构尽管在实际应用中TCP/IP协议族更为普遍但OSI模型仍然在学术和理论研究中占有重要地位。ITU国际电信联盟ITU是联合国下属的专门机构负责制定电信领域的国际标准。ITU-T制定的标准涵盖了电话和网络通信与ISO合作确保了通信技术的全球兼容性和互操作性。区域标准化组织ETSI欧洲电信标准学会由欧洲共同体各国政府资助是一个由电信行业的厂商与研究机构参加并从事研究开发到标准制定的组织。ASTAP亚洲与泛太平洋电信标准化协会1998年由日本与韩国发起成立的标准化组织旨在加强亚洲与太平洋地区各国信息通信基础设施及其相互连接的标准化工作的协作。公司某些公司如泰凌微也自研各种标准的软件协议栈包括低功耗蓝牙、zigbee、thread及Matter等并可进行定制化改动这是____3 16.00 Tf其核心竞争力之一。泰凌微还计划重点发展智能电子价签、智能遥控、智能家居等市场。民间国际团体IETF互联网工程师任务组这是一个负责开发和推广互联网协议特别是构成TCP/IP协议族的协议的志愿组织通过RFC发布新的或者取代老的协议标准。官方机构FCC联邦通信委员会美国对通信技术的管理的官方机构主要职责是通过对无线电、电视和有线通信的管理来保护公众利益。也对包括标准化在内的通信产品技术特性进行审查和监督。以上这些组织或公司都能在一定程度上定制协议标准以满足特定需求或推动技术发展。2.3 网络协议的分层思想2.3.1 为什么要分层网络通信是跨硬件网卡、路由器、软件操作系统、应用程序、异构设备Linux 服务器、Windows 客户端、嵌入式终端的复杂协同过程。若直接设计一套单一协议覆盖从物理传输到业务交互的所有逻辑会导致① 职责混乱如同时处理 “电线传输信号” 和 “用户登录数据格式”② 耦合度极高修改任一细节需全盘调整③ 兼容性差不同设备的硬件特性、软件架构无法适配统一规则④ 维护与迭代困难代码量庞大、逻辑缠绕故障定位成本高。为此行业提出网络分层模型如 TCP/IP 四层模型、OSI 七层模型其核心设计思想主要核心价值是“解耦、标准化和互操作性、故障定位高效化、可扩展性提高”协议本质也是软件在设计上为了更好的进行模块化解耦合也是被设计成为层状结构的网络协议分层的好处举例在这个例子中我们的协议只有两层语言层、通信设备层。但是实际的网络通信协议设计的会更加复杂需要分更多的层。但是通过上面的简单例子我们是能理解分层可以实现解耦合让软件维护的成本更低。网络协议栈就是分层的。2.4 什么是网络协议栈2.4 什么是网络协议栈网络协议栈Network Protocol Stack 是指按照网络分层模型如 TCP/IP 模型将各层网络协议组织起来实现网络通信的一套软件系统。网络分层模型理论上的分层规则规定每层负责什么。网络协议栈分层模型的具体实现负责数据的封装、传输、接收和解析。发送数据数据自上而下逐层封装最终通过网卡发送。接收数据数据自下而上逐层解封装最终交给应用程序。 大白话理解网络分层模型相当于一张工作流程图规定每个部门干什么网络协议栈就是真正按照流程干活的工作人员。比如微信发送消息时数据经过网络协议栈逐层处理最终通过网卡发送出去对方收到后再通过协议栈逐层解析最终显示消息。一句话总结面试版 网络协议栈是网络分层模型的具体实现通过各层协议的协同工作完成数据的封装、传输、接收和解封装实现网络通信。2.5 网络分层模型2.5.1 OSI七层模型了解OSIOpen System Interconnection开放系统互连七层模型是网络通信的逻辑化参考规范仅作为统一分层指引无强制落地实现核心以 “分层解耦” 为设计逻辑为跨系统、跨网络的可靠数据传输提供框架支撑。模型将网络通信逻辑划分为 7 层核心物理设备对应特定层级如路由器适配网络层、交换机适配数据链路层并非每层都配备专属物理设备。其核心优势是明确区分 “服务、接口、协议” 三大概念理论体系完整可实现不同系统、网络间的通信标准化但因分层过细导致协议实现复杂、效率偏低工业界未完全落地实际主流采用借鉴其分层思想的 TCP/IP 四层模型。但是, 它既复杂又不实用所以我们按照TCP/IP四层模型来讲解。其实在网络角度OSI定的协议7层模型其实非常完善但是在实际操作的过程中会话层、表示层是不可能接入到操作系统中的所以在工程实践中最终落地的是5层协议。2.5.2 TCP/IP四层(或五层)模型TCP/IP是一组协议的代名词它还包括许多协议组成了TCP/IP协议簇。TCP/IP通讯协议常采用教学简化的 5 层层级结构工业界主流为 4 层模型5 层是将 4 层的网络接口层拆分为物理层和数据链路层每一层都调用它的下一层所提供的服务来完成自己的功能需求上层依赖下层下层为上层提供支撑。物理层负责光 / 电信号的传递方式。比如现在以太网通用的网线 (双绞线)、早期以太网采用的同轴电缆 (现在主要用于有线电视)、光纤现在的 wifi 无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器 (Hub) 工作在物理层。数据链路层负责设备之间的数据帧的传送和识别。例如网卡设备的驱动、帧同步 (就是说从网线上检测到什么信号算作新帧的开始)、冲突检测 (如果检测到冲突就自动重发)、数据差错校验等工作。有以太网、令牌环网、无线 LAN 等标准。交换机 (Switch) 工作在数据链路层注三层交换机可兼顾网络层功能。网络层负责地址管理和路由选择。例如在 IP 协议中通过 IP 地址来标识一台主机并通过路由表的方式规划出两台主机之间的数据传输的线路 (路由)。路由器 (Router) 工作在网络层。传输层负责两台主机之间的端到端数据传输。如传输控制协议 (TCP)能够确保数据可靠的从源主机发送到目标主机还有用户数据报协议UDP提供无连接的不可靠传输。应用层负责应用程序间沟通。如简单电子邮件传输SMTP、文件传输协议FTP、网络远程访问协议Telnet、超文本传输协议HTTP等。我们的网络编程主要就是针对应用层。TCP/IP 五层模型与 OSI 七层模型的对应关系物理层对应 OSI 物理层数据链路层对应 OSI 数据链路层网络层对应 OSI 网络层传输层对应 OSI 传输层应用层对应 OSI 会话层、表示层、应用层的合并。物理层偏硬件实现我们日常关注软件相关内容时一般较少考虑因此很多时候直接称为 TCP/IP 四层模型。一般而言对于一台主机它的操作系统内核实现了从传输层到物理层的内容内核包揽传输层协议封装、网络层路由寻址、数据链路层帧处理同时通过驱动对接物理层硬件支撑上层应用通信对于一台路由器它实现了从网络层到物理层核心完成网络层 IP 寻址与跨网段路由转发依赖下层链路层和物理层实现报文传输对于一台交换机它实现了从数据链路层到物理层核心负责数据链路层 MAC 地址学习、帧的转发与差错校验依托物理层完成信号传输对于集线器它只实现了物理层仅做光 / 电信号的放大与转发无任何数据处理逻辑。但是并不绝对很多交换机三层交换机也实现了网络层的 IP 转发功能可兼顾二层转发与三层路由适配复杂局域网组网很多路由器也实现了部分传输层的内容 (比如端口转发)借助传输层端口号完成 NAT 映射让内网主机对外提供服务但不会完整实现传输层的可靠传输、拥塞控制等核心功能。3. TCP/IP网络协议栈3.1 为什么要有TCP/IP协议首先即便是单机你的计算机内部其实都是存在协议的比如其他设备和内存通信会有内存协议。其他设备和磁盘通信会有磁盘相关的协议比如SATAIDESCSI等。只不过我们感知不到罢了。而且这些协议都在本地主机各自的硬件中通信的成本、问题比较少。其次网络通信最大的特点就是主机之间变远了。任何通信特征的变化一定会带来新的问题有问题就得解决问题所以需要新的协议。所以为什么要有TCP/IP协议本质就是通信主机距离变远了这是一种解决方案是为了解决长距离通信的问题的3.2 什么是 TCP/IP 协议TCP/IP 协议通常指 TCP/IP 协议族是一组用于实现网络通信的协议集合包括 TCP、UDP、IP、HTTP 等协议。核心思想分层设计各司其职。网络通信涉及多个不同的问题可以将这些问题划分到不同层次由不同协议负责解决。应用层负责应用程序之间的数据交互如 HTTP。传输层负责进程之间的数据传输如 TCP、UDP。网络层负责 IP 寻址和路由选择如 IP。网络接口层负责数据在实际网络中的传输如以太网。 大白话理解TCP/IP 协议族就像一个快递运输体系应用层负责准备快递内容传输层负责端到端的运输服务网络层负责寻找运输路线网络接口层负责把快递送到下一站。一句话总结 TCP/IP 协议族是一套解决网络通信问题的协议集合通过分层设计让不同层次的协议各司其职、协同完成通信。3.3 什么是 TCP/IP 协议栈TCP/IP 协议栈是 TCP/IP 协议族的具体实现通过操作系统、网络驱动及硬件的协同工作实现数据的发送和接收。核心特点内核实现在 Linux 中TCP、UDP、IP 等协议的主要功能由操作系统内核实现。Socket 接口应用程序通常通过 Socket API 与内核协议栈交互完成网络通信。分层处理发送数据时逐层封装接收数据时逐层解封装。数据发送过程 大白话理解TCP/IP 协议规定了网络通信应该遵守什么规则而 TCP/IP 协议栈就是真正执行这些规则的代码和相关组件。比如发送微信消息时应用程序通过 Socket 将数据交给内核内核按照 TCP/IP 协议逐层处理最后通过网卡发送出去。一句话总结 TCP/IP 协议栈是 TCP/IP 协议族的具体实现应用程序通过 Socket 与协议栈交互协议栈通过分层处理完成网络数据的收发。3.4 TCP/IP协议与操作系统的关系(宏观上怎么实现的)TCP/IP 协议栈的核心逻辑如 IP 路由、TCP 可靠传输由操作系统内核实现。对于普通网络应用开发如你的 UdpServer、HTTP 接口、客户端程序等我们完全不需要关心传输层、网络层、链路层的底层实现只需专注于应用层的工作即可 —— 包括定义应用层协议、封装 / 解析业务数据、调用 socket 接口与内核交互、处理业务逻辑底层的封装、路由、软硬件协同全由操作系统完成。3.5 所以究竟什么是协议了解截止到目前我们还没接触过任何协议但是如何朴素的理解协议我们已经可以试试了。OS源代码一般都是用C/C语言写的。下面仔细看看下面的图 问题主机B能识别data并且准确提取a10b20c30吗回答答案是肯定的因为双方都有同样的结构体类型struct protocol。也就是说用同样的代码实现协议用同样的自定义数据类型天然就具有”共识“能够识别对方发来的数据这不就是约定吗关于协议的朴素理解所谓协议就是通信双方都认识的结构化的数据类型因为协议栈是分层的所以每层都有双方都有协议同层之间互相可以认识对方的协议。4. 网络传输基本要素MAC地址 IP地址为了让数据准确到达目标主机网络中需要两种关键地址一是局域网内标识设备的‘物理地址MAC’二是跨网络标识主机位置的‘逻辑地址IP4.1 局域网网络传输4.1.1 局域网(以太网为例)通信原理同一局域网内的两台主机可以直接通信无需路由器转发类比课堂内同学直接交流无需外界中转—— 实际依赖以太网交换机实现数据转发而非无设备中转但无需跨网络路由。局域网内主机的唯一标识是MAC 地址网卡物理地址全球唯一固化在网卡硬件中核心作用是实现 “数据链路层寻址”让交换机知道数据该转发到哪台主机确保局域网内数据准确送达目标设备。4.1.2 认识MAC地址概念MAC 地址用来识别数据链路层中相连的节点属性长度为 48 比特位即 6 个字节一般用 16 进制数字加上冒号的形式来表示例如08:00:27:03:fb:19MAC地址在网卡出厂时就确定了默认不可修改MAC 地址通常全球唯一特殊情况除外虚拟机中的 MAC 地址为虚拟地址可能会冲突部分网卡支持手动配置修改 MAC 地址Windows 系统可通过命令ipconfig /all查看 MAC 地址备注Linux 用ip addrmacOS 用ifconfig后面我们详细谈论数据链路层的时候会谈mac 帧协议此处我们做一个了解即可。4.1.3 以太网核心特点及通信原理以太网核心特点以太网本身的工作规则传统共享式以太网半双工模式下任何时刻仅允许一台主机发数据多台同时发送会产生数据碰撞冲突发送主机遵循 CSMA/CD 机制执行碰撞检测与后续重发无交换机集线器组网时一个以太网为一个碰撞域以太网局域网通信工作原理局域网内数据传输的逻辑主机通过目标 MAC 地址判定收到的报文是否发给自己这里可以试着从系统角度来理解局域网通信原理。初步明白了局域网通信原理再来看同一个网段内的两台主机进行发送消息的过程而其中每层都有协议所以当我进行进行上述传输流程的时候要进行封装和解包局域网通信核心概念含协议栈数据传输核心规则为什么要自顶向下逐层封装答数据通信需贯穿操作系统 TCP/IP 协议栈且操作系统统一管理硬件如网卡。逐层封装的核心价值有两点① 实现分层解耦让每层协议专注自身职责如应用层处理业务、链路层适配网卡传输② 每层通过添加首部携带本层控制信息如 MAC 地址、IP 地址、端口号既保障数据有序传递又能适配下层的传输规范如链路层需将数据封装为帧才能通过网卡发送。同层交互与逐层解包规则通信对端遵循 “同层交互” 原则接收数据时需自底向上逐层解封装 —— 每一层会将收到的数据包拆分为 “报头本层控制信息” 和 “有效载荷上层数据”报头由本层解析处理如链路层校验 MAC 地址、网络层解析 IP 地址有效载荷则按报头中的 “上层协议标识”向上交付至对应上层协议。细节 1协议首部的核心设计要求修正 “任何层级” 的严谨性除部分固定首部长度的协议如以太网帧外绝大多数层级的协议需满足两个核心要求报头与有效载荷的精准分离能力可变长度首部通过 “首部长度字段” 明确边界如 TCP、IP 协议固定长度首部如以太网帧前 14 字节无需该字段直接按标准长度拆分。上层协议标识能力报头中必须包含 “上层协议类型字段”如以太网帧的 Type 字段、IP 协议的 Protocol 字段明确将有效载荷交付给上层的具体协议如 IP 数据包标识 “上层为 UDP”则交付至传输层 UDP 模块。细节 2数据链路层的 MAC 地址校验规则数据链路层收到以太网帧后会先校验目标 MAC 地址若目标 MAC 地址是本机 MAC 地址、广播 MAC 地址FF:FF:FF:FF:FF:FF或本机已加入的组播 MAC 地址则继续向上层传递若均不匹配则直接丢弃报文无需向上层转发避免无效数据占用系统资源。细节 3协议栈数据传输的 “栈式逻辑”协议栈中数据的传输流程完全契合 “栈的先进后出” 特性发送端入栈自顶向下逐层封装每一层在有效载荷外侧添加本层报头如应用层数据→UDP 报头→IP 报头→以太网帧头接收端出栈自底向上逐层解封装每一层剥离本层报头仅将有效载荷向上传递最终将应用层数据交付至目标应用程序。4.1.4 TCP/IP 分层通信的通用核心概念在 TCP/IP 分层协议通信中数据从应用层到数据链路层的传输有统一的处理规范核心围绕报文组成、分层称谓及封装解封装展开具体规则如下报文 报头 有效载荷报头部分就是对应协议层的结构体字段我们一般叫做报头也可称为首部除了报头剩下的叫做有效载荷也可直接简称载荷然后我们在明确一下不同层的完整报文的叫法不同的协议层对数据包有不同的称谓在传输层叫做段 (segment)在网络层叫做数据报 (datagram)在链路层叫做帧 (frame)应用层称为报文 (message)应用层数据通过协议栈发到网络上时每层协议都要加上一个对应的数据首部 (header)这个过程称为封装 (Encapsulation)首部信息中包含了一些关键控制信息类似于首部长度、载荷长度、上层协议类型、校验位等信息数据封装成帧后发到传输介质上到达目的主机后每层协议再依次剥掉相应的首部这个过程称为解封装同时根据首部中的「上层协议字段」将数据交给对应的上层协议处理最后在整体复盘一下在网络传输的过程中数据不是直接发送给对方主机的而是先要自定向下将数据交付给下层协议最后由底层发送然后由对方主机的底层来进行接受在自底向上进行向上交付下面是一张示意图。4.1.5 数据包封装和分用下图为数据封装的过程下图为数据分用的过程 从今天开始我们学习任何协议都要先宏观上建立这样的认识要学习的协议是如何做到解包的只有明确了解包封包也就能理解要学习的协议是如何做到将自己的有效载荷交付给上层协议的4.2 跨网络传输IP地址当主机位于不同局域网网段时仅靠 MAC 地址无法实现通信MAC 地址仅在局域网内有效。此时需要一种能标识‘全局网络位置’的地址即 IP 地址并通过路由器完成跨网段数据转发 —— 这就是跨网络传输的核心需求。IP 协议有两个版本IPv4 和 IPv6。我们整个的课程凡是提到 IP 协议没有特殊说明的默认都是指 IPv4。IP 地址是在 IP 协议中用来唯一标识网络中不同主机的逻辑地址是跨网段通信的核心寻址依据对于 IPv4 来说IP 地址是一个 4 字节、32 位的整数其本质是二进制数直接读写不便才衍生出直观表示形式我们通常也使用 “点分十进制” 的字符串表示 IP 地址例如 192.168.0.1用点分割的每一个数字对应一个字节每个字节的取值范围是 0 - 255本质是将 32 位二进制数按每 8 位分组转换为十进制。同一局域网内的主机可直接通过 MAC 地址通信而跨网段的主机无法直接互通需依赖路由器转发实现数据传输。数据从一台计算机到另一台跨网段计算机的传输过程中要经过一个或多个路由器依靠 IP 地址完成跨网段的路由寻址与报文转发。下面是一张示意图首先理解一下IP地址的意义为什么去目标主机先要走路由器目的IP的意义然后结合封装与解包体现路由器解包和重新封装的特点4.3 对比IP地址和Mac地址的区别IP 地址在整个路由转发过程中源 IP 和目的 IP 一直不变目前我们只能这样说明后续学习 NAT 等技术后再修正传输过程中的下一跳 MAC 地址一直在变源 MAC 仅在本机局域网段不变跨网段转发时会随路由器更替刷新目的 IP 是数据传输的长远目标MAC 地址是每一跳转发的下一阶段目标目的 IP 是路由器进行跨网段路径选择的重要依据MAC 地址是局域网内数据链路层转发的重要依据提炼IP网络的意义和网络通信的宏观流程IP 网络层存在的意义提供统一的网络虚拟层实现网络的互联互通让全球所有底层网络都能接入 IP 网络屏蔽不同底层网络以太网、无线 LAN、广域网等的技术差异为上层提供无差别的端到端 IP 通信服务
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。