
你在浏览器输入www.example.com,回车,页面出现了。这背后发生了什么,你可能从来没想过。数据是怎么从你的电脑跑到服务器,又怎么回来的?中间经过了多少设备?今天把TCP/IP网络基础讲清楚。
IP地址:找到对方的位置
互联网上的每一台设备都有唯一的IP地址,可以理解成“门牌号”。
| 类型 | 示例 | 说明 |
|---|---|---|
| IPv4 | 203.0.113.5 | 32位地址,约43亿个 |
| IPv6 | 2001:db8::ff00:42:8329 | 128位地址,解决IPv4不够用的问题 |
| 公网IP | 全球唯一 | 互联网上可访问 |
| 内网IP | 192.168.x.x | 局域网内部使用 |
IPv4的43亿个地址在2019年已经分配完毕。你现在上网用的IP地址大概率是NAT转换后的共享IP,而非独占的公网IPv4地址。
端口:找到具体的服务
IP地址找到的是那台机器,但一台机器上可能同时运行多个服务——Web服务器、邮件服务器、SSH服务。端口号就是用来区分这些服务的。
| 端口 | 服务 | 说明 |
|---|---|---|
| 22 | SSH | 远程管理 |
| 80 | HTTP | 网页访问 |
| 443 | HTTPS | 加密网页访问 |
| 3306 | MySQL | 数据库服务 |
IP地址+端口号,就能精确定位到互联网上某台机器的某个服务。
TCP和UDP:两种传输方式
数据从你的电脑传到服务器,靠的是TCP或UDP协议。两者是不同风格的“快递服务”。
TCP(传输控制协议):可靠的、面向连接的协议。发送数据前先建立连接(三次握手),保证数据按顺序到达,丢失会重传。适合网页浏览、文件下载、邮件。
UDP(用户数据报协议):不可靠的、无连接的协议。直接把数据包扔出去,不确认对方是否收到。适合视频直播、在线游戏、DNS查询。
DNS:把域名转成IP
你在浏览器输入的是www.example.com,不是203.0.113.5。DNS服务器负责把域名翻译成IP地址。
DNS解析流程:
- 浏览器检查本地缓存,看是否已有该域名的解析记录
- 检查操作系统本地hosts文件
- 向本地递归DNS服务器(通常是网络运营商提供的DNS)发起查询
- 递归DNS服务器向根服务器查询顶级域(如.com)的权威DNS服务器地址
- 向顶级域服务器查询该域名的权威DNS服务器
- 向权威DNS服务器获取最终的IP地址
- 返回给客户端,存入缓存以便下次快速响应
一个HTTP请求的完整路径
从输入网址到看到页面,经历了什么?
- DNS解析:域名转IP地址
- TCP三次握手:客户端与服务器建立连接(SYN→SYN-ACK→ACK)
- 发送HTTP请求:浏览器发送GET请求
- 服务器处理:Web服务器接收请求并响应
- 数据传输:服务器返回页面内容,数据包通过路由转发
- TCP四次挥手:数据传输完成后关闭连接
- 浏览器渲染:解析HTML,加载CSS/JS/图片,展示页面
真实案例
访问一个海外网站时很慢,ping延迟200ms,dig查询DNS响应时间花了1.2秒。换了DNS服务器(从ISP默认换成1.1.1.1)后解析时间降到50ms,整个加载过程快了1秒以上。
最后一句
IP地址是定位机器的,端口是定位服务的,TCP/UDP决定数据怎么传,DNS把域名翻译成IP。每次访问网页,这几个概念都在协同工作——从你的浏览器到目标服务器,数据要经过DNS解析、TCP握手、路由转发、服务器处理、数据返回的完整路径。理解网络基础,排查问题的时候你才知道从哪里开始。




