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

应用层1——C/S、P2P、DNS域名系统

目录

一、网络应用模型

1、C/S

2、p2p模型

二、域名解析系统DNS

1、为什么有DNS系统?

2、域名的特点

3、DNS域名系统原理

4、递归查询、迭代查询

5、常用的根域名与顶级域名


一、网络应用模型

1、C/S

客户/服务器模型
客户请求服务,服务器提供服务
在逻辑上是一种角色的划分
在实现上是一种功能的划分

服务器的特点:
1)永久提供服务
2)有一个固定的访问地址/域名(永久性地址)

客户机:
1)可以申请服务器的服务
2)间歇性接入网络
3)可能是动态的IP地址
4)不和其他客户机直接通信(他们之间的通信是通过服务器进行转接的)

2、p2p模型

不采用服务器和客户的模型
每一个主机/节点都是对等的
可以请求服务,同时也提供服务
任意端之间可以直接进行通信
节点可能改变IP地址
可扩展性好
健壮性好(崩掉一个,不影响全局;不像服务器/客户模型,服务器一旦崩溃就全完了)
(核心思想:任意节点都是对等的)

二、域名解析系统DNS

1、为什么有DNS系统?

在我们上网的时候
本质上,是访问一些的服务器点
他们都有一个唯一的IP地址
但是,我们不可能都记得
因此,怎么办?
不用IP地址作为访问的地址
而是使用域名
什么是域名?
其实也就是www.baidu.com(前缀www是万维网,会自动加)
通俗一点说就是网址
这比去记202.112.132.133这些IP地址要人性化的多(这个ip地址是我随意编撰的)

可是机器不认识域名,不认识网站
他只认识IP地址
所以,需要有一个域名->ip地址的映射
我给机器一个域名,机器需要根据域名将之解析为一个唯一的ip地址
做这个事情的就是DNS(Domain Name System——域名系统)
实现这个节点叫做DNS服务器

2、域名的特点

域名特点:
1、不区分大小写
2、只可以使用-这个特殊符号

域名等级:
例如www.baidu.com
从右往左,依次是顶级域名->二级域名->三级域名...
应当了解基本的域名等级,如图:

3、DNS域名系统原理

DNS有四种域名服务器:
本地->权限->顶级->根
从下往上,依次原理主机

查询过程:
当主机发出DNS查询时,这个查询报文首先就会发送给本地域名服务器查询
没有查到则把请求转发给根服务器
|
根服务器知道所有的顶级域名服务器,将查询报文转发对应的顶级域名服务器
|
顶级域名服务器依旧没有查到,将查询报文转发给对应权限域名服务器
(一个权限域名服务器负责一个区,一个域可以有多个区)
|
权限域名服务器还是没有找到,再转发给其他权限域名服务器
|
结果返回

总结:
先发给本地,本地有,不用发出去,直接返回结果
本地没有,给根发;剩下的查询,要么递归,要么迭代。

4、递归查询、迭代查询

5、常用的根域名与顶级域名

域名类型示例域名描述
通用顶级域名 (gTLD).com最常见、用于商业、企业网站
.org非营利组织、机构
.net网络服务提供商、技术相关网站
.edu教育机构,通常由美国高等教育机构使用
.gov政府机构网站,通常只限于美国政府使用
.info信息共享类网站
.biz商业、企业相关网站
.name个人域名,适用于个人网站或博客
.pro专业人士,如律师、医生、会计等专业人员
.co类似于 .com,常用于公司、创业企业等
国家顶级域名 (ccTLD).cn中国
.us美国
.jp日本
.de德国
.uk英国
.fr法国
.in印度
.ca加拿大
.au澳大利亚
.br巴西
.ru俄罗斯
.kr韩国
新顶级域名 (nTLD).tech技术相关的行业
.xyz泛用型、新兴的TLD
.club适用于俱乐部或社区类网站
.shop适用于电商、购物类网站
.online适用于线上平台、电子商务类网站
.ai人工智能相关网站
.app应用程序相关网站
.blog个人博客、文章分享网站
.design设计行业相关网站
国际化域名 (IDN).中国中国的国际化域名(中文域名)
.公司中文公司顶级域名
.网络中文网络顶级域名

http://www.kler.cn/a/458767.html

相关文章:

  • python opencv的orb特征检测(Oriented FAST and Rotated BRIEF)
  • C++ 设计模式:组合模式(Composite Pattern)
  • WPF编程excel表格操作
  • Vue3 中的计算属性和监听属性
  • word怎么添加链接,点击直接到参考文献
  • 如何通过深度学习提升大分辨率图像预测准确率?
  • 【Rust自学】5.2. struct使用例(加打印调试信息)
  • 使用 Spring Boot 和 GraalVM 的原生镜像
  • Ubuntu 22.04 升级 24.04 问题记录
  • 使用 OpenCV 在图像中添加文字
  • oscp备战系列-Kioptrix2014
  • Oracle Managed Files(OMF)
  • sqlite3 python 如何使用
  • 文件上传绕过最新版安全狗
  • Android 屏幕适配autosize
  • springboot514基于SpringBoot的家电销售展示平台(论文+源码)_kaic
  • kkFileView集成springboot:使用自定义预览接口(非minio预览接口),发现无法预览资源
  • nginx 基于 geoip 模块限制地区访问
  • Linux安装Docker完整教程
  • YoloV9改进策略:Head改进|DynamicHead,利用注意力机制统一目标检测头部|即插即用
  • 大模型时代的NL2SQL初探
  • 二战-从头开始
  • 面试知识点汇总_03
  • HarmonyOS Next 应用元服务开发-应用接续动态配置迁移按需迁移页面
  • NVIDIA - 人形机器人扼要
  • tcp_rcv_synsent_state_process函数