尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

计算机网络入门:从核心概念到分层模型,构建系统性知识框架

计算机网络入门:从核心概念到分层模型,构建系统性知识框架 1. 项目概述一份来自课堂的“活”笔记最近在整理资料时翻到了当初学习计算机网络时跟着湖科大教书匠老师的视频课记下的第一章随堂笔记。这不仅仅是简单的文字摘抄更像是一份融合了课堂讲解、个人思考和课后拓展的“学习地图”。很多朋友在入门计网时常常被一堆抽象的名词和协议绕晕感觉知识是散的不成体系。这份笔记的价值就在于它以一个资深教师的课堂逻辑为骨架把“计算机网络概述”这个宏大的开篇拆解成了一个个可以理解、可以串联起来的具体问题网络到底是怎么构成的我们天天说的带宽、延迟具体指什么那些七层、四层的模型在实际生活中到底对应着什么如果你正在备考无论是408、软考还是学校期末或者单纯想系统性地理解网络基础避免从枯燥的教材定义开始那么这种源自课堂、经过梳理的笔记或许能提供一个更平滑的起点。它不会替代教材但能帮你更快地抓住主干理解那些核心概念为什么重要以及它们之间如何关联。接下来我就以这份第一章笔记为蓝本结合我自己的理解和后续的学习、工作应用把它重新梳理、扩展成一份更详细、更贴近实际的技术札记。2. 核心脉络从“单一通信”到“全球互联”的思维构建第一章概述看似是概念的罗列实则是在构建一个完整的认知框架。老师的讲解通常遵循一条清晰的逻辑线从最简单的、两个设备之间的通信需求出发逐步引入复杂性最终描绘出整个互联网的轮廓。理解这条脉络比死记硬背定义更重要。2.1 核心目标解决“资源共享”与“信息传递”的根本问题计算机网络的诞生根本动力源于两个朴素的需求资源共享和信息传递。早期每台计算机都是信息孤岛数据和打印机等外设无法共享效率低下。网络的首要目标就是打破这种隔离让地理上分散的“孤岛”能够连接起来形成可以相互通信、协同工作的系统。这里需要深入理解“资源”的范畴。它不仅仅是文件或打印机还包括计算资源如通过云计算平台调用远端的强大算力。存储资源如网盘、分布式数据库。软件资源SaaS软件即服务模式下的各种在线应用。信道资源共享的通信链路这是所有资源共享的物理基础。而“信息传递”则衍生出了对通信质量的核心衡量指标这直接关联到我们日常的网络体验速率带宽单位时间内从网络一点到另一点所能通过的“最高数据率”。常说的“百兆宽带”指的就是带宽为100Mbps。这里容易混淆的是比特bit和字节Byte1 Byte 8 bits。所以100Mbps的带宽理论下载速度峰值约为12.5MB/s。时延数据从一端传到另一端所需的时间。它由几个部分组成发送时延数据块从主机进入链路所需的时间等于数据块长度/信道带宽。传播时延电磁波在信道中传播一定距离所需的时间等于信道长度/电磁波传播速率。处理时延路由器或交换机进行存储转发、检查分组首部、决定路由等操作所花时间。排队时延分组在路由器输入输出队列中排队等待的时间。 我们常说的“网络卡”往往是高时延尤其是排队和处理时延或高时延抖动时延不稳定导致的。吞吐量单位时间内通过某个网络或信道、接口的实际数据量。它受限于路径上带宽最小的那段链路瓶颈链路并且总是小于或等于带宽。丢包率在一定时间范围内传输过程中丢失的分组数量占总发送分组数量的比率。它是衡量网络可靠性的关键指标。注意初学者常把“带宽”和“实际网速”划等号。带宽是“道路的最大宽度”而吞吐量是“实际单位时间通过的车辆数”。道路宽带宽高不一定车流大吞吐量高可能因为红绿灯路由器处理、堵车网络拥塞等原因导致实际通行能力下降。2.2 网络分类尺度与技术的多维视角为了理解纷繁复杂的网络世界我们需要从不同维度对其进行分类这是将抽象概念具象化的关键一步。1. 按作用范围分类最常用个域网PAN围绕个人设备的网络范围约10米如蓝牙连接耳机、手机开热点。局域网LAN覆盖一个建筑物或校园自己建设、自己管理速度快、误码率低。典型的如家庭Wi-Fi、公司内部有线网络。以太网Ethernet和Wi-FiWLAN是主流技术。城域网MAN覆盖一个城市可以看作是一个放大的LAN或缩小的WAN。广域网WAN覆盖国家或全球核心是提供远距离通信由运营商如电信、联通建设和管理。互联网是最大的WAN。2. 按使用者分类公用网向公众开放按规定缴纳费用即可使用如互联网。专用网为特定机构如政府、军队、企业内部服务不对外公开。3. 按交换技术分类理解数据如何被转发电路交换建立一条专用的物理通路如传统电话网通信期间独占资源。优点是传输时延小、有序缺点是线路利用率低。报文交换以整个报文为单位进行存储-转发。灵活性高但时延大对节点存储要求高。分组交换将报文分割成更小的、长度固定的“分组”再进行存储-转发。这是互联网的基石。它高效地共享了链路是统计时分复用技术的典型应用。虽然分组可能失序、有排队时延但其高效率和灵活性使其成为绝对主流。4. 按拓扑结构分类看设备如何连接总线型所有设备连在一条总线上早期以太网采用已淘汰。星型所有设备连接到一个中心节点如交换机现在最常见的局域网形态。环型设备连成环令牌环网络曾使用。网状型设备间有多条路径相连可靠性极高常用于广域网核心或数据中心。2.3 性能指标间的权衡与关联这些性能指标并非孤立存在它们之间常常存在此消彼长的权衡关系。理解这些权衡是进行网络设计和问题排查的基础。带宽与时延通常增加带宽可以降低发送时延因为数据块更快推入链路但无法减少传播时延由物理距离和介质决定。在长距离通信中如跨洋光缆传播时延占主导单纯增加带宽对降低总时延效果有限。吞吐量与带宽、时延根据著名的带宽时延积它等于带宽乘以传播时延单位是比特。它表示从发送端发出、但尚未到达接收端的比特数即“飞行中的比特”描述了链路的容量。高带宽时延积的网络被称为长肥网络这对TCP等协议的设计提出了挑战。丢包率与拥塞高丢包率通常是网络拥塞的信号。当路由器队列满时新到的分组会被丢弃。此时单纯重传可能加剧拥塞需要依靠TCP的拥塞控制机制来动态调整发送速率。3. 分层结构理解网络世界的“通用语言”面对复杂的网络系统分层是核心的工程思想。它将庞大而复杂的问题分解为若干个较小的、局部性的问题每一层只关心自己层面的功能并通过标准的接口与上下层交互。3.1 为什么必须分层——化繁为简的哲学想象一下如果没有分层一个软件开发者需要懂网卡驱动、懂光纤信号调制、懂路由器路由算法……这几乎是不可能的任务。分层带来了清晰的责任划分、技术的独立演进某一层技术升级不影响其他层以及促进了标准化。每一层都为其上一层提供服务同时使用下一层提供的服务。3.2 OSI七层模型与TCP/IP四层模型历史上出现过两个最重要的参考模型。OSI七层模型理论标准这是一个由国际标准化组织ISO提出的理想化、理论完备的模型常作为教学工具。从上到下依次是应用层为用户提供网络服务接口如HTTP、FTP、SMTP。表示层负责数据格式转换、加密解密、压缩解压缩。会话层负责建立、管理和终止会话。传输层负责端到端的可靠或不可靠传输以及流量控制如TCP、UDP。网络层负责将数据包从源主机路由到目的主机处理IP地址和路由如IP协议。数据链路层负责在相邻节点同一网段间无差错地传输帧处理MAC地址。物理层负责在物理媒介上透明地传输比特流定义电气、机械特性。TCP/IP四层模型事实标准这是互联网实际使用的、更简洁的模型。它将OSI的上三层合并为应用层。应用层对应OSI应用、表示、会话层如HTTP、DNS、DHCP。传输层对应OSI传输层TCP、UDP。网际层对应OSI网络层IP、ICMP、ARP。网络接口层对应OSI数据链路层和物理层以太网、Wi-Fi等协议。实操心得在实际学习和工作中应以TCP/IP四层模型为主因为它就是互联网的骨架。但OSI七层模型依然是分析问题、定位故障的绝佳思维框架。当网络出现问题时可以自底向上或自顶向下逐层排查例如网页打不开可以先ping网络层再检查DNS应用层最后查浏览器和防火墙应用层/系统层面。3.3 数据封装与解封装数据的“旅行包装”这是理解分层通信最生动的过程。当你在浏览器输入一个网址数据是如何被层层打包穿越网络到达服务器的发送端封装过程从上到下应用层生成HTTP请求报文包含URL、方法等。传输层在报文前加上TCP首部包含源端口、目的端口、序列号等形成TCP报文段。端口号用于标识主机上的具体应用进程。网络层在TCP报文段前加上IP首部包含源IP地址、目的IP地址等形成IP数据报。IP地址用于标识网络中的主机。数据链路层在IP数据报前后分别加上帧首部和帧尾部包含源MAC地址、目的MAC地址、帧校验序列等形成一个完整的帧。MAC地址用于标识同一链路如局域网上的设备。物理层将帧转换成比特流通过物理介质网线、光纤、无线电波发送出去。中间设备路由器/交换机路由器工作在网络层。它解封装到IP首部查看目的IP地址查询路由表决定从哪个接口转发出去然后重新封装成新的数据链路层帧因为不同链路的MAC地址不同。交换机工作在数据链路层。它解封装到帧首部查看目的MAC地址查询MAC地址表将帧从对应端口转发出去。接收端解封装过程从下到上过程与发送端完全相反层层剥去头部最终将应用层数据交付给目标应用程序。这个过程就像寄快递应用层数据是信件本身TCP首部是标有收发人姓名和门牌号端口的快递单IP首部是标有收发人城市街道地址IP的外包装MAC首部则是标有当前中转站和下一站仓库具体位置MAC的运输标签。每经过一个中转站路由器外层的运输标签MAC头就会被换掉但城市地址IP头和收件人信息TCP头一直不变。4. 关键协议与设备初窥模型的实体化了解了分层模型我们来看看每一层里的一些关键角色。这些是后续章节会深入展开的内容但在概述中建立初步印象至关重要。4.1 核心协议简述IP网际协议网络层的核心提供不可靠、无连接的数据报服务。它的核心任务是路由和寻址。我们常说的IP地址如192.168.1.1就是它的“语言”。TCP传输控制协议传输层的核心协议之一提供面向连接、可靠的字节流服务。它通过三次握手建立连接通过确认和重传机制保证数据正确到达通过滑动窗口进行流量控制。适用于要求准确性的场景如网页浏览、文件传输。UDP用户数据报协议传输层的另一个核心协议提供无连接、不可靠的数据报服务。它简单、高效、延迟低但不保证数据一定到达或按序到达。适用于实时性要求高、可容忍少量丢失的场景如视频通话、在线游戏、DNS查询。HTTP超文本传输协议应用层协议是万维网的数据通信基础。我们访问网站本质上就是浏览器向服务器发送HTTP请求服务器返回HTTP响应。4.2 核心网络设备网卡NIC工作在物理层和数据链路层是计算机接入网络的物理接口拥有全球唯一的MAC地址。集线器Hub物理层设备纯粹的信号放大器将所有端口连接在一起形成一个冲突域。已基本被淘汰。交换机Switch数据链路层设备基于MAC地址进行数据帧的智能转发。它能隔离冲突域每个端口是一个独立的冲突域。路由器Router网络层设备基于IP地址进行数据包的转发和路由选择。它能隔离广播域是连接不同网络的网关。5. 从理论到实践一次完整的Web访问过程拆解让我们把前面所有概念串联起来模拟一次最简单的网络访问在浏览器输入http://www.example.com并按下回车。应用层生成HTTP请求浏览器分析URL识别出要使用HTTP协议目标主机是www.example.com。生成一个HTTP GET请求报文。传输层建立TCP连接操作系统为这个HTTP请求选择一个本地临时端口如49233。由于HTTP默认使用TCP系统会发起TCP三次握手与服务器www.example.com对应的IP地址的80端口建立连接。将HTTP报文作为TCP的数据部分加上TCP首部形成TCP报文段。网络层封装IP数据报系统需要知道www.example.com的IP地址。它首先查询本地DNS缓存若无则发起DNS查询DNS本身也是一个应用层协议通常基于UDP。获得目标IP地址如93.184.216.34后加上本机IP地址封装成IP数据报。数据链路层与物理层本地网络传输系统需要知道如何将数据报发送到“下一跳”。它查询本地路由表发现目标IP不在本地网络于是将数据报发往默认网关通常是家庭路由器的IP。为了将数据报发给网关需要知道网关的MAC地址。系统使用ARP协议在局域网内广播询问“谁的IP是网关IP”网关回应其MAC地址。将IP数据报封装成以太网帧目标MAC地址填网关的MAC地址通过网卡转换成电信号/光信号发出。穿越互联网家庭路由器作为网关收到帧解封装到IP层查看目的IP查询自己的路由表通过PPPoE等协议将数据报发送给互联网服务提供商ISP的路由器。数据报在互联网的核心经过无数路由器的存储转发每一跳都重复着“解封装IP头 - 查路由表 - 重新封装帧”的过程目标MAC地址不断变化但源和目的IP地址始终不变。到达服务器与返回数据报最终到达example.com的服务器。服务器层层解封装得到HTTP请求。服务器处理请求生成HTTP响应包含网页HTML代码再沿着相反的路径经过类似的封装过程将数据传回你的电脑。你的电脑收到后层层解封装最终将HTTP响应报文交给浏览器。浏览器解析HTML渲染出网页。如果页面中包含图片、CSS等资源浏览器会为每一个资源发起新的HTTP请求可能会复用已有的TCP连接。这个过程在瞬间完成但其背后是严密的分层协议协同工作的结果。任何一个环节的协议理解偏差或配置错误都可能导致访问失败。6. 常见概念误区与学习建议在学习概述时一些概念容易混淆厘清它们对后续学习大有裨益。1. 互联网Internet vs 万维网WWW互联网是基础设施是全球范围的计算机网络它使用TCP/IP协议族让所有设备互联。万维网是运行在互联网之上的一个应用服务。它基于HTTP协议使用超文本链接将全球的信息资源连接起来。互联网上还有电子邮件SMTP、文件传输FTP、远程登录SSH等其他服务。万维网只是互联网最著名的应用之一。2. 电路交换、报文交换、分组交换的直观对比我们可以用一个车队的运输来类比电路交换相当于在两地间专门修建一条封闭高速公路建立连接整个车队独占这条公路行驶通信到达后拆除公路释放连接。资源利用率低。报文交换相当于将整个车队作为一个整体开到第一个中转站停下检查路况再整体开往下一个中转站。车队太长在中转站停放和调度很麻烦存储开销大时延长。分组交换相当于将大车队拆分成许多标准集装箱卡车分组。每辆卡车可以独立选择路径灵活地通过各个中转站。即使某条路堵了其他卡车也能走别的路。高效利用了路网网络资源。3. 协议、服务、接口协议是“水平的”是通信双方对等实体如两台电脑的传输层之间交换报文格式和顺序的规则集合。比如TCP协议定义了如何建立连接、如何确认数据。服务是“垂直的”是下层通过接口向上层提供的功能。比如传输层向应用层提供“可靠端到端传输”的服务。接口是相邻两层之间交换信息的连接点定义了上层如何调用下层的服务。给初学者的学习建议先建立框架再填充细节第一章就是给你一张地图。不要一开始就陷入某个协议如TCP三次握手的细枝末节先搞清楚它在地图上的哪个位置传输层负责解决什么问题可靠传输。善用类比但知其局限用寄快递、交通系统来类比网络有助于理解但一定要知道类比在哪里会失效比如网络有复制、有丢弃、路径动态变化。动手实践使用ping、tracertWindows/tracerouteLinux/Mac、nslookup、ipconfig/ifconfig、netstat等命令亲自看看你的网络连接。用Wireshark抓包直观地观察数据封装的过程。实践是理解理论最好的催化剂。关联生活经验当你觉得网速慢时想想是带宽问题水管细、时延问题距离远、还是丢包问题水管漏了当你配置路由器时想想你是在配置哪一层的设备网络层它处理的是什么地址IP地址计算机网络的世界宏大而精妙第一章的概述就像推开了一扇门展示了这个世界的蓝图和基本法则。这份基于课堂笔记的梳理希望能帮你打下扎实的地基。记住所有的协议和模型都是为了解决实际通信问题而诞生的工程方案。带着“它解决了什么问题”和“它是如何解决的”这两个问题去学习后续每一层、每一个协议你会发现计算机网络不再是一堆枯燥的条文而是一个充满智慧设计的、活生生的系统。
返回列表