计算机网络 2. 应用层

应用架构application architecture。一般网络应用,有两种结构,客户机/server建筑建筑及同行(P2P)。

顾客/server架构client-server architecture于。称为server,它为来自客户机的请求提供服务。客户机之间不进行直接通信。server拥有固定的周知的地址,称为IP地址,且总是处于打开状态。常会出现一台server主机跟不上其全部客户机请求的情况。常使用主机群集a cluster of hosts或者称为server场server farm,创建强大的虚拟server。基于客户机server体系结构的应用服务一般是基础设施密集的infrastrucuture intensive。由于要购买,安装和维护server场。

在P2P体系结构中,对总是打开的基础设施server有最小或者没有依赖。随意时间连接的主机对称为对等方peers,直接通信。

p2p中,最突出的特性是它的自扩展性self-scalability。

进行通信的实际是进程process。而不是程序。

不同端系统的进程通过跨越计算机网络交换报文而相互通信。

分为客户机进程和server进程。

在给定的一对进程之间的通信会话中,发起通信的进程为客户机进程,而等待联系的进程为server进程。

进程通过一个称为套接字socket的软件接口在网络上发送和接收报文。套接字是应用程序与网络之间的应用程序编程接口API。

能够依据可靠传输数据,吞吐量,定时和安全性相应用程序服务进行分类。

可靠传输数据:可靠传输数据reliable data transfer,运输层进行可靠的传输数据,当运输层使用这样的服务时,就能够相信该数据无差错的到达接收进程。当一个运输层协议不提供可靠传输数据时。对于容忍丢失的应用loss-tolerant application,如多媒体应用,一定程度的数据丢失是能够接受的。

吞吐量throughput:具有吞吐量要求的程序称为带宽敏感应用bandwidth-sensitive application。大多多媒体应用都是带宽敏感的。

而弹性应用elastic appliction可以依据须要充分利用可供使用的吞吐量。

定时timing:运输层协议也提供定时保证,如同保证吞吐量一样。不同的应用程序对时间限制不同。

安全性security:运输层协议可以为应用程序提供一种或多种安全性服务。

因特网或者能够说是TCP/IP网络上的应用使用两个运输层协议:UDP和TCP。

TCP服务:包含面向连接服务和可靠传输数据服务。当应用层程序调用tcp协议作为它的运输层协议时。该应用程序就获得了这两种服务。

面向连接服务 connection-oriented service:在报文開始流动前,客户机程序和server程序之间交换运输层控制信息。即握手过程 handshaking。握手过程提示客户机和server做好了传输分组的准备。握手后。在两个进程的套接字sockets之间建立了一个TCP连接TCP connection。

可靠传输数据服务reliable data transfer service:进行通信的进程,无差错。按顺序交付发送的数据。

UDP服务是无连接的。没有握手过程。udp不能保证报文可以正确被接收。且没有拥塞控制机制。

进程寻址addressing processes:须要主机的名称或地址和用来指定目的主机上接收进程的标志。主机是用IP地址来进行标识的。进程由 目的地端口号port number来指定。

在一个主机上可能同一时候有多个进程都要使用同一个port。如多个浏览器都用80port来浏览网页。可是操作系统规定了一个时间仅仅能有一个进程在使用port和监听port,即当你让一个进程获得焦点时。就是它在使用port,而其它进程无法使用port。

应用层协议定义了:

交换的报文类型,如请求报文和响应报文。

各种报文的syntax语法,如报文中每一个字段及其具体描写叙述。

字段的语义。即包括在字段中的信息的含义。

进程何时以及怎样发送报文,以及对报文进行响应的规则。

应用层协议是网络应用的一部分。

Web应用和HTTP协议:

web的应用层协议为 超文本传输协议HyperText Transfer Protocol HTTP。

HTTP由两部分程序实现,一个客户机程序。一个server程序。

Web页面Web page是由对象组成的,对象object就是文件,html文件,图片文件。视频文件等。文件通过url地址寻址。

web一般包括一个主要的HTML文件和几个引用对象。

HTTP使用TCP作为运输层协议。HTTP不保存关于客户机的不论什么信息。是一个无状态协议stateless protocol。

非持久连接non-persistent connection:每一个请求/响应经一个单独的TCP连接发送。

持久连接persistent connection:全部的请求经由同样的TCP连接发送。HTTP默认使用持久连接。

对于非持久连接,当一个网页有多个引用时,每一次对引用文件的载入都须要创建一个新的连接来数据传输。往返时间Round-Trip Time RTT,为一个分组从客户机到server再回到客户机的时间。而每一个TCP连接都有三次握手的过程。

HTTP报文:

请求报文Response Message:请求报文的第一行叫做请求行require line。其后继的行叫做首部行header line。剩下的行为实体主体entity body。

请求行有三个字段field:方法字段。URL字段和HTTP版本号。方法字段的取值为GET,POST,HEAD,PUT,DELETE。

套接字编程。

待续。

版权声明:本文博主原创文章。博客,未经同意不得转载。

计算机网络 2.
应用层

时间: 2024-12-08 12:55:25

计算机网络 2. 应用层的相关文章

计算机网络之应用层

应用层作文协议栈的最高层,与用户亲密打交道的的协议层也就是应用层.场景的组件:浏览器,http服务器等. 主要内容 1网络应用体系结构 2.进程通信 3 需要传输层提供服务 4 应用层协议 2种网络应用体系结构 客户-服务器体系结构 代表协议为HTTP.特点:(1)客户端之间不可直接通信:(2)服务器有已知的IP,服务器总是打开的. 容易出现性能问题:一台服务器往往跟不上海量的客户请求. P2P体系结构 对服务器要求相对不高:应用程序间可以直接通信.直接通信的主机叫peers,一般是用户控制的主

计算机网络之应用层_part -1

应用层协议原理 一.网络应用程序体系结构 网络应用程序体系结构是由程序研发者设计的,规定了如何在各种端系统中组织该应用程序,主要流行的有两种: 1.客户--服务器体系结构: 有一个总是打开的主机(称为服务器),他服务于来自许多的其他的称为客户的主机的请求,客户--服务器体系结构德 一个典型的例子是:Web应用程序,其中总是打开的Web服务器接收到来自其他客户的对某对象的请求时,它会向该客户发送所请求的对象作为响应.值得注意的是客户--服务器体系结构有两个重要特征: a.客户之间不直接通信 b.服

计算机网络的应用层简单介绍:

应用层的常用的两种网络结构: client-server 结构和 P2P结构(即peer to peer): 在这一层要涉及到端口与进程:各应用之间的通信实际上为各进程之间的通信:用端口号来区分同一台机器上的不同进程: socket:为进程之间的接口,又称为API(application programming interface), 它可以看信息在出进程中的出入口: 整个结构大致如下图所示: WEB与HTTP: HTTP为超文本传输协议,(HyperText transfer protocol

计算机网络之应用层_part -3

应用层协议之文件传输协议:FTP 在一个典型的FTP会话中,用户坐在一台主机(本地主机)前面,向一台远程主机传输(或者接受来自远程主机的)文件.为使用户能访问它的远程账户,用户必须提供一个用户标识和口令.用户首先提供远程主机的主机名,使本地主机的FTP客户进程建立一个到远程主机FTP服务器进程的TCP连接.该用户接着提供用户标识和口令,作为FTP命令的一部分在该TCP连接上传输.一旦该服务器向该用户授权,该用户可以将存放在本地的文件系统中的一个或者多个文件复制到远程的文件系统中. FTP文件传输

【计算机网络】应用层1

咱看书没有顺序,喜欢哪里看哪里,so,先看跟我平时使用网络最相关的应用层~ 域名与url 域名是IP的别名,比如www.baidu.com,其中越靠后的就越表示域名等级越高,com是顶级域名,baidu是二级域名,但是www是不是三级域名我就搞不懂了.还有,一个域名对应一个ip,那这么多信息都放在一个ip上啊,是说有很多个牛掰的服务器都用这一个ip吗?为了把域名和ip对应起来,DNS服务器就要起作用了,配置ip时的DNS就是我们查询域名时询问的服务器,不过这么多信息不会都存在一个DNS上的,这个

计算机网络之应用层初识

一,定义 应用层是直接为用户提供服务的,两个应用层的通信之中有一个逻辑连接(有主机a的应用层...-物理层-交换机a-路由器-交换机b-主机b的物理层-...应用层),也就是说我们可以假想成一个直接的连接,也就是我们可以使用应用层发送和接收报文. 二,标准应用层协议和非标准 在应用层上的协议并且被internet官方标准化和归档的协议陈为标准应用层协议,比如http,ftp,ssh等 非标准应用层协议是用户自定义在应用层上的一些协议,因为有时候对应官方规定的协议对于程序员来说有可能不好用,或者太

<计算机网络>计算机网络和应用层

1.端系统通过通信链路和分组交换机连接在一起,构成网络.网络和网络之间通过路由器相连,组成了因特网. 2.ISP(Internet Service Provider)因特网服务提供商.端系统通过ISP接入互联网,每个ISP是由一个或者多个分组交换机和多段通信链路组成的网络.为了允许因特网用户之间互相通信,允许用户访问世界范围的因特网内容,这些低层ISP通过国家的.国际的高层ISP互联起来.高层ISP是由通过高速光纤链路互联的高速路由器组成.每个ISP都是独立管理的,运行IP协议,遵从一定的命名和

Git的原理简介和常用命令

Git和SVN是我们最常用的版本控制系(Version Control System, VCS),当然,除了这二者之外还有许多其他的VCS,例如早期的CVS等.顾名思义,版本控制系统主要就是控制.协调各个版本的文档内容的一致性,这些文档包括但不限于代码文件.图片文件等等.早期SVN占据了绝大部分市场,而后来随着Git的出现,越来越多的人选择将它作为版本控制工具,社区也越来越强大.相较于SVN,最核心的区别是Git是分布式的VCS,简而言之,每一个你pull下来的Git仓库都是主仓库的一个分布式版

读书笔记:计算机网络8章:应用层

最近一个问题很困扰我,今天则得到了答案,也意味着我该选择了. 不知道大家有没有遇到过这样的情况,我是上年刚毕业,大四时进行过java培训,12年9月-13年4月,在这之前已经自学过java.7月份时进入一家公司工作,今年3月份辞职,4月份找到工作,来上班了.一开始就不太喜欢公司氛围,前台,hr,态度什么的都不太好,工作环境也极像客服部,整天电话不断,讨论声不断,第一个星期真是煎熬,去了两三天之后有辞职的想法,但是后面想想还是算了,公司待遇还可以. 但是进入到公司后leader让学PHP,学PHP