计算机网络--应用层

计算机网络--应用层

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

进程通信

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

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

?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事?!?“怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容

  • 运输层协议概述 从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是...
    srtianxia阅读 2,403评论 0 2
  • 一.应用程序体系结构:(开发者方面考虑) 1.客户-服务器体系结构: 服务器一直打开,来等待客户端的连接,比如:W...
    Skying_阅读 374评论 0 0
  • 1.应用层协议原理 1.1网络应用程序体系结构 1)客户-服务器体系结构 客户相互之间不直接通信。 该服务器具有固...
    Anne的时光阅读 372评论 0 0
  • 1、TCP为什么需要3次握手,4次断开? “三次握手”的目的是“为了防止已失效的连接请求报文段突然又传送到了服务端...
    杰伦哎呦哎呦阅读 3,475评论 0 6
  • 本书结构是自顶向下的,所以请按下列顺序阅读: 1.计算机网络自顶向下--应用层2.计算机网络自顶向下--运输层3....
    牛富贵儿阅读 2,742评论 0 3