尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

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

【系统架构设计(35)】TCP/IP协议族详解 文章目录一、TCP/IP模型层次及对应协议1. TCP/IP四层模型2. 与OSI七层模型对比二、协议默认端口详解三、TCP和UDP协议深度对比四、DHCP协议详解1. DHCP基本概念2. IP地址分配方式分配方式无效地址3. DHCP自动获取IP工作原理五、DNS服务详解1. DNS查询类型递归查询答案迭代查询线索2. 域名解析流程六、考试知识点总结与重点分析1. 文章知识范围概览2. 重点考试知识点2.1 必考知识点⭐⭐⭐⭐⭐2.2 高频考试知识点⭐⭐⭐⭐2.3 中频考试知识点⭐⭐⭐3. 典型考试题型分析3.1 选择题单选/多选3.2 填空题3.3 简答题3.4 案例分析题一、TCP/IP模型层次及对应协议1. TCP/IP四层模型TCP/IP模型是互联网通信的基础架构将网络功能划分为四个层次每层负责特定的网络功能应用层为应用程序提供网络服务像图中的POP3110端口用于接收邮件、FTP20/21端口文件传输、HTTP80端口网页浏览等协议都在此层。传输层负责端到端的数据传输有TCP面向连接可靠传输和UDP无连接传输效率高协议。网际层处理数据包的寻址和路由IP协议是核心ICMP用于网络诊断IGMP用于组播管理ARP用于IP地址到MAC地址转换RARP反之。网络接口层负责与物理网络连接处理物理介质上的数据传输如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客户端拒绝分配IPDecline客户端收到DHCP服务器分配的IP地址后在使用前进行地址冲突检测如发送ARP请求若发现该IP地址已被网络中其他设备占用会向DHCP服务器发送DHCP Decline报文拒绝此次分配并重新发起获取IP地址流程。五、DNS服务详解1. DNS查询类型递归查询答案主机发起查询主机m.xyz.com需要查找y.abc.com的IP地址向本地域名服务器dns.xyz.com发起递归查询步骤①。递归查询的特点是服务器必须回答目标IP与域名的映射关系。本地域名服务器处理若本地域名服务器有该域名-IP映射的缓存就直接返回结果若没有本地域名服务器代替主机继续查询。它向根域名服务器发起递归查询步骤②。根域名服务器交互根域名服务器收到查询请求后若自身没有所需映射信息它可能向顶级域名服务器查询步骤③然后接收顶级域名服务器的回复步骤④再将相关信息返回给本地域名服务器步骤⑥。权限域名服务器查询本地域名服务器根据根域名服务器回复的信息向权限域名服务器dns.abc.com查询步骤⑤权限域名服务器返回y.abc.com的IP地址步骤⑦。结果返回本地域名服务器将获取到的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映射表命中则直接获取IP2本地DNS缓存检查计算机之前解析过的域名缓存命中则获取IP3本地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七层模型对应关系会话层表示层→应用层网络层→网际层数据链路层物理层→网络接口层协议默认端口HTTP80端口网页浏览FTP21端口控制、20端口数据SMTP25端口发送邮件POP3110端口接收邮件DNS53端口域名解析DHCP67端口服务器、68端口客户端SNMP161端口网络管理TFTP69端口简单文件传输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传输效率优先选择UDPLinux DNS配置主要配置文件/etc/resolv.conf配置内容nameserverDNS服务器、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协议答案要点实时性要求、数据完整性、网络环境考虑考点协议选择原则
返回列表