当前位置: 首页 > web >正文

计算机网络基础总结:TCP/IP 模型、TCP vs UDP、DNS 查询过程

        在学习计算机网络的过程中,理解 TCP/IP 模型与 OSI 模型的对应关系、掌握 TCP 与 UDP 的区别,以及熟悉 DNS 的查询过程,是打好网络基础的关键。本文将围绕这三部分进行简明扼要的讲解。


一、TCP/IP 模型与 OSI 七层模型的对应关系

1. OSI 七层模型

OSI 模型(Open System Interconnection Model)是由 ISO 提出的一种网络通信的分层体系结构,其层次从上到下依次是:

  1. 应用层(Application)

  2. 表示层(Presentation)

  3. 会话层(Session)

  4. 传输层(Transport)

  5. 网络层(Network)

  6. 数据链路层(Data Link)

  7. 物理层(Physical)

2. TCP/IP 四层模型

TCP/IP 模型是互联网实际采用的模型,分为四层:

  1. 应用层(Application)

  2. 传输层(Transport)

  3. 网络层(Internet)

  4. 网络接口层(Network Access / Link)

3. 对应关系

OSI 模型TCP/IP 模型说明
应用层应用层如 HTTP、FTP、DNS
表示层合并入应用层处理
会话层合并入应用层处理
传输层传输层如 TCP、UDP
网络层网络层(Internet)如 IP、ICMP
数据链路层网络接口层(Link)如 Ethernet
物理层网络接口层(Link)包括硬件设备通信

总结:TCP/IP 模型更接近现实应用,OSI 模型更利于教学与理解。


二、TCP 与 UDP 的区别及应用场景

TCP(Transmission Control Protocol)和 UDP(User Datagram Protocol)都是传输层协议,但在设计哲学和应用场景上差异明显。

1. 区别对比

特性TCPUDP
是否连接面向连接(连接建立需三次握手)无连接
可靠性可靠,提供数据确认和重传不可靠,无确认机制
顺序保证有序(按发送顺序接收)无序(可能乱序接收)
传输效率较低(头部较大,需维护连接)高(头部小,无需维护状态)
流量控制
拥塞控制

2. 应用场景

  • TCP 典型应用:

    • HTTP/HTTPS(网页浏览)

    • FTP(文件传输)

    • SMTP(邮件传输)

    • SSH(远程登录)

  • UDP 典型应用:

    • DNS 查询

    • VoIP(网络电话)

    • 视频会议、直播

    • 游戏(如实时对战)

总结:TCP 重可靠性,UDP 重实时性和效率。选择取决于具体需求。


三、DNS 查询过程详解

DNS(Domain Name System)用于将人类可读的域名(如 www.example.com)解析为 IP 地址。

1. 查询流程

(1)浏览器或操作系统先查找本地缓存;
(2)未命中则向配置的 DNS 服务器发起请求;
(3)DNS 服务器查询域名的 IP 并返回。

具体的查询方式可分为:

2. 递归查询 vs 迭代查询

特性递归查询迭代查询
查询发起者客户端向本地 DNS 请求,要求最终结果本地 DNS 向根、顶级、权威 DNS 逐层查询
过程控制请求由本地 DNS 服务器代为完成(客户不知过程)本地 DNS 服务器自己控制查询流程
返回内容直接返回最终 IP 地址返回下一层 DNS 服务器的地址
示例场景客户端 → 本地 DNS(通常是递归查询)本地 DNS 向外部服务器发出的迭代查询

3. DNS 查询完整示意图

用户请求 www.example.com↓
浏览器缓存 / 系统缓存↓
本地 DNS 服务器(递归查询)↓
根 DNS 服务器(迭代查询)↓
.com 顶级域名服务器(迭代查询)↓
example.com 权威服务器(迭代查询)↓
返回 IP 地址

总结:客户端通常发起递归查询,DNS 服务器之间使用迭代查询来逐级获取信息。


小结

  • TCP/IP 模型是现实网络通信的主流分层模型,其与 OSI 模型在分层粒度上有所不同,但本质目标一致。

  • TCP 提供可靠、有序传输,适用于对数据完整性要求高的场景;UDP 提供高效、无连接的传输,适用于实时性强的应用。

  • DNS 查询中,客户端发起递归查询,DNS 服务器之间使用迭代查询,最终解析域名为 IP 地址。


如果你正在准备计算机网络考试、笔试面试,或搭建网络相关系统,理解这三部分是入门的关键。欢迎点赞、收藏与评论交流!

http://www.xdnf.cn/news/12870.html

相关文章:

  • React、Git、计网、发展趋势等内容——前端面试宝典(字节、小红书和美团)
  • Vue项目PDF目录功能集成【一】——方案深度思考
  • Android 线性布局中常见的冲突属性总结
  • 在网络排错中,经常会用到的操作命令和其作用
  • 剑指offer19_链表中倒数第k个节点
  • Jmeter(四) - 如何在jmeter中创建网络测试计划
  • protues仿真+C51+外部中断
  • MATLAB生成大规模无线通信网络拓扑(任意节点数量)
  • 微服务体系下将环境流量路由到开发本机
  • spring中的@KafkaListener 注解详解
  • NLP学习路线图(三十四): 命名实体识别(NER)
  • unity实现自定义粒子系统
  • java 时区时间转为UTC
  • 云原生架构赋能企业数字化转型:从理念到落地的系统性探索
  • springboot启动mapper找不到方法对应的xml
  • 【Redis/2】核心特性、应用场景与安装配置
  • 用于小目标检测的归一化高斯Wasserstein距离(NWD)之论文阅读
  • 国家奖学金答辩PPT+文稿
  • Halo站点全站定时备份并通过邮箱存储备份
  • 【C++】25. 哈希表封装unordered_map和unordered_set
  • Ubuntu系统多网卡多相机IP设置方法
  • 【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)
  • MCP笔记:介绍和原理
  • Web3 借贷与清算机制全解析:链上金融的运行逻辑
  • 基于安卓的线上考试APP源码数据库文档
  • MAC-安装Homebrew、安装Git
  • c++ decltype关键字
  • 二叉数-100.相同的树-力扣(LeetCode)
  • LLMs 系列科普文(3)
  • 用于机器学习的 Podman 简介:简化 MLOps 工作流程