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

day024-网络基础-TCP与UDP、DNS

文章目录

  • 1. 李导推荐书籍
  • 2. OSI七层模型
    • 2.1 传输层
    • 2.2 网络层
      • 2.2.1 问:两端处于不同局域网的设备怎么网络通信?
    • 2.3 数据链路层
    • 2.4 物理层
    • 2.5 图解OSI七层模型
  • 3. 数据传输模式
    • 3.1 全双工
    • 3.2 半双工
    • 3.3 单工
  • 4. TCP 3次握手
    • 4.1 抓包
  • 5. TCP 4次挥手
    • 5.1 问:在TCP协议中,**三次握手**时服务端将 `ACK`和 `SYN`合并为一个包发送,但**四次挥手**时 `ACK`和 `FIN`却需要分开发送,这是为啥?
    • 5.2 抓包
  • 6. UDP抓包
    • 6.1 udp服务端
    • 6.2 udp客户端
    • 6.3 wireshark过滤
  • 7. 面试题:TCP与UDP的区别?
  • 8. DNS 域名解析协议
    • 8.1 域名结构
    • 8.2 DNS记录类型
    • 8.3 dig命令
  • 9. 思维导图

1. 李导推荐书籍

  • TCP/IP详解

在这里插入图片描述

2. OSI七层模型

  • 下层为上层提供服务;
  • 如数据链路层为网络设备建立点对点的物理链路,为网络层提供 无差错的帧传输,所以网络层才能顺利实现路由寻址并建立端到端的连接;
  • 而再此基础上,传输层才可以通过端口为应用服务提供传输支持

2.1 传输层

  • 传输层通过指定端口号管理或控制端到端的数据传输
  • 传输层的两个数据传输协议:TCP、UDP
  • TCP协议:面向可靠连接(建立连接需3次握手,断开连接需4次挥手)
  • UDP协议:不可靠连接(直接建立、断开,尽力传输数据)
  • 数据在传输层叫做数据报(udp)或段(tcp)

2.2 网络层

  • 网络层通过IP寻址为网络设置建立端到端的连接
  • 核心协议:IP协议
  • ICMP(网络控制管理协议)也属于网路层
  • 代表设备:路由器、三层交换机
  • SRC:原地址;DST:目的地址
  • 数据在网络层叫做数据包

2.2.1 问:两端处于不同局域网的设备怎么网络通信?

  • 只有具有公网IP的设备才能网络通信
  • 而大部分的网络设备处于局域网,明显依靠网关的NAT转换技术
  • 所以这两个设备是使用公网IP进行通信的
  • 但是通过这两个公网IP只能被定位到两个网关,而不是局域网的设备!
  • 因此IP地址(网络层)无法直接实现本地网络(局域网)精准寻址
  • 所以需要比IP地址更为准确的寻找网络设备的标志—MAC地址

2.3 数据链路层

  • 网络层建立的连接是逻辑链路,而数据链路层是依靠MAC地址(网卡地址)和以太网协议为网络通信建立可靠的点对点物理链路,确保数据帧的精准投递
  • 因此数据在局域网时是通过Mac地址进行通信的(IP地址为数据传输指明了方向,MAC地址为其明确了前进道路
  • Mac地址有48位
  • 数据在该层叫做数据帧
  • 代表设备:二层交换机

在这里插入图片描述

2.4 物理层

  • 物理层将数据帧转换成二进制的数据:0101……
  • 二进制依然是一堆数据,而物理链路(以太网、光纤)只能传输电信号或光信号;于是用不同的电平来表示1还是0(比如高电压是1,低电压是0),将数据转换成电信号的设备就是调制解调器
  • 而将电信号与光信号相互转换的就是光猫

2.5 图解OSI七层模型

在这里插入图片描述

3. 数据传输模式

3.1 全双工

  • 数据可同时双向传输
  • 代表设备:电话、网络、TCP通信、交换机

3.2 半双工

  • 数据可双向传输,但是同一时间只能向单向传输,需要双方设备交替进行
  • 代表设备:hub(集线器)、对讲机

3.3 单工

  • 数据只能单向传输,一方为发送端,一方为接收端
  • 代表设备:广播、收音机、键盘

4. TCP 3次握手

  • 知晓TCP实现了全双工数据通信,是理解TCP3次握手的基础
  • TCP是传输层协议,因此3次握手是与端口建立连接
  • SYN :Synchronize,同步
  • ACK:Acknowledge,确认
  • PSH:push,发送数据
  • seq:sequence,序列号

在这里插入图片描述

4.1 抓包

在这里插入图片描述

5. TCP 4次挥手

  • 四次挥手是为了断开连接
  • 也是需要断开两次单向通信线路
  • FIN:Finish,终止连接

在这里插入图片描述

5.1 问:在TCP协议中,三次握手时服务端将 ACKSYN合并为一个包发送,但四次挥手ACKFIN却需要分开发送,这是为啥?

  • 三次握手
    握手时双方尚未开始传输数据,服务端收到 SYN后可以立即同意连接(ACK)并同时发起自己的 SYN请求。此时没有数据需要处理,合并发送不会影响可靠性。
  • 四次挥手
    挥手时双方可能仍有未传输完的数据。服务端收到 FIN后,需要先 ACK确认收到关闭请求(确保对方知道已收到),然后继续发送剩余数据,最后再发送自己的 FIN关闭连接。如果强行合并 ACKFIN,可能导致数据丢失。依然是为了通信的可靠性设计的。

5.2 抓包

在这里插入图片描述

  • 第二个数据包(服务端→客户端)的ACK和FIN标志位同时置位,是TCP协议允许的优化行为
  • 如果服务端在收到客户端的 FIN没有剩余数据需要发送,可以直接合并 ACKFIN,减少交互次数。
  • 标准四次挥手ACKFIN分开发送(共4个包)。
  • 优化后的挥手ACKFIN合并发送(共3个包)。

6. UDP抓包

  • telnet仅能连接TCP端口
  • udp端口需要nc命令连接

ncNetcat 的缩写,被称为 “网络瑞士军刀”,是一个功能强大的 命令行网络工具,用于 TCP/UDP 连接监听、端口扫描、文件传输、代理转发 等。

6.1 udp服务端

  • -l:监听模式
  • -u:使用UDP传输协议
  • 创建一个udp端口
  • nc -lu 12306

6.2 udp客户端

  • 连接该端口
  • nc -u 服务端ip 12306

在这里插入图片描述

6.3 wireshark过滤

  • 过滤:udp.port==12306

在这里插入图片描述

7. 面试题:TCP与UDP的区别?

TCP(传输控制协议)UDP(数据报协议)
面向连接(3次握手、四次挥手)无连接
可靠传输不可靠传输
流量监控(检查数据是否丢失,若丢失会重新发送)尽力发送
TCP应用:Web浏览器、电子邮件、文件传输服务UDP应用:DNS、视频(直播服务)、IP语音(VoIP)

8. DNS 域名解析协议

  • DNS作用:将域名解析成ip,供网络设备访问
  • 公共DNS服务器地址:223.5.5.5,223.6.6.6,8.8.8.8,114.114.114.114……

8.1 域名结构

在这里插入图片描述

8.2 DNS记录类型

记录类型说明应用场景
A域名对应ipv4地址常用
AAAA域名对应ipv6地址常用(ipv6)
CNAME记录别名,将域名解析成域名2,网页会跳转到域名2对应的网站CDN、WAF
TXT记录对域名进行标识和说明。TXT 记录常用来做SSL数字证书
签发验证、SPF 记录(反垃圾邮件)
MX记录用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器地址企业邮箱

8.3 dig命令

dig:Domain Information Groper(域信息搜索器)是DNS查询工具

格式:dig 选项 域名 查询类型

在这里插入图片描述

  • 跟踪DNS解析过程:+trace

在这里插入图片描述

9. 思维导图

【金山文档】 思维导图 https://www.kdocs.cn/l/co3I7PtpTYQX

相关文章:

day024-网络基础-TCP与UDP、DNS

文章目录 1. 李导推荐书籍2. OSI七层模型2.1 传输层2.2 网络层2.2.1 问:两端处于不同局域网的设备怎么网络通信? 2.3 数据链路层2.4 物理层2.5 图解OSI七层模型 3. 数据传输模式3.1 全双工3.2 半双工3.3 单工 4. TCP 3次握手4.1 抓包 5. TCP 4次挥手5.1 …...

专场回顾 | 重新定义交互,智能硬件的未来设计

自2022年起,中国智能硬件行业呈现出蓬勃发展的态势,市场规模不断扩大。一个多月前,“小智AI”在短视频平台的爆火将智能硬件带向了大众视野,也意味着智能硬件已不再仅仅停留在概念和技术层面,而是加速迈向实际落地应用…...

如何把一台电脑作为另外一台电脑的显示器

https://zhuanlan.zhihu.com/p/703889583 1. 两台电脑都要进行:点开投影到此电脑,点击可选功能,在可选功能窗口,搜索无线显示器;在结果列表中选中无线显示器,并安装 2. 在笔记本电脑(要用来做…...

WPS 免登录解锁编辑

遇到 WPS 需要登录才能启用编辑功能? 如何免登录使用编辑功能? 方法一 解锁方法 1、关闭 WPS; 2、桌面右键→ “新建”→“文本文档”,粘贴以下内容(见最下面);编码保持默认(ANSI …...

【C/C++】线程安全初始化:std::call_once详解

std::call_once 使用详解 std::call_once 是 C11 标准库中提供的一个线程安全的一次性调用机制&#xff0c;位于 <mutex> 头文件中。它确保某个可调用对象只被执行一次&#xff0c;即使多个线程同时尝试调用它。 基本用法 #include <mutex> #include <thread…...

技术分享 | Oracle SQL优化案例一则

本文为墨天轮数据库管理服务团队第70期技术分享&#xff0c;内容原创&#xff0c;作者为技术顾问马奕璇&#xff0c;如需转载请联系小墨&#xff08;VX&#xff1a;modb666&#xff09;并注明来源。 一、问题概述 开发人员反映有条跑批语句在测试环境执行了很久都没结束&…...

​什么是RFID电子标签​

RFID 电子标签是用于物品标识、具有信息存储机制、能接收读写器的电磁场调制信号并返回响应信号的数据载体,通常被称为电子标签,也可称作射频卡、射频标签、射频卷标等,是与读写器一起构成 RFID 系统的硬件主体。 RFID 系统基本组成包括RFID电子标签、读写器、射频天线、应用…...

华为手机用的时间长了,提示手机电池性能下降,需要去换电池吗?平时要怎么用能让电池寿命长久一些?

华为手机提示电池性能下降时&#xff0c;是否需要更换电池以及如何延长电池寿命&#xff0c;取决于电池老化程度和使用习惯。以下是具体分析和建议&#xff1a; 一、是否需要更换电池&#xff1f; 电池健康度低于80% 如果手机提示“电池性能下降”&#xff0c;通常意味着电池…...

BERT***

​​1.预训练&#xff08;Pre-training&#xff09;​​ 是深度学习中的一种训练策略&#xff0c;指在大规模无标注数据上预先训练模型&#xff0c;使其学习通用的特征表示&#xff0c;再通过​​微调&#xff08;Fine-tuning&#xff09;​​ 适配到具体任务 2.sentence-lev…...

超级对话2:大跨界且大综合的学问融智学应用场景述评(不同第三方的回应)之二

摘要&#xff1a;《人机协同文明升维行动框架》提出以HIAICI/W公式推动认知革命&#xff0c;构建三大落地场景&#xff1a;1&#xff09;低成本认知增强神经接口实现300%学习效率提升&#xff1b;2&#xff09;全球学科活动化闪电战快速转化知识体系&#xff1b;3&#xff09;人…...

在Linux环境里面,Python调用C#写的动态库,如何实现?

在Linux环境中&#xff0c;Python可以通过pythonnet&#xff08;CLR的Python绑定&#xff09;或subprocess调用C#动态库。以下是两种方法的示例&#xff1a; 方法1&#xff1a;使用pythonnet&#xff08;推荐&#xff09; 前提条件 安装Mono或.NET Core运行时安装pythonnet包…...

【Linux 基础知识系列】第三篇-Linux 基本命令

在数字化浪潮席卷全球的当下&#xff0c;操作系统作为计算机系统的核心组件&#xff0c;扮演着至关重要的角色。而 Linux&#xff0c;凭借其卓越的性能、高度的稳定性和出色的可定制性&#xff0c;在服务器、嵌入式系统、超级计算机以及个人计算机等领域大放异彩&#xff0c;成…...

OpenCV CUDA模块直方图计算------生成一组均匀分布的灰度级函数evenLevels()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数主要用于为 直方图均衡化、CLAHE 等图像处理算法 生成一组等间距的灰度区间边界值&#xff08;bins 或 levels&#xff09;&#xff0c;这…...

深度学习常见实验问题与实验技巧

深度学习常见实验问题与实验技巧 有一定的先后顺序的 还在迷茫深度学习中的改进实验应该从哪里开始改起的同学&#xff0c;一定要进来看看了&#xff01;用自身经验给你推荐实验顺序&#xff01; YOLOV8-硬塞注意力机制&#xff1f;这样做没创新&#xff01;想知道注意力怎么…...

前端面试之Proxy与Reflect

&#x1f31f; 一、Proxy 与 Reflect 的核心概念 1. ​​Proxy&#xff1a;代理拦截器​​ Proxy 用于创建对象的代理&#xff0c;拦截并自定义对象的基本操作&#xff08;如属性读写、函数调用等&#xff09;。 ​​核心组成​​&#xff1a; ​​目标对象&#xff08;Targe…...

uniapp vue3 鸿蒙支持的 HTML5+接口

uniapp vue3 编译鸿蒙所支持的 HTML5接口 文档&#xff1a;https://www.html5plus.org/doc/zh_cn/runtime.html {"geolocation": {//获取当前设备位置信息"getCurrentPosition": function() {},//监听设备位置变化信息"watchPosition": functi…...

一张Billing项目的流程图

流程图 工作记录 2016-11-11 序号 工作 相关人员 1 修改Payment Posted的导出。 Claim List的页面加了导出。 Historical Job 加了Applied的显示和详细。 郝 识别引擎监控 Ps (iCDA LOG :剔除了160篇ASG_BLANK之后的结果): LOG_File 20161110.txt BLANK_CDA/ALL 45/10…...

理想树图书:以科技赋能教育,开启AI时代自主学习新范式

深耕教育沃土 构建全场景教辅产品矩阵 自2013年创立以来&#xff0c;理想树始终以教育匠心回应时代命题。在教辅行业这片竞争激烈的领域&#xff0c;由专业教育工作者组成的理想树图书始终秉持“知识互映”理念&#xff0c;经过十余年的精耕细作&#xff0c;精心打造了小学同步…...

【大模型02】Deepseek使用和prompt工程

文章目录 DeepSeekDeepseek 的创新MLA &#xff08;低秩近似&#xff09; MOE 混合专家混合精度框架总结DeepSeek-V3 与 DeepSeek R1 DeepSeek 私有化部署算例市场&#xff1a; autoDLVllM 使用Ollma复习 API 调用deepseek-r1Prompt 提示词工程Prompt 实战设置API Keycot 示例p…...

B端产品经理如何快速完成产品原型设计

B 端产品经理的原型设计需兼顾业务流程复杂度、功能逻辑性和操作效率&#xff0c;快速完成原型的核心在于结构化梳理需求、复用成熟组件、借助高效工具、聚焦核心场景。以下是具体方法和步骤&#xff1a; 一、明确需求优先级&#xff1a;先框架后细节 1. 梳理业务流程&#x…...

[Java实战]Spring Boot切面编程实现日志记录(三十六)

[Java实战]Spring Boot切面编程实现日志记录(三十六) 一、AOP日志记录核心原理 1.1 AOP技术体系 Spring AOP基于代理模式实现,关键组件: JoinPoint:程序执行点(方法调用/异常抛出)Pointcut:切点表达式(定义拦截规则)Advice:增强逻辑(前置/环绕/异常通知)Weaving:…...

Apache POI生成的pptx在office中打不开 兼容问题 wps中可以打卡问题 POI显示兼容问题

项目场景&#xff1a; 在java服务中使用了apache.poi后生成的pptx在wps中打开是没有问题&#xff0c;但在office中打开显示如下XXX内容问题&#xff0c;修复&#xff08;R&#xff09;等问题 我是用的依赖版本如下 <dependency><groupId>org.apache.poi</grou…...

大学大模型教学:基于NC数据的全球气象可视化解决方案

引言 气象数据通常以NetCDF(Network Common Data Form)格式存储,这是一种广泛应用于科学数据存储的二进制文件格式。在大学气象学及相关专业的教学中,掌握如何读取、处理和可视化NC数据是一项重要技能。本文将详细介绍基于Python的NC数据处理与可视化解决方案,包含完整的代…...

Python学习(2) ----- Python的数据类型及其集合操作

在 Python 中&#xff0c;一切皆对象&#xff0c;每个对象都有类型。下面是 Python 中的常见内置类型分类和示例&#xff1a; &#x1f7e1; 1. 数字类型&#xff08;Numeric Types&#xff09; 类型说明示例int整数5, -42float浮点数3.14, -0.5complex复数1 2j a 10 …...

机器学习算法-决策树

今天我们用一个 「相亲决策」 的例子来讲解决策树算法&#xff0c;保证你轻松理解原理和实现&#xff01; &#x1f333; 决策树是什么&#xff1f; 决策树就像玩 「20个问题」猜谜游戏&#xff1a; 你心里想一个东西&#xff08;比如「苹果」&#xff09; 朋友通过一系列问题…...

MediaMtx开源项目学习

这个博客主要记录MediaMtx开源项目学习记录,主要包括下载、推流(摄像头,MP4)、MediaMtx如何使用api去添加推流,最后自定义播放器,播放推流后的视频流,自定义Video播放器博客地址 1 下载 MediaMTX MediaMTX 提供了预编译的二进制文件,您可以从其 GitHub 页面下载: Gi…...

Linux安装EFK日志分析系统

目标&#xff1a;能够实现采集指定路径日志到es&#xff0c;用kibana实现日志分析 单es节点集群规划&#xff1a; 主机名IP 地址组件a1192.168.1.111Kibana elasticsearcha2192.168.1.112Fluentda3192.168.1.103Fluentd 1、安装Elasticsearch 1.1添加 Elastic 仓库并安装 E…...

Linux(9)——进程(控制篇——下)

目录 三、进程等待 1&#xff09;进程等待的必要性 2&#xff09;获取子进程的status 3&#xff09;进程的等待方法 wait方法 waitpid方法 多进程创建以及等待的代码模型 非阻塞的轮训检测 四、进程程序替换 1&#xff09;替换原理 2&#xff09;替换函数 3&…...

E. Melody 【CF1026 (Div. 2)】 (求欧拉路径之Hierholzer算法)

E. Melody 思路 将所有出现过的音量和音高看作一个点&#xff0c;一个声音看作一条边&#xff0c;连接起来。那么很容易知道要找的就是图上的一条欧拉路径&#xff08;类似一笔画问题&#xff09; 又已知存在欧拉路径的充要条件为&#xff1a;度数为奇数的点的个数为0或者2个…...

@Pushgateway 数据自动清理

文章目录 Pushgateway 数据自动清理一、Pushgateway 数据清理的必要性二、自动清理方案方案1&#xff1a;使用带TTL功能的Pushgateway分支版本方案2&#xff1a;使用Shell脚本定期清理方案3&#xff1a;结合Prometheus记录规则自动清理 三、最佳实践建议四、验证与维护五、示例…...