目录
概述
我们利用网络重点在于网络之上所提供的服务,而服务主要靠应用来实现。也就是在TCP/IP 中 传输层往上的应用层,这个应用层包含了 IOS 七层模型的上三层,应用 表示 和会话层。这一章我们重点来聊一聊应用层的相关技术和协议 特别是 web 服务 文件传输 电子邮件 远程管理等
应用层协议概要
应用协议的定义
应用层主要作用是为用户提供应用平台,实现用户利用互联网实现 查看邮件 上传文档 浏览网页 远程管理等等。那么这些应用的实现在TCP/IP 中也需要对应的协议。那么工作在应用层为用户提供某种服务的协议就是我们说的应用协议。
应用协议与协议的分层
网络上的应用是由不同的用户和软件供应商开发的,应用之间的通信就依靠应用协议实现。这些应用协议,可以利用现有的,也可以自行指定。
需要了解的是应用层只需要关心应用之间的通信,或者说是需要用好应用层协议即可,无需考了应用层之下的工作如何做,这也就是协议分层的好处。就拿TCP/IP 来说把,四层每一层的协议负责这一层的工作。每一层也只需要关系本层的通信即可。
远程登录
所谓远程登陆,就是利用本机电脑 通过网络登录到另外一台主机上的应用。 主要是为了实现TSS(Time Sharing System) 分时系统环境,就是可以同时多台终端连接远程服务器,所有终端操作都有服务器来处理的一种工作环境。
远程登录主要有两种协议 TELNET 和 SSH 来实现
TELMET
TELNET 利用了TCP的连接,通过连接向主机发送文字命令并在主机上执行。本地用户似乎直接连接了远程主机内部的shell (命令解析器)。
TELNET 通常用在登陆路由器智能交换机和远程主机或服务器上。可以将TELNET分为两类基本服务。 一是仿真终端功能, 二是协商选项机制。
TELNET连接远程终端时,会将自己的登录用户名和密码注册到服务端。 TELNET 中除了处理用户所输入的文字外,还提供选项的交互和协商功能。如为了实现仿真终端(NVT,Network Virtual Terminal)所用到的界面控制信息就通过选项功能发送出去的。 还有telnet 中 行模式或透明模式的设置。
TELNET 基于TCP 协议通信,服务器端口号默认 23。
TELNET 传输使用明文 ,所以适合于内网管理和通信。 那么如果是外网管理呢我们可以使用更安全的SSH
SSH
SSH (Secure Shell) 译为安全外壳。时加密的远程登录协议。 就是说 SSH 传输过程中数据时加密的。所以更安全 一般可以用在通过外网连接内网服务器管理和通信。
sSSH 还包括了很多极为方便的功能:可以使用更强的认证机制,可以转发文件,可以使用端口转发功能。
SSH 的端口转发指将特点端口号所收到的消息转发到特定的IP地址和端口号的一种机制。因为经过SSH 连接的那部分被加密,确保了信息的安全。并提供更为灵活的通信
SSH 使用TCP 协议传输 端口号默认 22
文件传输
FTP(File Transfer Protocol) 译为 文件传输协议。 主要用来实现 远程文件的上传和下载。FTP 服务可以在内网搭建,也可以在互连网上。 分为 匿名(anonymous)登陆和需要提供用户名和密码的登陆方式。
FTP的工作机制概要
FTP 使用两条TCP 连接,一条用来控制,一条用于数据或者文件传输。
用于控制的连接主要在FTP 的控制部分使用,比如登陆用户名和密码验证 ,传输的文件名称,发送方式的设置,一般通过 ASCII 码 发送的请求和接受应答,但 控制连接无法发送数据,所以需要另一条连接专门传输数据
数据传输的TCP 连接一般安装与控制连接相仿的方向建立,所以在nat 连接外网FTP服务器时,无法直接建立传输,必须使用PASV 命令修改建立连接的方向。
FTP 控制用的连接使用的是 TCP 的 21 端口,数据传输使用的是 TCP 的 20 端口,但出于安全的考虑 现在很多时候 数据传输使用随机端口。
通过ASCII码字符串进行的交互处理
FTP 的请求和应答都是使用的 ASCII 码字符串。对于ASCII 字符码来说 换行很重要。一般一行就是一个命令或者一个应答,空格用来区分参数 换行区分的命令。
电子邮件
电子邮件就是网络上的邮政。人们可以通过电子邮件发送文字,照片 视频 软件等计算机可以存储的信息。
电子邮件的发送距离没有限制。只要在互联网 任何目标都能达到。 电子邮件还提供了邮件组功能,意思是一份邮件可以发给一群特定的用户,被广泛用在公司和学校下达通知。
电子邮件的工作机制
早期人们利用电子邮件协议 STMP(Simple Mail Protocol) 简单的邮件传输协议。来实现高效的发送邮件内容,基于TCP 协议,发送端和接收端直接连接。具体是 发送端将邮件先保存到 硬盘,然后和对端建立连接将邮件发过去 然后删掉硬盘中的邮件,如果对端暂时连接不上,就等待一段时间后重发。
这样的机制在后来互联网越来越复杂的情况下,变得很难实现,假设我们只有白天开机,那么一个东半球的国家和一个西半球的国家发消息,就会永远收不到,因为发送端白天的时候,接收端正好晚上关机。于是人们提出了邮件服务器的概念,大家都把邮件发送给邮件服务器,在让邮件服务器在合适的时候发送给接收端。
这样发送端使用 STMP 将邮件发送到邮件服务器, 接收端是POP3(Post Office Protocol)协议 邮政协议从服务器端接收邮件。