【系统架构设计(35)】TCP/IP协议族详解 - 教程

一、TCP/IP模型层次及对应协议

在这里插入图片描述

1. TCP/IP四层模型

TCP/IP模型是互联网通信的基础架构,将网络功能划分为四个层次,每层负责特定的网络功能:

  1. 应用层:为应用程序提供网络服务,像图中的POP3(110端口,用于接收邮件)、FTP(20/21端口,文件传输)、HTTP(80端口,网页浏览)等协议都在此层。

  2. 传输层:负责端到端的数据传输,有TCP(面向连接,可靠传输)和UDP(无连接,传输效率高)协议。

  3. 网际层:处理数据包的寻址和路由,IP协议是核心,ICMP用于网络诊断,IGMP用于组播管理,ARP用于IP地址到MAC地址转换,RARP反之。

  4. 网络接口层:负责与物理网络连接,处理物理介质上的数据传输,如CSMA/CD(以太网常用)、Token Ring(令牌环网)。

2. 与OSI七层模型对比

  • OSI模型:是理论上的网络分层标准,从下到上依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
  • TCP/IP模型:更注重实用性和简洁性,将OSI的会话层、表示层功能归到应用层,网络层对应网际层,数据链路层和物理层对应网络接口层。

二、协议默认端口详解

在这里插入图片描述

协议基于协议端口号用途描述
DHCPUDP服务器端67,客户端68自动分配IP地址等网络参数
TFTPUDP69简单文件传输协议,用于简单文件传输
SNMPUDP161简单网络管理协议,用于网络设备管理和监控
HTTPTCP80超文本传输协议,用于网页浏览
FTPTCP控制连接21,数据连接20文件传输协议,用于文件传输
TelnetTCP23远程登录协议,用于远程登录主机操作
SMTPTCP25简单邮件传输协议,用于发送邮件
POP3TCP110用于接收邮件
DNSUDP/TCP53域名解析协议,主要基于UDP,大数据包时用TCP

三、TCP和UDP协议深度对比

在这里插入图片描述

对比维度TCP(传输控制协议)UDP(用户数据报协议)
连接特性面向连接(需三次握手建立连接,四次挥手释放连接)无连接(直接发送数据,无需建立连接)
可靠性可靠传输(通过差错校验、超时重传、按序交付等保障)不可靠传输(无重传机制,不保证数据完整性和顺序)
流量控制有(通过滑动窗口协议)
拥塞控制有(避免网络拥塞)无(可能加重网络拥塞)
数据传输方式字节流(无数据边界)数据报(有明确数据边界)
适用场景对可靠性要求高的场景(如文件传输、网页浏览)对实时性要求高的场景(如视频直播、域名解析)
相关应用协议HTTP、FTP、Telnet、POP3、SMTP等DNS、DHCP、TFTP、SNMP等

在这里插入图片描述

在这里插入图片描述

四、DHCP协议详解

在这里插入图片描述

1. DHCP基本概念

在这里插入图片描述

DHCP(动态主机配置协议)采用客户机/服务器模型,DHCP服务器为客户机分配IP地址等网络配置参数。

  • 多个服务器:园区网规模较大时,单个DHCP服务器可能无法满足大量设备的地址分配需求或存在单点故障风险,所以可以部署多个DHCP服务器,实现负载均衡和冗余备份。
  • 多网段IP分配:DHCP服务器可进行相关配置,为不同子网段的设备分配IP地址,提高管理灵活性和资源利用率。
  • 功能开启:在服务器上,DHCP服务默认不开启,需管理员手动配置启动,这是出于安全和网络管理有序性的考虑,防止未经授权的DHCP服务干扰网络。

2. IP地址分配方式

在这里插入图片描述

分配方式
  • 固定分配:由管理员手动指定,将特定IP地址与设备的MAC地址绑定,常用于对IP地址有固定需求的设备,如服务器等,保证设备每次联网都能获得相同IP。
  • 动态分配:为设备分配有使用期限(租约)的IP地址,租约默认为8天。当租约过半(4天)时,客户机向DHCP服务器申请续租;租约超过87.5%(7天)还未联系上原DHCP服务器,则开始联系其他DHCP服务器。适用于大多数普通终端设备,提高IP地址利用率。
  • 自动分配:给设备分配一个IP地址且无使用期限限制,设备首次联网获取后可长期使用。不过实际应用中相对少见。

无效地址
  • 169.254.X.X:当设备无法从DHCP服务器获取有效IP地址时,可能会自动配置到此网段IP,属于链路本地地址,只能在本地链路通信。
  • 0.0.0.0:表示未知IP地址,设备启动初期还未获取到有效IP时会使用,或用于向所有IP地址广播请求。

在这里插入图片描述

3. DHCP自动获取IP工作原理

步骤报文类型过程描述
1DHCP发现(DISCOVER)客户端首次接入网络或需要重新获取IP地址时,会以广播形式发送DHCP DISCOVER报文。因为此时客户端不知道DHCP服务器地址,所以使用广播(目的IP为255.255.255.255)向网络中所有设备发送,寻找可用的DHCP服务器。
2DHCP提供(OFFER)网络中的DHCP服务器接收到DISCOVER报文后,从地址池中选择一个未分配的IP地址,并将包括此IP地址、子网掩码、默认网关、DNS服务器地址等配置信息的DHCP OFFER报文发送给客户端。此报文一般以单播形式发送(如果客户端还没配置IP,也可能用广播)。
3DHCP请求(REQUEST)客户端可能收到多个DHCP服务器的OFFER报文,它会选择其中一个(通常是最先收到的),然后以广播形式发送DHCP REQUEST报文。该报文一方面告知被选择的DHCP服务器它接受提供的IP地址,另一方面通知其他未被选择的DHCP服务器放弃此次分配。
4DHCP确认(ACK)被客户端选中的DHCP服务器收到REQUEST报文后,会将包含IP地址租约期限等信息的DHCP ACK报文发送给客户端,确认IP地址分配成功。至此,客户端成功获取IP地址及相关网络配置参数,可以正常联网。
5DHCP拒绝(NACK)如果DHCP服务器在处理客户端请求时,发现提供的IP地址已不可用(如已被其他设备占用)等问题,会向客户端发送DHCP NACK报文,拒绝此次IP地址分配,客户端需重新发起获取流程。
6客户端释放(RELEASE)当客户端不再需要使用分配的IP地址(如设备关机、手动释放IP等情况),会向DHCP服务器发送DHCP RELEASE报文,主动释放IP地址,让该地址可被重新分配给其他设备。
7客户端拒绝分配IP(Decline)客户端收到DHCP服务器分配的IP地址后,在使用前进行地址冲突检测(如发送ARP请求),若发现该IP地址已被网络中其他设备占用,会向DHCP服务器发送DHCP Decline报文,拒绝此次分配,并重新发起获取IP地址流程。

在这里插入图片描述


在这里插入图片描述

五、DNS服务详解

1. DNS查询类型

在这里插入图片描述

递归查询(答案)
  1. 主机发起查询:主机(m.xyz.com)需要查找y.abc.com的IP地址,向本地域名服务器(dns.xyz.com)发起递归查询(步骤①)。递归查询的特点是服务器必须回答目标IP与域名的映射关系。
  2. 本地域名服务器处理:若本地域名服务器有该域名-IP映射的缓存,就直接返回结果;若没有,本地域名服务器代替主机继续查询。它向根域名服务器发起递归查询(步骤②)。
  3. 根域名服务器交互:根域名服务器收到查询请求后,若自身没有所需映射信息,它可能向顶级域名服务器查询(步骤③),然后接收顶级域名服务器的回复(步骤④),再将相关信息返回给本地域名服务器(步骤⑥)。
  4. 权限域名服务器查询:本地域名服务器根据根域名服务器回复的信息,向权限域名服务器(dns.abc.com)查询(步骤⑤),权限域名服务器返回y.abc.com的IP地址(步骤⑦)。
  5. 结果返回:本地域名服务器将获取到的IP地址返回给主机(步骤⑧)。

关于根域名服务器:由于本地域名服务器向根域名服务器采用递归查询,根域名服务器需承担较多查询工作,负担重,且这种方式效率低,实际应用中较少采用这种模式,更多是采用迭代查询来减轻根域名服务器压力,提高查询效率。

迭代查询(线索)

在这里插入图片描述

  • 本地域名服务器向根域名服务器发起迭代查询(步骤②)。迭代查询中,服务器收到查询请求回复一次结果,该结果不一定是目标IP与域名映射关系,也可能是其他DNS服务器地址。根域名服务器告知本地域名服务器顶级域名服务器(dns.com)地址(步骤③)。
  • 本地域名服务器向顶级域名服务器查询(步骤④),顶级域名服务器回复权限域名服务器(dns.abc.com)地址(步骤⑤)。
  • 本地域名服务器向权限域名服务器查询(步骤⑥),权限域名服务器返回y.abc.com的IP地址(步骤⑦)。
  • 本地域名服务器将获取到的IP地址返回给主机(步骤⑧)。

总的来说,递归查询主要在主机与本地域名服务器间,本地域名服务器承担查询责任;迭代查询用于本地域名服务器与其他各级域名服务器间交互

2. 域名解析流程

在这里插入图片描述

┌───────────┐
│ 浏览器/应用 │
└─────┬─────┘
↓
┌─────────────────────────────────┐
│ 1. 检查本地 HOSTS 文件           │
│    - 命中 → 直接返回 IP          │
│    - 未命中 → 下一步             │
└───────────────┬─────────────────┘
↓
┌─────────────────────────────────┐
│ 2. 检查本地 DNS 缓存             │
│    - 命中 → 直接返回 IP          │
│    - 未命中 → 下一步             │
└───────────────┬─────────────────┘
↓
┌─────────────────────────────────┐
│ 3. 向本地 DNS 服务器发送查询请求  │
└───────────────┬─────────────────┘
↓
┌─────────────────────────────────┐
│ 本地 DNS 服务器                  │
│ ┌─────────────────────────────┐ │
│ │ 4. 检查自身缓存             │ │
│ │    - 命中 → 返回 IP          │ │
│ │    - 未命中 → 下一步         │ │
│ └───────────┬─────────────────┘ │
│             ↓                   │
│ ┌─────────────────────────────┐ │
│ │ 5. 检查区域记录(自身负责)  │ │
│ │    - 命中 → 返回 IP          │ │
│ │    - 未命中 → 下一步         │ │
│ └───────────┬─────────────────┘ │
│             ↓                   │
│ ┌─────────────────────────────┐ │
│ │ 6. 转发查询(如有配置转发器)│ │
│ │    - 成功 → 返回 IP          │ │
│ │    - 失败 → 下一步           │ │
│ └───────────┬─────────────────┘ │
│             ↓                   │
│ ┌─────────────────────────────┐ │
│ │ 7. 迭代查询流程              │ │
│ │    ① 向根域名服务器查询     │ │
│ │    ② 根返回顶级域服务器地址  │ │
│ │    ③ 向顶级域服务器查询     │ │
│ │    ④ 返回权限服务器地址     │ │
│ │    ⑤ 向权限服务器查询       │ │
│ │    ⑥ 权限服务器返回最终 IP  │ │
│ └─────────────────────────────┘ │
└───────────────┬─────────────────┘
↓
┌─────────────────────────────────┐
│ 8. 返回 IP 地址给浏览器          │
└───────────────┬─────────────────┘
↓
┌─────────────────────────────────┐
│ 9. 浏览器与目标服务器建立连接    │
│    并发起 HTTP 请求              │
└─────────────────────────────────┘

浏览器输入域名时的解析流程

步骤查询对象描述
1HOSTS文件查找本地静态域名-IP映射表,命中则直接获取IP
2本地DNS缓存检查计算机之前解析过的域名缓存,命中则获取IP
3本地DNS服务器向配置的本地DNS服务器查询,它会先查自身缓存或数据库
4根域名服务器本地DNS无结果时,向根域名服务器查询
5顶级域名服务器根服务器返回顶级域名服务器地址,本地DNS继续查询
6权限域名服务器顶级域名服务器指引到权限服务器,最终获取IP地址

主域名服务器收到域名请求时的解析流程

步骤查询对象描述
1本地缓存记录先检查自身缓存中是否有该域名解析信息
2区域记录查询服务器负责管理的特定区域内的域名信息
3转发域名服务器通过转发服务器协助进一步查找
4根域名服务器若无结果,向根服务器查询,后续流程类似浏览器解析

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

**解析**- **A选项**/etc/hostname文件主要用于设置主机名,并非DNS配置文件,所以A选项错误。
- **B选项**:在Linux系统中不存在/dev/host.conf这个用于DNS配置的标准文件,/dev目录主要存放设备文件,所以B选项错误。
- **C选项**/etc/resolv.conf是Linux系统中负责DNS配置的文件,通过其中的nameserver指定DNS服务器IP地址,domain定义本地域名,search定义域名搜索列表等,符合题目描述,所以C选项正确。
- **D选项**/dev/name.conf不是Linux系统中与DNS配置相关的文件,/dev目录性质决定它不是存放配置文件之处,所以D选项错误。

六、考试知识点总结与重点分析

1. 文章知识范围概览

本文涵盖了TCP/IP协议族的核心知识体系,主要包含以下六个知识模块:

知识模块核心内容重要程度考试频率
协议层次结构TCP/IP四层模型、OSI七层对比⭐⭐⭐⭐⭐高频
端口与协议常用协议默认端口、TCP/UDP分类⭐⭐⭐⭐⭐高频
传输层协议TCP可靠传输、UDP高效传输⭐⭐⭐⭐⭐高频
DHCP协议自动配置机制、工作流程⭐⭐⭐⭐中高频
DNS服务域名解析、查询类型⭐⭐⭐⭐中高频
实际应用协议选择、故障诊断⭐⭐⭐中频

2. 重点考试知识点

2.1 必考知识点(⭐⭐⭐⭐⭐)

TCP/IP四层模型

  • 各层名称:应用层、传输层、网际层、网络接口层
  • 各层功能:应用层提供网络服务、传输层负责端到端传输、网际层处理寻址路由、网络接口层处理物理连接
  • 与OSI七层模型对应关系:会话层表示层→应用层,网络层→网际层,数据链路层物理层→网络接口层

协议默认端口

  • HTTP:80端口(网页浏览)
  • FTP:21端口(控制)、20端口(数据)
  • SMTP:25端口(发送邮件)
  • POP3:110端口(接收邮件)
  • DNS:53端口(域名解析)
  • DHCP:67端口(服务器)、68端口(客户端)
  • SNMP:161端口(网络管理)
  • TFTP:69端口(简单文件传输)

TCP与UDP对比

  • 连接特性:TCP面向连接(三次握手),UDP无连接
  • 可靠性:TCP可靠传输(差错校验、重传),UDP不可靠
  • 流量控制:TCP有流量控制和拥塞控制,UDP没有
  • 应用场景:TCP用于文件传输、网页浏览,UDP用于DNS、DHCP、实时音视频
2.2 高频考试知识点(⭐⭐⭐⭐)

DHCP工作流程

  • 7个步骤:DISCOVER→OFFER→REQUEST→ACK→NACK→RELEASE→Decline
  • 关键时间点:租约默认8天,过半(4天)续租,87.5%(7天)联系其他服务器
  • 特殊地址:169.254.X.X(链路本地),0.0.0.0(未知地址)

DNS查询类型

  • 递归查询:服务器必须回答目标IP,主要用于主机与本地DNS服务器间
  • 迭代查询:服务器回复一次结果,可能是IP或其他DNS服务器地址
  • 解析流程:HOSTS文件→本地缓存→本地DNS服务器→根域名服务器→顶级域名服务器→权限域名服务器
2.3 中频考试知识点(⭐⭐⭐)

协议选择原则

  • 可靠性要求高:选择TCP(文件传输、邮件服务)
  • 实时性要求高:选择UDP(音视频、网络管理)
  • 数据完整性重要:选择TCP
  • 传输效率优先:选择UDP

Linux DNS配置

  • 主要配置文件:/etc/resolv.conf
  • 配置内容:nameserver(DNS服务器)、domain(本地域名)、search(搜索列表)
  • 其他文件:/etc/hostname(主机名)、/etc/hosts(本地解析)

3. 典型考试题型分析

3.1 选择题(单选/多选)

协议层次类

  • 题目:下列协议中属于应用层的是?
  • 选项:A. TCP B. HTTP C. IP D. ARP
  • 答案:B
  • 考点:协议层次分布

端口号类

  • 题目:FTP协议使用的端口号是?
  • 选项:A. 20,21 B. 22,23 C. 80,443 D. 53,67
  • 答案:A
  • 考点:协议默认端口

协议特性类

  • 题目:下列关于TCP和UDP的说法正确的是?
  • 选项:A. TCP是无连接协议 B. UDP有流量控制 C. TCP保证数据可靠传输 D. UDP比TCP效率低
  • 答案:C
  • 考点:TCP/UDP特性对比
3.2 填空题

DHCP流程类

  • 题目:DHCP客户端获取IP地址的完整流程是:DISCOVER→_____→REQUEST→_____
  • 答案:OFFER、ACK
  • 考点:DHCP工作流程

DNS查询类

  • 题目:DNS查询分为_____查询和_____查询两种类型
  • 答案:递归、迭代
  • 考点:DNS查询类型
3.3 简答题

协议对比类

  • 题目:请简述TCP和UDP协议的主要区别
  • 答案要点:连接特性、可靠性、流量控制、应用场景
  • 考点:协议深度理解

工作流程类

  • 题目:请描述DHCP自动获取IP地址的完整过程
  • 答案要点:7个步骤的详细说明
  • 考点:协议工作机制
3.4 案例分析题

故障诊断类

  • 题目:某企业网络出现IP地址冲突,请分析可能原因并提出解决方案
  • 答案要点:DHCP配置问题、地址池管理、冲突检测机制
  • 考点:实际应用能力

协议选择类

  • 题目:某公司需要部署视频会议系统,请分析应该选择TCP还是UDP协议
  • 答案要点:实时性要求、数据完整性、网络环境考虑
  • 考点:协议选择原则
posted @ 2025-09-25 20:54  ycfenxi  阅读(7)  评论(0)    收藏  举报