Chapter 9 应用层n9.1网络的计算和访问模式n9.2域名服务(DNS)n9.3简单网络管理(SNMP)n9.4文件服务(FTP)n9.5远程登录(TELNET)n9.6电子邮件(SMTP)n9.7WWW(HTTP)9.1网络的计算和访问模式n以大型机为中心的计算模式-分时共享模式(time-sharing)n特点:许多用户共享CPU资源和数据存储功能,终端只用于命令的输入和结果的显示n以服务器为中心的计算模式-资源共享(resource-sharing)模式n特点:共享共同的应用,如文件服务器,打印服务器n客户/服务器(Client/Server)模式n特点:系统使用了客户和服务器双方智能、资源和计算能力来执行一个特定的任务n应用:前端(即客户部分)/后端(服务器部分)n对等(Peer to Peer,P2P)模式n特点:用户和资源处于对等状态,分布式计算客户/服务器模式(Client/Server)客户服务器请求命令服务结果网络接口操作系统(TCP/IP)服务应用核心服务驱动网络接口操作系统(TCP/IP)客户应用用户界面applicationtransportnetworkdata linkphysicalapplicationtransportnetworkdata linkphysicalrequestreplyInternet对等通信模式(Peer to Peer,P2P)n定义:为了达到既定目标而进行的、生产者和消费者之间直接的信息和服务双向交换行为。
Web创建创建发布P2P下载下载P2P连接资源的方式n集中结构n在完全集中结构中,所有资源都在信息流中的服务器上进行标识如NETIhomen间接P2P结构n在这种结构中,网络中的服务器代表对等设备团体来管理一些功能,然后从网络边缘的对等设备中退出如Napster,Grooven分布式P2P结构n这类结构不使用服务器来进行路由、缓存、文件共享等操作如GnutellaInternet逻辑的P2P网络(overlay)P2P的特点n优点nP2P提供了完整的分布式对称体系nP2P利用了个人计算机的信息和应用程序服务nP2P利用了Internet的开放特性nP2P提供了Internet的所有财富n缺点n不可预见性,集成性,可用性,n对等控制性,安全性应用层需要什么样的传输层来提供服务呢?可靠性n某些应用允许少量的包丢失,如话音n某些应用需要100%的可靠传输,如FTP等时延n某些应用对延时、延时抖动有严格要求如实时多媒体业务n某些则对延时要求比较宽松如数据传输带宽n某些 需要有一定量的带宽保证(如音、视频)n某些则对带宽没有特定的要求Internet 传输层提供的服务TCP service:nconnection-oriented:setup required between client,servernreliable transport between sending and receiving processnflow control:sender wont overwhelm receiverncongestion control:throttle sender when network overloadedndoes not providing:timing,minimum bandwidth guaranteesUDP service:nunreliable data transfer between sending and receiving processndoes not provide:connection setup,reliability,flow control,congestion control,timing,or bandwidth guarantee Q:why bother?Why is there a UDP?9.2域名服务(DNS)n域名是用来标识网络上的主机,它与主机的IP地址相对应,一台主机可以有多个域名。
n域名由字符和点分号组成,如,成员名最长不超过63字符,全名不超过255字符n域名的命名遵循组织界限,而不是物理网络n域名系统是分级的分布式数据库系统,用来查找域名与IP地址的对应关系n查询域名的应用程序叫解析器(resolver),存储域名与IP地址对应关系的服务器叫名字服务器nDNS报文传输层可采用TCP或UDP协议,端口号均为53号Internet的域名空间cneduustcDNS服务器层次结构根域名顶级域名二级域名域名查询名字服务器域名解释器当用户要访问网上的资源时,可以键入目标服务器的域名或点击某个网页的图标,主机上的域名解释器先查询本机上的cache,如果没有该表项,则向域名服务器请求域名服务域名查询类型n递归查询(recursive query):每一个被请求的名字服务器如果没有该记录,它就会向其它域名服务器查询,并沿着查询的路径逐个返回记录n迭代查询(iterative query):本地服务器如果没有该记录,就向高级域名服务器请求,被请求的服务器如果没有该记录就会返回一个可供查询的名字服务器地址n逆向查询(inverse query):给定 IP 地址查询主机的域名递归查询例:查询linda.cs.yale.edu的IP地址迭代查询注意:域名查询采用客户/服务器方式,通常,某一个名字服务器同时又是其它名字服务器的客户。
DNS的资源记录(Resource Record)n当解析器给DNS一个域名,取回的是一个与该域名相对应的资源记录所以DNS的实际功能就是把域名映射到一条记录上n一条资源记录共有5项:nDomain_name Time_to_live Type Class ValuenTime_to_live:生存时间,例如,时间较长的有一天(86400秒),短的有一分钟(60秒)nType:指出记录的类型(下一页详细解释)nClass:对Internet,它总是INnValue:可以是数字、域名或ASCII字符,其语义基于记录类型9.3简单网络管理(SNMP)n1990年5月,IETF RFCs 1155,1156,and 1157定义了SNMPv1后来RFC 14411452定义了加强版SNMPv2,RFC3411RFC3415定义了SNMPv3nSNMP模型包括以下4个组成部分:n管理节点:可以是主机、路由器等网络设备,为了便于管理,节点必须能运行SNMP管理进程,即SNMP代理n管理站点:网络上运行SNMP管理软件的计算机,它与网络上的SNMP代理通信n管理信息:每个设备都有一个或多个变量(称为对象,object),网络上所有对象的集合构成管理信息数据库(MIB)。
n管理协议:SNMP协议管理信息数据库MIBnSNMP管理的对象集合定义在MIB中,SNMPv2定义了10个类,175个对象组别对象数描述System(系统)7名字、位置和设备描述Interfaces(接口)23网络接口AT3地址转换IP42IP分组统计ICMP26已收到的ICMP消息统计TCP19TCP算法、参数统计UDP6UDP通信量统计EGP20外部网关协议通信量统计Transmission(传输)0保留SNMP29SNMP通信量统计简单网络管理协议SNMPnSNMP定义了7种可以发送的消息,前6种如下表所示,第7种是应答消息消息描述Get-request请求一个或更多个变量的值Get-next-request请求紧跟当前变量下一个变量的值Get-bulk-request请求一组变量值Set-request设置一个或多个变量Inform-request描述本地MIB的管理者至管理者的消息Snmpv2-trap代理向管理者发送陷阱报告9.4文件服务(FTP)nFTP:File Transfer Protocol,RFC959n目的:文件传送(上载或下载)file transferFTPserverFTPuserinterfaceFTPclientlocal filesystemremote filesystemuser at hostFTP ModelTCP 20TCP 21ftp commands,responsesSample commands:nsent as ASCII text over control channelnftp 202.38.75.79nUSER usernamenanonymousnPASS passwordnLI return list of file in current directorynget filename nput filenamenhelpSample return codesnstatus code and phrase(as in http)n331 Username OK,password requiredn125 data connection already open;transfer startingn425 Cant open data connectionn452 Error writing fileTCP连接,23端口Network Virtual Terminal语言不通翻译9.5远程登录(TELNET)n提供本地用户访问远程资源nRFC 854n由于不同厂商的计算机的终端系统存在不同的字符标记系统,TELNET提供了一种专门的键盘定义,称为网络虚终端。
9.6电子邮件nEmail系统由两部分组成:n用户代理:负责报文的生成与处理,实质上就是一个程序用来阅读、编写、发送邮件n报文传输代理:负责建立与远程主机的通信和邮件传送nSMTP-Simple Mail Transfer ProtocolnRFC 821nPOP-Post Office ProtocolnRFC 1939SMTPn用简单邮件传输协议在邮件服务器(Message Transfer Agents)之间传输邮件n传输层采用TCP,25端口MTAMTAUASMTPFileSystemMTASMTPUAPOP Post Office ProtocolnUsed to transfer mail from a mail server to a UA(user agent).MailServerUAFileSystemPOPSample smtp interaction S:220 hamburger.edu C:HELO crepes.fr S:250 Hello crepes.fr,pleased to meet you C:MAIL FROM:S:250 alicecrepes.fr.Sender ok C:RCPT TO:S:250 bobhamburger.edu.Recipient ok C:DATA S:354 Enter mail,end with.on a line by itself C:Do you like ketchup?C:How about pickles?C:.S:250 Message accepted for delivery C:QUIT S:221 hamburger.edu closing connectionntelnet servername 25nsee 220 reply from servernenter HELO,MAIL FROM,RCPT TO,DATA,QUIT commands nabove lets you send email without using email client(reader)9.7 WWW(HTTP)n万维网(World Wide Web)起源于1989年欧洲粒子物理研究所,由庞大的、分布在世界各地的文档的集合组成,文档的编写采用HTML(HyperText Markup Language)和Java语言,它采用HTTP(HyperText Transfer Protocol)协议,RFC 1945(HTTP 1.0),文档通过浏览器(browser)来观看。
nWWW的特点是:n将资源按对象进行分类n采用超文本(超文本(hypertext)技术,将菜单嵌入文本中n采用超媒体(超媒体(hypermedia)技术,能检索和浏览非文本信息,如音、视频)n使用超链接(超链接(hyperlink)技术,用户可以访问一个又一个文档URL(Uniform Resource Locator)统一资源定位器统一资源定位器由三部分组成:协议;网站域名;文档路径及文件名例如:http:/ Resource Locator)统一资源定位器由三部分组成:协议;网站域名;文档路径及文件名超文本传输协议HTTP 传输层采用TCP协议,80端口 由客户向服务器发出连接,服务器接受与客户的连接 在客户与服务器之间交互HTTP报文 关闭TCP连接Trying out http(client side)for yourself1.Telnet to your favorite Web server:Opens TCP connection to port 80(default http server port)at telnet 802.Type in a GET http request:GET/ch/index.phpBy typing this,you sendthis minimal(but complete)GET request to http server3.Look at response message sent by http server!小结n掌握应用层的各种服务。