夜来风雨声,“网络应用层”知多少?

通过阅读书籍《图解TCP/IP》和文章对应用层有了一定的认识,对应用层进行梳理,不正确的地方请指出。

常见的应用层协议

一、常见的应用层协议

1 、DNS:域名系统DNS是因特网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。
现在顶级域名TLD分为三大类:国家顶级域名nTLD;通用顶级域名gTLD;基础结构域名
域名服务器分为四种类型:根域名服务器;顶级域名服务器;本地域名服务器;权限域名服务器。

2、FTP:文件传输协议FTP是因特网上使用得最广泛的文件传送协议。FTP提供交互式的访问,允许客户指明文件类型与格式,并允许文件具有存取权限。FTP其于TCP。

3 、telnet远程终端协议:telnet是一个简单的远程终端协议,它也是因特网的正式标准。又称为终端仿真协议。

4、HTTP:超文本传送协议,是面向事务的应用层协议,它是万维网上能够可靠地交换文件的重要基础。http使用面向连接的TCP作为运输层协议,保证了数据的可靠传输。

5、电子邮件协议SMTP:即简单邮件传送协议。SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。SMTP通信的三个阶段:建立连接、邮件传送、连接释放。

6、 POP3:邮件读取协议,POP3(Post Office Protocol 3)协议通常被用来接收电子邮件。

7、SNMP:简单网络管理协议。由三部分组成:SNMP本身、管理信息结构SMI和管理信息MIB。SNMP定义了管理站和代理之间所交换的分组格式。SMI定义了命名对象类型的通用规则,以及把对象和对象的值进行编码。MIB在被管理的实体中创建了命名对象,并规定类型。

二、协议的意义和作用

1、作用
在这里插入图片描述
      利用网络的应用程序有很多,包括Web浏览器、电子邮件、远程登录、文件传输、网络管理等。能够让这些应用进行特定通信处理的正是应用协议。TCP和IP等下层协议是不依赖于上层应用类型、适用性非常广的协议。而应用协议则是为了实现某种应用而设计和创造的协议。相当于OSI中第5、第6、第7层的协议
      例如,远程登录等应用经常使用的TELNET协议,它的支持基于文字的命令与应答,通过命令可以执行各种各样的其他应用。
2、意义
      网络应用由不同的用户和软件供应商开发而成。为了实现网络应用的功能,在应用之间进行通信时将其连接的网络协议是非常重要的"。设计师和开发人员根据所开发模块的功能和目的,可以利用现有的应用协议,也可以自己定义一个新的应用协议。应用可以直接享用传输层以下的基础部分。因为开发者只要关心选用哪种应用协议、如何开发即可,而不必担心应用中的数据该以何种方式发送到目标主机等问题。这也是得益于网络层的功劳。

远程登录

      远程登录主要使用TELNET和SSH"两种协议。

TELNET

      TELNET利用TCP的一条连接,通过这一条连接向主机发送文字命令并在主机上执行。 Telnet是teletype network的缩写,现在已成为一个专有名词,表示远程登录协议和方式,分为Telnet客户端和Telnet服务器程序. Telnet可以让用户在本地Telnet客户端上远端登录到远程Telnet服务器上。专业的说,Telnet是Internet上远程登录的一种程序(telnet 只是个shell);它可以让您的电脑通过网络登录到网络另一端的电脑上,连接上了 就跟在cmd 情况下操作自己的电脑度一样 你可以随意删改别人的资料。当然,不是每一台电脑您都可以登录,前提是这台电脑有对外开放或者是您必须拥有使用者帐号及密码;最重要的是您与所想连接的电脑都得连上Internet。

SSH

1、什么是SSH
      SSH是加密的远程登录系统。TELNET中登录时无需输人密码就可以发送,容易造成通信窃听和非法人侵的危险。使用SSH后可以加密通信内容。即使信息被窃听也无法破解所发送的密码、具体命令以及命令返回的结果是什么。
      SSH还包括很多非常方便的功能:
            ◎可以使用更强的认证机制。
            ◎可以转发文件"。
            ◎可以使用端口转发功能。
2、SSH如何通讯
在这里插入图片描述

文件传输

FTP的工作过程

      FTP是通过怎样的机制才得以实现文件传输的呢?它使用两条TCP连接:一条用来控制,另-条用于数据(文件)的传输。
      用于控制的TCP连接主要在FTP的控制部分使用。例如登录用户名和密码的验证、发送文件的名称、发送方式的设置。利用这个连接,可以通过ASCII码字符串发送请求和接收应答,在这个连接上无法发送数据,数据需要一个专门的TCP进行连接。
      FTP控制用的连接使用的是TCP21号端口。在TCP21号端口.上进行文件GET(RETR)、PUT ( STOR)、以及文件一览(LIST) 等操作时,每次都会建立一个用于数据传输的TCP连接。数据的传输和文件一览表的传输正是在这个新建的连接上进行。当数据传送完毕之后,传输数据的这条连接也会被断开,然后会在控制用的连接上继续进行命令或应答的处理。
      通常,用于数据传输的TCP连接是按照与控制用的连接相反的方向建立的。因此,在通过NAT连接外部FTP服务器的时候,无法直接建立传输数据时使用的TCP连接。此时,必须使用PASV命令修改建立连接的方向才行。
      控制用的连接,在用户要求断开之前会一直保持连接状态。不过,绝大多数FTP服务器都会对长时间没有任何新命令输人的用户的连接强制断开。
      数据传输用的TCP连接通常使用端口20。不过可以用PORT命令修改为其他的值。最近,出于安全的考虑,普遍在数据传输用的端口号中使用随机数进行分配。
在这里插入图片描述

电子邮件

      电子邮件的机制由3部分组成,它们分别是邮件地址,数据格式以及发送协议。

邮件地址

      使用电子邮件时需要拥有的地址叫做邮件地址。它就相当于通信地址和姓名。互联网中电子邮件地址的格式如下:
      名称@通信地址
      例如,master@ tcpip. kusa. ac. jp中的master为名称,tcpip. kusa. ac. jp
为地址。电子邮件的地址和域名的构造相同。此处,kusa. ac. jp表示域名,tcpip则表示master接收邮件的主机名称或为发送邮件所用的子网名称。现在个人邮件地址和邮件组的格式完全相同,因此,光从地址上是无法区分个人电子邮件地址和邮件组的。

数据格式

      很长一段时间里,互联网中的电子邮件只能处理文本格式的邮件。不过现在,电子邮件所能发送的数据类型已被扩展到MIME,可以发送静态图像、动画、声音、程序等各种形式的数据。

发送协议

SMTP

      SMTP是发送电子邮件的协议。它使用的是TCP的25号端口。SMTP建立一个TCP连接以后,在这个连接上进行控制和应答以及数据的发送。客户端以文本的形式发出请求,服务端返回一个3位数字的应答。
      每个指令和应答的最后都必须追加换行指令(CR、 LF)。SMTP本身没有验证发送者的功能,接收钓鱼垃圾软件。

POP

      个人电脑不可能长时间处于开机状态。只有用户在使用时才会开机。开机时才能接收邮件在这种情况下,人们希望一开机就能接收到邮件。 然而SMTP没有这种处理机制。
      为了解决这个问题,就引人了POP协议。该协议是一种用于接收电子邮件的协议。发送端的邮件根据SMTP协议将被转发给一直处于插电状态的POP服务器。客户端再根据POP协议从POP服务器接收对方发来的邮件。在这个过程中,为了防止他人盗窃邮件内容,还要进行用户验证。
      POP与SMTP一样,也是在其客户端与服务器之间通过建立一个TCP连接完成相应操作。它的命令都是较短的ASCI码字符串,应答更是极其简单,只有两种。正常的情况下为“+OK", 发生错误或异常的情况下为“-ERR" 。

IMAP

      IMAP与POP类似,也是接收电子邮件的协议。在POP中邮件由客户端进是在服务器端处理MIME信息,所以它可以实现当某一封邮件含有10个附件时
      使用IMAP时,可以不必从服务器上下载所有的邮件也可以阅读。由于IMAP是在服务器端处理MIME信息,所以它可以实现当某一封邮件含有10个附件时“只下载其中的第7个附件”的功能。这在带宽较窄的线路上起着非常重要的作用。而且IMAP在服务器上对“已读/未读”信息和邮件分类进行管理,因此,即使在不同的计算机上打开邮箱,也能保持同步,使用起来非常方便。如此一来,使用IMAP,在服务器上保存和管理邮件信息,就如同在自己本地客户端的某个闪存中管理自己的信息一样简单。

WWW

1、WWW的基本概念

      WWW定义了3个重要的概念,它们分别是访问信息的手段与位(URI,Uniform Resource Identifier) 、信息的表现形式( HTML, HyperText Markup Language)以及信息转发( HTTP,HyperText Transfer Protocol)等操作。

2、URI

      URI是Uniform Resource Identifier的缩写,用于标识资源。URI是一种可以用于WWW之外的高效的识别码,它被用于主页地址、电子邮件、电话号码等各种组合中。如下所示:
在这里插入图片描述
      这些例子属于一般主页地址,也被叫做URL ( Uniform Resource Locator )。URL常被人们用来表示互联网中资源(文件)的具体位置。但是URI不局限于标识互联网资源,它可以作为所有资源的识别码。现在,在有效的RFC文档中,已经不再使用URL,转而在使用URIY。相比URL狭义的概念,URI则是-一个广义的概念。因此,URI可以用于除了WWW之外的其他应用协议中。
在这里插入图片描述

3、HTML

      HTMP是记述Web页的-种语言(数据格式)。它可以指定浏览器中显示的文字、文字的大小和颜色。此外,不仅可以对图像或动画进行相关设置,还可以设置音频内容。
      HTML具有纯文本的功能。在页面中不仅可以为文字或图像附加链接,当用户点击那些链接时还可以呈现该链接所指示的内容,因此它可以将整个互联网中任何一个www服务器中的信息以链接的方式展现。绝大多数互联网中的Web页,都以链接的形式指向关联的其他信息。逐一点开这些链接就可以了解全世界的信息。
      HTML也可以说是www通用的数据表现协议。即使是在异构的计算机上,只要是可以用HTML展现的数据,那么效果基本上是一致的。

4、HTTP

      当用户在浏览器的地址栏里输人所要访问Web页的URI以后,HTTP的处理即会开始。HTTP中默认使用80端口。它的工作机制,首先是客户端向服务器的80端口建立一个TCP连接,然后在这个TCP连接上进行请求和应答以及数据报文的发送。
      HTTP中常用的有两个版本,一个HTTP1.0,另一个是HTTP1.1。在HTTP1.0中每一个命令和应答都会触发一次TCP连接的建立和断开。而从HTTP1.1开始,允许在-一个TCP连接上发送多个命令和应答。由此,大量地减少了TCP连接的建立和断开操作,从而也提高了效率。

5、JavaScript、CGI、 Cookie

JavaScript

      JavaScript是一种嵌人在HTML中的编程语言,作为客户端程序可以运行于多种类型的浏览器中。这些浏览器将嵌人JavaScript的HTML下载后,其对应的JavaScript程序就可以在客户端得到执行。这种JavaScript程序用于验证客户端输人字符串是否过长、是否填写或选择了页面中的必须选项等功能。JavaScript还可以用于操作HTML或XML的逻辑结构( DOM,Document Object Model)以及动态显示Web页的内容和页面风格上。最近,更是盛行服务器端不需要读取整个页面而是通过JavaScript操作DOM来实现更为生动的Web页面的技术。这就是Ajax( Asynchronous JavaScrip and XML)技术。

CGI

      CGI 是Web服务器调用外部程序时所使用的一种服务端应用的规范。
一般的Web通信中,只是按照客户端请求将保存在Web服务器硬盘中的数据转发而已。这种情况下客户端每次收获的信息也是同样(静态)的内容。而引人CGI以后客户端请求会触发Web服务器端运行另一个程序,客户端所输人的数据也会传给这个外部程序。该程序运行结束后会将生成的HTML和其他数据再返回给客户端

      利用CGI可以针对用户的操作返回给客户端有各种各样变化(动态)的信息。论坛和网上购物系统中就经常使用CGI调用外部程序或访问数据库。

Cookie

      Web应用中为了获取用户信息使用一个叫做Cookie的机制。Web 服务器用Cookie在客户端保存信息V (多为 “用户名”和“登录名”等信息)。Cookie 常被用于保存登录信息或网络购物中放人购物车的商品信息。

网络管理

SNMP

      SNMP 是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。 SNMP 使网络管理员能够管理网络效能,发现并解决网络问题以及规划网络增长。通过 SNMP 接收随机消息(及事件报告)网络管理系统获知网络出现问题。
      SNMP的前身是简单网关监控协议(SGMP),用来对通信线路进行管理。随后,人们对SGMP进行了很大的修改,特别是加入了符合Internet定义的SMI和MIB,改进后的协议就是著名的SNMP。基于TCP/IP的SNMP网络管理框架是工业上的现行标准,由3个主要部分组成,分别是管理信息结构SMI(Structure ofManagement Information)、管理信息库MIB和管理协议SNMP。

MIB

      SNMP中交互的信息是MIB ( Management Information Base)。MIB是在树形结构的数据库中为每个项目附加编号的一种信息结构。
      SNMP访问MIB信息时使用数字序列。这些数字序列各自都有其易于理解的名
MIB。不论是哪种类型的MIB都通过SMI ( Structure of Management Information)定MIB相当于SNMP的表示层,它是一种能够在网络上传输的结构。SNMP中义,其中SMI使用ISO提出的ASN. 1方法。

RMON

      RMON是Remote Monitoring MIB的缩写。MIB由监控网络中某个设备接口(某个点)的众多参数构成。相比之下,RMON则由监控网络上线路的众多参数构成。
      RMON中可监控的信息从原来的一个点扩展到了一条线上。这样可以更高效率地监控网络。可监控的内容上也增加了很多从用户角度看极为有意义的信息,如网络流量统计等。
      通过RMON可以监控某个特定的主机在哪里通过什么样的协议正在与谁进行通信的统计信息,从而可以更加详细地了解网络上成为负荷的主体并进行后续分析。
      RMON中从当前使用状况到通信方向性为止,可以以终端为单位也可以以协议为单位进行监控。此外,它不仅可以用于网络监控,以后还可以用于收集网络扩展和变更时期更为有意义的数据。尤其是通过WAN线路或服务器段部分的网络流量信息,可以统计网络利用率,还可以定位负载较大的主机及其协议相关信息。因此,RMON是判断当前网络是否被充分利用的重要资料。

发布了71 篇原创文章 · 获赞 463 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/famur/article/details/105652720