TCP/IP 协议基础入门

更新日期:2026年4月4日 | 阅读时间:25分钟 | 难度:入门

目录

1. 什么是 TCP/IP?

TCP/IP(Transmission Control Protocol/Internet Protocol)是互联网的核心协议族。就像人与人交流需要语言一样,计算机之间的网络通信也需要协议,TCP/IP 就是计算机世界的"通用语言"。

简单理解:
  • IP(Internet Protocol):负责把数据送到正确的目标地址(像快递单)
  • TCP(Transmission Control Protocol):负责确保数据可靠到达(像挂号信)

TCP/IP 不是单个协议,而是一组协议的总称,包括:

2. 五层模型

网络协议分为五层,从上到下分别是:

应用层 - HTTP, DNS, FTP(用户直接使用的程序)
传输层 - TCP, UDP(端到端通信)
网络层 - IP, ARP, ICMP(地址与路由)
数据链路层 - Ethernet, Wi-Fi(局域网通信)
物理层 - 网线、光纤、无线电(比特流传输)

TCP/IP 五层模型

flowchart TB
    subgraph L5["应用层 Application"]
        A["HTTP / DNS / SMTP / FTP"]
    end
    subgraph L4["传输层 Transport"]
        T["TCP / UDP"]
    end
    subgraph L3["网络层 Internet"]
        N["IP / ICMP / ARP"]
    end
    L5 --> L4 --> L3

2.1 生活中的类比

想象你寄一封信:

学习技巧:建议从应用层往下学习,因为应用层最直观,容易理解。然后逐步深入到底层。

3. IP 地址

IPv4 地址分类

flowchart LR
    A1["A类 0-127.x.x.x
1677万主机"] A2["B类 128-191.x.x.x
65534主机"] A3["C类 192-223.x.x.x
254主机"] A4["D类 224-239.x.x.x
多播地址"] A5["E类 240-255.x.x.x
实验用途"]

3.1 什么是 IP 地址?

IP 地址就像家庭的门牌号,每个接入网络的设备都有唯一的 IP 地址。当前主要使用的是 IPv4,由 4 个 0-255 的数字组成:

示例 IP 地址:
192.168.1.100
61.135.169.121
127.0.0.1(本地回环地址,即"我自己的电脑")

3.2 IP 地址分类

类型范围示例用途
A 类1.0.0.0 - 126.255.255.25510.0.0.1大型企业
B 类128.0.0.0 - 191.255.255.255172.16.0.1中型网络
C 类192.0.0.0 - 223.255.255.255192.168.1.1小型网络
D 类224.0.0.0 - 239.255.255.255224.0.0.1多播/直播
E 类240.0.0.0 - 255.255.255.255-实验/保留

3.3 私有 IP 地址

私有 IP 不能直接访问互联网,需要通过 NAT 转换:

家庭网络示例:你的路由器通常使用 192.168.1.1,手机、电脑连接后会被分配 192.168.1.2、192.168.1.3 等地址。这些都是私有地址,通过路由器的 NAT 功能共享公网 IP 访问互联网。

4. 子网掩码

子网划分示例

flowchart LR
    N1["网络地址 192.168.1.0/24"]
    N2["/24 = 255.255.255.0"]
    N1 --> N2

4.1 什么是子网掩码?

子网掩码用来区分 IP 地址中的"网络部分"和"主机部分"。常见的子网掩码:

255.255.255.0  等于  /24  (常见于家庭网络)
255.255.0.0    等于  /16
255.0.0.0      等于  /8

4.2 如何计算

IP 地址:192.168.1.100
子网掩码:255.255.255.0

计算网络地址(IP 与子网掩码按位 AND):
192.168.1.100
AND 255.255.255.0
------------------
= 192.168.1.0  (这就是网络地址)

可用主机数:2^8 - 2 = 254 台
(减去网络地址和广播地址)
简化记忆:/24 表示前 24 位是网络号,后 8 位是主机号。8 位能表示 256 个地址,减去网络和广播地址,可用 254 个。

5. 端口号

5.1 为什么需要端口号?

IP 地址用于定位到某台电脑,但一台电脑可能运行多个程序(浏览器、邮箱、游戏),端口号用来区分电脑上的不同程序。

类比:IP 地址像是酒店地址,端口号像是房间号。有了地址找到酒店,再通过房间号找到具体的人。

5.2 常见端口号

端口协议用途
21FTP文件传输
22SSH远程登录(加密)
25SMTP邮件发送
53DNS域名解析
80HTTP网页访问
443HTTPS安全网页访问
3306MySQL数据库
8080HTTP 代理Web 服务(开发环境)

5.3 端口范围

6. 数据封装与解封装

6.1 发送数据时的封装

当你在浏览器输入网址时,数据经过层层封装:

应用层:    HTTP 请求(我要访问某个网页)
    ↓ 加上应用层头
传输层:    TCP 头 + 数据(源端口 52345,目标端口 80)
    ↓ 加上传输层头
网络层:    IP 头 + TCP 数据(源 IP 192.168.1.100,目标 IP 61.135.169.121)
    ↓ 加上网络层头
数据链路层: Ethernet 头 + IP 数据(源 MAC XX:XX:XX:XX:XX:XX,目标 MAC 路由器)
    ↓ 加上链路层尾
物理层:    转换为电信号/光信号,在网线/光纤中传输

6.2 接收数据时的解封装

目标电脑收到数据后,层层解封装:

物理层:    接收电信号/光信号
    ↓ 去掉物理层头
数据链路层: 解析 Ethernet 头,检查 MAC 地址
    ↓ 去掉数据链路层头
网络层:    解析 IP 头,检查目标 IP 地址
    ↓ 去掉网络层头
传输层:    解析 TCP 头,检查目标端口,交付给对应应用
    ↓ 去掉传输层头
应用层:    HTTP 请求,浏览器显示网页
理解要点:每一层只关心自己的头部信息,不需要了解其他层的细节。就像寄信时你只需要写好信封,邮局不需要知道信的内容是什么。