计算机网络和因特网概述1第1章计算机网络和因特网概述ComputerNetworksandtheInternet计算机网络:自顶向下方法(原书第四版)陈鸣译,机械工业出版社,2010年ComputerNetworking:ATopDownApproach,4rdedition.JimKurose,KeithRossAddison-Wesley,July2008.计算机网络和因特网概述2什么是因特网:数以百万计的互联的计算设备:主机=端系统网络应用通信链路光纤,铜缆,无线电,卫星传输速率=带宽路由器:转发分组(数据块)本地ISP公司网络区域ISP路由器工作站服务器移动节点计算机网络和因特网概述3什么是因特网:因特网:“网络的网络”松散的等级结构公共因特网比较专用互联网因特网标准RFC:请求评论(因特网标准)IETF:因特网工程任务组本地ISP公司网络区域ISP路由器工作站服务器移动节点计算机网络和因特网概述4协议?控制报文的发送,接收定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和接收或其它事件方面所采取的动作。即网络实体之间为进行网络中的数据交换而建立的规则、标准或约定例如,TCP,IP,HTTP,FTP,PPP计算机网络和因特网概述5面向连接服务可靠数据传送:指一个应用程序能够依赖该连接无差错的和按顺序传递其所有数据。流控制:确保连接的任何一方都不会过快的发送过量的分组而淹没另一方。拥塞控制:有助于防止因特网进入迟滞状态。TCP服务[RFC793]计算机网络和因特网概述6无连接服务无连接不可靠的数据传送无流控无拥塞控制UDP-用户数据报协议[RFC768]:使用TCP的应用:HTTP(Web),FTP(文件传送),Telnet(远程注册),SMTP(电子邮件)使用UDP的应用:流媒体,电信会议,DNS,以太网电话计算机网络和因特网概述7网络核心互联的路由器形成的网孔基本问题:数据怎样通过网络传送?电路交换:每呼叫专用的电路:电话网分组交换:数据通过网络以离散的“块”发送计算机网络和因特网概述8电路交换为“呼叫”预留端到端资源网络资源(如带宽)划分为“片”按片分配给用户如果未被使用则资源片空闲(非共享)将链路带宽划分为“片”的方法频率分割时间分割计算机网络和因特网概述9电路交换:FDM和TDMFDM频率时间TDM频率时间4个用户例子:计算机网络和因特网概述10分组交换每个端到端数据流划分为分组用户A、B的分组共享网络资源每个分组使用全部链路带宽使用所需的资源资源争夺:用户资源要求总量超过可用的量拥塞:分组队列,等待链路使用存储转发:分组一次移动一跳节点在转发前接收完整的分组带宽划分为“片”专用分配资源预留计算机网络和因特网概述11分组交换:统计复用ABC10Mbps以太网1.5MbpsDE统计复用等待输出链路的分组队列TDM的缺点:某用户无数据发送,其他用户也不能占用该通道,将会造成带宽浪费。改进:统计时分多路复用(STDM),用户不固定占用某个通道,有空槽就将数据放入。计算机网络和因特网概述12分组交换对比电路交换电路交换在数据传输前,必须建立端到端的连接一旦某个节点故障,必须重新建立连接连接建立后,数据的传输没有额外的延时数据中不必包含地址域,仅需较短的虚电路号数据按序传输,但信道的使用率较低适合长时间传输大批量的数据,如流数据计算机网络和因特网概述13分组交换对比电路交换分组交换在数据传输前,不必建立端到端的连接只要下一个节点空闲,即可传输信道的使用率较高数据的传输采用存储转发,延时不可估计数据中必须包含地址域接收到的分组不一定按序,可能还需重组适合传输文本型数据计算机网络和因特网概述14丢包和时延是怎样出现的?分组在路由器缓存中排队分组到达链路的速率超过输出链路能力分组排队,等待交换AB将被传输的分组(时延)分组排队(时延)空闲(可用)缓存:如果无空闲缓存则到达的分组丢失(丢包)计算机网络和因特网概述15分组时延的4种来源1.节点处理:检查比特差错决定输出链路AB传播传输节点处理排队2.排队等待输出链路传输的时间取决于路由器拥塞的等级计算机网络和因特网概述16分组交换网中的时延3.传输时延:R=链路带宽(bps)L=分组长度(比特)发送比特进入链路的时间=L/R4.传播时延:d=物理链路的长度s=在媒体中传播的速度(~2x108m/sec)传播时延=d/s注意:s和R是极为不同的量!AB传播传输节点处理排队计算机网络和因特网概述17端到端时延dproc=处理时延通常几个微秒或更少dqueue=排队时延取决于拥塞dtrans=传输时延=L/R,对低速链路很大dprop=传播时延几微秒到几百毫秒proptransqueueprocnodalddddd计算机网络和因特网概述18吞吐量呑吐量:网络中设备单位时间内成功地传送数据的数量,单位Mbps。瞬间:rateatgivenpointintime平均:rateoverlongerperiodoftimeserver,withfileofFbitstosendtoclientlinkcapacityRsbits/seclinkcapacityRcbits/secpipethatcancarryfluidatrateRsbits/sec)pipethatcancarryfluidatrateRcbits/sec)serversendsbits(fluid)intopipe计算机网络和因特网概述19网络体系结构网络是复杂的!许多“构件”主机路由器各种媒体的链路应用协议硬件,软件网络体系结构发展的背景——网络的状况多种通信媒介——有线、无线…不同种类的设备——通用、专用…不同的操作系统——Unix、Windows…不同的应用环境——固定、移动…不同种类业务——分时、交互、实时…宝贵的投资和积累——有形、无形…用户业务的延续性——不允许出现大的跌宕起伏它们互相交织,形成了非常复杂的系统应用环境。计算机网络和因特网概述20网络异质性问题的解决网络体系结构就是使这些用不同媒介连接起来的不同设备和网络系统在不同的应用环境下实现互操作性。网络体系结构解决异质性问题采用的是分层方法。——把复杂的网络互联问题划分为若干个较小的、单一的问题,在不同层上予以解决。就像编程时把问题分解为很多小的模块来解决一样。为什么分层?计算机网络和因特网概述21因特网协议栈应用:提供各种网络应用服务等FTP,SMTP,HTTP运输:提供可靠的点对点数据传输,确保源主机传送分组并正确到达目标主机TCP,UDP网络:从源到目的地数据报的选路IP,选路协议链路:定义了Internet与各种物理网络之间的网络接口PPP,以太网物理:“在线上”的比特应用层运输层网络层链路层物理层计算机网络和因特网概述22各层数据单位及设备应用层:报文FTP,SMTP,HTTP运输层:报文段网关TCP,UDP网络层:数据报路由器IP,routingprotocols链路层:帧交换机PPP,Ethernet物理层:bits中继器“onthewire”计算机网络和因特网概述23第2章应用层ApplicationLayer计算机网络:自顶向下方法(原书第四版)陈鸣译,机械工业出版社,2010年ComputerNetworking:ATopDownApproach,4rdedition.JimKurose,KeithRossAddison-Wesley,July2008.计算机网络和因特网概述24应用体系结构客户机/服务器对等(P2P)客户机/服务器与P2P的混合计算机网络和因特网概述25客户机/服务器体系结构服务器:总是打开的主机永久的IP地址可扩展为服务器池客户机:与服务器通信可以间歇地连接可以具有动态的IP地址彼此不直接地通信计算机网络和因特网概述26套接字(进程与网络间的接口)进程从它的套接字发送/接收报文套接字类似于门发送进程将报文推出门外发送进程依赖门的另一侧传输层基础设施,它将报文送到接收进程的套接字进程具有缓存、变量的TCP套接字主机或服务器进程具有缓存、变量的TCP套接字主机或服务器因特网由操作系统控制由应用研发者控制应用程序接口API:(1)选择传输输协议;(2)确定一些参数的能力(详情见后)计算机网络和因特网概述27寻址进程对于接收报文的进程,必须具有一个标识一台主机具有一个独特的32比特的IP地址问题:通过主机的IP地址足以标识该进程吗?表示符包括IP地址和与主机上该进程相关的端口号.端口号例子:HTTP服务器:80电子邮件服务器:25答案:不行,在同一台主机上能够运行许多进程例:发送信息到gaia.cs.umass.eduweb服务器:IPaddress:128.119.245.12Portnumber:80计算机网络和因特网概述28端口号TCP和UDP都用端口(socket)号把信息传到上层。端口号指示了正在使用的上层协议。FTPSMTPHTTPDNSTelnetSNMP2123255380161TCPUDP应用层传输层保留的端口号:<255,公共应用255-1023,公司>1023,未规定计算机网络和因特网概述29Web和HTTP某些术语Web页由对象组成对象可以是HTML文件,JPEG图片,Java小程序,音频文件,…Web页由基本的HTML文件组成,基本的HTML文件包括了一些引用对象计算机网络和因特网概述30URL是Internet上对资源的标准编址机制。每一个资源文件无论以何种方式存放在何种服务器上,都有一个唯一的URL地址。URL地址中包含了要访问的资源所在的服务器的地址、访问该资源的方法、该资源在服务器上的路径等信息。每个对象可由URL寻址URL的例子:主机名路径名计算机网络和因特网概述31HTTP概况HTTP:超文本传送协议Web的应用层协议客户机/服务器模式客户机:请求、接收,”显示“Web对象浏览器服务器:Web服务器响应请求而发送对象HTTP1.0:RFC1945HTTP1.1:RFC2068PC运行Explorer服务器运行ApacheWeb服务器Mac运行Navigator计算机网络和因特网概述32HTTP概述(续)使用TCP:客户机向服务器发起TCP连接(产生套接字),端口80服务器从客户机接受TCP连接在浏览器(HTTP客户机)和Web服务器(HTPP服务器)之间交换HTTP报文(应用层协议报文)关闭TCP连接HTTP是”无状态的“服务器不保留有关客户机过去请求的任何信息计算机网络和因特网概述33HTTP请求报文两类HTTP报文:请求,响应HTTP请求报文:ASCII码GET/somedir/page.htmlHTTP/1.1Host::closeAccept-language:fr(另外的回车,换行)请求行(GET,POST,HEAD命令)首部行回车,换行指示报文的结束计算机网络和因特网概述34HTTP响应报文HTTP/1.1200OKConnectioncloseDate:Thu,06Aug199812:00:15GMT服务器:Apache/1.3.0(Unix)Last-Modified:Mon,22Jun1998…...Content-Length:6821Content-Type:text/htmldatadatadatadatadata...状态行(协议状态码状态短语)首部行数据,如请求的HTML文件计算机网络和因特网概述35FTP:文件传输协议传输文件到远