美文网首页
计算机网络--应用层

计算机网络--应用层

作者: 帽子和五朵玫瑰 | 来源:发表于2018-07-11 10:37 被阅读0次

    计算机网络--应用层

    网络应用时计算机网络存在的理由,如果我们不能构想出任何有用的应用,也就没有任何必要去设计支持它们的网络协议了。

    进程通信

    在两个不同端系统上的进程,通过跨越计算机网络交换报文。而相互通信,发送进程生成并向网络中发送报文。

    1.客户和服务器进程

    网络应用程序由成对的进程组成,这些进程通过网络相互发送报文。

    2.进程与计算机网络之间的接口

    多数应用程序是由通信进程对组成,每对中的两个进程互相发送报文。从一个进程向另一个进程发送的报文必须通过下面的网络。进程通过一个称为套接字的软件接口向网络发送报文和从网络接收报文。我们考虑一个类比来帮助我们理解进程和套接字。

    套接字是同一台主机内应用层与运输层之间的接口。由于该套接字是建立网络应用程序的可编程接口,因此套接字也称为应用程序和网络之间的应用程序编程接口(API)。应用程序开发者可以控制套接字在应用层端的一切,但是对该套接字的运输层端几乎没有控制器。应用程序开发者对于运输层的控制权限于:1.选择运输层协议,2.也许能设定几个运输层参数。一旦应用程序开发者选择了一个运输层协议,则应用程序就建立在有该协议提供的运输层服务之上。

    3.进程寻址

    为了向特定目的地发送邮政邮件,目的地需要有一个地址,类似的,在一台主机上运行的进程为了向在另一台主机上运行的进程发送分组,接受进程需要有一个地址,为了表示该接收进程,需要定义两种信息:1.主机的地址,2.定义在目的主机中的接受进程的标识符。

    在因特网中,主机由其IP地址标识,除了要知道ip地址之外,还必须制定目的主机的接受进程(更具体的说,就是接受套接字)。因为一般而言一台主机能够运行许多网络应用,这些信息是需要的,目的地端口号,用于这个目的,已经给留下的应用分配了特定的端口号。例如:Web = 80.邮件服务器进程(使用SMTP)用端口25标表示。

    4.可供应用程序使用的运输服务

    套接字是应用程序进程和运输层协议之间的接口,在发送端的应用程序将报文推送给套接字,在套接字的另一端,运输层协议负责使该报文进入接受进程的套接字。

    包括英特网在内的很多网络提供了不止一种的运输层协议,当开发一个应用是,必须选择一种可用的运输层协议,最可能的方式是,通过研究这些可用的运输层协议所提供的服务,选择一个最能为你的应用需求提供恰当服务的协议,这种情况类似于在两个城市间旅行时选择交通工具,你必须选择一种或另一种,

    一个运输层协议能够为调用它的应用程序提供什么服务呢?我们大体能够从四个方面对应用程序服务要求进行分类,1.可靠数据传输,吞吐量,定时和安全性。

    1.可靠数据传输

    为了支持数据的可靠性(不能丢失)必须做一些工作以确保由应用程序的一端发送的数据正确,完全的交付给该应用程序的另一端,如果一个协议提供了这样的确保数据交付的服务,就认为提供了可靠数据传输,运输层协议能够潜在的向应用程序提供一个重要服务是进程到进程的可靠数据传输。当一个运输协议提供这种服务是,发送进程只要将其数据传递进套接字,就可以完全相信该数据能无差错的到达接受进程。

    2.吞吐量

    即运输层协议能够以某种特定的速率提供确保的可用吞吐量

    3.定时

    发送方进入套接字中的每个比特到达接收方的套接字不迟于100ms。

    4.安全性

    运输协议能够加密由发送进程传输的所有数据,在接受主机中,运输层协议能够在将数据交付给接受进程之前揭秘这些数据。

    因特网提供的运输服务

    因特网(TCP/IP)为应用程序提供了两个运输层协议,TCP和UDP。为因特网创建一个新的应用时,首先要做出的决定时,选择UDP还是选择TCP。每个协议为调用它们的应用程序提供了不同的服务集合。包括(数据可不可丢失,带宽时弹性的还是更具不同文件类型的速率,时间敏感度怎么样)

    1.TCP服务。

    TCP服务模型包括面向连接服务和可靠数据传输服务。当某个应用程序调用TCP作为其运输协议时,该应用程序就能获得来自TCP的这两种服务。

    ·面向连接的服务:在应用层数据报文开始流动之前,TCP让客户和服务器互相交换运输层控制信息,这个所谓的握手过程提示客户和服务器,是他们为大量分组的到来做好准备。再握手阶段后,一个TCP连接就在两个进程的套接字之间建立了,这条连接时全双工的,即连接双方的进程可以在此连接上同时进行报文收发。当应用程序结束报文发送时,必须拆除该连接,

    ·可靠的数据传输服务:通信进程能够依靠TCP,无差错,按适当顺序交付所有发送的数据,当应用程序的一端将字节流传进套接字时,它能够依靠TCP将相同的字节流交付给接收方的套接字,而没有字节的丢失和冗余。

    TCP协议还具有拥塞控制机制,这种服务不一定能为通信进程带来直接好处,但能为因特网带来整体好处,当发送方和接收方之间的网络出现拥塞时,TCP的拥塞控制机制会抑制发送进程。TCP拥塞控制也试图限制每个TCP连接,使他们达到公平共享网络带宽的目的。

    无论是TCP还是UDP都没有提供任何加密机制。因此因特网届已经研制了TCP的加强版,称为安全套接字(SSL)。用SSL加强的TCP不仅能够做传统TCP的一切,而且还提供了关键的进程到进程的安全性服务,包括(加密,数据完整性,和端点鉴别)

    2.UDP服务

    UDP是一种不提供不必要服务的轻量级运输协议,它仅提供最小服务。UDP是无连接的,因此在两个进程通信前没有握手过程,UDP提供一种不可靠数据传输服务。也就是说,当一个进程将一个报文发送进UDP套接字是,UDP并不保证该报文将到达接受进程,不仅如此,到达接受进程的报文也可能是乱序到达的。

    UDP没有拥塞控制机制,所以UDP的发送端可以用它选定的任何速率向其下层(网络层)注入数据,

    page=63

    相关文章

      网友评论

          本文标题:计算机网络--应用层

          本文链接:https://www.haomeiwen.com/subject/bdacpftx.html