1. 网络基础概念:从定义到模型,一张图说清
各位同学,咱们今天聊聊网络基础。说实话,这部分内容看起来有点“理论”,但它是整个TCP/IP协议栈的根基。我当年刚入行时,觉得这些概念太抽象,直到有一次在数据中心排障,发现一个VLAN划分问题,根源就是拓扑结构选错了——嗯,从那以后我再也不敢小看这些基础了。
1.1 计算机网络到底是什么?
说白了,计算机网络就是把多台独立的计算机,通过传输介质连起来,再配上协议和软件,让它们能互相通信、共享资源。你想想看,你家里的路由器、手机、笔记本,它们连在一起,这就是一个网络。
我个人习惯把网络拆成三个要素来看:
- 硬件:网卡、交换机、路由器、光纤、双绞线……这些是看得见摸得着的。
- 软件:操作系统里的协议栈、网络服务、应用程序。
- 协议:这是灵魂。没有协议,硬件和软件就是一堆废铁。TCP/IP就是最核心的那套规则。
1.2 网络分类:LAN、WAN、MAN
网络按覆盖范围分三类。这个分类不是随便定的,它直接决定了你选什么设备、用什么技术。
| 类型 | 覆盖范围 | 典型场景 | 我踩过的坑 |
|---|---|---|---|
| LAN(局域网) | 几十米到几公里 | 办公室、家庭、机房 | 曾经在LAN里用了过长网线,信号衰减严重,后来才知道100米是极限 |
| MAN(城域网) | 几公里到几十公里 | 城市骨干、校园网 | 做过一个跨校区项目,MAN的延迟比LAN高一个数量级,应用层得做优化 |
| WAN(广域网) | 几百公里以上 | 互联网、跨国企业专线 | WAN排障最头疼,丢包、抖动、延迟,影响因素太多 |
你可能会问:“为什么不用一种技术覆盖所有范围?” 原因很简单——成本和技术限制。LAN追求高速、低延迟,WAN则要解决远距离传输和路由问题。每种网络都有自己的“脾气”。
1.3 网络拓扑结构:星型、总线型、环型
拓扑结构,就是设备之间的连接方式。我见过不少工程师只记得星型,但实际项目中,混合拓扑才是常态。
星型拓扑
所有设备都连到一个中心节点(通常是交换机)。这是目前最主流的拓扑。优点是单点故障不影响其他设备——如果一根网线坏了,只有那台设备掉线。缺点是中心节点挂了,整个网络就瘫了。我在数据中心里,核心交换机都是双机热备,就是为了防这个。
总线型拓扑
所有设备共享一根主干线。早期以太网用过,现在基本淘汰了。为什么?因为一旦主干线断了,整个网络就瘫痪,而且排障极其痛苦。我记得刚工作时,在一个老旧车间里见过总线型网络,排查一个间歇性故障花了三天——最后发现是某个接头松了。
环型拓扑
设备首尾相连成环。数据沿一个方向传递。优点是没有中心节点,可靠性高(双环结构可以自愈)。缺点是单点故障会影响整个环,而且增加或减少设备需要中断网络。FDDI和Token Ring就是典型代表,现在用得少了,但在一些工业控制领域还能见到。
- 星型:易管理、易扩展,但依赖中心节点
- 总线型:布线简单,但故障影响大
- 环型:可靠性高,但灵活性差
1.4 OSI七层模型 vs TCP/IP四层模型
这部分是重点中的重点。我面试新人时,第一个问题经常是:“OSI七层模型,你背得出来吗?” 背出来只是第一步,关键是理解每一层到底干了什么。
OSI七层模型(理论上的“完美”模型)
OSI是国际标准化组织(ISO)提出的。它把网络通信拆成七层,每一层只干自己的事,层与层之间通过接口通信。这种分层思想,说白了就是“分而治之”——复杂问题拆成小问题,每个小问题单独解决。
| 层级 | 名称 | 核心功能 | 典型协议/设备 |
|---|---|---|---|
| 7 | 应用层 | 为用户提供网络服务 | HTTP、FTP、SMTP |
| 6 | 表示层 | 数据格式转换、加密、压缩 | SSL/TLS、JPEG |
| 5 | 会话层 | 建立、管理、终止会话 | NetBIOS、RPC |
| 4 | 传输层 | 端到端可靠传输 | TCP、UDP |
| 3 | 网络层 | 路由选择、逻辑寻址 | IP、ICMP、路由器 |
| 2 | 数据链路层 | 帧封装、MAC寻址、差错检测 | 以太网、交换机 |
| 1 | 物理层 | 比特流传输、电气特性 | 网线、光纤、集线器 |
TCP/IP四层模型(实际上的“工业标准”)
TCP/IP模型是互联网真正使用的模型。它只有四层,比OSI精简得多。我个人习惯把OSI的5、6、7层合并成TCP/IP的应用层,把OSI的1、2层合并成网络接口层。
| TCP/IP层 | 对应OSI层 | 核心协议 | 一句话总结 |
|---|---|---|---|
| 应用层 | 5、6、7 | HTTP、DNS、FTP | 用户直接打交道的地方 |
| 传输层 | 4 | TCP、UDP | 端到端通信,可靠还是不可靠,你选 |
| 网络层 | 3 | IP、ICMP | 找路、寻址,数据包怎么走 |
| 网络接口层 | 1、2 | 以太网、ARP | 物理传输和帧封装 |
你可能会问:“为什么TCP/IP只有四层?” 原因很简单——实用主义。TCP/IP的设计者认为,OSI的会话层和表示层在实际中很少单独实现,不如合并到应用层。物理层和数据链路层在硬件上耦合太紧,也合并了。结果就是:四层模型更轻量、更高效。
OSI vs TCP/IP:一张图看懂
1.5 为什么分层这么重要?
我举个例子。你打开浏览器访问一个网站,这个过程涉及多少层?
- 应用层:浏览器发出HTTP请求。
- 传输层:TCP把请求拆成数据段,加上端口号。
- 网络层:IP给每个数据段加上源和目标IP地址。
- 网络接口层:以太网把IP包封装成帧,通过网线发出去。
每一层只关心自己的事,不越界。这就是分层的好处——解耦。你换网卡(物理层),不影响TCP(传输层);你升级HTTP版本(应用层),不影响IP(网络层)。