您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 理学 > 计算机网络自顶向下方法第二章讲义.
计算机网络2014年9月国防科技学院第2章应用层2第2章应用层计算机网络第2章应用层3浏览新闻聊天听音乐看电影看电视收发Email下载软件网上图书馆网上商店网上银行网上医院网上大学电子商务…..上网?做什么?第2章应用层4E-mailWeb即时讯息远程注册P2P文件共享多用户网络游戏流式存储视频片段因特网电话实时视频会议大规模并行计算某些网络应用第2章应用层5我们的目标:网络应用协议的概念,实现方面运输层服务模型客户机/服务器模式对等范例通过考察流行的应用级协议,学习协议HTTPFTPSMTP/POP3/IMAPDNS网络应用编程套接字API第2章应用层第2章应用层6编写程序能够能够在不同端系统上运行能够通过网络通信如Web:Web服务器软件与浏览器软件通信非网络核心设备的程序三层协议软件(路由器)二层协议软件(交换机、路由器)应用层运输层层网络层链路层物理层应用层运输层层网络层链路层物理层应用层运输层层网络层链路层物理层如何创建一个网络应用程序第2章应用层72.1应用层协议原理2.2Web应用和HTTP协议2.3文件传输协议:FTP2.4电子邮件2.5域名系统DNS2.6P2P应用第2章应用层8客户机/服务器对等(P2P)客户机/服务器与P2P的混合网络应用程序体系结构第2章应用层9C/S模式集中结构,一对多服务器共享资源,客户机资源不共享服务器可能负载过重网络带宽限制C/Sapps:Web,FTP,Telnet,e-mail客户机/服务器体系结构第2章应用层10P2P体系结构P2P模式非集中结构,多对多节点具备客户与服务器双重特性充分利用终端资源可扩展性好类型纯P2P:Gnutella混合P2P:迅雷第2章应用层11进程:运行在端系统中的程序。在同一台主机中:两个进程使用进程间通信IPC(由操作系统定义)通信.在不同的主机中:进程通过交换报文通信客户机进程:发起通信的进程服务器进程:等待联系的进程注意:具有P2P体系结构的应用程序具有客户机进程和服务器进程进程通信第2章应用层12对于接收报文的进程,必须具有一个标识一台主机具有一个独特的32比特的IP地址问题:在主机的IP地址足以标识该进程?答案:在同一台主机上能够运行许多进程标示符包括IP地址和与主机上该进程相关的端口号.端口号例子:HTTP服务器:80电子邮件服务器:25一个主机中可能同时运行有多个进程,接收端从网络收到消息后要交给哪个进程?寻址进程第2章应用层13进程通过套接字在网络上发送/接收报文套接字类似于门上联应用进程下联网络协议栈套接字是应用程序与网络之间的API(应用程序编程接口)进程具有缓存、变量的TCP套接字主机或服务器进程具有缓存、变量的TCP套接字主机或服务器因特网由操作系统控制由应用研发者控制套接字(Socket)第2章应用层14可靠的数据传输某些应用(如音频)能够容忍某些丢失其他应用(如文件传输,Telnet)要求100%可靠数据传输定时某些应用(如因特网电话、交互式游戏)要求“有效的”低时延吞吐量某些应用(如多媒体)要求“有效的”最小量的带宽其他应用(”弹性应用“)充分利用它们获得的所有带宽安全加密,数据完整性,…应用程序需要什么样的运输服务?第2章应用层15应用程序文件传输电子邮件Web文档实时音频/视频存储音频/视频交互式游戏即时讯息数据丢失不能丢失不能丢失不能丢失容忍丢失容忍丢失容忍丢失不能丢失带宽弹性弹性弹性音频:5kbps-1Mbps视频:10kbps-5Mbps同上几kbps以上弹性时间敏感不不不是,100’smsec是,几秒是,100msec普通应用的运输服务要求第2章应用层16TCP服务:面向连接:客户机和服务器之间所需的建立可靠传输:在发送和接收进程之间流控制:发送方不会淹没接收方拥塞控制:当网络过载时抑制发送方并不提供:定时,最小带宽保证UDP服务:在发送进程及接收进程之间的不可靠数据传输不提供:建立连接建立,可靠性,流控,拥塞控制,定时或带宽保证问题:为什么需要UDP?因特网运输协议服务第2章应用层17应用应用层协议下面的传输协议电子邮件SMTP[RFC2821]TCP远程终端访问Telnet[RFC854]TCPWebHTTP[RFC2616]TCP文件传输FTP[RFC959]TCP远程文件服务器NFS[McKusik1996]UDP或TCP流媒体通常专用(如RealNetworks)UDP或TCP因特网电话通常专用(如Net2phone)典型用UDP因特网应用:应用协议与运输协议第2章应用层182.1应用层协议原理2.2Web应用和HTTP协议2.3文件传输协议:FTP2.4电子邮件2.5域名系统DNS2.6P2P应用第2章应用层19Web和HTTP第2章应用层20Web和HTTPWeb:WorldwideWeb,万维网,也称Web,是一种互联网应用。web:网页,网站发展Web1.0阅读式网站Web2.0用户参与,语义网:内容机器可理解第2章应用层21Web和HTTPWeb的应用层协议是HTTP,超文本传输协议Web页面由对象组成一个基本HTML文件多个引用对象:图片,java小程序,视频文件每个对象可由URL寻址URL(UniformResourceLocator统一资源定位符)的例子:主机名路径名协议第2章应用层22HTTP协议运行在客户与服务器端的应用程序中客户机:请求、接收,”显示“Web对象服务器:Web服务器响应请求而发送对象通过交换HTTP消息进行交流HTTP1.0:RFC1945HTTP1.1:RFC2068PC运行Explorer服务器运行ApacheWeb服务器Mac运行NavigatorHTTP概况第2章应用层23使用TCP:客户机向服务器发起TCP连接(产生套接字),端口80服务器从客户机接受TCP连接在浏览器(HTTP客户机)和Web服务器(HTPP服务器)之间交换HTTP报文(应用层协议报文)关闭TCP连接HTTP是”无状态的“服务器不保留有关客户机过去请求的任何信息用户的状态信息由Cookies来实现HTTP概述(续)第2章应用层24非持久HTTP每个HTTP请求/响应对经过一个单独TCP连接发送HTTP/1.0使用非持久HTTP持久HTTP多个对象能够经过客户机和服务器之间的单个TCP连接发送HTTP/1.1以默认模式使用持久连接非持久连接与持久连接第2章应用层25假定输入URL客户机向HTTP服务器(进程)的80端口的请求报文(包含URL)进TCP连接套接字.报文指示客户机要对象someDepartment/home.index1b.在主机连接“接受”连接,通知客户机3.HTTP服务器接收请求报文,形成响应报文包含请求对象,并向套接字其发送报文time(包括文本和对10个jpeg图片的引用images)非持久HTTP第2章应用层265.HTTP客户机接收包含html文件的响应报文,显示html.解析html文件,发现10个引用的jpeg对象6.对10个jpeg对象重复步骤1-54.HTTP服务器关闭TCP连接time非持久HTTP(续)第2章应用层27往返时间RRT的定义:从客户机到服务器发送一个小分组并返回所历经的时间.响应时间(1个HTML文件):建立TCP连接:1个RTT对HTTP请求和响应返回的前几个字节:1个RTT文件传输时间总响应=2RTT+传输时间传输文件的时间发起TCP连接RTT请求文件RTT接收的文件时间时间响应时间估算第2章应用层28非持久HTTP缺点:串行访问时间长并行访问资源占用多持久HTTP在发送响应后,保持TCP连接持续打开后继HTTP报文通过该连接持续发送无流水线的持续:仅当前面的响应已经收到,客户机发出新的请求对每个引用对象花费一个RTT有流水线的持续:在HTTP/1.1为默认(不必等待)请求接连发出所有引用对象花费一个RTT(略多)时间持久HTTP第2章应用层29两类HTTP报文:请求报文,响应报文HTTP请求报文:例子,ASCII(人可读的格式)GET/somedir/page.htmlHTTP/1.1Host::closeAccept-language:fr(另外的回车,换行)请求行(GET,POST,HEAD命令)首部行回车,换行指示报文的结束HTTP请求报文第2章应用层30HTTP请求报文:通用格式通用格式请求行:第1行,方法字段,URL字段,版本字段首部行:一般多行实体主体:可为空第2章应用层31GET:最常用,请求访问网页,实体主体为空POST:常用,提交表单同时请求访问网页,如使用搜索引擎,实体主体中为表单输入值HEAD:少用,测试用,与GET区别在于响应中去掉请求的对象PUT:很少用,向URL字段中定义的路径,上载在实体主体中文件DELETE,很少用,删除在URL字段中定义的文件方法类型第2章应用层32HTTP/1.1200OKConnectioncloseDate:Thu,06Aug199812:00:15GMTServer:Apache/1.3.0(Unix)Last-Modified:Mon,22Jun1998…...Content-Length:6821Content-Type:text/htmldatadatadatadatadata...状态行(协议状态码状态短语)首部行数据,如请求的HTML文件HTTP响应报文观察HTTP响应报文例子第2章应用层33HTTP响应报文:通用格式通用格式状态行:第1行,版本字段,状态码字段,短语字段首部行:一般多行实体主体:报文的主体第2章应用层34200OK请求成功,请求的对象在这个报文后面301MovedPermanently请求的对象已转移,新的URL在响应报文的Location:首部行中指定400BadRequest请求报文不为服务器理解404NotFound请求的文档没有在该服务器上发现505HTTPVersionNotSupported在服务器到客户机响应报文中的首行.一些编码的例子:HTTP响应状态码第2章应用层35使用telnet工具进行HTTP实验telnetInternet远程登陆协议Internet远程登陆命令允许用户登录进入远程主机系统利用SecureCRT工具进行实验:一款支持SSH,telnet,rlogin协议的登录软件在软件中建立telnet协议会话:运行GET/s/2/t/851/p/11/c/832/d/842/list.htm观察结果(设置编码方式为UTF-8)西南科技大学学校简介第2章应用层36使用telnet工具进行HTTP实验第2章应用层37用户与服务器的交互:cookieHTTP是一种无状态协议,不能保存客户信息Cookie是一种在客户端保持HTTP状态信息的技术(好比:商场优惠卡)客户端访问网站时,Web服务器会查看、创建、修改Cookie资料帮助Web站点保存访问者信息:浏览历史,购物车cookie技术组成cookie识
本文标题:计算机网络自顶向下方法第二章讲义.
链接地址:https://www.777doc.com/doc-2045386 .html