第1章 概述
1.1 引言
TCP/IP协议族允许不同厂家、不同操作系统的计算机互相通信。它起源于60年代末美国政府资助的分组交换网络研究项目,到90年代已发展成为最常用的组网形式。
1.2 分层
TCP/IP通常被认为是一个四层协议系统:
-
链路层(数据链路层/网络接口层)
- 处理与电缆的物理接口细节
- 包括设备驱动程序和网络接口卡
-
网络层(互联网层)
- 处理分组在网络中的活动
- 包括:IP、ICMP、IGMP
-
运输层
- 为两台主机提供端到端通信
- TCP(可靠):超时重传、确认分组
- UDP(不可靠):只传输数据报
-
应用层
- 处理特定应用程序细节
- 包括:Telnet、FTP、SMTP、SNMP
1.3 TCP/IP的分层
关键协议:
- TCP/UDP:运输层协议,使用IP
- IP:网络层主要协议
- ICMP:IP附属协议
- IGMP:组管理协议
- ARP/RARP:地址转换协议
1.4 互联网的地址
- IP地址长32bit
- 分为A、B、C、D、E五类
- 点分十进制表示法
- 由InterNIC分配网络号
1.5 域名系统(DNS)
- 提供IP地址和主机名之间的映射
- 分布式数据库
- 标准库函数:gethostbyname、gethostbyaddr
1.6 封装
数据经过协议栈时,每层添加首部信息:
- TCP段 → IP数据报 → 以太网帧
- 以太网帧长度:46~1500字节
1.7 分用(Demultiplexing)
当目的主机收到以太网数据帧时,协议栈自底向上逐层处理,去掉各层首部,根据协议标识决定上层协议。
1.8 客户-服务器模型
- 重复型服务器:处理完一个请求再处理下一个
- 并发型服务器:为每个客户创建新进程
1.9 端口号
- 服务器使用知名端口号(1~1023)
- 客户端使用临时端口号(1024~5000)
- 保留端口号:1~1023,需超级用户权限
1.10 标准化过程
- ISOC(Internet协会)
- IAB(体系结构委员会)
- IETF(工程专门小组)
- IRTF(研究专门小组)
1.11 RFC
- Request For Comment
- 重要RFC:赋值RFC、主机需求RFC、路由器需求RFC
1.12 标准的简单服务
| 服务 | TCP端口 | UDP端口 | 描述 |
|---|---|---|---|
| echo | 7 | 7 | 返回发送内容 |
| discard | 9 | 9 | 丢弃内容 |
| daytime | 13 | 13 | 返回日期时间 |
| chargen | 19 | 19 | 字符流 |
| time | 37 | 37 | 返回二进制时间 |
1.13 互联网(internet vs Internet)
- internet:用共同协议连接多个网络
- Internet:世界范围内的TCP/IP网络集合
1.14 实现
- 伯克利4.x BSD系统是事实标准
- 许多实现基于伯克利源代码
1.15 应用编程接口(API)
- Socket(Berkeley socket)
- TLI/XTI(运输层接口)
1.16 测试网络
本书使用140.252.x.x的B类网络地址进行测试。
1.17 小结
TCP/IP四层结构:链路层、网络层、运输层、应用层。网络层提供点到点服务,运输层提供端到端服务。