网络基础概念:从菜鸟到入门
前言:快递小哥的故事
想象一下你要给朋友寄个礼物,这个过程其实和网络通信非常相似:
1. 你需要知道朋友的”地址“(IP地址)
2. 要注明是送到他家大门还是物业代收(端口号)
3. 要选择快递公司并遵守他们的包装要求(协议)
4. 快递员会经过多个中转站(路由器)
5. 朋友收到后要拆包装(分用)
下面我们就用这种生活化的比喻,把网络通信的那些"行话"讲明白。
一、IP地址:网络世界的"家庭住址"
1.1 什么是IP地址?
就像每个家庭都有唯一的门牌号,网络上每台设备都有一个"身份证号"——IP地址。比如你手机连接WiFi后获得的"192.168.1.5",这就是它的临时身份证。
1.2 IP地址的特点
- 唯一性:在同一网络中,每个设备的IP地址必须是唯一的
- 分层结构:由网络部分和主机部分组成
- IPv4:32位地址,通常表示为四个十进制数(如192.168.1.1)
- IPv6:128位地址,解决IPv4地址耗尽问题(如2001:0db8:85a3::8a2e:0370:7334)
1.3 IP地址的分类
- 公有IP:全球唯一的可路由地址
- 私有IP:局域网内部使用(如192.168.x.x,10.x.x.x,172.16.x.x-172.31.x.x)
- 特殊IP:如127.0.0.1(本地回环地址)
1.4 现实中的例子
IPv4地址(老式地址):好比"北京市朝阳区建国路88号"
IPv6地址(新式地址):好比"中国北京市朝阳区建国路88号丽思卡尔顿酒店1808室"(更详细,解决了地址不够用的问题)
1.5 特殊IP小知识
127.0.0.1:叫"回环地址",就像你写封信给自己,不用出门就又回到了自己手里
192.168.x.x:相当于小区内部的楼号门牌,只在你的家庭网络内有效
二、端口号:服务的专用通道(你家的不同收件人)
2.1 端口是什么?
端口号是16位的数字(0-65535),用于标识主机上的特定服务或应用程序。
常见端口号:
- 20/21:FTP文件传输
- 22:SSH安全登录
- 25:SMTP邮件发送
- 53:DNS域名解析
- 80:HTTP网页浏览
- 443:HTTPS安全网页浏览
端口类型:
- 知名端口(1-1023):分配给系统服务
- 注册端口(1024-49151):分配给用户进程
- 动态/私有端口(49152-65535):临时使用
一台服务器可以同时运行多个服务,就像你家可以同时收快递、收外卖、收挂号信,因为它们走的是不同的"门"(端口)。
三、协议:通信的规则手册(快递公司的操作规程)
3.1 协议是什么?
协议定义了网络设备之间通信的规则和标准。
就像不同的快递公司有不同的规矩:
顺丰(TCP:必须签收才算送达(可靠传输)
普通快递(UDP:扔快递柜就算送达(可能丢件)
3.2 常见网络协议
-
TCP(传输控制协议):面向连接,可靠传输
-
UDP(用户数据报协议):无连接,高效但不保证可靠
-
IP(互联网协议):负责寻址和路由
-
HTTP(超文本传输协议):网页浏览基础
-
FTP(文件传输协议):文件上传下载
-
SMTP/POP3/IMAP:电子邮件相关协议
协议 | 特点 | 适用场景 |
TCP | 可靠、速度慢 | 网页、邮件 |
UDP | 可能丢包、速度快 | 视频通话、游戏 |
HTTP | 明文传输 | 普通网页 |
HTTPS | 加密传输 | 网银、支付 |
四、协议分层:复杂问题的模块化解决(快递的包装过程)
4.1 OSI七层模型(寄快递的7个步骤)
应用层 | 用户接口(HTTP、FTP、SMTP) 生成数据 | 写好一封信 |
表示层 | 树格式化转换、加密 | 把信装进信封 |
会话层 | 建立和管理会话 | 决定用哪家快递 |
传输层 | 端到端的连接(TCP、UDP) | 选择顺丰次日达 |
网络层 | IP地址 | 写收件地址 |
数据链路层 | 帧传输、MAC地址 | 快递员取件 |
物理层 | 比特流传输(光缆/网线) | 快递车运输 |
4.2 TCP/IP四层模型(简化版快递流程)
应用层 | 整合了OSI的上三层 | 打包礼物 |
传输层 | TCP/UDP | 选择快递公司 |
网络层 | IP协议 | 写地址 |
链路层 | 对应OSI的物理层和数据链路层 | 实际运输 |
五、 封装与分用:数据的包装与拆解
封装(Encapsulation):
当数据从上层向下层传递时,每层都会添加自己的头部(有时还有尾部)信息。
封装过程示例(以HTTP请求为例):
-
应用层:生成HTTP数据
-
传输层:添加TCP头部(端口号等)
-
网络层:添加IP头部(IP地址等)
-
数据链路层:添加帧头和帧尾(MAC地址等)
分用(Demultiplexing):
接收方收到数据后,从底层向上层逐层解析和去除头部信息,最终将原始数据交给目标应用程序。
六、客户端与服务器:网络交互的两端(顾客和商家的关系)
客户端(Client):
-
发起请求的一方
-
通常是终端用户设备(PC、手机等)
-
示例:浏览器、邮件客户端、游戏客户端
服务器(Server):
-
响应请求并提供服务
-
通常具有高性能和稳定性
-
示例:Web服务器、邮件服务器、游戏服务器
请求(Request):
客户端向服务器发送的要求,包含:
-
请求方法(GET、POST等)
-
请求的资源路径
-
协议版本
-
头部信息
-
可能的正文内容
响应(Response):
服务器对请求的回复,包含:
-
状态码(200成功、404未找到等)
-
状态描述
-
响应头部
-
响应正文(如HTML页面)
客户端:就像去餐厅吃饭的你
服务器:就像后厨的厨师团队
请求:你点的菜单
响应:厨师做好的菜
七、完整通信流程:网购的全过程
以访问网站为例,假设你在浏览器输入"www.example.com"
1、DNS解析:将域名转换为IP地址
- 检查本地缓存
- 查询DNS服务器
查地址簿(DNS解析)
-问小区物业:"example.com"在哪?
-物业回答:"在203.0.113.1"
2、建立TCP连接(三次握手):
- 客户端发送SYN
- 服务器回复SYN-ACK
- 客户端发送ACK
打电话确认(TCP三次握手)
-你:"喂,能听到吗?"
-对方:"能听到,你那边呢?"
-你:"我也OK,开始说吧"
3、发送HTTP请求:
- 构建HTTP报文
- 通过TCP连接发送
下订单(HTTP请求)
- "我要首页内容"
4、服务器处理请求:
- 解析请求
- 获取或生成响应内容
商家备货(服务器处理)
-找网页文件
-准备图片等资源
5、浏览器渲染页面:
- 解析HTML
- 加载引用的资源(CSS、JS、图片等)
收货验货(浏览器渲染)
- 拆包装(解析HTML)
- 组装零件(加载CSS/JS)
- 最终呈现完整页面
6、关闭TCP连接(四次挥手
结束通话(TCP四次挥手)
- 你:"我说完啦"
- 对方:"好的我知道了"
- 对方:"我也说完了"
- 你:"好的再见"
八、其他重要概念
数据包(Packet):
网络传输的基本单位,包含头部和数据部分。
MAC地址:
硬件地址,用于局域网内设备识别。
路由器与交换机:
-
路由器:连接不同网络,基于IP地址转发
-
交换机:局域网内设备连接,基于MAC地址转发
NAT(网络地址转换):
将私有IP转换为公有IP的技术,解决IPv4地址不足问题。
防火墙:
网络安全系统,监控和控制进出网络的流量。
从IP地址到协议分层,从客户端服务器模型到完整的通信流程,每个环节都在确保数据能够准确、高效地传输。随着技术的不断发展,这些基础概念也在不断演进,但它们背后的基本原理始终保持不变。