• 计算机网络:应用层 (DNS FTP)


    应用层的功能:

    由于不同应用程序之间相互通信要满足特定的规则,应用层就是为了给计算机网络中的不同应用提供不同的通信协议,

    应用层的特点:

    • 通讯双方需要同时安装应用层的协议才能进行通信。
    • 大多数应用层协议都基于客户/服务器方式的(C/S)
    • 少部分应用层协议是基于P2P方式工作

    C/S工作方式:(客户机/服务器)

    P2P工作方式:(对等工作方式)

     常见的应用层协议:

    协议名称功能
    DNS(域名系统)用于域名解析为IP地址
    FTP(文件传输协议)用于两台主句之间的传输文件
    Telnet(远程登录)用于远程登录一台网络主机
    WWW(万维网)用于检索处于世界各地的信息资源
    SMTP(简单的邮件传送)用于两台主机传送电子邮件
    DHCP(动态主句配置协议)用于自动配置主句访问计算机网络所需的必要参数
    SNMP(简单网络管理协议)用于管理计算机网络中的设备

    DNS(域名系统)

    域名系统是互联网中使用的命名系统。

    域名组成:主机名.结构名.网络名.顶级域名

    把IP地址换成 www. xxxxx.con 这种形式。

    域名系统的结构:

    在域名系统中,采用的是层次树状结构,任何一个连接在互联网中的主机都有唯一的层次结构名,域名。

    域名的结构:

    • 三级域名.
    • 二级域名.
    • 顶级域名

     域名只是一个逻辑概念,并不能反映计算机的物理地点

    常用的顶级域名:

    域名类型含义
    国家cn(中国)
    国家un(联合国)
    国家us(美国)
    国家un(英国)
    通用com(商业网络)
    通用org(非盈利组织)
    通用edu(教育部门)
    通用int(国际组织)

    域名结构具有隶属关系,最左边的域名范围越小,最右边的域名范围最大。

    域名服务器(DNS):

    DNS服务器的作用:

    计算机不能直接识别域名,域名服务器会把域名转换为IP地址,使得计算机可以识别域名。

     由于现在的互联网数据庞大,所以服务器也进行分层管理。

    • 根域名服务器
    • 顶级域名服务器
    • 权限域名服务器
    • 本地域名服务器

     根域名服务器:

    根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有顶级域名服务器的域名和IP地址。

    本地域名服务器无法解析的域名,都因该先求助于根域名服务器。

    根服域名务器主要集中在欧美国家。1个为主根服务器在美国,由美国互联网机构Network Solutions运作。其余12个均为辅根服务器,其中9个在美国,2个在欧洲(位于英国和瑞典),1个在亚洲(位于日本)。

    根服务器的作用:根服务器并不是直接将域名解析,而是告诉本地服务器下一步应当找的顶级服务器的IP地址,具体由顶级域名服务器做进一步的处理。

    顶级域名服务器:

    顶级域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,如果域名在顶级域名服务器的管辖范围中,那么可以直接给出相应的IP地址;不在管辖范围内的话,把应该找到域名服务器IP反馈给请求方。

    权限域名服务器:

    权限域名服务器负责一个区的域名解析,保存该区的所有主机域名和IP地址的映射。当权限域名服务器无法给出结果时,就给出下一步应当请求的权限域名服务器地址。

    本地域名服务器:

    本地域名服务器负责本地注册域名的解析,本地域名服务器也称默认域名服务器,当主机要进行域解析时首先求助于默认域名服务器。

    域名解析过程:

    访问网站时,会进行域名解析,域名解析会涉及4种域名服务器的协同合作。

    1. 首先主机向本地域名服务器提出解析申请,主机调用DNS解析程序,并成为DNS的客户。
    2. 把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地的本地域名服务器。
    3. 本地域名服务器接收后,把相应的IP地址放在回答报文中返回。
    4. 本地域名服务器无法解决,向其他域名服务器发出查询请求。

    注意:使用UDP是因为数据量少,且UDP速度快。

    域名解析全过程:

    1. 进行域名解析时,会向本地域名服务器发送解析请求,本地域名服务器无法解析,则求助于根域名服务器。
    2. 主机向本地域名服务器的查询采用递归查询的方式。递归查询是指当地主机向本地域名服务器发出域名解析时,本地域名服务器必须将解析出的结果返回给主机,没有结果的,则向高一级的域名服务器进行查询,直到得出结果返回主机。
    3. 本地域名服务器向根域名服务器的查询一般使用迭代查询方式,也可使用递归查询的方式

     迭代查询方式:

     递归查询方式:

    递归:客户端只发一次请求,要求对方给出最终结果。

    迭代:客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表,客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。

    高速缓存

    由于数据量庞大,为提高DNS的查询速率,通常会在每个域名服务器中维护一个高速缓存,存放最近使用过的名字和相应映射信息记录。

    当高数缓存数据过多时,且无用数据过多时,需要及时清理,所以域名服务器需要设置一个定时器,及时处理存放的内容(一般为2-3天)。

    定时器时间必须取一个合理的值,以此减小不必要的网络开销,提高域名转换的准确性。

    文件传输协议(FTP) :

    FTP的介绍:

    FTP是互联网中使用最广泛的文件传输协议,是互联网的正式标准。

    FTP的最大特点为:屏蔽了文件传送双方计算机系统的异构性,使得双方能够方便的传送文件,并提供良好的交互性,可以指定文件格式和文件的访问权限。

    FTP的工作原理:

     影响文件传输的因素:

    • 不同计算机文件格式不同
    • 不同计算机系统文件格式不同
    • 对于相同文件存取功能,操作系统使用的命令不同
    • 采用的文件访问权限不同

    FTP的功能:减小或消除不同系统下处理文件的兼容性 

    FTP使用的是TCP传输协议(可靠传输),保持通信可靠。

    FTP使用的是客户/服务器方式:FTP服务器工作时,有一个主进程,和多个从属进程,主进程专门负责连接请求,从属进程专门用来数据传输,这种合作方式提高了工作效率。

    FTP服务器主进程的工作流程:

    1.  打开FTP服务的21接口
    2. 等待客户进程发送连接请求
    3. 收到请求后,同意提供服务,启动从属进程,处理完后关闭,等待下一个客户发送请求
    4. 如果没有收到请求,一直等待,或FTP服务器关闭服务接口

     由于有主进程和从属进程,所以FTP客户端需要启动两种不同的进程:

    • 控制进程
    • 数据传输进程

    •  首先需要创建两个TCP连接
    • 控制进程的端口:21端口
    • 数据传输进程的端口:20端口

    两个端口的不同可防止连接发生混淆。

    其他文件传输协议: 

    NFS(网络文件传输系统)

    由于FTP传输只有到100%传输后才能适用,如果传输出现问题,需要重新发送,当文件比较大时会造成通信资源的浪费。NFS解决了这个问题

    NFS,允许应用进程打开一个远程文件,并能在这个文件中的特定位置上开始读写数据。这样发送方可以需要添加数据时,可以把要添加的数据和写文件的位置一起发给接收方。NFS减少了网络上传送的数据量。

    TFTP(简单文件传输协议)(69端口)

    TFTP时基于UDP的传输协议,允许主机间的快速的文件传输,为了保证传输质量,TFTP也有停止等待协议

  • 相关阅读:
    在docker环境下从头搭建openvslam/orb_slam3的流程记录以及问题总结
    springboot自习室管理系统 小程序毕业设计源码221535
    【权限管理项目总结】SpringBoot+MyBatis+Shiro+EhCache+Thymeleaf:编码+功能测试+知识点
    高等数学(第七版)同济大学 总习题五(前10题) 个人解答
    【Linux】云服务器的购买与Linux远程连接
    CART(classification and regression tree)
    Java数组
    专业软件测评中心分享:科技成果验收测试报告的作用
    Ubuntu18.04自带录屏
    一文简单入门Node.js
  • 原文地址:https://blog.csdn.net/qq_45303986/article/details/127036323