华为初级网络工程师(HCIA)(五)——应用层协议(DNS、HTTP、SMTP和POP3/IMAP、Telnet和SSH、FTP和TFTP)

本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷)
本文为追加文章,后期慢慢追加

应用层概述:

  1. TCP/IP模型的最高层
  2. 直接为应用程序提供网络服务
常用的应用层协议:

DNS
HTTP
SMTP和POP3/IMAP
Telnet和SSH
FTP和TFTP

1. DNS协:Domain Name system 域名解析系统

使用大佬的DNS原理总结及其解析过程详解(详解请看大佬文章)

概述:域名系统DNS(Domain Name System)是因特网使用的命名系统,用来把便于人们使用的机器名字转换成为IP地址。域名系统其实就是名字系统。为什么不叫“名字”而叫“域名”呢?这是因为在这种因特网的命名系统中使用了许多的“域(domain)”,因此就出现了“域名”这个名词。“域名系统”明确地指明这种系统是应用在因特网中。

我们都知道,IP地址是由32位的二进制数字组成的。用户与因特网上某台主机通信时,显然不愿意使用很难记忆的长达32位的二进制主机地址。即使是点分十进制IP地址也并不太容易记忆。相反,大家愿意使用比较容易记忆的主机名字。但是,机器在处理IP数据报时,并不是使用域名而是使用IP地址。这是因为IP地址长度固定,而域名的长度不固定,机器处理起来比较困难。

因为因特网规模很大,所以整个因特网只使用一个域名服务器是不可行的。因此,早在1983年因特网开始采用层次树状结构的命名方法,并使用分布式的域名系统DNS。并采用客户服务器方式。DNS使大多数名字都在本地解析(resolve),仅有少量解析需要在因特网上通信,因此DNS系统的效率很高。由于DNS是分布式系统,即使单个计算机除了故障,也不会妨碍整个DNS系统的正常运行。

域名到IP地址的解析是由分布在因特网上的许多域名服务器程序共同完成的。域名服务器程序在专设的结点上运行,而人们也常把运行域名服务器程序的机器称为域名服务器。

作用:

  1. 建立IP地址与域名关系(域名:www.baidu.com,为了用户方便记忆,但是网络中不会使用域名做通信,都是使用IP地址做通讯)
  2. 将域名解析为IP地址
  3. 将IP地址解析为域名

下图为DNS通讯的流程:
华为初级网络工程师(HCIA)(五)——应用层协议(DNS、HTTP、SMTP和POP3/IMAP、Telnet和SSH、FTP和TFTP)_第1张图片
每一次访问域名,都会向DNS服务器查询,DNS服务器进行响应,完成目的地址的封装。
DNS大致分为请求报文request和响应报文relay。
常用的DNS服务器:114.114.114.114

系统自带的DNS查询工具
命令 备注
nslookup 进行DNS查询
ipconfig /display DNS 查看DNS缓存
ipconfig /flushDNS 清空DNS缓存
具体看系统的命令选项。
华为初级网络工程师(HCIA)(五)——应用层协议(DNS、HTTP、SMTP和POP3/IMAP、Telnet和SSH、FTP和TFTP)_第2张图片

2.HTTP hypertext transfer protocol 超文本传输协议

http对于https来说没有安全性可言。2020年了,大多数使用的https协议。

  1. 帮助客户端访问万维网 (World Wide Web)。
  2. 网络浏览器通过翻译源代码(HTML超文本标识语言)文件来表示文本、图像、音乐、动作及视频。
    华为初级网络工程师(HCIA)(五)——应用层协议(DNS、HTTP、SMTP和POP3/IMAP、Telnet和SSH、FTP和TFTP)_第3张图片

客户端首先发送get报文给服务器,请求将源代码发送。
服务器将页面文件翻译文本、图像、音乐、动作及视频给客户端。
华为初级网络工程师(HCIA)(五)——应用层协议(DNS、HTTP、SMTP和POP3/IMAP、Telnet和SSH、FTP和TFTP)_第4张图片
HTTP不安全,数据没有经历过加密,抓包可以抓取到账号密码,没有安全性可言。

详情大佬的HTTP和HTTPS详解
http的URL的结构:
使用HTTP协议访问资源是通过URL(Uniform Resource Locator)统一资源定位符来实现的。URL的格式如下:
scheme://host:port/path?query

scheme: 表示协议,如Http, Https, Ftp等;
host: 表示所访问资源所在的主机名:如:www.baidu.com;
port: 表示端口号,默认为80;
path: 表示所访问的资源在目标主机上的储存路径;
query: 表示查询条件;
例如: http://www.baidu.com/search?words=Baidu

HTTP的请求方法:
GET: 获取URL指定的资源;
POST:传输实体信息
PUT:上传文件
DELETE:删除文件
HEAD:获取报文首部,与GET相比,不返回报文主体部分
OPTIONS:询问支持的方法
TRACE:追踪请求的路径;
CONNECT:要求在与代理服务器通信时建立隧道,使用隧道进行TCP通信。主要使用SSL和TLS将数据加密后通过网络隧道进行传输。

HTTP应答状态码:

状态码 类别 描述
1xx Informational(信息性状态码) 请求正在被处理
2xx Success(成功状态码) 请求处理成功
3xx Redirection(重定向状态码) 需要进行重定向
4xx Client Error(客户端状态码) 服务器无法处理请求
5xx Server Error(服务端状态码) 服务器处理请求时出错
3.SMTP和POP3 邮件服务
协议 备注
SMTP Simple mail transfer protocol 简单邮件传输协议用于发送邮件
POP3 Post office protocol v3 邮局协议版本3用于接收邮件
IMAP Internet massage access protocol 互联网邮件访问协议类似于POP3,功能更多

华为初级网络工程师(HCIA)(五)——应用层协议(DNS、HTTP、SMTP和POP3/IMAP、Telnet和SSH、FTP和TFTP)_第5张图片

4. 1 Telnet terminal network 终端网络

远程管理的主要协议(网络设备、服务器、数据库等)
常用终端工具有:SecureCRT、Putty、Xshell
Telnet 不安全,在抓包可以看到账号密码,现在多数使用SSH

telnet:(Telecommunication和Network的联合缩写)
是TCP/IP协议族中的一员,属于应用层协议,是Internet远程登录服务器的标准协议和主要方式。
telnet服务属于典型的客户机/服务器模型,当用telnet登录远程计算机的时候,实际上启动了两个程序:运行在本地计算机的telnet客户端程序;运行在登录的远程计算机上的telnet服务程序。
使用telnet服务的目的:(主要目的可以总结为使用远端计算机/服务器上的资源)

  1. 建立与远程主机的TCP连接。默认端口为23号端口,如果远程主机上的Telnet服务器软件一直在这个端口上侦听到连接请求,则这个连接便会建立起来。
  2. 以终端方式为用户提供人机界面。
  3. 将用户输入的信息通过telnet协议传送给远程主机。
  4. 接受远程主机发送来的信息,并经过适当的转换显示在用户计算机的屏幕上。

telnet远程登录的基本过程:

  1. 本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;
  2. 将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据包;
  3. 将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
  4. 最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。
4.2 SSH Secure Shell Protocol

由 IETF 网络工作小组(Network Working Group )制定;在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。确保了传递的数据安全。

SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用 SSH 协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境运维工作中,绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密的)等。

在默认状态下,SSH服务主要提供两个服务功能:

n 一是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务。

n 另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的.提供更安全的SFTP服务(vsftp,proftp)。

5. FTP和TFTP 文件传输协议
协议 备注
FTP File transfer protocol 文件传输协议,提供可靠的文件传输服务具有认证、权限等功能。
TFTP Trivial file transfer protocol 简单文件传输协议,提供不可靠的文件传输服务消耗资源较小,速度较快常用于网络设备的配置文件和系统文件传输。

ftp承载于tcp之上,提供可靠的面向连接数据流的传输服务,但它不提供文件存取授权,以及简单的认证机制(通过明文传输用户名和密码来实现认证)。ftp在进行文件传输时,客户机和服务器之间要建立两个连接:控制连接和数据连接。首先由ftp客户机发出传送请求,与服务器的21号端口建立控制连接,通过控制连接来协商数据连接。

tftp承载在udp之上,提供不可靠的数据流传输服务,同时也不提供用户认证机制以及根据用户权限提供对文件操作授权;它是通过发送包文,应答方式,加上超时重传方式来保证数据的正确传输。tftp相对于ftp的优点是提供简单的、开销不大的文件传输服务。

你可能感兴趣的:(网络,HCIA)