您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 华中科技大学计算机网络课件-第2章-应用层
计算机网络第2章应用层第二章应用层2020年4月8日2目录应用层协议原理WEB应用和HTTP协议文件传输协议:FTP因特网中的电子邮件DNS:因特网的目录服务P2P应用第二章应用层2020年4月8日32.1应用层协议原理常见的网络应用上网浏览新闻——IE、Maxthon、FireFox……处理电子邮件——OutlookExpress、FoxMail聊天——QQ、MSNMessenger、UC……网络电话——SkyPe、Net2Phone……网络游戏对战——CS、魔兽世界、联众……资源共享——FTP、BT、EMULE……在线视频——VOD、ppLive……搜索引擎——Google、百度、MSNSearch…第二章应用层2020年4月8日42.1应用层协议原理看了这么多成功的网络应用,可能你会跃跃欲试,很想编写一个类似于Google这样的超级网络应用,期待自己有一天也能成功迈入世界级的IT风云人物之列,甚至试图问鼎一下世界首富……那么现在的你应该做些什么呢?第二章应用层2020年4月8日52.1应用层协议原理知道什么是网络应用程序可以向网络发送数据可以从网络接收数据可以对数据进行处理也许还能够将数据展现在界面上,以非常友好的方式让你知道它在做什么不时弹出一个小窗口,提示你不要太辛勤工作了,以表示对你无微不至的关怀……第二章应用层2020年4月8日62.1应用层协议原理决定你的网络应用所采用的体系结构客户/服务器体系结构(C/S):Web、FTPP2P体系结构:EMULE、BitTorrent混合体系结构:QQ第二章应用层2020年4月8日72.1应用层协议原理客户/服务器体系结构特征存在一个能够向客户机提供服务的服务器,e.g.,Web服务器存在一个或者多个主动连接服务器,试图从服务器那里获取所需服务的客户机,e.g.,IE浏览器特别注意1:客户之间不能互相通信特别注意2:为提高服务器的处理能力,通常采用服务器群集(ServerFarm)客户/服务器第二章应用层2020年4月8日82.1应用层协议原理P2P体系结构特征任何一方既提供服务又享受服务结点之间可以直接通信结点的地址以及他们之间的连接可能随时发生变化例如:Gnutella特别注意:P2P体系结构非常容易扩展,但也特别难以管理P2P第二章应用层2020年4月8日92.1应用层协议原理混合体系结构C/S体系结构和P2P体系结构的混合体考虑第一个P2P应用Napster和即时通信(IM)第二章应用层2020年4月8日102.1应用层协议原理网络应用涉及各个组成部分的交互同一台主机上的进程之间通信的规则,由操作系统制定,和计算机网络无关,本课程不讨论。如需要了解,可参阅《操作系统》及相关书籍不同主机上的进程之间通信的规则和网络相关,这套规则在计算机网络中,称之为“应用层协议”,也是本章重点讨论的内容第二章应用层2020年4月8日112.1应用层协议原理当你的网络应用程序运行起来后,就变成了网络应用进程。产生了如下问题:当你的网络应用和其它人开发的网络应用共同运行在一台主机上时,如何对这些网络应用进行区分?通信子网只负责把数据交付到主机,并不负责把数据交付到应用进程,主机如何知道数据该交付到哪个网络应用进程?第二章应用层2020年4月8日122.1应用层协议原理一个例子你有一个信箱(非电子的),并且每天都会查看一次信箱,取走新的信件和报纸。但是家里有七口人邮局只负责根据信件上的门派号码把信送到信箱里家里的每个成员根据收信人姓名从信箱里拿到自己的信件信箱就像主机,而家里的每个成员就像主机上运行的网络进程信箱靠门派号码寻址,主机靠IP地址寻址家庭成员靠姓名寻址,主机上的进程靠端口号寻址通过主机+端口号可以找到一台主机上的进程(靠门派号+收件人姓名才能找到收件人)第二章应用层2020年4月8日132.1应用层协议原理类比到因特网,提供了类似的解决方法,那就是“套接字(Socket)”每个网络应用进程都有一个属于自己的套接字,该套接字在整个因特网上独一无二主机地址:标识该网络应用进程运行在因特网上哪一台主机上,通常使用32位的IP地址进行标识端口地址:在该主机上标识该网络应用进程,通常使用16位的端口号进行标识e.g.,WEBServer:80;MailServer:25;套接字的长度为48位第二章应用层2020年4月8日142.1应用层协议原理进程通过套接字来接收和发送报文套接字相当于一个通道发送进程将报文交给套接字套接字将这些报文传输到接收进程的套接字processTCPwithbuffers,variablessockethostorserverprocessTCPwithbuffers,variablessockethostorserverInternetcontrolledbyappdeveloper第二章应用层2020年4月8日152.1应用层协议原理因特网会给网络应用提供很多不同类型的服务,你的网络应用需要哪些服务呢?数据的可靠传输:你的网络应用是否需要可靠?带宽的自动控制:你的网络应用对带宽是否敏感?传输和反馈的实时性安全性:SSL(安全套接字层,在应用层实现)第二章应用层2020年4月8日162.1应用层协议原理常见应用程序对传输服务的要求应用程序文件传输电子邮件Web网页实时音频/视频存储音频/视频交互式游戏即时讯息数据丢失不能丢失不能丢失不能丢失允许丢失允许丢失允许丢失允许丢失不能丢失带宽弹性弹性弹性音频:5Kb-1Mb视频:10Kb-5Mb同上几Kb/s以上弹性时间敏感不不不100’smsecfewsecs100’smsecyesandno第二章应用层2020年4月8日172.1应用层协议原理因特网运输层将所提供的服务整合成两类传输服务,你需要决定你的网络应用使用哪一类传输服务。传输控制协议TCP面向连接:在客户端和服务器进程之间需要建立连接可靠传输:在发送进程和接收进程之间流量控制:发送数据的速度不能超过接收的速度拥塞控制:当网络超负荷时,约束发送端口,减缓发送速度不提供:实时性,最小带宽承诺第二章应用层2020年4月8日182.1应用层协议原理UDP在客户端和服务器进程之间实现“不可靠的”数据传输不提供:连接建立,可靠性保证,流量控制,拥塞控制,实时性,最小带宽承诺第二章应用层2020年4月8日192.1应用层协议原理因特网常见应用采用的传输协议应用电子邮件远程终端访问Web文件传输流媒体IP电话应用协议smtp[RFC821]telnet[RFC854]http[RFC2068]ftp[RFC959]HTTP(如YouTube)、RTPSIP、RTP或专用协议(如Skype)所依赖的传输协议TCPTCPTCPTCPTCPorUDP通常使用UDP第二章应用层2020年4月8日202.1应用层协议原理至此你已经获得了构造属于你自己的网络应用所需要的最基本的知识。但是这还远远不够,你还需要继续学习:协议到底怎样工作套接字如何工作传输层的服务是如何提供的IP地址是怎么回事网卡和网线起了什么样的作用如何保证网络应用的安全性和性能……第二章应用层2020年4月8日212.2WEB应用和HTTP协议历史的回顾19世纪70年代,电话的发明,扩展了人类通信的范围,增强了人类通信的实效性20世纪20年代,广播收音机和电视的发明,极大的丰富了人类可获取信息20世纪90年代,WEB的发明,极大的提高了人类主动获取信息的能力广播、收音机、电视和WEB的比较广播形式和按需操作你不能发布电视节目,但可以发布WEB内容第二章应用层2020年4月8日222.2WEB应用和HTTP协议WEB的构成WEB服务器:IIS、Apache、TomCat……浏览器:IE、Maxthon、Firefox协议信息表达的协议——HTML信息传输的协议——HTTP说明:WEB属于C/S模式第二章应用层2020年4月8日232.2WEB应用和HTTP协议WEB内容的表达Web页面由一些对象组成。对象可以是HTML文件,JPEG图片,音频文件,JavaApplet……HTML文件是Web页面的基础,它可以包括各种各样的对象,是一个容器对象如果一个HTML文件包含5个图片,就一共有6个对象任何一个对象都可以用URL来定位URL的例子:主机名路径名第二章应用层2020年4月8日242.2WEB应用和HTTP协议WEB内容的传输——HTTP协议客户端/服务器模式客户端:浏览器请求、接收、展示Web对象服务器:Web服务器发送对象,对请求进行响应http1.0:RFC1945http1.1:RFC2068运行IE浏览器的PC运行IIS的服务器运行FireFox浏览器的PC第二章应用层2020年4月8日252.2WEB应用和HTTP协议HTTP:TCP传输服务:客户端启动TCP连接请求(创建套接字)到服务器,端口80服务器接受来自客户端的TCP连接请求并建立连接http报文(应用层协议报文)在浏览器(httpclient)和Web服务器(httpserver)之间进行交换关闭TCP连接http是“无状态(stateless)”的服务器不保留任何访问过的请求信息小评论保留状态的协议很复杂!过去的历史(状态)需保留一旦浏览器/服务器崩溃,它们各自的状态视图就会发生分歧,还需要重新进行核对。第二章应用层2020年4月8日262.2WEB应用和HTTP协议HTTP1.0的传输模式——非持久连接假设用户键入了一个URL客户端启动TCP连接到服务器(进程).Port80是http服务器的默认端口.2.http客户端发送http请求报文(包括URL)进入TCP连接插口(socket)1b.在的连接请求.“接受”连接并通知客户端3.http服务器接收到请求报文,形成响应报文(包含了所请求的对象,cs/index.htm),将报文送入插口(socket)time(该网页包含文本并引用了10jpeg图片)第二章应用层2020年4月8日272.2WEB应用和HTTP协议5.http客户端接收到了包含html文件的响应报文。分析html文件,发现10个引用的jpeg对象6.对10jpegobjects逐个重复1-5步4.http服务器关闭TCP连接.time第二章应用层2020/4/82.1网络应用层原理第2章:应用层-28响应时间模型RTT:一个小分组从client到server,再回到client的时间。(RoundTripTime)响应时间:1个RTT启动TCP连接1个RTT:从开始发送请求到响应报文的第一个字节到达的时间文件传输时间total=2RTT+文件传输时间timetotransmitfileinitiateTCPconnectionRTTrequestfileRTTfilereceivedtimetime第二章应用层2020年4月8日292.2WEB应用和HTTP协议非持久连接工作机制分析取对象需要2RTTs(Round-TripTime)TCP连接对象请求/传送许多浏览器同时打开多个并行的连接来改善性能考虑:如果有1万台客户机访问WEB服务器的某个页面,该页面有100个对象,那就意味着需要100万个连接,1个服务器能够支持吗?第二章应用层2020年4月8日302.2WEB应用和HTTP协议HTTP1.1引入的新传输模式——持久连接服务器在发送响应后,不再断开TCP连接,而是保持该连接,用于后续对象的传送,直至该连接“
本文标题:华中科技大学计算机网络课件-第2章-应用层
链接地址:https://www.777doc.com/doc-4724961 .html