计算机网络基础总结: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.pswp.cn/diannao/86245.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于PHP的扎染文创产品商城

有需要请加文章底部Q哦 可远程调试 基于PHP的扎染文创产品商城 一 介绍 扎染文创产品商城系统基于原生PHP开发,数据库mysql,前端bootstrap,jquery.js等。系统角色分为用户和管理员。 技术栈:phpmysqlbootstrapphpstudyvscode 二…

数据库学习(三)——MySQL锁

一、MySQL锁 当多个用户或进程并发操作数据库时,为了避免数据冲突、脏读、不可重复读、幻读等问题,数据库通过锁机制来保证数据的一致性和完整性。 MySQL 锁的总体分类: 分类维度类型说明按作用对象表级锁(Table Lock&#xff…

<3>-MySQL表的操作

目录 一,创建表 二,查看表结构 三,修改表 四,删除表 一,创建表 语法: CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 eng…

【OSG学习笔记】Day 15: 路径动画与相机漫游

本章来学习下漫游相机。 路径动画与相机漫游 本届内容比较简单,其实就是实现物体的运动和相机的运动 当然这两个要一起执行。 贝塞尔曲线 贝塞尔曲线(Bzier curve)是一种在计算机图形学、动画制作、工业设计等领域广泛应用的参数曲线&am…

LabVIEW自感现象远程实验平台

LabVIEW开发自感现象远程实验平台,通过整合 NI数据采集设备、菲尼克斯(Phoenix Contact)继电器模块及罗技(Logitech)高清摄像头,实现远程数据采集、仪器控制与实时监控三大核心功能。平台突破传统实验装置局…

数据结构——F/图

一、图的基本概念 图是由顶点集合及顶点间的关系组成的一种数据结构&#xff1a;G (V&#xff0c; E)&#xff0c;其中&#xff1a; 顶点集合V {x|x属于某个数据对象集}是有穷非空集合&#xff1b; E {(x,y)|x,y属于V}或者E {<x, y>|x,y属于V && Path(x, y)…

springcloud openfeign 偶现 Caused by: java.net.UnknownHostException

背景 最近查看日志发现某服务偶现Caused by: java.net.UnknownHostException 同时查看eureka的access.log 出现如下异常 10.xxx.xxx.xxx - - [27/May/2025:23:57:29 0800] “PUT /eureka/apps/{appName}/{host}:xxx-job:8082?statusUP&lastDirtyTimestamp1748351637173 H…

第12篇:数据库中间件日志设计与追踪系统落地实践

12.1 引言&#xff1a;中间件日志系统为何如此关键&#xff1f; 数据库中间件作为连接前端应用与后端数据库的“网关”&#xff0c;承载着路由、负载均衡、SQL 改写、权限控制等复杂逻辑。 在出现 性能问题、故障排查、安全审计 等场景中&#xff0c;若没有完善的日志体系&am…

OpenAI对抗法庭命令:捍卫ChatGPT用户隐私之战

人工智能公司OpenAI近期正积极对抗一项涉及隐私问题的法庭命令。该命令要求OpenAI保留所有ChatGPT用户日志&#xff0c;包括已删除的对话记录以及通过API调用生成的聊天内容。 命令背后的真实动机 值得注意的是&#xff0c;法院发布这一指令并非出于对用户隐私或内容安全的考…

嵌入式学习--江协stm32day5

USART 1. 引脚与接口层 异步引脚&#xff1a; TX&#xff1a;发送数据输出&#xff1b;RX&#xff1a;接收数据输入&#xff1b;SW_RX&#xff1a;单线半双工模式的接收引脚&#xff08;替代 RX&#xff09;。 同步引脚&#xff1a;SCLK&#xff1a;同步模式下的时钟输出&…

使用Fiddler抓包

有时候需要跟踪一些小程序的HTTP请求&#xff0c;但是无法像浏览器一样F12查看请求&#xff0c;因此需要借助其他的工具进行&#xff0c;在这里推荐使用Fiddler 配置 此时检查系统代理已经变成如下配置&#xff1a; 抓包 此时随便打开一个小程序&#xff0c;就可以进行抓包…

python学习打卡day47

DAY 47 注意力热图可视化 昨天代码中注意力热图的部分顺移至今天 知识点回顾&#xff1a; 热力图 作业&#xff1a;对比不同卷积层热图可视化的结果 # 可视化空间注意力热力图&#xff08;显示模型关注的图像区域&#xff09; def visualize_attention_map(model, test_loader,…

MySQL-运维篇

运维篇 日志 错误日志 错误日志是 MySQL 中最重要的日志之一&#xff0c;它记录了当 mysqld 启动和停止时&#xff0c;以及服务器在运行过程中发生任何严重错误时的相关信息当数据库出现任何故障导致无法正常使用时&#xff0c;建议首先查看此日志。 该日志是默认开启的&am…

Prompt Tuning(提示调优)到底训练优化的什么部位

Prompt Tuning(提示调优)到底训练优化的什么部位 在自然语言处理(NLP)领域,Prompt Tuning(提示调优)是一种轻量级的模型优化技术,其核心目标是通过优化提示(Prompt)来引导预训练语言模型(如GPT、BERT等)更好地完成特定任务,而无需大规模调整模型的主体参数。 一…

基于FPGA的超声波显示水位距离,通过蓝牙传输水位数据到手机,同时支持RAM存储水位数据,读取数据。

基于FPGA的超声波显示水位距离 前言一、整体框架二、代码架构1.超声波测距模块2.蓝牙数据发送模块3.数码管数据切换模块4.数码管驱动模块6.串口驱动7.顶层模块8.RAM ip核 仿真相关截图 前言 随着工业化进程的加速和环境保护意识的提升&#xff0c;对水资源管理和水位监测的需求…

OD 算法题 B卷【水果摊小买卖】

文章目录 水果摊小买卖 水果摊小买卖 小王手里有点闲钱&#xff0c;想做点水果买卖&#xff0c;给出两个数组m, n&#xff0c; m[i]表示第i个水果的成本价&#xff0c;n[i]表示第i个水果能卖出的价格&#xff1b;假如现在有本钱k&#xff0c;试问最后最多能赚多少钱&#xff1…

(新手友好)MySQL学习笔记(6):分组查询,正则表达式

目录 分组查询 创建分组 过滤分组 分组查询练习 正则表达式 匹配单个实例 匹配多个实例 正则表达式练习 练习答案 分组查询练习答案 正则表达式练习答案 分组查询 创建分组 group by 子句&#xff1a;根据一个或多个字段对结果集进行分组&#xff0c;在分组的字段上…

Android 之 kotlin 语言学习笔记四(Android KTX)

一、Android KTX 简介 Android KTX 是包含在 Android Jetpack 及其他 Android 库中的一组 Kotlin 扩展程序。KTX 扩展程序可以为 Jetpack、Android 平台及其他 API 提供简洁的惯用 Kotlin 代码。为此&#xff0c;这些扩展程序利用了多种 Kotlin 语言功能&#xff0c;其中包括&…

云原生思维重塑数字化基座:从理念到实践的深度剖析

&#x1f4dd;个人主页&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、引言&#xff1a;云原生为何成为数字化的“基础设施语言”&#xff1f; 随着5G、人工智能、物联网等技术逐步进入规模化落地阶段&am…

【C/C++】STL实现版本为什么比手写版本高?

文章目录 为什么标准库版本效率更高&#xff1f;1 具体介绍1.1 **内联优化&#xff08;Inlining&#xff09;和模板展开**1.2 **分支预测友好&#xff08;Branch Prediction&#xff09;**1.3 **迭代器解耦 静态分发**1.4 **代码紧凑&#xff0c;编译器优化空间大**1.5 **高质…