幽默记忆TCP/UDP/DNS/三次握手

三次握手
把客户端和服务端比作两个小孩想象一下,你正在和朋友一起玩“猜拳”游戏,但是你们之间的通信线路不够稳定,为了确保游戏开始前大家都准备好了,你们进行了这样一段对话:
第一次握手:你对朋友说:“我准备好了,我要猜拳了!”
第二次握手:你的朋友回复:“好的,我也准备好了,我也要猜拳了!”
第三次握手:你再次确认:“那我们就开始吧!
四次挥手
游戏结束后,你们需要做一些收尾工作,保证所有事情都处理完毕了,就像这样:
这里面的syn和ack就会逐渐增加1
主要原因:防止已经失效的连接请求报文突然又传送到了服务器,从而产生错误    tcp是一种面向连接
第一次挥手:你对朋友说:“游戏结束了,我不玩了,我要回家了!”
第二次挥手:你的朋友回复:“好的,我也不玩了,我也要回家了!”
第三次挥手:你再次确认:“那我们就分开了!”
第四次挥手:你的朋友最后确认:“好的,再见!”
通过这四次挥手,你们确认游戏结束,彼此都准备好了离开,然后各自回家了。
 
DNS
DNS是域名系统(Domain Name System)的简称,因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址。
现在,来了一位名叫“DNS”的智能导航小哥。他的工作就是把这些令人头疼的数字地址转换成人类更容易记忆的域名。就像是把你想去的地方从“123456 Main Street”变成“Google.com”。
每当你想要访问一个网站时,你只需在浏览器中输入域名,然后“DNS小哥”就会迅速把它翻译成正确的数字地址
递归DNS服务器:
递归DNS服务器就像是你的网络导航小助手,每当你要去一个地方(网站)时,它会乐意为你找到正确的路线。它可能会像一个对路线了如指掌的老司机一样,从一个地方到另一个地方带你绕来绕去,直到最终把你送到目的地,而你只需坐在后座上放松。
授权DNS服务器:
授权DNS服务器就像是那些只有当地人才知道的秘密通道。当递归DNS服务器找不到答案时,它会向这些“当地人”发出询问,而这些“当地人”知道如何到达目的地,因为他们就住在那里。
缓存DNS服务器:
缓存DNS服务器就像是那位懒洋洋的朋友,他懒得再次问路,于是把之前走过的路线都记在心里。所以,每当你问他去哪里的时候,他都能直接告诉你,而不必再费心思去问别人。
公共DNS服务器:
公共DNS服务器就像是那些大喇叭里响彻的导游,他们会告诉你去哪里能找到最好的美食、最有趣的景点。他们是那些走遍世界各地的专家,随时准备带你去探索互联网世界的每一个角落。

TCP UDP
TCP:
TCP 就像是一位细心的服务员,在餐厅里你点了一份大餐。他会亲自确保你每一道菜都按顺序送到,还会不厌其烦地确认每一样菜是否到达你的桌上。就像是一位服务态度极好的服务员,即使你有什么特殊需求或者有任何问题,他都会细心地帮你解决,确保你的用餐体验完美无缺。
UDP:
UDP 就像是一个快递小哥,你下了一个很小的订单,只需要一瓶水。他会快速地把水送到你手里,然后就匆匆忙忙地跑了,不会在意你是否满意,也不会等待你的小费。他的目标只是把货物尽快送到目的地,然后继续前进,因为还有更多的包裹要送。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/777763.shtml

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

相关文章

探索 2024 年 Web 开发最佳前端框架

前端框架通过简化和结构化的网站开发过程改变了 Web 开发人员设计和实现用户界面的方法。随着 Web 应用程序变得越来越复杂,交互和动画功能越来越多,这是开发前端框架的初衷之一。 在网络的早期,网页相当简单。它们主要以静态 HTML 为特色&a…

数据库---PDO

以pikachu数据库为例&#xff0c;数据库名&#xff1a; pikachu 1.连接数据库 <?php $dsn mysql:hostlocalhost; port3306; dbnamepikachu; // 这里的空格比较敏感 $username root; $password root; try { $pdo new PDO($dsn, $username, $password); var_dump($pdo)…

【管理咨询宝藏59】某大型汽车物流战略咨询报告

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏59】某大型汽车物流战略咨询报告 【格式】PDF 【关键词】HR调研、商业分析、管理咨询 【核心观点】 - 重新评估和调整商业模式&#xff0c;开拓…

如何开始定制你自己的大型语言模型

2023年的大型语言模型领域经历了许多快速的发展和创新&#xff0c;发展出了更大的模型规模并且获得了更好的性能&#xff0c;那么我们普通用户是否可以定制我们需要的大型语言模型呢&#xff1f; 首先你需要有硬件的资源&#xff0c;对于硬件来说有2个路径可以选。高性能和低性…

StatefulBuilder 和 Builder

前言 果然了解的越多&#xff0c;越发现自己狗屁都不是。StatefulBuilder 和 Builder 之前真的不知道。还是在 对话框状态管理 中了解到了这两个东西。 简介 以下内容来自通义灵码 在Flutter中&#xff0c;StatefulBuilder 和 Builder 都是用来动态构建 widget 树的组件&am…

使用unplugin-auto-import页面不引入api飘红

解决方案&#xff1a;. tsconfig.json文件夹加上 {"compilerOptions": {"target": "ES2020","useDefineForClassFields": true,"module": "ESNext","lib": ["ES2020", "DOM", &q…

Mybatis别名 动态sql语句 分页查询

给Mybatis的实体类起别名 给Mybatis的xml文件注册mapper映射文件 动态sql语句 1 if 2 choose 3 where 4 foreach 一&#xff09;if 查询指定名称商品信息 语法&#xff1a; SELECT * FROM goods where 11 <if test "gName!null"> and g.g_name like co…

Intellij IDEA安装配置Spark与运行

目录 Scala配置教程 配置Spark运行环境 编写Spark程序 1、包和导入 2、定义对象 3、主函数 4、创建Spark配置和上下文 5、定义输入文件路径 6、单词计数逻辑 7、输出结果 8、完整代码&#xff1a; Scala配置教程 IDEA配置Scala&#xff1a;教程 配置Spark运行环境 …

RabbitMQ3.x之五_RabbitMQ中的核心概念

RabbitMQ3.x之五_RabbitMQ中的核心概念 文章目录 RabbitMQ3.x之五_RabbitMQ中的核心概念1. RabbitMQ简介1. 可互操作2. 灵活3. 可靠 2. 核心概念1. Message(消息)2. Publisher(生产者)3. Consumer(消费者)4. Exchange(交换机)5. Queue(队列)6. Binding(绑定)7. Routing-Key(路由…

关于举办第十五届蓝桥杯全国软件和信息技术专业人才大赛——数字科技创新赛的通知

各相关院校&#xff1a; 为贯彻落实党的二十大报告&#xff0c;加快发展数字经济&#xff0c;促进数字经济和实体经济深度融合&#xff0c;打造具有国际竞争力的数字产业集群的有关精神&#xff0c;工业和信息化部人才交流中心决定举办第十五届蓝桥杯大赛——数字科技创新赛&a…

Untiy 布局控制器Aspect Ratio Fitter

Aspect Ratio Fitter是Unity中的一种布局控制器组件&#xff0c;用于根据指定的宽高比来调整包含它的UI元素的大小。实际开发中&#xff0c;它可以确保UI元素保持特定的宽高比&#xff0c;无论UI元素的内容或父容器的大小如何变化。 如图为Aspect Ratio Fitter组件的基本属性&…

自然语言处理(NLP)全面指南

自然语言处理&#xff08;NLP&#xff09;是人工智能领域中最热门的技术之一&#xff0c;它通过构建能够理解和生成人类语言的机器&#xff0c;正在不断推动技术的发展。本文将为您提供NLP的全面介绍&#xff0c;包括其定义、重要性、应用场景、工作原理以及面临的挑战和争议。…

Python图像处理——计算机视觉中常用的图像预处理

概述 在计算机视觉项目中&#xff0c;使用样本时经常会遇到图像样本不统一的问题&#xff0c;比如图像质量&#xff0c;并非所有的图像都具有相同的质量水平。在开始训练模型或运行算法之前&#xff0c;通常需要对图像进行预处理&#xff0c;以确保获得最佳的结果。图像预处理…

#AS,idea,maven,gradle

Jdk,sdk。提前都是需要下好的。 Maven与gradle的思考&#xff1a; 用AS开发app时&#xff0c;gradle本就有&#xff0c;自己也可以指定&#xff0c;AGP同样。要注意gradle&#xff0c;AGP,jdk版本的事情。还有依赖库。 用idea开发网络程序时&#xff0c;也有内置的maven&…

typescript 实现RabbitMQ死信队列和延迟队列 订单10分钟未付归还库存

Manjaro安装RabbitMQ 安装 sudo pacman -S rabbitmq rabbitmqadmin启动管理模块 sudo rabbitmq-plugins enable rabbitmq_managementsudo rabbitmq-server管理界面 http://127.0.0.1:15672/ 默认用户名和密码都是guest。 要使用 rabbitmqctl 命令添加用户并分配权限&#xf…

怎样去保证 Redis 缓存与数据库双写一致性?

解决方案 那么我们这里列出来所有策略&#xff0c;并且讨论他们优劣性。 先更新数据库&#xff0c;后更新缓存先更新数据库&#xff0c;后删除缓存先更新缓存&#xff0c;后更新数据库先删除缓存&#xff0c;后更新数据库 先更新数据库&#xff0c;后更新缓存 这种方法是不推…

在scroll-view中使用input,input键盘弹出时,滚动页面,输入框内容会出现错位问题?

解决办法 <view classpages><view><scroll-view scroll-y"{{sysScroll}}" scroll-top"{{scrollTop}}" class"scroll-hei-2 bg-def">...<input bindfocus"onfocus" bindblur"onblur" placeholder&quo…

RestTemplate 请求响应数据出现乱码问题,RestTemplate 如何解压缩 gzip 数据

文章目录 1.问题描述2.问题分析3.问题解决3.1 Apache HttpClient 依赖3.2 RestTemplate 配置类3.3 测试 1.问题描述 直接通过浏览器访问请求没有问题&#xff0c;但是通过 RestTemplate 访问请求却会出现乱码问题。 2.问题分析 首先我认为是 SpringBoot 版本、JDK 版本、项目结…

HTTP——Cookie

HTTP——Cookie 什么是Cookie通过Cookie访问网站 我们之前了解了HTTP协议&#xff0c;如果还有小伙伴还不清楚HTTP协议&#xff0c;可以点击这里&#xff1a; https://blog.csdn.net/qq_67693066/article/details/136895597 我们今天来稍微了解一下HTTP里面一个很小的部分&…

OpenHarmony中的LLDB高性能调试器

概述 LLDB&#xff08;Low Lever Debugger&#xff09;是新一代高性能调试器。详细说明参考 LLDB官方文档 。 当前OpenHarmony中的LLDB工具是在 llvm15.0.4 基础上适配演进出来的工具&#xff0c;是HUAWEI DevEco Studio工具中默认的调试器&#xff0c;支持调试C和C应用。 工…