01-网络模型与基础架构

学习目标

网络历史与分层模型

互联网并非一蹴而就,而是经历了 “军事需求→学术共享→商业普及→全民互联” 四个关键阶段。

发展简史

☆ 军事需求

冷战期间,美国出于对 “核打击后通信中断” 的担忧,美国国防部高级研究计划局(DARPA)启动 ARPANET 项目,核心目标是构建 “去中心化、抗故障” 的通信网络

1972年10月,ARPANET公开亮相。在华盛顿举行的第一届国际计算机与通信会议上,ARPA的科学家们演示了这个系统:ARPANET将来自40个不同地点的计算机连接在了一起。

image

1972年,是计算机发展史上的一个重要年份。 1972 年 4 月,英特尔推出了世界上第一款商用 8 位微处理器 —— 8008 芯片,标志着计算机进入到微型处理器商用时代。 1972年,贝尔实验室的布莱恩・柯尼汉和丹尼斯・里奇开发了 C 编程语言,C 语言后来成为最流行的专业软件开发语言之一。 后来,1978年,44岁的谭浩强半路出家,看到美国提出要向12岁的小孩普及计算机,边讲边学,讲解《BASIC语言》和《C语言》,被《人民日报》评为中国计算机普及的奠基人。

☆ 学术共享和商业普及

1983年,随着节点增多,不同设备的 “通信语言不统一” 成为瓶颈。

Vint Cerf 和 Robert Kahn 提出 TCP/IP 协议,解决了 “数据如何在不同网络间路由”“保证数据完整” 的核心问题。

TCP/IP协议的使用,标志着互联网的 “出生”。 1984年,斯坦福大学的计算机中心主任伦纳德・波萨克(Leonard Bosack)和商学院计算机中心主任桑德拉・勒纳(Sandy Lerner),为解决斯坦福大学校园内不同院系 “网络不互通” 的问题,开发了一款支持多协议的路由器,并创办了思科公司。 1987年,任正非在深圳创办华为公司,代理销售香港一家公司的程控交换机。

image

历史故事 思科:1987年,斯坦福大学的一对教师夫妇创办的一家商业公司。Cisco的名字取自San Francisco (旧金山,圣弗朗西斯科)的后五个字母。logo设计灵感来自旧金山的标志性建筑金门大桥,寓意构建网络世界的”桥梁“。 华为:1987年8月,任正非将21000元人民币筹措到位后,在深圳一个旧厂房开始成立 公司,起名字的时候,苦思冥想争执不下,后来它恰巧看到办公室对面的墙上有一幅“心系中华,有所作为”的标语,于是,灵机一动就将公司起名“华为”,意为“中华有为”,为中华崛起而为之。

1990s 后,商业资本进入,ISP(互联网服务提供商)出现。

☆ 全民互联

早期互联网仅能传输文字和简单文件,使用门槛极高。

1989 年英国科学家 Tim Berners-Lee 发明万维网(WWW),提出

URL(统一资源定位符)、HTTP(超文本传输协议)、HTML(超文本标记语言)

三大核心技术,让 “图文结合的网页” 成为可能。

image

1994年 - 2004年互联网发展 1993 年,第一个网页浏览器 Mosaic(俗称马赛克,代码只有9000行,网景的前身)浏览器问世,这是第一个能够在不同操作系统上运行、支持图形界面图片显示的 Web 浏览器,极大降低了互联网的门槛。 1994年,网景公司成立,发布了一款更强大的浏览器Netscape Navigator,迅速占领了80%以上的市场。 1995年网景公司IPO上市创造的神话引爆了互联网时代。我们现在所熟知的SSL、JavaScript、Cookie等技术都是网景公司对这一时代的贡献。 1994年到1998年,雅虎公司、eBay公司、亚马逊公司、谷歌公司陆续创立。。。 1998年到2000年,受美国互联网时代的启发,张朝阳回国创立搜狐,李彦宏回国创立百度,马云创办阿里巴巴,马化腾在通信软件领域创办腾讯,丁磊在邮箱软件领域创办网易。

分层思想

网络通信涉及 “数据如何打包”、“走哪条路传输”、“如何识别接收方”、“如何展示内容” 等多个环节。

若将所有功能混在一起,会导致 “牵一发而动全身”(比如改传输路径,就要重写数据打包逻辑)。

分层思想正是为解决这个问题而生。

image

分层的本质

把网络通信的全流程拆成多个 “独立层级”,每个层级只负责一件事。

分层的价值

1. 降低复杂度(解耦):比如要优化 “数据传输速度”,只需改 “物理层”(如从网线换成光纤),不用动其他地方。 2. 便于标准化:全球厂商按同一分层模型开发设备(如华为的路由器按 “网络层” 标准做,苹果的手机按 “应用层” 标准做),确保不同品牌设备能互联互通。 3. 利于维护:故障排查时,能快速定位层级。

高内聚,低耦合

分层模型

☆ OSI七层

OSI 七层模型是国际标准化组织(ISO)提出的 “理论模型”,它将网络通信流程拆解得最细致,每一层都有明确的职责边界,主要用于教学和技术规范制定。

image
1- 物理层:
        功能:在网络设备之间传输原始比特流(0 和 1),包括定义物理设备的硬件规格(如电缆类型、信号电压、传输速率等)
        设备:网线、光纤、集线器
        大白话:就是网线、光纤、无线信号这些东西,负责把 0 和 1 通过电流、光信号或者无线电波传输出去

2- 数据链路层:
        功能:将比特组合成帧,并提供可靠的数据传输(访问控制和硬件地址(MAC 地址)管理),检测和纠正物理层的错误
        设备:交换机
        大白话:把 0 和 1 组合成“数据包”,并且加上地址标签(MAC 地址),还会检查有没有传错。

        同一局域网内传输操作,无法进行跨网络传输

3- 网络层:
        功能:负责路径选择(路由)和逻辑地址(IP 地址)的管理,实现数据包的传输,主要的协议为 TPv4、IPv6
        设备:路由器
        大白话: 负责导航,给数据找一条从A点到B点的最佳路径,用的是IP地址

        基于路由器,实现跨网络的传输方式       

4- 传输层: 
        功能:提供端到端的通信服务,数据从应用层分割成报文段,确保数据的可靠性、顺序性和完整性,主要的协议为 TCP、UDP
        大白话:确保数据不丢、不乱,像快递的分拣中心,还会给大数据分成小包裹(分段),送达后再重新组装。

5- 会话层:
        功能:管理会话(Session),包括建立、维护和终止应用程序之间的连接
        例如:比如视频会议时确保两边能持续连通
    大白话:就是维持聊天记录的管家,负责建立、管理和结束两个设备之间的连接。

6- 表示层:
        功能:处理数据的表示形式,确保数据在不同系统之间的兼容性  负责数据的编码、加密、压缩等
        例如:图片、视频、文字能正确显示都依靠表示层
        大白话:数据翻译官,负责把数据变成对方能读懂的格式,还能帮忙加密或压缩。

7- 应用层:
        功能:为用户和应用程序提供网络服务接口
        例如:网页浏览(HTTP)、邮件(SMTP)、文件传输(FTP)
        大白话:就是和你直接打交道的界面,负责提供网络服务

数据在各层的名字:
        比特流 --> 帧 --> 包 -- 报文段  --> 报文(应用层、表示层、会话层)

从地址角度来看:
        传输层:端到端传输   端口
        网络层: IP
        数据链路层: MAC

从传输的功能:
        传输层: 从服务进程 到 服务进程
        网络层: 从IP到IP  端到端
        数据链路层: 从mac 到mac 跳

注意事项:

☆ TCP/IP四层(重点)

image

<sheet sheet-id="0LhN18" token="VOM7spevkhm5sHtyVLwcV2KPngy"></sheet>

对比总结

<sheet sheet-id="k4OxnY" token="VOM7spevkhm5sHtyVLwcV2KPngy"></sheet>

数据的封装与传输

我们用TCP/IP 四层模型,以 “用浏览器打开百度网页” 为例,讲解一下数据的封装和解封过程。

☆ 数据封装

将数据按照协议栈,逐层向下传递数据,并添加报头和报尾的过程,称为封装。

原始数据→数据段→数据包→数据帧→比特流

我们以访问网页为例,

1. 应用层:访问页面,发送HTTP请求,原始数据被转换成二进制数据 2. 传输层:数据被打上传输层头部比如TCP头部,封装成Segment 数据段。关键信息是端口号。 3. 网络层:会给数据打上IP头部,封装成Packet数据包。关键信息是源目ip地址。 4. 网络接口层 :会给数据打上帧头部,封装成Frame数据帧,头部中关键信息是源目MAC地址。

在网线或者光纤上将二进制数据封装成高低电频信号或者光信号。

最终在物理层上(双绞线、光纤跳线)上以电信号或光信号进行传播转发。

image

什么是 FCS ?

FCS 的全称是 Frame Check Sequence,中文翻译为 帧检验序列

简单来说,FCS 是添加到数据帧尾部的一段冗余校验码,用于检测数据在传输过程中是否出现错误。

对应的,逐层向上传递,并拆解报文的,称为解封。

对应的OSI七层模型,封装解封过程如下

image

☆ 数据传输

封装后的数据,在物理层和链路层进行传输。

最终,达到主机后,逐层解封,得到原始数据。

下面的图形中,需要注意数据不仅在物理层传输,也会涉及到交换机和路由器的数据转发和传递。
image

总结

1、面试中,主要问 TCP/IP 四层模型是哪四个?

2、网络工程的学生,主要关注七层模型的“下三路” —— 网络层、链路层、物理层

3、随着无线通信的发展,物理层主要由通信工程专业来处理。

image

物理层与数据链路层

物理层和数据链路层是网络通信的 “底层基石”,二者共同构成了网络的 “物理连接基础”。

物理层解决 “信号如何传输”。

数据链路层解决 “相邻设备如何准确通信”。

物理层

物理层是网络分层的最底层,直接对接物理设备和传输介质.

核心任务是将二进制数据(0/1)转化为物理信号并传输,不关心数据的含义。

image

物理层常见的设备如下

<sheet sheet-id="aFL6e1" token="VOM7spevkhm5sHtyVLwcV2KPngy"></sheet>

☆ 双绞线

双绞线的名字直接来源于它的物理结构 —— 由两根绝缘导线 “相互绞合” 组成。

这种绞合设计是它区别于其他传输介质(如平行线、同轴电缆)的核心特征,也是名字的唯一来源。

image

双绞线通常以 “线对” 为基本单位(比如常见的网线含 4 对线,共 8 根导线)。 每一对中的两根绝缘铜导线会按照一定密度 “螺旋状相互缠绕”,就像拧麻花一样。

双绞线抗干扰原理

当外部有电磁干扰(如旁边电机产生的磁场、其他线缆的信号)时,由于两根导线紧密绞合,会同时、均匀地接收到相同的干扰信号。

双绞线的 “绞合” 让两根线在空间中不断交换位置,无论外部干扰来自哪个方向,每根线都会 “平均接触” 到干扰信号,最终两根线上的干扰电流 “大小相等、方向相反”(对称);

image

课上思考题 1、为什么平行线无法抵消电磁干扰? 平行线是两根线平行排列,距离固定且位置不变。比如旁边有一根强信号线缆,靠近强信号的那根平行线会接收到更强的干扰,另一根则较弱 —— 两根线上的干扰电流 “大小不等、方向也可能不一致”(不对称) 2、为什么同轴电缆不用做成平行线? 同轴电缆并非 “不用抗干扰”,而是用 “物理隔绝” 的思路替代了绞合结构,所以成本高一些。

☆ 光纤

光纤是物理层中以光信号为传输载体的介质,核心优势是 “超远传输距离 + 超高带宽 + 强抗干扰”,是当前全球通信骨干网的核心传输介质。

image

“光纤之父” 高锟 高锟 1933 年出生于江苏省金山县(今上海市金山区),1948 年移居台湾,之后随父亲迁往香港。 1966 年,高锟在国际电话电报公司任职期间,发表了题为《光频率介质纤维表面波导》的论文,开创性地提出光导纤维在通信上应用的基本原理,为光纤通信奠定了理论基础。 2009 年,高锟因 “在纤维中传送光以达成光学通讯” 的开拓成就,获得诺贝尔物理学奖。

image

应用场景

☆ 无线(WiFi)

WiFi 是物理层中基于电磁波的无线传输技术,核心优势是 “无需布线 + 移动性强”,是当前家庭、办公室等场景最主流的无线接入方式。

WiFi 通过 “无线网卡” 收发信号,本质是将二进制数据(0/1)转化为2.4GHz 或 5GHz 频段的电磁波,通过空气传输。

总结

<sheet sheet-id="rwmwi2" token="VOM7spevkhm5sHtyVLwcV2KPngy"></sheet>

课上作业 大家搜索一下,光纤和双绞线的传输距离大概能达到多少?

数据链路层

数据链路层位于物理层之上,负责相邻设备(如电脑与路由器、路由器与交换机)之间的帧传输,解决 “物理层信号传输可能出错” 的问题。

核心功能

1. 封装成帧:将网络层的 IP 数据包包装成 “数据帧”,添加帧头(含源 / 目的 MAC 地址)和帧尾(含校验位)。 2. 差错控制:通过帧尾的校验位(如 CRC 循环冗余校验)检测数据在传输中是否损坏,若出错则要求重传。 3. 流量控制:当接收方处理速度慢于发送方时,通过 “暂停信号” 控制发送速率,避免数据溢出。

MAC 地址 设备的物理地址,48 位 MAC 地址分为两段,每段 6 位十六进制数,分工明确。全球唯一,由厂商烧录在网卡中,用于标识相邻设备。 6 字节,如 00-1A-2B-3C-4D-5E,前 3 字节 “厂商码”+ 后 3 字节 “设备码”

| 目的MAC地址 | 源MAC地址 | 类型字段(标识上层协议) | 数据(IP数据包) | 校验位(CRC) |  
|---|---|---|---|---|
| 6字节       | 6字节     | 2字节                 | 46-1500字节      | 4字节        |  

注意事项:

☆ 网卡

网卡(Network Interface Card,NIC)是计算机或终端设备接入网络的 “接口”,是数据链路层最基础的设备。

image

☆ 交换机

交换机(Switch)是局域网内的 “数据中转站”,是目前数据链路层最常用的设备,用于连接多台设备通信。

核心功能:通过MAC 地址表学习设备的 MAC 地址,仅将数据帧转发到目标设备对应的端口,而非像集线器那样 “广播” 给所有端口,减少网络冲突。

image

☆ 网桥(Bridge)

网桥是早期用于连接两个或多个局域网的设备,功能类似简化版的交换机。

核心功能:根据 MAC 地址过滤和转发数据帧,将一个大的局域网分割成多个小的 “冲突域”,减少网络内的数据冲突。

image
网桥主要就是用来隔离网络域的,目前仅在一些老旧网络或简单的局域网扩展场景中偶尔使用

[实验1] 动手制作网线

实验原理

双绞线通过“绞合结构”抵消电磁干扰,而线序标准是保证信号同步传输的关键。常用标准有两种,核心差异在于橙绿线对的排列顺序:

image

硬件准备

器材名称数量用途说明
超五类双绞线(CAT5e)1根(长度1-2米)传输电信号,超五类支持千兆速率,满足实验需求
RJ45水晶头2个连接终端设备或交换机的RJ45接口,需与双绞线匹配
网线钳1把兼具剥线、剪线、压接水晶头功能,需选择带RJ45压接位的型号
网络测线仪1套(含主机和副机)检测网线8芯通断及线序是否正确,判断制作质量
美工刀(可选)1把辅助剥线,新手建议用网线钳自带剥线位更安全

什么是超5类? 网线类别(Category)最早是从1开始编号的,分别为1类、2类、3类。进入21世纪,人们在5类网线 的基础上,发展出了增强版(Enhanced)的5类网线,也称为5类加强版,支持1000Mbps传输,简称超5类。 5类网线的百兆速率已能够满足大部分使用场景,但是网线布设一般要10年使用寿命,所以需要适当展望未来。 目前家庭网络、中小型办公室95%以上是千兆接入,也就是业界说的超5类

image

操作步骤

双绞线内有4对彩色线对(橙白-橙、绿白-绿、蓝白-蓝、棕白-棕),制作时需保持线对绞合状态至水晶头根部,减少串扰。

1. 剥线:用网线钳的“剥线位”夹住双绞线一端(距端部约1.5cm处),轻轻旋转一圈,割开外皮后向外拉,露出8根线对。注意不要割伤内部线芯(绝缘层破损会导致短路)。

image

1. 理线与剪齐

1. 解开线对,按T568B标准依次排列:橙白→橙→绿白→蓝→蓝白→绿→棕白→棕。 2. 用手指将线捋直,确保线序无错且排列紧密,然后用网线钳“剪线位”将线端剪齐(长度约1cm,确保8根线芯平齐,无长短差)。

image
image

1. 插水晶头:手持水晶头(金属弹片朝下,开口朝自己),将剪齐的线端插入水晶头内部,确保8根线芯完全顶到水晶头底部(可从水晶头顶部观察线芯是否到位),且橙白线对应水晶头的第1针脚。

image

1. 压接固定:将插好线的水晶头放入网线钳的“RJ45压接位”,用力按压网线钳手柄至听到“咔嗒”声,确保金属弹片完全刺穿线芯绝缘层并与线芯接触良好。

image

1. 制作另一端:重复步骤1-4,制作网线另一端,确保两端线序均为T568B标准(直连网线要求)。

image

1. 通断测试:将网线两端分别插入测线仪的“主机”和“副机”RJ45接口,打开测线仪电源。

image

验证测试

正常情况:主机和副机的1-8号指示灯依次同步亮起(对应T568B线序);

若某灯不亮,说明对应线芯接触不良或断裂;

若灯亮顺序错乱,说明线序错误,需重新制作。

总结

口诀 白橙橙、白绿蓝、白蓝绿、白棕棕

传输层

在TCP/IP协议栈中,传输层位于网络层(如IP层)之上、应用层(如HTTP、FTP)之下。主要实现以下功能:

端口 Port

网络层通过IP地址能找到目标主机,但一台主机上有很多应用进程(比如同时开着浏览器、微信、音乐软件)。

数据到了主机后,怎么知道该交给哪个进程?这就需要“端口号”。

场景类比 你要去黑马程序员上课,老师告诉你了校区地址,但是上课在哪里上呢? 这就需要告诉你具体的教室编号,不同教室的学生,上课时互不影响。

端口号 Port Number

端口号是一个16位的数字(范围0-65535),分为以下两种:

image

套接字 Socket

传输层通过“IP+端口”的组合(称为“套接字”),就能精准定位到两台主机上的通信进程,实现“端到端”通信。

Socket “Socket” 的英文本意是 “插口、插座” 的含义。 网络通信场景,借用了这个词语,表示只要连上这个“插口”,就能获取电力(传输数据),而不需要关注对方到底是怎么运行的。 插口更符合 Socket 的本意,但后来被翻译成了“套接字”,让初学者会有点儿迷茫。

image

传输控制协议 TCP(面试)

传输层的两大核心协议为TCP(传输控制协议)和UDP(用户数据报协议),我们主要聚焦 TCP 进行学习。

TCP术语全双工的协议(两端都可以发送数据也都可以接收数据, 两端可以同时发,也可以同时接)。

了解相关名词:

序列号:seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。
确认序号:ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。

常见的标志位:
        ACK:确认序号有效。
        SYN:发起一个新连接。
        FIN:释放一个连接。

注意事项:

    CLOSED                        初始(无连接)状态。
    LISTEN                        侦听状态,等待远程机器的连接请求。
    SYN_SEND
    在TCP三次握手中,主动连接端发送了SYN包后,进入SYN_SEND状态,等待对方的ACK包。
    SYN_RECV 
    在TCP三次握手中,主动连接端收到ACK包后,进入SYN_RECV状态。
    ESTABLISHED 
    完成TCP三次握手后,主动连接端进入ESTABLISHED状态。此时,TCP连接已经建立,可以进行通信。

    FIN_WAIT_1     在TCP四次断开时,主动关闭端发送FIN包后,进入FIN_WAIT_1状态
    FIN_WAIT_2     在TCP四次断开时,主动关闭端收到ACK包后,进入FIN_WAIT_2状态
    TIME_WAIT      在TCP四次断开时,主动关闭端发送了ACK包之后,进入TIME_WAIT状态
    CLOSE_WAIT     在TCP四次断开时,被动关闭端收到FIN包后,进入CLOSE_WAIT状态
    LAST_ACK       在TCP四次断开时,被动关闭端发送FIN包后,进入LAST_ACK状态,等待对方的ACK包。

注意事项:

三次握手

image
TCP三次握手的过程如下:
 1. 客户机A端(主动连接端)发送一个SYN包给服务器B端(被动连接端);
 2. 服务器B端(被动连接端)收到SYN包后,发送一个带ACK和SYN标志的包给客户机A端(主动连接端);
 3. 客户机A端(主动连接端)发送一个带ACK标志的包给服务器B端(被动连接端),握手动作完成。

三次握手
1. 客户端:我想发送请求
2. 服务端:好的,我知道你要发送请求了,同意发送
3. 客户端:好的,我知道你同意了,那我开始发送了

三次握手:
第一次握手: 客户端发送请求到服务器端, 要求建立TCP连接
第二次握手: 服务器端接收到客户建立TCP连接的请求, 并做出响应告知已经收到连接请求, 确认客户端是否可以收到服务器的响应信息
第三次握手: 客户端收到服务器的响应信息后,做出响应,告知服务器端已经收到响应信息 

这个时候, 不管是客户端还是服务端,都确认对应可以发送消息也可以接受消息, 此时建立好TCP连接通道

后续就可以正常发送消息,但是要注意, 后续每一次发送消息其实都在存在再次确认方案

TCP是全双工模式:两端都可以发 也都可以同时接收

注意事项:

四次挥手

image
TCP四次断开的过程如下:
1. 客户机A端(主动连接端)发送一个FIN包给服务器B端(被动连接端)请求断开连接;
2. 服务器B端(被动连接端)收到FIN包后,发送一个ACK包给客户机A端(主动连接端);
3. 服务器B端(被动连接端)发送了ACK包后,再发送一个FIN包给客户机A端(主动连接端)确认断开;
4. 客户机A端(主动连接端)收到FIN包后,发送一个ACK包,当服务器B端(被动连接端)收到ACK包后,四次断开动作完成,连接断开。

四次挥手
1. 客户端:我不需要请求了,可以关闭连接了
2. 服务端:好的,我知道你要关闭了
3. 服务端:我发送完成了,可以关闭了
4. 客户端:好的,我知道你发送完成了,确认关闭

四次挥手:
第一次挥手: 客户端发起断开请求(客户端已经发送完数据了, 想要断开连接)
第二次挥手: 服务端收到要断开请求的连接, 响应客户端, 告知已经收到断开请求, 但需要等待我这边发送完成
第三次挥手: 服务端在完成数据发生后, 再次响应给客户端, 告知已经发送完成, 可以进行关闭操作
第四次挥手: 客户端一直在等待接收服务器端告知已经发送完成的请求, 一旦收到后, 就理解响应服务器告知已经关闭完成,服务端也会正常关闭

通过这四次挥手,可以确保客户端 和 服务器都能够保证双方都发送完了消息也接收完了消息, 从而正常断开连接

注意事项:

要求一: 能够说出OSI和 TCP/IP的 七层模型和四层模型

要求二: 能够说出OSI的七层模型每一层的作用

要求三:能够说出网络通信客户端是如何一步一步连接到服务器端

要求四:TCP三次握手 和 四次挥手能讲的出来

希望可以用自己的话来进行阐述, 千万不要感觉出来你在背诵一个内容

先按照这些问题, 一一整理好每个问题的答案, 然后后续使用多天 多次的查看即可

注意事项:

抓包利器 Wireshark

网络通信的“黑盒”可通过抓包工具打开,Wireshark作为业界主流的开源抓包软件,能实时捕获网络中的数据帧与数据包,直观呈现数据从应用层到物理层的封装过程及传输细节。

Wireshark的界面设计围绕“抓包-分析”核心逻辑,熟悉界面元素是高效操作的前提,基本抓包流程仅需3步,门槛极低。

官网地址:https://www.wireshark.org/
image

下载安装

image

下载下来,一路点击安装就可以。

安装完成后,可以调整字体,使得后面的操作更清晰。

image
image

核心技能

启动Wireshark后,界面分为4个核心区域。

1. 捕获接口区(顶部):显示当前设备的所有网络接口(如以太网、WiFi、虚拟机网卡),接口名称后括号内的“流量数值”表示该接口实时收发数据量。关键操作:双击目标接口即可开始抓包;若需过滤接口,右键接口选择“启用”/“禁用”。

image

1. 数据包列表区(左上):按捕获时间顺序展示所有数据包,每一行代表一个数据包,包含7列核心信息,鼠标悬停可查看字段说明:

1. No.:数据包序号(捕获顺序,非实际传输顺序); 2. Time:捕获时间(默认相对于抓包开始时间,可在“视图→时间格式”中修改为绝对时间); 3. Source:源IP地址(或MAC地址,依协议层级而定); 4. Destination:目的IP地址(或MAC地址); 5. Protocol:数据包所属协议(如ICMP、TCP、UDP); 6. Length:数据包总长度(单位:字节,含帧头、包头和数据); 7. Info:数据包关键信息(如Ping的“echo request”/“echo reply”,TCP的“SYN”/“ACK”)。

image

1. 数据包详情区(左下):选中数据包列表中的某一行,此处会以“树状结构”展示该数据包的协议层级(从物理层到应用层),点击层级前的“+”可展开查看具体字段(如以太网帧头的MAC地址、IP包头的TTL值)。这是协议分析的核心区域。

image

1. 数据包原始数据区(右下):展示数据包的二进制原始数据和对应的十六进制、ASCII码,与详情区的字段一一对应(点击详情区字段,原始数据区对应位置会高亮)。主要用于底层协议调试或数据校验。

image

操作流程

1. 选择捕获接口: 查看当前联网接口:若用网线连接,选择“以太网”接口;若用WiFi,选择“WLAN”接口(可通过接口后的实时流量判断,有数据传输的即为当前联网接口)。

image

1. 高级设置(可选):右键目标接口,选择“选项”,可配置抓包过滤规则(抓包前过滤,减少冗余数据)、设置捕获文件大小(避免占满磁盘)、开启“混杂模式”(捕获接口收到的所有数据,包括非目标自身的数据包,默认开启)。

image

1. 开始/停止抓包: 点击工具栏“开始捕获”按钮(红色鲨鱼鳍图标),此时接口名称旁会显示“正在捕获”,数据包列表区开始实时刷新数据。

1. 执行目标操作:在抓包期间,完成需要分析的网络操作(如Ping网关、打开网页),操作完成后立即点击工具栏“停止捕获”按钮(灰色方形图标),避免捕获过多无关数据。

image
image

1. 保存与导出(可选): 抓包完成后,通过“文件→保存”将捕获的数据包保存为“.pcapng”格式(Wireshark默认格式,支持后续重新打开分析)。

image

1. 若需分享部分数据,可选中目标数据包,右键选择“导出选中的分组”,按需导出为单独文件。

对比维度捕获过滤器(Capture Filter)显示过滤器(Display Filter)
作用时机抓包前配置,仅捕获符合规则的数据抓包后配置,从已捕获数据中筛选
语法规则基于Berkeley Packet Filter(BPF)语法,较简洁Wireshark自定义语法,支持更复杂的条件组合
配置位置接口“选项”对话框中的“捕获过滤器”输入框主界面顶部的“显示过滤器”输入框(带放大镜图标)
核心优势减少磁盘占用,提高抓包效率灵活筛选,支持动态调整规则,不影响原始数据
image

[实验2] Wireshark观察数据封装

网络分层的核心机制是“数据封装”——

发送端从应用层到物理层逐层添加头部信息(信封),

接收端从物理层到应用层逐层剥离头部信息(拆信封)。

本实验通过“PC访问HTTP网页”的场景,用Wireshark捕获完整数据包,直观观察

“应用层→传输层→网络层→数据链路层”

的封装过程,验证理论知识。

实验目标

1. 基础目标:掌握Wireshark捕获HTTP/TCP/IP/以太网多层数据包的方法,能通过过滤器筛选目标数据。 2. 核心目标:识别TCP段头(传输层)的核心字段,理解“应用层数据→TCP段→IP包→以太网帧”的逐层封装关系。 3. 拓展目标:对比请求包与响应包的封装差异,理解“三次握手”在数据封装前的作用。

实验原理

本实验选择HTTP协议(无加密,便于观察应用层数据),完整通信流程如下:

1. 应用层:浏览器产生HTTP请求数据(如“GET / HTTP/1.1”)。 2. 传输层:添加TCP头部(源端口、目的端口80、序列号等),形成TCP段(因HTTP基于TCP协议)。 3. 网络层:添加IP头部(源IP、目的IP、Protocol=6等),形成IP包。 4. 数据链路层:添加以太网帧头(源MAC、目的MAC、Type=0x0800等),形成以太网帧。 5. 物理层:将帧转化为电信号/光信号发送,接收端反向拆封。

实验器材与环境准备

image

实验步骤(分阶段实施)

阶段1:捕获HTTP请求数据包

1. 步骤1:启动Wireshark并配置过滤启动Wireshark,选择当前联网接口(以太网/WLAN),点击“开始捕获”。

image
image

1. 在显示过滤器输入“http and host example.com”(仅显示与目标网站相关的HTTP数据),暂不应用。

image
image
image

1. 步骤2:执行网页访问操作打开浏览器,在地址栏输入“http://example.com”,按下回车,等待网页完全加载。

image

1. 网页加载完成后,立即返回Wireshark点击“停止捕获”,然后点击过滤器“应用”按钮。

image

1. 步骤3:筛选目标数据包在数据包列表区找到“Protocol”为“HTTP”、“Info”为“GET / HTTP/1.1”的请求包(如No.256),这是应用层HTTP请求的核心包。

image

1. 记录该包对应的“Source”(源IP:源端口)和“Destination”(目的IP:80),后续分析将围绕该包展开。

image

阶段2:逐层分析数据封装结构

选中“GET / HTTP/1.1”请求包,在详情区按“数据链路层→网络层→传输层→应用层”顺序展开,记录各层头部信息及数据内容,填写实验记录表(见阶段3)。

1. 层1:数据链路层(以太网帧)展开“Ethernet II”,记录源MAC、目的MAC、Type字段值。

image
# 在 windows 电脑上,打开 cmd,执行
ipconfig /all

注意事项:

网络仿真平台 Cisco Packet Tracer

常见仿真平台

☆ eNSP

eNSP(Enterprise Network Simulation Platform,企业网络模拟平台)是一款由华为自主开发的、免费的、可扩展的、图形化操作的网络仿真工具平台,主要对企业网络路由器、交换机及相关物理设备进行软件仿真,完美呈现真实设备部署实景。

适用场景:刚接触网络模拟的新手,或者重点学习华为设备配置、备考华为认证(如HCIA/HCIP)的学习者。

缺点:需要安装 eNSP、WinPcap、Virtual Box 等工具。

image

☆ EVE-NG

EVE-NG(Emulated Virtual Environment - NextGeneration,下一代仿真虚拟环境)是一款跨平台的模拟工具(支持Windows、Linux等),支持模拟多种品牌设备,比如华为、思科、 Juniper等,还能加载真实设备的系统镜像,模拟效果更贴近真实环境。

image

☆ GNS3

GNS3(Graphical Network Simulator-3,图形网络模拟器)是一款老牌且强大的网络模拟器,社区活跃。

能够直接连接云服务器或真实的服务器。

image

☆ Cisco Packet Tracer

Cisco Packet Tracer 是思科公司推出的一款网络模拟和可视化学习工具,主要用于网络工程师和学生的网络技术学习与实践。

是网络入门学习的绝佳起点,其易用性和教学针对性使其成为网络初学者的首选工具。

image

需要注册一个账号,然后就可以开始在线学习和下载软件。

image

Cisco Packet Tracer 安装

软件下载

官网地址:https://www.netacad.com/

需要注册一个账号,点击在线学习

image

接下来就可以下载软件

image

下载后,软件包如下

image

软件安装

点击开始安装,

image
image

一路点击,下一步,

image

安装完成

image

打开,可以不用选择”支持多用户登录“

image

登录账号

image

注意 如果你是在国际版本注册的账号,在cn区域是不能认证登录的。

加载汉化补丁

image
image

[实验3] 让两台电脑“对话”​​

核心技能

IP地址配置、子网掩码、ping命令

实验目标

理解主机通信的核心条件,通过直连通信验证IP与子网掩码的作用,熟悉Packet Tracer终端配置与测试操作。

操作步骤

步骤1:拓扑搭建

从“End Devices”拖拽2台PC(命名为PC-研发1、PC-研发2)

image

从“Connections”选择“Copper Cross-Over”(交叉线),点击PC0的FastEthernet0接口,再点击PC1的FastEthernet0接口完成连接,接口灯变绿表示物理连通

image

步骤2:IP配置

PC-研发1:点击设备→“Desktop”标签→“IP Configuration”→手动输入IP地址“192.168.1.2”,子网掩码“255.255.255.0”,默认网关留空(直连无需网关)

image
image

步骤3:PC-研发2

同步骤配置IP地址“192.168.1.3”,子网掩码与PC-研发1一致

image
image

验证测试

1. 连通性验证

PC-研发1:“Desktop”→“Command Prompt”,输入“ping -t 192.168.1.3 ”(-t参数持续ping,便于观察。或者 -n参数,表示观察指定次数。)

image

1. 结果判断:显示“Reply from 192.168.1.3: bytes=32 time=1ms TTL=128”为成功;若失败,检查IP是否同网段、网线是否插紧(接口灯是否常绿)

image

扩展操作

拓展操作:将PC-研发2的IP改为“192.168.2.3”,再次ping,观察失败结果,理解网段差异的影响。

1. 拓扑搭建:拖拽2台PC(PC0、PC1),用交叉线连接两者的FastEthernet0接口。

image

1. IP配置: PC0:桌面→IP配置→IP地址192.168.1.2,子网掩码255.255.255.0

image

1. PC1:IP 192.168.2.3,子网掩码一致

image

再次验证

1. 连通性验证: PC0桌面→命令提示符,输入“ping -n 4 192.168.1.3” 2. 显示“Reply from...”为成功,“Request timed out”为失败

image

总结

1. 核心原理:同一网段的IP地址+匹配的子网掩码是主机直连通信的核心条件,子网掩码用于判断目标主机是否在同一网段;

2. 排错要点:通信失败先查物理连接(接口灯),再查IP配置(网段、掩码),最后用ping命令定位;

3. 工具作用:ping命令通过ICMP协议测试连通性,是网络排错的“第一工具”

总结

1、TCP/IP并不是两个协议,而是一个协议族;

2、相比于OSI七层模型,在工作中,用的最多的是TCP/IP四层模型;

面试题:

1、说一下TCP的三次握手和四次挥手?为什么不能是两次握手?

2、你用过抓包工具Wireshark吗?能够说一下你是怎么用的吗?