计算机网络-应用层

前言

应用层是利用传输层提供的服务直接为用户提供服务的一层,基本上都是基于C/S架构。《即使是p2p架构其实也是一种C/S架构》

ps: 在应用层中,你将看到许多我国被西方帝国主义歧视的例子。国家强大人民才有尊严,真的是真真的,希望祖国可以一直繁荣富强

一、DNS

域名服务。
用户可能无法记住很长且没有规律的ip地址,为此,使用域名来顶替无意义的数字,并设计域名系统辅助用户将域名转化为ip地址替代掉域名字符串。


域名一般分为三到四级,从上到下分为顶级域名,一级域名....

顶级域名:
顶级域名一般分为两种:

  1. 以组织形式的,如下图:
    这里需要注意:
    单纯以.edu、.gov、.mil结尾的特指美国的机构。
    我国的需要在将顶级域名设为cn,才可以使用这些国家机构顶级域名:如edu.cn
    在这里插入图片描述
  1. 以国家名称缩写提供的。
    如我国是cn,日本,英国uk
    在这里插入图片描述

注:国家域名高于组织域名,因此才是edu.cn的写法

1.1 域名服务器

域名解析需要经过域名解析服务器。
域名解析服务器根据负责记录域名服务器ip的级别分为根、顶级、权限、本地。
根:查询顶级域名ip;
顶级:查询二级域名服务器ip
权限:它负责一个区域的域名解析,当他也不知道该域名主机的ip时,他会告诉请求者下次应该去哪个权限域名服务器查,而不是交给下级。【类似一个路由器的做法】
本地:与上面几类不同,她是直接与用户主机交互的服务器,它负责代替用户主机去访问其他域名服务器,并将返回的ip交还给用户主机。
在这里插入图片描述
全世界的根域名解析系统只有13台【是系统而不是服务器,实际上服务器共有1080多台,13是指这些根域名服务器的ip数量只有13个】,13这个数字刚好使得域名解析请求占不到512B的头信息范围。
13个域名服务器的归属,美国独自占了9个,其中还有一台是主服务器,欧洲有两个,亚洲只有一个,在日本。

但是,当前由于ipv6正在替换ipv4, 中国正在努力争夺ipv6域名解析系统的归属,当前已有4台ipv6解析系统属于中国。【全世界共50多台-】

1.2 域名解析

1.2.1 迭代法

当前主流采用迭代法解析域名,是为了减小根域名服务器的压力。
流程:

  1. 用户地址栏输入一个url,包含域名;
  2. 请求用户最近的本地域名服务器(以下称为本地,下同);
  3. 本地查询自己的缓存,有没有记录该域名【其实正常情况下大部分常用的都存了】,若记下,直接还给用户;若没有,带上顶级域名访问根;
  4. 根将自己说知的这个顶级域名ip发回给本地,本地根据ip带上二级域名访问顶级,顶级查询到自己所知的这个二级域名ip,返还给本地;
  5. 。。。重复进行,直到得到权限域名服务器的回应,就有了完整ip;
  6. 本地在缓存中存下ip,并返还给用户主机,主机按照ip访问对应域名。
    在这里插入图片描述

1.2.2 递归法:

本地询问根,根询问顶级,、、、、,最后在按照询问路径原路返回ip。
这样的操作让上级域名服务器既要查询自己的ip,又要负责发送和接收数据报,压力增大了许多,不适合当前网络数量庞大的情况。
在这里插入图片描述

二、FTP

FTP是文件传输协议,用于进行文件的传输。

FTP可以向用户屏蔽掉不同操作系统之间传输过程的差异,使得用户感觉可以直接与其他不同平台的主机进行文件传输。


FTP协议依赖两个进程: (1)主进程,用于建立和维系、释放TCP连接;端口号为21; (2)传输进程,用于文件传输,端口号20。

三、TFTP

TFTP是简单文件传输协议,用于进行小文件的传输。

与FTP的不同:

  1. TFTP基于UDP协议,是不可靠的传输,但是提供差错校验;
  2. TFTP是单向的,FTP是双向的;
  3. TFTP不支持用户身份验证,FTP支持;
  4. TFTP一次性交付,FTP连接不断交付。
  5. TFTP使用端口号69,FTP使用20和21。
  6. 头信息较FTP较为轻量级,效率高。

在这里插入图片描述

TFTP实现差错检验的机制:【假确认等待机制】
TFTP将文件分块,并将块编号,每发送一块等待对方返还一个确认消息,通过确认消息TFTP可以知道对方有没有丢包,从这个意义上说他又是可靠的。

在这里插入图片描述

四、TELNET

即远程终端协议。用于一台主机发送指令操控另一台计算机,由于TELNET屏蔽了指令传输中间的数据传送过程,用户可以感受到好像直接在操作远程主机,且可以看到实际效果投屏在自己屏幕上。

在这里插入图片描述

五、万维网

5.1 概述

“维”指的是数学意义上的维度,万维说明万维网数据之间的关系的错综复杂。
万维网通过链接来进行不同信息间的连接。
在这里插入图片描述
在这里插入图片描述

万维网基于C/S架构。
服务器长期贮存万维网中的数据,客户机通过告诉万维网信息所在的位置来请求服务器获取这个信息。
万维网展示信息的格式是HTML。【现在又出现了很多新的格式,但是本质上都是HTML的延伸或者拓展。】
在这里插入图片描述

万维网要解决四个问题:

  1. 页面在哪里
  2. 如何实现页面的传输和链接
  3. 怎么记录页面信息;
  4. 怎么查找所需要信息的页面。

这些在接下来几个小结阐述。

5.2 找到页面的方式:URL

URL有 协议名+域名/ip+端口号+资源路径 构成.
其中除了域名其他都可以省略【浏览器给我们的特权】。
但是,若使用除了HTTP之外的其他协议都必须要写协议名。
且使用特别的服务器,没有更改端口号的情况下也要写端口号。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2 使用什么表示页面

超文本传输语言HTML及其其他拓展。

5.3 使用什么方式传输和链接HTML:HTTP

HTTP,即超文本传输协议。
基于可靠链接的TCP,但是HTTP本身却是无状态的,即HTTP会马上遗忘他之前交互的信息。

HTTP分为两个版本:
1.0:第一版本,HTTP会建立短暂的连接,一旦发生数据请求,响应完成马上断开连接。
这是因为早期的网页大都是静态的,无需动态的根据数据更改页面展示,因此减少了与服务器的交互,这样做是可以的。
1.1:第二版本。人们开始发现,需要浏览器短暂记住与服务器的交互信息【如购物车需要记录用户之前的数据】,而如果重新建立连接就会导致大量资源浪费,因此1.1版本的HTTP可以让浏览器和服务器建立短暂的持续的连接。【即请求头中的keep-alive;】
并在此时开发出了一项技术:cookie。
可以在给用户的响应中带上用户的数据,并将数据保存在浏览器客户端中,下次由用户带来cookie即可保证HTTP的状态保持,HTTP由此达到了假的有状态协议。
在这里插入图片描述
在这里插入图片描述

为了增强用户访问页面的速度,区域网络中会设置一台代理服务机,去与外围网络交互,得到外围网络的HTML页面并缓存在本地中,当本地其他主机想要访问外围服务器端的资源时,如果本地代理服务器已经缓存,就会直接将这个页面给请求的客户机,从而降低了去外围宽带访问外围服务器带来的时间消耗和带宽压力。
这个代理服务器称为高速缓存
在这里插入图片描述
这样的代理服务器一般由当地的电信运营商的服务器负责建立和维护。

cookie技术:
当客户机再次访问服务器,用户可以带上用户信息给服务器,服务器根据用户标识信息找到该用户对应的session,跟踪用户数据活动。
在这里插入图片描述

5.4 用什么来搜索包含信息的页面

搜索引擎

六、邮件

应用层的电子邮件是模拟现实中真正的邮局寄信的操作。
用户投递邮件后,会首先进入投递邮箱服务器的主机(本地邮局),该邮件服务器会将这封邮件转给标准的邮件服务器(收件人处邮局),最后对方的邮局会将该邮件递给接收方。

电子邮件使用如下的协议:【所有协议都使用TCP可靠传输

  1. 发送给自己后缀的邮件服务器:SMTP
  2. 对方邮件服务器发送给对方的邮箱:POP3以及IMAP
  3. 若使用网页登录邮箱,发送过去以及投递到用户邮箱使用HTTP协议,但是不同邮件服务器之间使用SMTP。

现在常有一种客户端可以帮助用户接收各个邮箱的邮件,称为用户代理(UA)。常见的UA如QQ邮箱,GMail等。


SMTP不能使用其他非英语语言的文本已经其他格式的文件,MIME扩充了SMTP的这项功能。 ![在这里插入图片描述](https://img-blog.csdnimg.cn/2021012216585994.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzg2ODk2Ng==,size_16,color_FFFFFF,t_70) ## 七、DHCP协议 动态主机分配协议。是一个辅助用户配置互联网通信所需的IP、子网压那么等信息的应用层协议。 DHCP的作用很重要,几乎时刻在为我们上网服务。

DHCP协议工作流程:

  1. 用户的主机想要联网,会在该子网中发送广播,但不带上自己的主机信息;
  2. 其他主机接到广播丢弃,DHCP服务器接收到广播后,会返回一个广播询问这台主机的地址,但也不带上自己的地址信息【互坑
  3. 主机再次发送广播,告诉对方自己的地址信息,DHCP会从地址池取出ip并配置好其他设置交还给该主机;
  4. 每隔一段时间,用户主机还需要向DHCP服务器申请多延时一段ip使用时间,若不申请,DHCP服务器就会收回该IP。
    在这里插入图片描述

八、SNMP协议

SNMP,即简单网络管理协议。
用来让一台主机具有控制其他主机【包括服务器,路由器】的能力。
SNMP协议与TELNET不一样,没有过多的干预对方主机,而是只是监测其他主机,向他们询问一些状态信息,必要的时候会给他们一些指令。

SNMP基于C/S架构,充当客户机是操控者,其他主机是被动响应的服务器。

九、套接字与网络编程

在网络上进行通信其实是一件很复杂的事情,要想将数据发送出去本身就不是一件很容易的事情。
为此,每个操作系统像网络提供了一组API,可以间接使用操作系统中关于网络通信部分的系统调用,即套接字(Socket)。
当某些应用的进程需要使用网络通信时,就会调用操作系统的Socket,来利用系统调用将自己的数据包装好并且发出去。
在这里插入图片描述
在这里插入图片描述

十、 P2P

P2P是一种资源共享式的方式。P2P会把一定范围内所有具有该媒体资源的主机都当做服务器,并同时向多台服务器主机下载资源的不同部分,当拥有该资源的主机越多,需求该资源的主机下载速度越快。
若只有很少的用户拥有该资源,一旦该用户关闭连接,下载就会中断。
著名的电驴、BT都是采用P2P下载的方式。
只是P2P下载方式往往会带来版权的问题,因此逐渐没落了。
在这里插入图片描述

十一、网络安全协议

  1. SSH,安全壳协议,为会话生成秘钥,防止其他用户对用户数据的非法获取;
  2. Kerberos:网络认证协议;
  3. SET:安全电子交易协议,维护网络上使用电子账户支付的安全;
  4. SSL:安全套接层协议,维护TCP/IP协议的安全,提供用户认证。

网络安全协议可以看这篇博客

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值