计算机网络 —— 应用层详解

一,应用层概念

计算机网络 —— 应用层详解
位于计算机网络体系结构的最上层,前面四层做的所有事情就是为了他服务,他也是设计和建立计算机网络的最终目的,通俗的讲,就是我们开发的应用软件,就处于这一层,

比如,QQ,浏览器访问网页,等等你看得到的应用软件都是在这一层,但是这些软件在运行的过程中,也需要依靠一些特定的协议才能完成相应的功能,
  
传输层协议与应用层协议的关系 简单来说:tcp/udp+端口 == 应用层服务
http = tcp+80
dns = tcp/udp+53
sql = tcp+1433
(以上均为默认端口, 可以手动配置)

二,应用层所提供的服务

1. DNS 域名解析协议

Domain Name System 域名系统。也可以叫做域名解析协议。
作用是将我们输入的域名解析成正确的IP地址,供我们进行访问。

1)什么是域名

简称域名、网域,是由一串用点分隔的字符组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。域名可以说是一个IP地址的代称,目的是为了便于记忆后者。

2)域名层次

域名语法:域名由多个部分组成,这些部分通常连接在一起,并由点分隔,例如zh.wikipedia.org。最右边的一个标签是顶级域名,例如zh.wikipedia.org的顶级域名是org。

域名的层次结构:从右侧到左侧隔一个点依次下降一层。每个标签可以包含1到63个八字节。域名的结尾有时候还有一点,这是保留给根节点的,书写时通常省略,在查询时由软件内部补上。

域名里的英文字母不区分大小写,因此可以使用大写方法拼写,但一般都以小写形式拼。

顶级域(英语:Top-level domains,缩写:TLD)是域名中最高的一级,每个域名都以顶级域结尾。
包括:

  • gov政府
  • edu教育
  • com(商业,现在成为全球注册量最大、最通用的域名)
  • milorg(非营利组织)
  • net(网络,当时被定位为网络基础服务提供商)和.int(国际组织)等。

子域名(二级域名)
子域名将顶级域名进一步细分。域名层次结构中,顶级域名下面是二级域名,它位于顶级域名的左侧。例如,在zh.wikipedia.org中,wikipedia是二级域名。

三级域名
二级域名下面是三级域名,它位于二级域名的左侧。例如,在zh.wikipedia.org中,zh是三级域名

3)域名解析流程

计算机网络 —— 应用层详解

首先将域名发送到最近的DNS服务器解析 ,若找到返回给计算机
没找到则最近的dns服务器向上进行迭代/递归查找,一直没找到会迭代到根域名服务器。最后找到。

  1. 查找算法有迭代和递归两种。
  2. DNS是分布式部署的
  3. 缓存上次查找的域名到当前DNS服务器
  4. 注册域名直接访问网站就可以

5)部署DNS服务器

电脑是可以自己配置DNS服务器的,可以有效的降低DNS访问流量。

2. DHCP 动态主机配置协议

1)静态IP地址,动态IP地址

  • 静态IP地址
    适用于 机房 网吧的电脑 或者 服务器
    好处 可以直接通过IP地址访问
  • 动态IP地址
    适用于笔记本电脑
    可以跨网段

2) 动态IP请求过程

DHCP客户端向DHCP服务器请求IP地址的过程

  1. 接入的新客户端发向当前网段发送广播 255.255.255.255(FFFFFFFF)
  2. DHCP服务器接收并分配地址
  3. 存在问题 恶意DHCP服务器不可用的IP地址

跨网段请求

DHCP服务器是可以跨网段进行IP地址的分配的这样大大节省DHCP服务器部署的数量。

通过给DHCP服务器分配多个分配作用域,与需要分配的网段一一对应达成。

  1. 接入的新客户端正常广播, 路由器接收
  2. 如果接入的主机和DHCP服务器没在同一个网段,路由器会进行命令 IP helper address 然后继续找DHCP服务器。从而分配。
  3. 如果在一个网段直接分配。

3. HTTP(详细)

我在这边博客详细介绍了http的相关内容,读者可以参考 详解HTTP.

统一资源定位符URL

URL:统一资源定位符,通过下面格式,可以看出,就是用来定位我们所需要资源在服务器上的位置。

格式:<协议>://<主机>:<端口>/<路径>

协议:http

主机:域名/IP地址,原理度一样,到头来还是会转换为IP地址,通过这个才能找到目标服务器

端口: 在传输层需要使用的,访问目的主机的哪个端口号。

路径:精准的定位我们所需要的资源位置、

平常会省略协议和端口号,因为这些都是默认的,在访问主页时,路径也会省略。比如www.baidu.com这个默认进入百度的主页 完整写法 http://www.baidu.com:80/index.html 。

4. FTP文件传输协议

5. TELNET远程终端协议/RDB远程桌面协议

TELNET
远程终端协议 远程调试网络设备 计算机 路由器

RDP
远程桌面协议 类似telnet 但是用于图形界面 适用于windows

6. SMTP/POP3/IMAP 收发邮件使用

SMTP 用于发送邮件
POP3 IMAP 用于接收邮件

邮件收发过程
首先注册邮箱, 邮箱含有收件箱和发件箱。

发送:

  1. 将邮件发送的自己的发件箱 ,这个过程叫做中继,不需要身份验证(SMTP)
  2. 发件箱发送到对方的收件箱(SMTP)

接收

  1. 将邮件从收件箱接收 使用的是POP3 /IMAP协议 ,需要进行身份验证。pop3功能更多一点。