第1章 概述

1.1 引言

TCP/IP协议族允许不同厂家、不同操作系统的计算机互相通信。它起源于60年代末美国政府资助的分组交换网络研究项目,到90年代已发展成为最常用的组网形式。

1.2 分层

TCP/IP通常被认为是一个四层协议系统:

  1. 链路层(数据链路层/网络接口层)

    • 处理与电缆的物理接口细节
    • 包括设备驱动程序和网络接口卡
  2. 网络层(互联网层)

    • 处理分组在网络中的活动
    • 包括:IP、ICMP、IGMP
  3. 运输层

    • 为两台主机提供端到端通信
    • TCP(可靠):超时重传、确认分组
    • UDP(不可靠):只传输数据报
  4. 应用层

    • 处理特定应用程序细节
    • 包括: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端口描述
echo77返回发送内容
discard99丢弃内容
daytime1313返回日期时间
chargen1919字符流
time3737返回二进制时间

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四层结构:链路层、网络层、运输层、应用层。网络层提供点到点服务,运输层提供端到端服务。