一、网络基础与TCP/IP起源
1.1 计算机网络到底是什么?
先聊聊最基础的问题——什么是计算机网络?
我个人习惯这样定义:计算机网络就是一群自治的计算机,通过某种通信链路连在一起,共享资源、交换信息。说白了,就是把孤立的机器串起来,让它们能“说话”。
你想想看,如果没有网络,每台电脑就是个信息孤岛。你想打印一份文件,得拿U盘拷到打印机那台机器上。想跟同事协作,得把文件传来传去。这效率,简直没法忍。
我在项目中遇到过一家小公司,几十号人还在用“U盘接力”的方式共享设计文档。后来我帮他们搭了个简单的局域网,问题就全解决了。嗯,这就是网络的价值。
核心要点:计算机网络 = 自治计算机 + 通信链路 + 资源共享
1.2 网络分类:LAN 与 WAN
网络按覆盖范围分,最常见的就是局域网(LAN)和广域网(WAN)。
局域网(LAN)——覆盖范围小,比如一间办公室、一栋楼。特点是速度快、延迟低、自己管。你家里的Wi-Fi,公司里的以太网,都是典型的LAN。
广域网(WAN)——覆盖范围大,可以跨城市、跨国家。速度相对慢一些,延迟也高,因为数据要经过很多跳。互联网本身就是最大的WAN。
我刚开始做网络运维时,分不清LAN和WAN的边界。有一次配置路由器,把WAN口的IP地址配成了内网地址,结果整个分公司上不了外网。被老大骂了一顿之后,我再也没犯过这种低级错误。
| 特性 | 局域网(LAN) | 广域网(WAN) |
|---|---|---|
| 覆盖范围 | 几十米到几公里 | 几十公里到全球 |
| 传输速率 | 高(1Gbps~100Gbps) | 相对低(几Mbps~几十Gbps) |
| 延迟 | 低(微秒级) | 高(毫秒到百毫秒级) |
| 所有权 | 通常私有 | 通常租用或公有 |
| 典型技术 | 以太网、Wi-Fi | MPLS、SDH、卫星链路 |
小提示:还有一种叫城域网(MAN),覆盖范围介于LAN和WAN之间,比如一个城市内的光纤环网。不过实际工作中,大家更习惯直接说LAN或WAN。
1.3 OSI七层模型:网络世界的“通用语言”
说到网络模型,就绕不开OSI七层模型。这是国际标准化组织(ISO)在1984年提出的一个参考模型。
为什么要搞这么复杂?因为网络通信本身就很复杂。从你敲下一个键盘,到数据在网线上跑,再到对方屏幕上显示出来,中间涉及太多环节。如果不分层,谁也理不清。
OSI把通信过程分成七层,每一层只管自己的事:
- 物理层——管比特流。网线、光纤、无线电波,都是这层的事。
- 数据链路层——管帧。把比特组装成帧,加MAC地址,处理差错。
- 网络层——管包。路由选择、IP地址,核心层。
- 传输层——管端到端连接。TCP、UDP就在这层。
- 会话层——管会话的建立和拆除。
- 表示层——管数据格式转换、加密压缩。
- 应用层——管应用程序。HTTP、FTP、SMTP都在这里。
我曾经面试过一个刚毕业的学生,问他OSI七层模型,他背得滚瓜烂熟。但问他“你在实际抓包时,看到的是哪一层的数据”,他就懵了。所以记住:OSI是参考模型,不是实现模型。实际互联网用的是TCP/IP协议栈,只有四层。
避坑指南:OSI七层模型在教科书里很重要,但实际工作中几乎没人按七层来开发。别花太多时间死记硬背,理解分层思想才是关键。
1.4 TCP/IP协议栈的诞生背景
聊完OSI,咱们说说真正的“主角”——TCP/IP协议栈。
故事要从1960年代末说起。美国国防部高级研究计划局(ARPA)启动了一个项目,叫ARPANET。初衷很简单:如果核战争爆发,现有的电话网络会被摧毁,需要一种能“自愈”的通信网络。
这个网络有几个核心要求:
- 去中心化——没有中央控制节点,部分坏了不影响整体。
- 分组交换——数据切成小块,各自找路,到了再拼起来。
- 异构互联——不同厂商、不同技术的网络能连在一起。
1974年,Vint Cerf和Bob Kahn发表了TCP协议的论文。后来发现把传输和路由混在一起太复杂,就把TCP拆成了TCP和IP两个协议。1983年1月1日,ARPANET正式从NCP协议切换到TCP/IP协议栈。这一天被称为“旗日”(Flag Day)。
我记得第一次读到这段历史时,觉得这帮人真有远见。40多年前的设计,到现在还能支撑全球几十亿台设备互联,了不起。
1.5 TCP/IP的设计哲学
TCP/IP能活到现在,靠的不是运气,而是几个核心设计原则:
- 端到端原则——网络核心只管转发,智能放在终端。路由器不关心你传的是什么,只负责把包送到。
- 鲁棒性——网络假设是不可靠的,协议要能容忍丢包、乱序、延迟。
- 分层解耦——每一层只关心自己的职责,层与层之间通过标准接口通信。
- 尽力而为——IP层不保证送达,不保证顺序,不保证质量。可靠性由上层(TCP)负责。
你想想看,如果每个路由器都要保证数据可靠传输,那网络早就卡死了。正是这种“甩锅”设计,让互联网能扩展到今天的规模。
一句话总结:TCP/IP的设计哲学就是“简单、可靠、可扩展”。简单留给核心,复杂放在边缘。
1.6 本章知识体系总览
下面这张图,把本章的核心知识点串起来了。你可以把它当作一张“地图”,后面每学一个新概念,都能在这张图上找到位置。
1.7 本章小结
这一章我们聊了三个核心问题:
- 网络是什么——自治计算机通过通信链路互联,共享资源。
- 网络怎么分类——LAN管局部,WAN管全局,各有各的用场。
- TCP/IP从哪来——从ARPANET的军事需求出发,经过40多年演化,成了互联网的事实标准。
OSI七层模型是理论框架,TCP/IP四层模型是实际实现。记住这个区别,后面学起来会轻松很多。
嗯,基础打好了,后面咱们就可以真正动手了。