资讯详情

网络参考模型详解:OSI与TCP/IP五层架构及封装解封装原理

📅 2026/10/21 22:17:42 | 华诺云谱 👁 阅读
网络参考模型详解:OSI与TCP/IP五层架构及封装解封装原理
1. 这一章在整个HCIA里的分量先想明白为什么学它很多人刚开始接触华为数通HCIA的时候最容易犯的一个错误就是小看第二章“网络参考模型”。总觉得这就是背几个层的名字、记几个协议考试能选对就行。但等你真正去排障、去看抓包、去理解路由协议的工作原理时你会发现所有问题追根溯源都会回到这一章。交换机的MAC地址表为什么这么建、路由器为什么要查路由表、TCP为什么老跟你讲“三次握手”——这些现象背后的理论依据全在参考模型里。换句话说参考模型就是网络世界的“骨架”。你后面学的VLAN、静态路由、OSPF、ACL都是在骨架上面挂肉。骨架没搭对后面全是空中楼阁。这一章我建议你的学习目标不是“背下来”而是“能用自己的话讲清楚”。什么时候你能做到给一个完全不懂网络的人讲明白“数据从一台电脑到另一台电脑中间到底经历了什么”这一章才算真正过关。考试只是顺带的事。1.1 华为官方视角为什么你看到的是五层而不是七层市面上讲网络模型绝大多数教材会先给你看OSI七层模型物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。然后告诉你这是国际标准化组织定义的参考模型。这个说法没错但华为数通的课程体系里你更多会接触到一个五层模型应用层、传输层、网络层、数据链路层、物理层。原因很简单实际网络中跑的是TCP/IP协议族而TCP/IP协议族在实践中并没有把“会话层”和“表示层”单独拆出来它们的职责被并入了应用层。比如加密、压缩、格式转换这些表示层的活儿在现实中是由应用自己处理的HTTP头里的Content-Type就是在干这事会话管理则交给了TCP或应用协议自己维护。没必要纠结“到底该记七层还是五层”华为考试不会故意在这个地方挖坑让你站队。你需要做的是两套模型都能切换。考试卷子上如果明确提到OSI你就按七层说如果问的是TCP/IP或华为数通场景就按五层说。真正重要、花90%精力去理解的是下面几层物理层、数据链路层、网络层、传输层以及最上面的应用层。1.2 数据通信的本质封装与解封装在展开各层细节之前先建立一个大图景。数据在网络里传输靠的不是把整个文件像快递包裹一样原封不动丢出去而是每一层都往原始数据上“贴一张标签”。发送方从上往下逐层贴标签这叫封装接收方从下往上逐层撕标签这叫解封装。这个过程可以用一个特别生活化的例子来理解。你写了一封信应用层数据把它装进信封写上收件人地址传输层加上端口号再把信封放进快递袋贴上快递单网络层加上IP地址快递袋外面再贴一层小区收发室标签数据链路层加上MAC地址最后骑手按地址派送物理层传输比特流。收件人拿到手以后先看小区标签确认是不是自己这栋楼的再拆快递袋看IP地址确认是不是寄给自己的再拆信封把信交给对应的人。每一层只关心自己那一层的信息这就是分层最大的意义——各司其职互不干扰。2. 从OSI七层到五层每一层到底在干什么2.1 七层模型逐层拆解用大白话讲清职责先按OSI七层的顺序过一遍每一层我用“负责什么 典型设备/协议 一句话举例”来讲。物理层是离硬件最近的一层负责把比特流0和1转换成电信号、光信号或无线信号在介质上传输。网线、光纤、集线器、中继器都算这一层的设备。这一层不关心数据内容只关心“信号能不能过去”。你网线没插好、光纤跳线接错了都是物理层的问题。数据链路层负责在相邻两个节点之间的链路上传输数据。它把来自网络层的数据包封装成帧加上源MAC地址和目的MAC地址还负责差错检测。交换机是典型的数据链路层设备。这一层解决的是“同一段链路内数据怎么准确到达下一个节点”的问题。网络层负责跨网络传输数据核心工作是逻辑寻址和路由选择。路由器工作在这一层。它给数据包加上源IP和目的IP然后根据路由表决定下一跳该往哪儿送。这一层解决的是“从源主机到目的主机路径怎么选”的问题。传输层负责端到端的通信也就是为应用进程之间提供数据传输服务。它引入了一个关键概念——端口号用来区分同一台主机上的不同应用。TCP和UDP都是传输层协议。这一层解决的是“数据交给哪个应用”的问题。会话层、表示层、应用层在现实中常常被合并看待。会话层管通信的建立、维持和断开表示层管数据的加密、压缩、格式转换应用层直接面向用户提供各种网络服务。HTTP、DNS、FTP、SMTP这些我们熟悉的协议都属于应用层。为了帮助你记忆七层顺序我当年用的口诀是“物联网淑慧使用”对应物理、数据链路、网络、传输、会话、表示、应用七层从下往上背。你如果有自己的记忆方式更好关键是看到“会话层负责什么”这种题时能迅速反应出来。2.2 为什么说五层模型更贴近真实世界华为数通体系里喜欢用五层是因为TCP/IP协议族在实际网络中是绝对主导。物理层、数据链路层、网络层、传输层这四层和OSI完全对应唯独最上层把OSI的应用、表示、会话三层合并成了一层“应用层”。这么做并非偷懒而是因为表示层和会话层的功能在现实中分散到了应用和传输当中。比如HTTPS的加密是TLS协议实现的TLS从工作位置看横跨表示层和会话层你很难把它硬塞进单一层。TCP本身提供了连接管理相当于承担了一部分会话层的职责。所以在实际工程中单独维护会话层和表示层的概念收益不大大家约定俗成用五层来描述。考试里如果出现“TCP/IP模型中HTTP属于哪一层”这种题正确答案是应用层。如果在OSI语境下问HTTP仍然算应用层但你应该知道严格的OSI模型里HTTP被认为工作在应用层之上。绝大多数考试不会在这个边界上深挖但你需要明白这个差别存在。2.3 各层对应设备、PDU名称与典型协议速查表刚学的时候最痛苦的就是记“什么东西对应哪一层”我帮你整理成一张速查表建议抄在笔记本显眼的位置。层级典型设备PDU名称典型协议/技术应用层计算机、手机数据HTTP、DNS、FTP、SMTP、Telnet传输层防火墙部分场景数据段/报文TCP、UDP网络层路由器数据包/报文IP、ICMP、ARP实际工作中ARP归这里数据链路层交换机、网卡数据帧Ethernet、PPP、VLAN物理层网线、光纤、集线器比特流RS232、1000BASE-T各种编码方式这张表里最容易混淆的是PDU的叫法。数据在传输层叫“段”在网络层叫“包”在数据链路层叫“帧”在物理层叫“比特流”在应用层干脆就叫“数据”。考试选择题特别喜欢在这里设陷阱问你“交换机转发的基本单位是什么”答案是帧问你“路由器转发的基本单位是什么”答案是数据包。2.4 每个HCIA考生都绕不开的“为什么分层”如果只为了考试记住哪层干什么就够了。但如果想成为一个真正懂网络的人你必须想明白一个问题为什么要分层分层带来的最大好处是“独立演进”。物理层想从铜缆换成光纤不需要改动上层协议网络层想新增一个IPv6数据链路层照样跑以太网传输层想加一个新的拥塞控制算法应用层完全感知不到。这种解耦让整个互联网的迭代速度快到不可思议。另一个好处是“便于排障”出问题的时候能快速定位到某一层。网页打不开先确认物理层链路通不通再ping网关确认网络层通不通再确认端口能不能连通一步步缩小范围。这套排查思路本质上就是分层模型在工作。3. 数据封装与解封装全网最绕的地方这次一次讲透3.1 一个HTTP请求从发送到接收的完整旅程现在我把第二章最重要、也最容易让新手懵掉的知识单独拿出来展开数据封装与解封装的完整过程。我用一个最常见的场景——你在浏览器里访问一个网站——从头到尾走一遍。假设你电脑的IP是192.168.1.10网站的服务器IP是203.0.113.5。你在浏览器输入网址回车HTTP请求数据在应用层生成这是原始数据叫Data。下到传输层TCP协议给这段数据加上一个TCP头。头里最关键的是源端口你电脑上随机生成的一个1024以上的端口比如54321和目的端口服务器上HTTP服务监听的80或443端口。这一步完成后数据叫Segment数据段。再下到网络层IP协议给数据段加上IP头。头里包含源IP 192.168.1.10和目的IP 203.0.113.5。加了IP头之后数据叫Packet数据包。继续下到数据链路层这个问题开始变得“有趣”。你的电脑要把IP包发给网关路由器但网络上真正传输的以太网帧用的是MAC地址而不是IP地址。于是你的电脑先通过ARP协议查网关的MAC地址然后把IP包封装进以太网帧里加上源MAC你电脑网卡的MAC和目的MAC网关的MAC最后还有个帧尾用于差错校验。这一步完成后数据叫Frame数据帧。下到物理层网卡把这一帧变成二进制比特流通过网线发出去。交换机收到后查MAC地址表把帧从对应端口转发给网关。网关路由器解开帧看到目的IP不是自己于是查路由表决定下一跳。每经过一台路由器源MAC和目的MAC都会被更新换成分段链路两端的MAC地址但源IP和目的IP保持不变。这中间的反复封装和解封装正是参考模型“层间独立”的直观体现。最终帧到达服务器服务器网卡收到后从物理层一路往上解封装从帧里取出包、从包里取出段、从段里取出HTTP数据交给Web服务器进程处理。响应数据再按同样的流程返回给你。这样一个来回封装和解封装各经历了一次完整轮回。3.2 数据段、报文、帧、比特流名字对应的状态我见过太多同学在这四个名字上翻车。名字不是随便起的每个名字对应的是一个阶段的状态数据段Segment传输层封装完成有源端口和目的端口。数据包Packet网络层封装完成有源IP和目的IP。有时也叫报文考试里报文这个词用得比较泛你要根据上下文判断是IP包还是更上层的数据。数据帧Frame数据链路层封装完成有源MAC和目的MAC还有帧尾FCS校验。比特流Bits物理层传输形态纯粹的0和1信号。为了帮助记忆你可以这样串联端口号决定数据给谁传输层IP地址决定数据去哪网络层MAC地址决定数据怎么走到下一跳数据链路层。一层管一个维度各不越界。3.3 中间设备到底改了什么MAC地址 vs IP地址一个特别经典的面试题是数据包经过路由器转发时哪些字段会改变哪些不会答案很清晰源IP和目的IP在端到端传输过程中保持不变除非做了NAT源MAC和目的MAC在每个网段之间都会改变。原因在于IP地址是逻辑寻址解决“最终去哪”的问题MAC地址是物理寻址解决“下一跳给谁”的问题。可以这样理解IP地址是你的家庭住址MAC地址是你小区门卫的名字。快递从北京发到广州门卫在每条街上都会换人但收件人的家庭住址始终不变。交换机在这套流程中只关心MAC地址不关心IP地址。路由器则相反它拆开帧看到的是IP包主要基于IP地址做转发决策。所以考试里如果问“交换机属于哪一层设备”答案是数据链路层因为它工作在MAC地址层面问“路由器属于哪一层设备”答案是网络层。3.4 封装与解封装的经典错题汇总这部分是我从各种考试失分案例里总结出来的高频错点建议拿小本本记下来第一封装顺序搞反。封装是应用层数据向下逐层加头解封装是物理层比特流向上逐层去头。很多人做题时把“加IP头”放在“加TCP头”前面错了。一定是先加TCP头再加IP头因为TCP段是IP包的载荷。第二把“每一层都能看到完整数据”当成理所当然。实际上每一层只处理自己关心的头部信息数据部分在除应用层外的各层看来只是一串载荷。这也是为什么抓包工具能逐层展开报文的原因——每一层的头都有独立结构。第三认为每经过一台交换机MAC地址就会改变。交换机不修改帧中的MAC地址它只根据目的MAC查表转发。真正改变MAC地址的是路由器因为帧跨网段时目的MAC必须换成下一跳设备的MAC。第四忽略帧尾。以太网帧不仅有帧头还有帧尾FCS用于检错。数据链路层发现帧校验出错就会丢弃。这个细节在选择题里偶尔出现问“以太网帧由哪些部分组成”标准答案是目标MAC、源MAC、类型、数据、FCS五部分。4. 核心协议和端口速记考试和面试的硬通货4.1 传输层双子星TCP和UDP的关键差异传输层是网络应用最直接的“接送服务”而TCP和UDP是两种截然不同的服务方式。考试和面试都爱把这两个协议放一起对比。TCP是面向连接的、可靠的、基于字节流的传输协议。它通过三次握手建立连接、通过确认应答与超时重传保证可靠性、通过拥塞控制避免网络过载。典型的应用场景是网页浏览HTTP、邮件SMTP、文件传输FTP。代价是效率相对低头部开销20字节起步。UDP是面向无连接的、不可靠的传输协议。它不建立连接发出去就不管了头部只有8字节延迟低、开销小。典型的应用场景是DNS查询、视频流媒体、语音通话、游戏数据。丢一个包可以重传或者忽略但不能因为等待重传造成卡顿。从工程师角度看选TCP还是UDP本质上是一个取舍你要可靠还是效率文件传输不能错一个字必须TCP视频通话可以偶尔花屏但不能卡就得UDP。考试里常考的是“以下哪个应用使用UDP”常见的坑是DNS——很多人想当然觉得DNS应该用TCP实际上DNS查询默认走UDP 53端口只有区域传输或响应超长时才切TCP。4.2 TCP三次握手与四次挥手不只背状态要能画能说三次握手的过程可以用一个最简单的生活类比来讲A打电话给B“喂你能听到吗”B回复“能听到你能听到我吗”A回应“能听到。”——双方都确认了自己能收能发连接建立。客户端发送SYN报文同步序列号seqx进入SYN_SENT状态。服务端收到SYN后回复SYNACK报文seqyackx1进入SYN_RCVD状态。客户端收到SYNACK后发送ACK报文acky1进入ESTABLISHED状态。服务端收到后也进入ESTABLISHED状态。很多人问为什么不是两次握手核心原因是两次握手无法避免历史SYN报文对服务端造成误判。假如客户端第一次发的SYN在网络中滞留了很久客户端等不及超时重发了一次然后连接正常建立、释放。这时候早先滞留的那个SYN又到达了服务端服务端如果只回一个ACK就进入建立状态这个残留连接就会白占资源。三次握手让客户端能通过判断ACK号大小决定是否发送RST来终止异常连接。这也是考试里比较深的一个问法理解了逻辑比死记硬背可靠得多。四次挥手是关闭连接的过程因为TCP连接是全双工的两个方向要各自独立关闭主动方发送FIN表示“我的数据发完了”。被动方回复ACK但此时被动方可能还有数据要发。被动方数据发完后再发送FIN表示“我也发完了”。主动方回复ACK等待一段时间2MSL后连接关闭。这里面试官经常追问为什么主动方最后要等2MSL答案是为了确保最后一个ACK能到达对方如果丢失对方会重发FIN你得留出时间处理。同时让旧连接上的迟到数据包在网络中消失避免污染新连接。4.3 网络层核心IP头部关键字段、分片与TTLIP协议头部有个字段需要你记住版本号IPv4是4、首部长度、总长度、标识、标志、片偏移、TTL、协议号、源IP、目的IP。其中TTL在HCIA考试里出现的频率特别高。TTL全称是Time To Live每经过一台路由器就减1减到0时数据包被丢弃路由器还会向源地址发送ICMP超时消息。它的作用是防止暴雨级的路由环路造成网络瘫痪。默认值在不同系统上不一样Linux通常是64Windows通常是128。你知道这个常识后做ping排障会快很多——如果TTL返回值接近128目标多半是Windows主机接近64则很可能是Linux或网络设备。IP分片是另一个高频考点。当IP包长度超过下一跳链路的MTU时路由器会对包进行分片。以太网MTU默认1500字节如果上层数据太大就需要分片。每个分片都是一个独立的IP包各有自己的标识字段接收方根据标识、片偏移和标志字段里的MF位来重组。考试里最常见的计算题是一个3000字节的应用层数据加上20字节TCP头和20字节IP头后总长3040字节超过MTU需要分成几个片分片规则要求分片长度必须是8的整数倍所以数据部分最大1480字节分片结果一般是三个片。计算方法不复杂但考场上很多人会在“是否包含首部长度”和“8字节对齐”上出错这两个坑务必留意。4.4 ARP和ICMP两个低调但必考的配角ARP协议解决的是“已知IP找MAC”的问题。当一台主机要向同网段另一台主机发数据却不知道对方MAC时就会发送一个ARP广播请求“谁是192.168.1.1请告诉我你的MAC地址”目标主机收到后单播回复自己的MAC。ARP表就是这两者的映射关系缓存。ARP在HCIA里的考点主要有两个。一个是ARP表老化表项不会永久存在默认老化时间通常是120秒这是为了应对IP地址变动。另一个是代理ARP与ARP欺骗的安全问题入门阶段知道概念即可进阶阶段会专门展开。实际上考试还会问“跨网段通信时目的MAC是谁”答案是网关的MAC而不是对端主机的MAC这个前文已经强调过务必牢记。ICMP是网络层的辅助协议主要用来传递差错信息和诊断信息。ping和tracert这两个排障工具都基于ICMP。ping用的是ICMP Echo Request和Echo Replytracert则利用ICMP超时消息逐步探测路径上每一跳的IP。考试里常考“ping不通某个IP是否说明链路故障”的判断题——不能对方可能禁ping但业务端口正常。想判断TCP端口通不通用telnet或nc更可靠。5. 把模型落到华为设备上VRP常用查看命令5.1 display命令怎么和参考模型对号入座学了理论以后最怕的就是不会在真机上验证。华为VRP系统提供了一大堆display命令每条命令背后正好对应参考模型的某一层或某个机制。我建议你上手实验时养成“查一层保一层”的习惯查看物理层和链路层状态display interface GigabitEthernet0/0/0主要看端口状态、速率、双工模式、输入输出错包数。查看MAC地址表display mac-address对应数据链路层学习到的MAC映射关系。查看IP层接口状态display ip interface brief看IP地址配置和端口up/down状态。查看ARP表display arp看IP到MAC的映射。查看路由表display ip routing-table对应网络层转发决策依据。确认连接和路径display tcp status看设备上TCP连接状态。这些命令不用死记但要理解它们分别“解剖”了数据通路上的哪个环节。遇到“网线插了但ping不通”这种经典问题用这套命令一路排查下来基本就能定位。5.2 ping和tracert的实战排障思路ping命令大概是网络工程师用得最多的命令了。它基于ICMP能够确认源到目的IP的网络层连通性。在华为设备上执行ping后会返回reply消息和往返时间RTT以及TTL信息。当你看到“Request timed out”时脑子里应该立刻形成问题树先看自己设备有没有IP地址display ip interface brief再看网关通不通ping网关IP再看对端是否禁ping换tracert试试如果网关通了但目的不通留意是不是跨网段路由缺失查display ip routing-table里有没有对应目的网段的路由如果某一跳丢包严重再回到那一跳对应的物理链路上检查CRC错包、光功率等物理层指标。这套排查路径的本质就是分层排查。从物理层到数据链路层再到网络层一层一层定位而不是瞎猜。这才是参考模型在真实工作中的最大价值。5.3 查看ARP表和MAC表的学习意义华为设备上执行display arp你会看到一堆IP和MAC的配对。如果把电脑接上交换机再ping一下网关刷新交换机的display mac-address你会看到电脑MAC被记录在对应端口下。这个现象直观地说明了交换机数据链路层的工作逻辑它根据源MAC学习、根据目的MAC转发。我在带新人时经常让他们手动做一个小实验两台电脑连同一台交换机A ping B的IP然后在交换机上观察MAC地址表的变化。看一次MAC地址学习的过程比背十遍“交换机是二层设备”都有用。同理在路由器上抓一次包看ARP请求与回应也能让你的理解从抽象变成画面。别嫌这些操作简单基础不牢的人往往就在这种细节上露馅。6. 学习建议与避坑手册过来人的几条经验6.1 常见理解误区提前排雷第一个误区是“TCP比UDP高级、可靠、所以什么都应该用TCP”。实际工程中大量实时场景必须用UDP可靠性和效率之间永远是权衡不是越可靠越好。第二个误区是“交换机完全不懂IP”。普通二层交换机确实只看MAC但很多三层交换机本身就能做路由华为的S系列交换机上配置VLANIF接口后就能处理IP报文。考试里说“交换机是二层设备”是指它的核心转发功能定位并不是说它的硬件能力被锁死。第三个误区是“数据链路层只有以太网”。以太网确实统治了局域网但数据链路层还有PPPoE、HDLC、帧中继等协议。在WAN接入场景里你可能遇到完全不同的帧格式学习时不要把视野局限在以太网。6.2 备考重点哪些考点最值得花时间从HCIA考题统计来看网络参考模型这一章的命题点主要集中在几个固定的位置PDU名称与层级的对应关系、各层设备归类、封装与解封装的顺序、TCP与UDP的主要差异、三次握手的过程描述、IP头部字段的作用。我的建议是把上面这些点做成双向卡片正面写名称反面写定义和典型协议。每天睡前抽十张自测坚持两周正确率基本能到95%以上。不要在这章花太多时间搞偏难怪题后面的路由协议和交换原理才是重头戏这一章的核心任务是“打好地基别翻车”。6.3 面试中关于参考模型的高频追问如果你学HCIA不只是为了拿证还准备将来去面试网络岗位那么要把这部分理论准备得更深一层。面试官尤其喜欢变着法考一层“你在实际工作中怎么判断故障出现在哪一层”对应分层排查思路。“为什么TCP是三次握手而不是两次”对应的历史SYN问题。“MAC地址和IP地址的本质区别是什么”对应逻辑寻址与物理寻址。“数据包经过路由器时改了什么、不改什么”对应封装与解封装的动态过程。“能说说TCP的可靠传输靠哪些机制保证吗”对应确认、重传、排序、流控。这些问题没有标准答案模板但如果你真的亲手做过实验、抓过包、配过设备回答起来自然有底气。别背答案理解原理面试场上才不会被追问问倒。最后分享一点个人体会。我见过很多人学这一章时觉得太简单、太抽象草草翻过就开始做实验结果后续学VLAN、学路由协议时不断回头补课。网络参考模型的重要性不在于它本身有多深奥而在于它是后面所有知识的“元语言”。没有这套语言你连“交换机为什么需要MAC地址表”都解释不清。花一周时间把这一章读透、想透、实验透绝对是整个HCIA备考过程中性价比最高的一笔投入。
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑