资源预览内容
第1页 / 共174页
第2页 / 共174页
第3页 / 共174页
第4页 / 共174页
第5页 / 共174页
第6页 / 共174页
第7页 / 共174页
第8页 / 共174页
第9页 / 共174页
第10页 / 共174页
亲,该文档总共174页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第9 9章章 高层协议高层协议n9.1 域名系统域名系统n9.2 自举协议:自举协议:BOOTP和和DHCPn9.3 文件传输协议文件传输协议n9.4 远程登录协议远程登录协议n9.5 邮件传输协议邮件传输协议n9.6 超文本传输协议超文本传输协议n应用进程:应用进程:为了解决具体的应用问题而彼此通信的进程。为了解决具体的应用问题而彼此通信的进程。n应用层协议:应用层协议:应用进程在通信时所遵守的协议。应用进程在通信时所遵守的协议。n每个应用层协议都是为了解决某一类应用问题,而问题的解每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。在通信时所遵循的协议。n客户服务器模式:客户服务器模式:TCPIP体系采用客户服务器模式使体系采用客户服务器模式使两个进程能够进行通信。当两个进程能够进行通信。当A进程需要进程需要B进程的服务时就主进程的服务时就主动呼叫动呼叫B进程,这时,进程,这时,A是客户而是客户而B是服务器。也就是说,是服务器。也就是说,主主叫方是客户,被叫方是服务器叫方是客户,被叫方是服务器。应用层协议概述应用层协议概述TelnetEthernet, Token Ring, FDDI, PPP/SLIP, X.25HTTPNFSFTPXWinTFTPRPCDNSTCPUDPICMPIPIGMPARPRARPSMTPREXECSNMP应用层应用层针对不针对不同应用同应用传输层传输层网络层网络层数据链路层数据链路层针对不同硬件针对不同硬件TCP/IP协议族中的应用层协议协议族中的应用层协议1. 域名系统的概念域名系统的概念nInternet上上的的主主机机名名:用用英英文文字字母母和和数数字字组组成成。如如:mail.cumt.edu.cn。n域域名名是是一一个个逻逻辑辑概概念念,用用于于标标识识主主机机,并并不不反反映映主主机机所所在在的的物理地点。物理地点。n域域名名系系统统DNS(Domain Name System):负负责责将将主主机机名名转转换换为为IP地地址址。Internet的的域域名名系系统统被被设设计计成成一一个个联联机机分分布布式数据库系统式数据库系统,并采用客户服务器模式。,并采用客户服务器模式。n域域名名服服务务器器程程序序:在在专专设设的的结结点点上上运运行行。运运行行该该程程序序的的计计算算机称为域名服务器。机称为域名服务器。9.1 9.1 域域 名名 系系 统统DNS的概念的概念域名系统域名系统DNS是用来进行是用来进行IP地址和主机的名字之间的转换。地址和主机的名字之间的转换。DNS客户机客户机DNS服务器服务器www.cumt.edu.cn的的IP地址?地址?www.cumt.edu.cn的的IP地址是地址是202.119.199.39www.cumt.edu.cn-202.119.199.39UDP数据报数据报2因特网的域名结构因特网的域名结构1域名采用层次结构域名采用层次结构n三级域名二级域名顶级域名三级域名二级域名顶级域名n每每一一级级域域名名不不超超过过63个个字字符符(不不分分大大小小写写),完完整整的的域域名名不超过不超过255个字符。个字符。2域名管理域名管理(1)顶级域名)顶级域名n顶级域名由顶级域名由Internet的有关机构管理。的有关机构管理。n顶级域名有三大类:顶级域名有三大类:n国家顶级域名:以英文缩写表示,如:国家顶级域名:以英文缩写表示,如:cn、us、uk等。等。n国际顶级域名:用于国际性组织,国际顶级域名:用于国际性组织,int。n通通用用顶顶级级域域名名:com表表示示公公司司企企业业;net表表示示网网络络服服务务机机构构;org表表示示非非赢赢利利性性组组织织;edu表表示示教教育育机机构构;gov表表示示政政府府部门(美国专用);部门(美国专用);mil表示军事部门(美);表示军事部门(美);(2)下级域名)下级域名n各级域名由其上一级域名管理机构管理。各级域名由其上一级域名管理机构管理。n在在国国家家顶顶级级域域名名下下注注册册的的二二级级域域名名均均由由该该国国家家自自行行确确定定。比比如如:荷荷兰兰不不再再设设二二级级域域名名,其其所所有有机机构构均均在在其其顶顶级级域域名名nl之之下下。日日本本将将其其教教育育机机构构的的二二级域名定为级域名定为ac,企业机构的二级域名定为企业机构的二级域名定为co。n中国:中国:将二级域名划分为将二级域名划分为“类别域名类别域名”和和“行政区域域名行政区域域名”。n类类别别域域名名6个个:ac科科研研机机构构;com企企业业;edu教教育育;gov政政府府;net网网络络信信息中心;息中心;org非赢利性组织。非赢利性组织。n行政区域名行政区域名34个个:省、自治区、直辖市,如:省、自治区、直辖市,如:bj北京,北京,sh上海。上海。n三三级级域域名名:在在中中国国,在在二二级级域域名名edu下下申申请请注注册册三三级级域域名名由由中中国国教教育育和和科科研研网网网网络络中中心心负负责责;在在二二级级域域名名edu之之外外的的其其他他二二级级域域名名下下申申请请注注册册三三级级域名,则应向中国互联网网络信息中心域名,则应向中国互联网网络信息中心(CNNIC)申请。申请。n注注:Internet的的名名字字空空间间是是按按照照机机构构的的组组织织来来划划分分的的,与与物物理理网网络络无无关关,与与IP地址中的地址中的“子网子网”无关。无关。 众多的域名组成一个巨大的域名空间,按照域名的分层众多的域名组成一个巨大的域名空间,按照域名的分层机制,可以把这个空间的结构看作一棵倒向生长的树。树的机制,可以把这个空间的结构看作一棵倒向生长的树。树的每个节点(包括分支节点和叶子节点)都有一个分级域名,每个节点(包括分支节点和叶子节点)都有一个分级域名,同时也有一个完整域名。完整域名是由沿本节点到根节点所同时也有一个完整域名。完整域名是由沿本节点到根节点所经过的节点的分级域名逐级顺序构成。经过的节点的分级域名逐级顺序构成。cnukjphkedugovcommil根根地区域地区域行业域行业域yalecs engwwwsonengcom eduae net21cn tsinghuawwwihepibm330域名域名域域顶级域顶级域二级域二级域三级域三级域.DNSDNSDNSDNS的分层结构图的分层结构图的分层结构图的分层结构图.com.com.net.net.org.org. .govgov. .cncn. .eduedu.net.net.com.com. .scuscu. .smthsmth. .xmuxmuibmtcibmtccadcadbbsbbs每个域可以由不同的组织管理。每个域可将相应的域每个域可以由不同的组织管理。每个域可将相应的域每个域可以由不同的组织管理。每个域可将相应的域每个域可以由不同的组织管理。每个域可将相应的域分为若干个子域,并将这些子域的管理分给其他单位分为若干个子域,并将这些子域的管理分给其他单位分为若干个子域,并将这些子域的管理分给其他单位分为若干个子域,并将这些子域的管理分给其他单位DNSDNSDNSDNS的授权的授权的授权的授权edu.cnedu.cncumt.edu.cncumt.edu.cncumt.edu.cncumt.edu.cnibmtcibmtccadcadwwwwww示例:示例:示例:示例:edu.cnedu.cn域授权域授权域授权域授权cumtcumt管理管理管理管理cumt.edu.cncumt.edu.cn子域,子域,子域,子域,cumtcumt建立自己的建立自己的建立自己的建立自己的DNSDNS服务器管理域内的所有主机域名服务器管理域内的所有主机域名服务器管理域内的所有主机域名服务器管理域内的所有主机域名信息信息信息信息由由由由cumtcumt负责维护负责维护负责维护负责维护cumt.edu.cncumt.edu.cn域域域域内的所有主机的域名信息内的所有主机的域名信息内的所有主机的域名信息内的所有主机的域名信息n 域名服务器:在域名服务器:在DNSDNS协议中用作服务器的计算机,其功能协议中用作服务器的计算机,其功能就是将客户指定的域名变换成就是将客户指定的域名变换成IPIP地址。记录本域的域名注地址。记录本域的域名注册信息;提供地址册信息;提供地址/ /域名解析服务,包括域内服务和域外服域名解析服务,包括域内服务和域外服务;记录根域名服务器(务;记录根域名服务器(1313个)及相邻域名服务器的个)及相邻域名服务器的IPIP地地址,并与其它域名服务器及时交换全网的址,并与其它域名服务器及时交换全网的DNSDNS信息;提供域信息;提供域名信息查询服务。名信息查询服务。n DNSDNS服务器周期性地和其他服务器周期性地和其他DNSDNS服务器上的各种数据库同服务器上的各种数据库同步,并检查其他服务器上的新表项。这个过程通常称为传步,并检查其他服务器上的新表项。这个过程通常称为传播。播。n 一个新域名大约会在一个新域名大约会在3 34 4天内完成在世界各地的传播。天内完成在世界各地的传播。 3 3 域名服务器及其组织域名服务器及其组织本地域名服务器:靠近客户,通常和客户机在同一本地域名服务器:靠近客户,通常和客户机在同一个局域网上,是组内计算机域名的管辖者;个局域网上,是组内计算机域名的管辖者;根域名服务器:知道所有域名的查找途径,确认某根域名服务器:知道所有域名的查找途径,确认某个域名是否存在的最终权威服务器,全球个域名是否存在的最终权威服务器,全球13+713+7个,个,均位于美国;均位于美国;授权域名服务器:接受根域名服务器的轮询或定期授权域名服务器:接受根域名服务器的轮询或定期向根域名服务器报告,负责本地主机域名的申请登向根域名服务器报告,负责本地主机域名的申请登记注册工作的服务器。通常和本地域名服务器合而记注册工作的服务器。通常和本地域名服务器合而为一。为一。DNS服务器是按层次安排的,该层次对应于域名的服务器是按层次安排的,该层次对应于域名的层次,每个服务器作为域名体系中某一部分的管辖层次,每个服务器作为域名体系中某一部分的管辖者者(authority)。域名可以划分为若干个域名服务器。域名可以划分为若干个域名服务器管辖区管辖区(zone),并在各管辖区中设置相应的并在各管辖区中设置相应的授权域授权域名服务器名服务器。 comyabcwvxu根域名服务器根域名服务器域域 abc.com管辖区管辖区 y.abc.com的授权域名服务器的授权域名服务器 管辖区管辖区abc.com 管辖区管辖区y.abc.com管辖区管辖区 abc.com的授权域名服务器的授权域名服务器t4 4 域名解析域名解析域域名名的的转转换换过过程程:源源主主机机的的某某个个应应用用进进程程,将将待待转转换换的的域域名名放放在在DNS请请求求报报文文中中,以以TCP或或UDP数数据据报报方方式式发发给给本本地地域域名名服服务务器器。本本地地域域名名服服务务器器在在查查找找域域名名后后,将将对对应应的的IP地地址址放放在在回回答答报报文文中中,返返回回给给请请求求进进程程。若若本本地地域域名名服服务务器器不不能能回回答答该该请请求求,则则该该域域名名服服务务器器就就暂暂时时成成为为DNS中中的的另另一一个个客客户户,去去寻寻找能够回答该请求的域名服务器,直到找到为止。找能够回答该请求的域名服务器,直到找到为止。 反过来,由反过来,由IP地址得出域名地址的过程则称为地址得出域名地址的过程则称为域名反向解析域名反向解析。应用程序应用程序解析器解析器DNS服务器服务器请求请求应答应答请求请求应答应答 在第二个服务器返回一个回答后,原先的服务器向发送请在第二个服务器返回一个回答后,原先的服务器向发送请求的解析器发送一个该回答的副本。这是递归查找的情形,也求的解析器发送一个该回答的副本。这是递归查找的情形,也称为循环方法。称为循环方法。 若是迭代查找,则是由最初发送请求的解析器根据刚才访若是迭代查找,则是由最初发送请求的解析器根据刚才访问的服务器发回的地址,发起另一个新的客户问的服务器发回的地址,发起另一个新的客户/ /服务器交互。也服务器交互。也称为反复方法。称为反复方法。 BC本地A(a a)递归查找递归查找CAB本地(b b)迭代查找迭代查找客户机解析器客户机解析器客户机解析器客户机解析器本地本地本地本地域名服务器域名服务器域名服务器域名服务器. .cncn域名服务器域名服务器域名服务器域名服务器. .edu.cnedu.cn域名服务器域名服务器域名服务器域名服务器. .cumt.edu.cncumt.edu.cn域名服务器域名服务器域名服务器域名服务器. .域名服务器域名服务器域名服务器域名服务器1 12 23 34 45 56 67 78 89 91010示例:示例:示例:示例:cs.cumt.edu.cncs.cumt.edu.cn域名的迭代查询过程域名的迭代查询过程域名的迭代查询过程域名的迭代查询过程解解析析过过程程根服务器根服务器cn服务器服务器向向cn域查询域查询地址是什么地址是什么查询查询www.cnnic.cn向向.cnnic.cn查找查找cnnic.cn服务器服务器Cnnic. cn域名服务器域名服务器地地址址是是159.226.1.19www.cnnic.cn地址是什么?地址是什么?cncnnicsohuwhoisasrwwwcomnetISP等等DNS服务器服务器www.cnnic.cn159.226.1.19示例:示例:示例:示例:www.cnnic.cnwww.cnnic.cn域名的递归查询过程域名的递归查询过程域名的递归查询过程域名的递归查询过程递归与迭代相结合的查询递归与迭代相结合的查询 t.y.abc.com 根域名服务器根域名服务器dns.com本地域名服务器本地域名服务器 dns.xyz.com 本地域名服务器本地域名服务器 dns.abc.com 本地域名服务器本地域名服务器dns.y.abc.com m.xyz.comIP(t.y.abc.com)=?IP(t.y.abc.com) = (198.54.23.15)0 150 1516 3116 31标识标识 标志标志 问题记录数问题记录数 回答记录数回答记录数 授权资源记录数授权资源记录数 附加资源记录数附加资源记录数 查询问题查询问题回答(资源记录数可变)回答(资源记录数可变)授权(资源记录数可变)授权(资源记录数可变)附加信息(资源记录数可变)附加信息(资源记录数可变)5 DNS5 DNS报文报文头部(头部(1212个字节)个字节) DNSDNS报文或查询被发送到网络中的格式被称为报文或查询被发送到网络中的格式被称为DNSDNS报文格报文格式。式。DNSDNS报文先被封装在一个报文先被封装在一个UDPUDP数据报或者一个数据报或者一个TCPTCP分段中,分段中,然后被发送到网络中。不管是何种情况,用来传送然后被发送到网络中。不管是何种情况,用来传送DNSDNS报文的报文的协议一定都是协议一定都是IPIP。资源资源记录记录0=查询报文查询报文1=响应报文响应报文0=标准查询标准查询1=反向查询反向查询2=服务器状态请服务器状态请求求授权授权回答回答截断截断标志标志512B返回码返回码字段,字段,表示错表示错误状态误状态0=无错无错1=查询中格式错误查询中格式错误2=服务器失败服务器失败3=名字不存在名字不存在4=未实现未实现5=管理上拒绝管理上拒绝615=预留给将来预留给将来用用标志域标志域1 1表示请求递归解析表示请求递归解析0 0表示请求反复解析表示请求反复解析在服务器的响应中有效在服务器的响应中有效1 1表示其支持递归解析表示其支持递归解析DNS查询报文中的问题部分查询报文中的问题部分 一组问题记录一组问题记录063通常为通常为1查询名查询名查询类型查询类型DNS响应报文中的资源记录部分响应报文中的资源记录部分记录中资源数据对应的名字,记录中资源数据对应的名字,格式和查询名字段相同。格式和查询名字段相同。通常为通常为1和和查询类型查询类型相同相同资源记录通常为资源记录通常为2天天客户程序保留该资源记录客户程序保留该资源记录的秒数的秒数类型类型1为为4字节字节IP6 6 域名系统的数据库域名系统的数据库 域名系统中大量的域名与域名系统中大量的域名与IPIP地之间的对应关系数据是一地之间的对应关系数据是一个典型的个典型的分布式数据库分布式数据库。 DNSDNS数据库由记录有关域名信息的资源记录构成。数据库由记录有关域名信息的资源记录构成。DNSDNS的的资源记录由四个域组成:(资源记录由四个域组成:(Name,Value,Type,TTLName,Value,Type,TTL),即域名、),即域名、值、记录类型和生存时间值、记录类型和生存时间 。p 域名:要解析的域名;域名:要解析的域名;p 值:对应该域名的某种数值(如值:对应该域名的某种数值(如IPIP地址);地址);p TTLTTL:该域名的有效时间,通常为两天;该域名的有效时间,通常为两天;p 记录类型:怎样解析域名。共有记录类型:怎样解析域名。共有4 4种记录类型种记录类型 A A、NSNS、CNAMECNAME、MXMX。资源记录中资源记录中NameName和和ValueValue的含义依赖于的含义依赖于Type: Type: 如果如果Type=AType=A,则,则NameName是一个主机名,而是一个主机名,而ValueValue是此主机是此主机名的名的IPIP地址。地址。 如果如果Type=NSType=NS,则,则NameName是一个域(例如是一个域(例如foo.comfoo.com),而),而ValueValue是一个授权域名服务器的主机名。是一个授权域名服务器的主机名。如果如果Type=CNAMEType=CNAME,那末那末namename是一个主机的化名,而是一个主机的化名,而valuevalue是此化名的正规主机名。是此化名的正规主机名。 如果如果Type=MXType=MX,那末那末namename是一个邮件服务器的化名,而是一个邮件服务器的化名,而valuevalue是此邮件服务器的正规名。是此邮件服务器的正规名。 复制:复制:将多个内容完全相同的域名服务器分散将多个内容完全相同的域名服务器分散设置在不同的位置,为不同的计算机集合服设置在不同的位置,为不同的计算机集合服务。务。 通常将流量比较大的共享域名服务器重复设通常将流量比较大的共享域名服务器重复设置,实现平衡负载,提高访问效率的目的。置,实现平衡负载,提高访问效率的目的。如根服务器的重复设置。如根服务器的重复设置。7 7 域名系统的性能优化域名系统的性能优化n缓存:缓存:服务器会高速缓存尽可能多的并且有服务器会高速缓存尽可能多的并且有效的信息。每当查找一个新的域名时,服务效的信息。每当查找一个新的域名时,服务器就将该域名的一个副本置于它的缓存中。器就将该域名的一个副本置于它的缓存中。在与另一个服务器通信申请查找该域名以前,在与另一个服务器通信申请查找该域名以前,服务器都查看它的缓存。如果缓存中已经包服务器都查看它的缓存。如果缓存中已经包含了该域名的解析,服务器就直接使用这个含了该域名的解析,服务器就直接使用这个解析。缓存项目的生存期由资源记录中的解析。缓存项目的生存期由资源记录中的TTLTTL值决定。值决定。TTLTTL到期后,缓存中的项目就被到期后,缓存中的项目就被删除。删除。9.2 9.2 自举协议:自举协议:BOOTPBOOTP和和DHCPDHCP1 1 自举协议概述自举协议概述 所谓自举是指载入操作系统的过程,而操作系所谓自举是指载入操作系统的过程,而操作系统是运行其他程序必不可少的。统是运行其他程序必不可少的。 在自举过程中可以获得配置信息、操作系统映在自举过程中可以获得配置信息、操作系统映像以及文件系统等内容。像以及文件系统等内容。 用于获取配置信息的协议被称为自举协议。用于获取配置信息的协议被称为自举协议。 自举协议能使客户端从网络中的服务器自动获自举协议能使客户端从网络中的服务器自动获得诸如得诸如IPIP地址之类的配置信息。地址之类的配置信息。n为了将软件协议做成通用的和便于移植,协议软为了将软件协议做成通用的和便于移植,协议软件的编写者不是将所有的细节都固定在源代码中,件的编写者不是将所有的细节都固定在源代码中,而是把协议软件参数化。这就使得在很多台计算而是把协议软件参数化。这就使得在很多台计算机上使用同一个经过编译的二进制代码成为可能。机上使用同一个经过编译的二进制代码成为可能。n一台计算机和另一台计算机的许多区别,都可通一台计算机和另一台计算机的许多区别,都可通过一些不同的参数来体现。过一些不同的参数来体现。n在软件协议运行之前,必须给每一个参数赋值。在软件协议运行之前,必须给每一个参数赋值。n这些信息通常存储在一个配置文件中,计算机在这些信息通常存储在一个配置文件中,计算机在引导过程中可以对这个文件进行存取。引导过程中可以对这个文件进行存取。 2 引导程序协议引导程序协议 BOOTP (BOOTstrap Protocol) nBOOTP 使用客户服务器工作方式。使用客户服务器工作方式。n协议软件广播协议软件广播 BOOTP 请求报文,此报文作为请求报文,此报文作为 UDP 用户数据报的数据,用户数据报的数据,UDP 用户数据报再作为用户数据报再作为 IP 数据报的数据。数据报的数据。n收到请求报文的收到请求报文的 BOOTP 服务器查找发出请求的计服务器查找发出请求的计算机的各项配置信息,把配置信息放入算机的各项配置信息,把配置信息放入 BOOTP 回答报文中,并把回答报文返回给提出请求的计算回答报文中,并把回答报文返回给提出请求的计算机。机。BOOTP 报文的传送报文的传送 n由由于于计计算算机机发发送送 BOOTP 请请求求报报文文时时自自己己还还没没有有 IP 地地址址,因因此此它它使使用用全全 1 广广播播地地址址(只只在在本本网网络络上上广广播播)作作为为目目的的地地址址,而而用用全全 0 地地址址作作为为源源地地址。址。nBOOTP 服服务务器器可可使使用用广广播播方方式式将将回回答答报报文文返返回回给给该该计计算算机机,或或使使用用收收到到广广播播帧帧上上的的硬硬件件地地址址进进行行单单播。播。n只只需需发发送送一一个个 BOOTP 广广播播报报文文就就可可获获取取所所需需的的全全部配置信息。部配置信息。 无盘工作站交换自举信息的过程:无盘工作站交换自举信息的过程:v 无盘计算机使用受限的广播无盘计算机使用受限的广播IPIP地址(所有位都置地址(所有位都置1 1)在网)在网络中广播它的请求,因为它不知道自己的络中广播它的请求,因为它不知道自己的IPIP地址或者网络的地址或者网络的IDID。该请求包含一个惟一标识该请求包含一个惟一标识BOOTPBOOTP请求的事务请求的事务IDID。v 收到请求后,收到请求后,BOOTPBOOTP服务器参照配置表,将硬件地址与服务器参照配置表,将硬件地址与IPIP地址匹配。配置表是一个包含硬件地址和相应的地址匹配。配置表是一个包含硬件地址和相应的IPIP地址的数地址的数据库,通常是由系统管理员手动输入的。据库,通常是由系统管理员手动输入的。v 服务器也使用受限的广播服务器也使用受限的广播IPIP地址来发送应答。即使服务器地址来发送应答。即使服务器知道无盘计算机的地址,它也不能使用知道无盘计算机的地址,它也不能使用IPIP数据报来发送应答,数据报来发送应答,因为无盘计算机不能识别自己的因为无盘计算机不能识别自己的IPIP地址。地址。v 客户端使用事务客户端使用事务IDID来识别广播应答。来识别广播应答。BOOTBOOT报文格式报文格式秒数(秒数(2 2字节)字节)客户端客户端IPIP地址(地址(4 4字节)字节)您(客户端)的您(客户端)的IPIP地址(地址(4 4字节)字节)服务器服务器IPIP地址(地址(4 4字节)字节)网关网关IPIP地址(地址(4 4字节)字节)客户端硬件地址(客户端硬件地址(1616字节)字节)服务器名(服务器名(6464字节)字节)引导文件名(引导文件名(128128字节)字节)选项(选项(6464字节)字节)未使用(未使用(2 2字节)字节)事务事务IDID(2 2字节)字节)操作代码操作代码(1 1字节)字节)硬件类型硬件类型(1 1字节)字节)硬件长度硬件长度(1 1字节)字节) 跳数跳数 (1 1字节)字节) BOOTBOOT请求请求和应答报文和应答报文的报文格式的报文格式是一样的。是一样的。 BOOTPBOOTP报文报文中所有字段中所有字段的长度都是的长度都是固定的。固定的。3. 动态主机配置协议(动态主机配置协议(DHCP)- Dynamic Host Configure Protocoln动态主机配置协议动态主机配置协议 DHCP 提供了即插即用连网提供了即插即用连网(plug-and-play networking)的机制。的机制。n这种机制允许一台计算机加入新的网络和获取这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。地址而不用手工参与。nDHCP 是扩展了的是扩展了的BOOTP。nDHCP 与与 BOOTP 是向后兼容的,并且它们所使是向后兼容的,并且它们所使用的报文格式都很相似。用的报文格式都很相似。 DHCPDHCP从两个方式上扩充了从两个方式上扩充了BOOTPBOOTP: DHCPDHCP可可使使计计算算机机用用一一个个消消息息获获取取它它所所需需要要的的所所有有配配置置信息,即传送配置信息的协议;信息,即传送配置信息的协议; DHCPDHCP允允许许计计算算机机快快速速、动动态态的的获获取取IPIP地地址址,即即动动态态分分配配IPIP地址的机制。地址的机制。DHCPDHCP支持三种类型的地址分配:支持三种类型的地址分配: 自动分配方式中自动分配方式中DHCPDHCP给主机指定一个永久的给主机指定一个永久的IPIP地址;地址; 动动态态分分配配方方式式中中DHCPDHCP给给主主机机指指定定一一个个有有时时间间限限制制的的IPIP地地址址,到到时时间间或或主主机机明明确确表表示示放放弃弃这这个个地地址址时时,这这个个地地址址可以被其他的主机使用;可以被其他的主机使用; 手手工工分分配配方方式式中中主主机机的的IPIP地地址址是是由由网网络络管管理理员员指指定定的的,DHCPDHCP只是把指定的只是把指定的IPIP地址告诉主机。地址告诉主机。DHCPDHCP协议的封装协议的封装链路层头链路层头IP头头UDP头头DHCP报文报文由由于于DHCPDHCP协协议议是是初初始始化化协协议议,终终端端连连IPIP地地址址都都没没有有,何何以以能能够够发发出出IPIP报报文文呢呢?SERVERSERVER给给CLIENTCLIENT回回送送的的报报文文该怎么封装呢?该怎么封装呢?(1)首先链路层的封装必须是广播形式。在)首先链路层的封装必须是广播形式。在Ethernet_II格式的网络中,格式的网络中,DstMac为全为全1。(2)终端没有)终端没有IP地址,地址,IP头中的头中的SrcIP规定填为全规定填为全0。(3)当终端发出)当终端发出DHCP请求报文时,并不知道请求报文时,并不知道DHCP SERVER的的IP地址,因此地址,因此IP头中的头中的DstIP填为有限的子填为有限的子网广播网广播IP全全1,以保证,以保证DHCP SERVER的的IP协议栈协议栈不丢弃这个报文。不丢弃这个报文。(4 4)终终端端发发出出的的DHCPDHCP请请求求报报文文的的UDPUDP层层中中的的SrcPortSrcPort为为6868,DstPortDstPort为为67,67,以以便便DHCP DHCP SERVERSERVER判判断断一一个个报报文文是否是是否是DHCPDHCP报文报文(5 5)DHCP DHCP SERVERSERVER给给终终端端的的响响应应报报文文将将会会根根据据DHCPDHCP报报文中的内容决定是广播还是单播形式。文中的内容决定是广播还是单播形式。u广广播播封封装装时时,链链路路层层的的封封装装必必须须是是广广播播形形式式,在在Ethernet_IIEthernet_II格格式式的的网网络络中中DstMacDstMac为为全全1 1,IPIP头头中中的的DstIpDstIp 填为有限的子网广播填为有限的子网广播IPIP全全1 1。u单单播播封封装装时时,链链路路层层的的封封装装是是单单播播形形式式,在在Ethernet_IIEthernet_II格格式式的的网网络络中中,就就是是DstMacDstMac为为终终端端的的网卡网卡MACMAC地址(此地址(此MACMAC地址存在于地址存在于DHCPDHCP报文中)。报文中)。秒数(秒数(2 2字节)字节)客户端客户端IPIP地址(地址(4 4字节)字节)您(客户端)的您(客户端)的IPIP地址(地址(4 4字节)字节)服务器服务器IPIP地址(地址(4 4字节)字节)网关网关IPIP地址(地址(4 4字节)字节)客户端硬件地址(客户端硬件地址(1616字节)字节)服务器名(服务器名(6464字节)字节)引导文件名(引导文件名(128128字节)字节)选项(选项(6464字节)字节)标志(标志(2 2字节)字节)事务事务IDID(2 2字节)字节)操作代码操作代码(1 1字节)字节)硬件类型硬件类型(1 1字节)字节)硬件长度硬件长度(1 1字节)字节) 跳数跳数 (1 1字节)字节)DHCPDHCP使使 用用 BOOTPBOOTP的的报报文文格格式式,但但修修改改了了一一些些字字段段的的内内容容和和含含义义。区区别别只只在在1616位位的的“标志标志”字段。字段。DHCPDHCP协议的报文格式协议的报文格式CodeLengthvalue选项类型选项类型codecodelengthlengthvaluevalueDHCP message typeDHCP message type53531 11 18 8,表示表示DHCPDHCP报文类型报文类型Router IPRouter IP3 3IPIP地址长度地址长度clientclient的默认网关的的默认网关的IPIP地址地址DNS IPDNS IP6 6IPIP地址长度的地址长度的倍数倍数clientclient的的DNSDNS服服务务器器的的IPIP地地址址序列序列Wins IPWins IP4444IPIP地址长度的地址长度的倍数倍数clientclient的的WINSWINS服服务务器器的的IPIP地地址序列址序列client idclient id6161clientclient的的网网络络硬硬件件地地址址的的长长度度2 2= =“htypehtype”+ +“hlenhlen”+ + clientclient的网络硬件地址的网络硬件地址server idserver id5454IPIP地址长度地址长度DHCP SERVERDHCP SERVER的的IPIP地址地址对对于于BOOTPBOOTP协协议议,此此字字段段为为64bytes64bytes,对对于于DHCPDHCP协协议议,此此字字段段为为64-64-312 bytes312 bytes,当,当clientclient想要更长时,可以与想要更长时,可以与DHCP SERVERDHCP SERVER协商。协商。DHCPDHCP协议报文的种类协议报文的种类 DHCPDHCP协协议议采采用用CLIENT-SERVERCLIENT-SERVER方方式式进进行行交交互互,其其报报文文格格式式共共有有8 8种种,由由“选选项项”字字段段中中的的“DhcpDhcp message message type”type”选选项项的的valuevalue值值来来确确定定,后后面面括括号号中中的值即为相应类型的值,具体含义如下:的值即为相应类型的值,具体含义如下:(1 1)DHCPDISCOVERDHCPDISCOVER(0x010x01),此此为为clientclient开开始始DHCPDHCP过程的第一个报文过程的第一个报文( 2 2) DHCPOFFERDHCPOFFER( 0x020x02) , 此此 为为 serverserver对对DHCPDISCOVERDHCPDISCOVER报文的响应报文的响应(3 3)DHCPREQUESTDHCPREQUEST(0x030x03),此此报报文文是是clientclient开开始始DHCPDHCP过过程程中中对对serverserver的的DHCPOFFERDHCPOFFER报报文文的的回回应应,或或者者是是clientclient续延续延IPIP地址租期时发出的报文地址租期时发出的报文(4 4)DHCPDECLINEDHCPDECLINE(0x040x04),当当clientclient发发现现serverserver分分配配给给它它的的IPIP地地址址无无法法使使用用,如如IPIP地地址址冲冲突突时时,将将发出此报文,通知发出此报文,通知serverserver禁止使用禁止使用IPIP地址。地址。 ( 5 5) DHCPACKDHCPACK( 0x050x05) , serverserver对对 clientclient的的DHCPREQUESTDHCPREQUEST报报文文的的确确认认响响应应报报文文,ClientClient收收到到此此报报文后,才真正获得了文后,才真正获得了IPIP地址和相关的配置信息。地址和相关的配置信息。(6 6)DHCPNAKDHCPNAK(0x060x06),),serverserver对对clientclient的的DHCPREQUESTDHCPREQUEST报文的拒绝响应报文,报文的拒绝响应报文,ClientClient收到此报收到此报文后,一般会重新开始新的文后,一般会重新开始新的DHCPDHCP过程。过程。(7 7)DHCPRELEASEDHCPRELEASE(0x070x07),),clientclient主动释放主动释放serverserver分配给它的分配给它的IPIP地址的报文,当地址的报文,当ServerServer收到此报文后,收到此报文后,就可以回收这个就可以回收这个IPIP地址,能够分配给其他的地址,能够分配给其他的clientclient。(8 8)DHCPINFORMDHCPINFORM(0x080x08),clientclient已已经经获获得得了了IPIP地地址址,发发送送此此报报文文,只只是是为为了了从从DHCP DHCP SERVERSERVER处处获获取取其其他他的的一一些些网网络络配配置置信信息息,如如route route IPIP,DNS DNS IPIP等等,这这种报文的应用非常少见。种报文的应用非常少见。 既然既然DHCPDHCP兼容兼容BOOTPBOOTP,那么如何从报文中区分是那么如何从报文中区分是DHCPDHCP还是还是BOOTPBOOTP呢?呢? BOOTPBOOTP协协议议比比DHCPDHCP简简单单,clientclient和和serverserver间间的的交交互互过过程程也也简简单单:一一个个来来回回,两两个个报报文文就就完完成成了了,而而且且也也没没有有IPIP地地址址延延续续的的问问题题(因因此此采采用用BOOTPBOOTP协协议议进进行行配配置置时时,就就必必须须一一个个终终端端一一个个IPIP地地址址的的事事先先配配置置好好,就没有就没有DHCPDHCP协议那么灵活了)。协议那么灵活了)。 BOOTPBOOTP没没有有DHCPDHCP那那么么多多的的报报文文类类型型,因因此此当当发发现现在在一一个个DHCPDHCP报报文文的的“选选项项”字字段段中中没没有有“DhcpDhcp message message type type ”选选项项时时,那那么么这这个个报报文文就就是是BOOTPBOOTP报报文文。所所以以可可见见,DHCPDHCP报报文文“选选项项”字字段段中中的的“DhcpDhcp message type ”message type ”选项是个非常重要的参数。选项是个非常重要的参数。DHCP 使用客户服务器方式使用客户服务器方式n需要需要 IP 地址的主机在启动时就向地址的主机在启动时就向 DHCP 服务器服务器广播发送发现报文(广播发送发现报文(DHCPDISCOVER),),这时这时该主机就成为该主机就成为 DHCP 客户。客户。n本地网络上所有主机都能收到此广播报文,但只本地网络上所有主机都能收到此广播报文,但只有有 DHCP 服务器才回答此广播报文。服务器才回答此广播报文。nDHCP 服务器先在其数据库中查找该计算机的配服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找到的信息。若找不到,置信息。若找到,则返回找到的信息。若找不到,则从服务器的则从服务器的 IP 地址池地址池(address pool)中取一个中取一个地址分配给该计算机。地址分配给该计算机。DHCP 服务器的回答报文服务器的回答报文叫做提供报文(叫做提供报文(DHCPOFFER)。)。 DHCP 中继代理中继代理(relay agent) n并不是每个网络上都有并不是每个网络上都有 DHCP 服务器,这样会使服务器,这样会使 DHCP 服务器的数量太多。现在是每一个网络至少服务器的数量太多。现在是每一个网络至少有一个有一个 DHCP 中继代理中继代理,它配置了,它配置了 DHCP 服务器服务器的的 IP 地址信息。地址信息。n当当 DHCP 中继代理收到主机发送的发现报文后,就中继代理收到主机发送的发现报文后,就以单播方式向以单播方式向 DHCP 服务器转发此报文,并等待其服务器转发此报文,并等待其回答。收到回答。收到 DHCP 服务器回答的提供报文后,服务器回答的提供报文后,DHCP 中继代理再将此提供报文发回给主机。中继代理再将此提供报文发回给主机。DHCP 中继代理中继代理以单播方式转发发现报文以单播方式转发发现报文 主机主机DHCP服务器服务器其他其他网络网络DHCP中继代理中继代理DHCPDISCOVERDHCPDISCOVER广播广播单播单播注意:注意:DHCP 报文只是报文只是 UDP 用户数据报中的数据。用户数据报中的数据。 租用期租用期(lease period) nDHCP 服务器分配给服务器分配给 DHCP 客户的客户的 IP 地址的临地址的临时的,因此时的,因此 DHCP 客户只能在一段有限的时间客户只能在一段有限的时间内使用这个分配到的内使用这个分配到的 IP 地址。地址。DHCP 协议称这协议称这段时间为段时间为租用期租用期。 n租用期的数值应由租用期的数值应由 DHCP 服务器自己决定。服务器自己决定。nDHCP 客户也可在自己发送的报文中(例如,发客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。现报文)提出对租用期的要求。 DHCP 协议的工作过程协议的工作过程 客户客户DHCPDISCOVER服务器服务器6768UDPUDP客户客户DHCPOFFER服务器服务器6768UDPUDP客户客户DHCPREQUEST服务器服务器6768UDPUDP客户客户DHCPACK服务器服务器6768UDPUDP客户客户DHCPREQUEST服务器服务器6768UDPUDP客户客户DHCPNACK服务器服务器6768UDPUDP客户客户DHCPACK服务器服务器6768UDPUDP客户客户DHCPRELEASE服务器服务器6768UDPUDP服务器服务器67UDP被动打开被动打开初始化初始化选择选择请求请求绑定绑定重新开始重新开始重新绑定重新绑定DHCPDHCP客户端客户端广播广播 DHCPDISCOVERDHCPDISCOVER发送发送 DHCPOFFERDHCPOFFER发送发送 DHCPREQUESTDHCPREQUEST发送发送 DHCPACKDHCPACKDHCPDHCP服务器服务器如果服务器发如果服务器发送送 DHCPACKDHCPACK第一个定第一个定时器到期时器到期发送发送 DHCPREQUESTDHCPREQUEST第二个定第二个定时器到期时器到期广播广播 DHCPREQUESTDHCPREQUEST如果服务器发送如果服务器发送 DHCPNACKDHCPNACK如果从任意一个如果从任意一个DHCPDHCP服务器都收不到响应服务器都收不到响应第三个定第三个定时器到期时器到期DHCPDHCP客户客户机状机状态转态转换图换图SoftwareSoftwareProgramProgramREADMEREADMEftp ftp.pku.edu.cnUsername:anonymousPassword:testpku.edu.cnFTP & Anonymous FTPAnonymous FTP Serverftp.pku.edu.cn9.3 9.3 文件传输协议文件传输协议网络环境下复制文件的复杂性网络环境下复制文件的复杂性(1) 计算机存储数据的格式不同。计算机存储数据的格式不同。(2) 文件的目录结构和文件命名的规定不同。文件的目录结构和文件命名的规定不同。(3) 对于相同的文件存取功能,操作系统使用的对于相同的文件存取功能,操作系统使用的命令不同。命令不同。(4) 访问控制方法不同。访问控制方法不同。 FTP相关的RFC文档nhttp:/www.ietf.org/rfc/rfc0959.txt 文件系统文件系统文件系统文件系统用户接口用户接口用户用户协议翻译协议翻译用户用户数据传输功能数据传输功能数据连接数据连接服务器服务器数据传输功能数据传输功能服务器服务器协议接口协议接口FTP命令和应答命令和应答服务器服务器协议接口协议接口用户终端用户终端FTP客户机与服务器工作原理客户机与服务器工作原理传输层的支持服务名称端口号/协议别名#注释ftp-data20/tcp#FTP,dataftp21/tcp#FTP.controltelnet23/tcpsmtp25/tcpmail#SimpleMailTransferProtocoltime37/tcptimservertime37/udptimserverdomain53/tcp#DomainNameServerdomain53/udp#DomainNameServertftp69/udp#TrivialFileTransferhttp80/tcpwwwwww-http#WorldWideWebpop3110/tcp#PostOfficeProtocol-Version3nntp119/tcpusenet#NetworkNewsTransferProtocolnetbios-ns137/tcpnbname#NETBIOSNameServicenetbios-ns137/udpnbname#NETBIOSNameServicenetbios-dgm138/udpnbdatagram#NETBIOSDatagramServicenetbios-ssn139/tcpnbsession#NETBIOSSessionServiceimap143/tcpimap4#InternetMessageAccessProtocolsnmp161/udp#SNMPsnmptrap162/udpsnmp-trap#SNMPtraphttps443/tcpMComFTP 使用的两个使用的两个 TCP 连接连接 控制进程控制进程数据传送数据传送进程进程用户界面用户界面控制进程控制进程数据传送数据传送进程进程客户端客户端服务器端服务器端因特网因特网控制连接(控制连接(21)数据连接(数据连接(20)FTP的工作方式nFTP支持两种模式,一种方式叫做Standard(也就是PORT方式,主动方式),一种是Passive(也就是PASV,被动方式)。Standard模式FTP的客户端发送PORT命令到FTP服务器。Passive模式FTP的客户端发送PASV命令到FTPServer。Port模式nPort模式FTP客户端首先和FTP服务器的TCP21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP20端口连接至客户端的指定端口发送数据。FTPserver必须和客户端建立一个新的连接用来传送数据。Passive模式nPassive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送,这个时候FTPserver不再需要建立一个新的和客户端之间的连接。Port模式Passive模式很多防火墙在设置的时候都是不允许接受外部发起的连接的,所以许多位于防火墙后或内网的FTP服务器不支持PASV模式,因为客户端无法穿过防火墙打开FTP服务器的高端端口。简单文件传送协议简单文件传送协议 TFTP(Trivial File Transfer Protocol) n是一个很小且易于实现的文件传送协议。是一个很小且易于实现的文件传送协议。nTFTP 使用客户服务器方式和使用使用客户服务器方式和使用 UDP 数据报,数据报,因此因此 TFTP 需要有自己的差错改正措施。需要有自己的差错改正措施。nTFTP 只支持文件传输而不支持交互。只支持文件传输而不支持交互。nTFTP 没没有有一一个个庞庞大大的的命命令令集集,没没有有列列目目录录的的功功能能,也不能对用户进行身份鉴别。也不能对用户进行身份鉴别。 TFTP 的主要特点是的主要特点是 (1) 每次传送的数据每次传送的数据 PDU 中有中有 512 字节的数据,字节的数据,但最后一次可不足但最后一次可不足 512 字节。字节。 (2) 数据数据 PDU 也称为也称为文件块文件块(block),每个块按序每个块按序编号,从编号,从 1 开始。开始。 (3) 支持支持 ASCII 码或二进制传送。码或二进制传送。 (4) 可对文件进行读或写。可对文件进行读或写。 (5) 使用很简单的首部。使用很简单的首部。 TFTP 的五种协议数据单元的五种协议数据单元 PDU 读请求读请求 PDU21文文 件件 名名n1010方方 式式n写请求写请求 PDU22文文 件件 名名n1010方方 式式n 数据数据 PDU23块编号块编号 5122数数 据据 确认确认 PDU24块编号块编号2 差错差错 PDU25差错代码差错代码210n差差 错错 信信 息息字节字节FTP与TFTP的区别n FTP FTP 是完整、面向会话、常规用途文件传输协议。是完整、面向会话、常规用途文件传输协议。 TFTP TFTP 用作特殊目的文件传输协议。用作特殊目的文件传输协议。n 交互使用交互使用 FTPFTP。 TFTPTFTP允许仅单向传输的文件。允许仅单向传输的文件。n FTP FTP 依赖于依赖于 TCPTCP,是面向,是面向, ,连接并提供可靠的控件。连接并提供可靠的控件。 TFTP TFTP 依赖依赖 UDPUDP,需要减少开销,需要减少开销, , 并提供几乎没有控件。并提供几乎没有控件。n FTP FTP 提供身份验证。提供身份验证。 TFTPTFTP不。不。n FTP FTP 使用已知使用已知 TCP TCP 端口号:端口号: 20 20 的数据和的数据和 21 21 用于连用于连接对话框。接对话框。 TFTP TFTP 用于用于 UDP UDP 端口号端口号 69 69 其文件传输活动。其文件传输活动。n 因为因为 TFTP TFTP 不支持验证不支持验证 WindowsNTWindowsNT FTP FTP 服务器服务不服务器服务不支持支持 TFTPTFTP。9.4 9.4 远远 程程 登登 录录 协协 议议nTELNET是一个简单的远程终端协议,它也是因特网的正是一个简单的远程终端协议,它也是因特网的正式标准。用户用式标准。用户用TELNET就可在其所在地通过就可在其所在地通过TCP连接注连接注册到远地的另一个主机上,册到远地的另一个主机上,机变成远程主机系统的一个终机变成远程主机系统的一个终端。端。n远程登录是为用户提供的以终端方式与远程登录是为用户提供的以终端方式与Internet上的主机建上的主机建立在线连接的一种服务。立在线连接的一种服务。 n实现远程登录的工具程序很多,最常见的就是实现远程登录的工具程序很多,最常见的就是Telnet程序程序(与与Telnet协议同名协议同名),它在,它在Unix系统中和系统中和Windows、DOS系统中都可以找到。系统中都可以找到。 Telnet Server Telnet Server Username:Username:Password:Password: InternetInternetTelnetTelnet北京大学北京大学加州大学加州大学n 服务器通过为每个用户提供一个单独的程序线程来管理多个服务器通过为每个用户提供一个单独的程序线程来管理多个用户的请求。用户的请求。n 终端驱动程序用来管理键盘和硬件驱动程序等控制监视器显终端驱动程序用来管理键盘和硬件驱动程序等控制监视器显示的资源。示的资源。n Telnet协议建立在协议建立在5个组件的基础上,它们是网络虚拟终端、个组件的基础上,它们是网络虚拟终端、命令、模式、选项和选项协商过程。命令、模式、选项和选项协商过程。TELNET 使用使用网络虚拟终端网络虚拟终端 NVT 格式格式 因特网因特网TCP 连接连接 客户端客户端 服务器端服务器端 使用客户端的格式使用客户端的格式 使用服务器端的格式使用服务器端的格式 使用使用 NVT 格式格式客户客户服务器服务器基于Telnet协议的应用1n电子公告牌系统(英文:BulletinBoardSystem,缩写BBS)是一种软件,允许用户使用终端程序通过电话调制解调器拨号或者因特网来进行连接,拥有下载数据或程序、上传数据、阅读新闻、与其它用户交换消息等功能。许多BBS由站长(通常被称为SYSOP(SYStemOPerator)业余维护,而另一些则提供收费服务。n早期BBS的型态大多为在黑色终端机画面上以单色或彩色的纯文字呈现,并使用telnet协议连接,但随着HTTP网络协议及HTML等网页技术的发展,BBS的型态也转变为网络论坛或网络社群等多元样貌,早期telnet式的BBS系统则快速式微,然而在中国大陆、台湾等地的学校中,telnet式的BBS系统仍然非常盛行,以致于对BBS一词涵义的认知与世界其他地方有所差异。在中国大陆、台湾等地的“BBS”一词通常是专指telnet式的BBS系统。基于Telnet协议的应用2n后来随着因特网的普及与基于HTTP协议而发展出来的多媒体网页盛行,传统纯文字式的拨号BBS和BBS网络已经日渐凋零,所剩无几。由于代之而起的是更多彩多姿的Web式讨论环境,因此在大多数国家或地区,BBS一词所指称的讨论环境多半已非传统的纯文字式接口,字义已相同或近似于“论坛(Forum)”。n目前纯文字式的BBS站点,多数是基于Internet的Telnet协议。在服务器端,采用MapleBBS或者FireBirdBBS系统。用户端通过Telnet软件如NetTerm、CTerm、FTerm等来登陆服务器,阅读发表文章,发送邮件,通过仿真的ZModem协议来上传下载数据文件。有些站点还提供SSH登陆,确保连接的安全性,还有很多站点提供Web方式的界面,方便用户使用。9.5 9.5 邮件传输协议邮件传输协议n电子邮件是电子邮件是Internet上最基本、最重要的服务。上最基本、最重要的服务。nInternet采采用用SMTP(简简单单邮邮件件传传输输协协议议)作作为为邮邮件件传传输输的的标标准准方方法法。当当两两台台使使用用SMTP协协议议的的计计算算机机通通过过Internet实实现现了了连连接接,它它们们之之间间便便可可以以透透明明地地交交换换邮邮件件。SMTP要要借借助助于于TCP/IP协协议议进进行行信信息息传传输输处理处理。 多多用用途途Internet邮邮件件扩扩充充协协议议MIME(Multipurpose Internet Mail Extension)的的主主要要用用途途是是对对邮邮件件及及附附件件进进行行编编码码。经经MIME编编码码的的邮邮件件及及附附件件体体积积虽虽然然也也会会增增加加,但但比比经经UUEncode编编码码的的要要少少得得多多,从从而而减减少少了不必要的通信量。了不必要的通信量。 POP3协协议议(Post Office Protocol,邮邮局局协协议议) 主主要要用用于于处处理理电电子子邮邮件件客客户户如如何何从从邮邮件件服服务务器器中中取取回回等等待待的的邮邮件件。在在Internet上上,运运行行POP3协协议议,用用于于存存储储和和投投递递Internet电电子子邮邮件件的的电电子子邮邮局局被被称称为为是是POP服服务器。务器。电子邮件地址的格式电子邮件地址的格式TCP/IP 体系的电子邮件系统规定电子邮件地址的体系的电子邮件系统规定电子邮件地址的格式如下:格式如下: 收信人邮箱名收信人邮箱名邮箱所在主机的域名邮箱所在主机的域名 符号符号“”读作读作“at”,表示表示“在在”的意思。的意思。 例如,电子邮件地址例如,电子邮件地址 xiexirentsinghua.org.cn邮箱所在的主机的域名邮箱所在的主机的域名在全世界必须是惟一的在全世界必须是惟一的 这个用户名在该域名这个用户名在该域名的范围内是惟一的。的范围内是惟一的。 电子邮件系统的工作原理简单邮件传送协议简单邮件传送协议 SMTP SMTP 在在两两个个相相互互通通信信的的 SMTP 进进程程之之间间应应如如何何交交换信息,换信息,RFC 822(RFC821)。)。由由于于 SMTP 使使用用客客户户服服务务器器方方式式,因因此此负负责责发发送送邮邮件件的的 SMTP 进进程程就就是是 SMTP 客客户户,而而负负责责接接收收邮邮件的件的 SMTP 进程就是进程就是 SMTP 服务器。服务器。SMTP 规规定定了了 14 条条命命令令和和 21 种种应应答答信信息息。每每条条命命令令用用 4 个个字字母母组组成成,而而每每一一种种应应答答信信息息一一般般只只有有一一行行信信息息,由由一一个个 3 位位数数字字的的代代码码开开始始,后后面面附附上上(也可不附上)很简单的文字说明。(也可不附上)很简单的文字说明。 SMTP 通信的三个阶段通信的三个阶段 1. 连接建立:连接是在发送主机的连接建立:连接是在发送主机的 SMTP 客户和客户和接收主机的接收主机的 SMTP 服务器之间建立的。服务器之间建立的。SMTP不不使用中间的邮件服务器。使用中间的邮件服务器。 2. 邮件传送邮件传送3. 连接释放:邮件发送完毕后,连接释放:邮件发送完毕后,SMTP 应释放应释放 TCP 连接。连接。 通用因特网邮件扩充通用因特网邮件扩充 MIMESMTP 有以下缺点:有以下缺点:SMTP 不能传送可执行文件或其他的二进制对象。不能传送可执行文件或其他的二进制对象。SMTP 限限于于传传送送 7 位位的的 ASCII 码码。许许多多其其他他非非英英语语国国家家的的文文字字(如如中中文文、俄俄文文,甚甚至至带带重重音音符符号号的的法文或德文)就无法传送。法文或德文)就无法传送。SMTP 服务器会拒绝超过一定长度的邮件。服务器会拒绝超过一定长度的邮件。某某些些 SMTP 的的实实现现并并没没有有完完全全按按照照RFC 821的的 SMTP 标准。标准。MIME是是对对RFC 822框框架架的的扩扩展展,致致力力于于解解决决STMP存在的问题。存在的问题。 MIME 的特点的特点MIME 并没有改动并没有改动 SMTP 或取代它。或取代它。MIME 的的意意图图是是继继续续使使用用目目前前的的RFC 822格格式式,但但增增加加了了邮邮件件主主体体的的结结构构,并并定定义义了了传传送送非非 ASCII 码的编码规则。码的编码规则。 MIMEMIME的头标的头标nMIMEMIME的头标定义了的头标定义了5 5个新的字段个新的字段版本(版本(MIME-VersionMIME-Version):1.0:1.0(按照(按照 RFC 2045, RFC RFC 2045, RFC 20462046定义的规格)定义的规格)内容类型内容类型(Content-TypeContent-Type): : 这个字段用于详细描述这个字段用于详细描述主体的数据主体的数据内容传输编码内容传输编码(Content-Transfer-EncodingContent-Transfer-Encoding): :内容内容采用的编码方案采用的编码方案 ( (如如radix-64)radix-64)内容内容IDID(Content-IDContent-ID): : 该字段主要用于多个上下文该字段主要用于多个上下文时,对时,对MIMEMIME实体的标识实体的标识. .内容描述(内容描述(Content DescriptionContent Description): :对内容的文本描对内容的文本描述述 ( (e.g.,mpege.g.,mpeg) )MIME 和和 SMTP 的关系的关系 非非 ASCII 码码7 位位 ASCII 码码MIMESMTPMIMESMTP7 位位 ASCII 码码7 位位 ASCII 码码非非 ASCII 码码用户用户用户用户nPOP(Post Office Protocol):用于从邮件服务器:用于从邮件服务器向用户计算机传送信息,以便用户端的邮件程序向用户计算机传送信息,以便用户端的邮件程序可以阅读邮件。可以阅读邮件。nPOP仅支持离线工作模式,用户邮件被传送到用仅支持离线工作模式,用户邮件被传送到用户计算机上,就不在邮件服务器上存在副本。户计算机上,就不在邮件服务器上存在副本。nIMAP(Internet Message Access Protocol)是一是一种获取种获取E-mail消息的协议。消息的协议。n最新版本的最新版本的IMAP4与与POP类似,但可支持在线和类似,但可支持在线和断线两种访问邮件的模式。断线两种访问邮件的模式。n利用利用IMAP可以将邮件消息保留在邮件服务器上的可以将邮件消息保留在邮件服务器上的同时在同时在E-mail中搜索关键词,然后可以选择将哪中搜索关键词,然后可以选择将哪些邮件下载到自己的计算机。些邮件下载到自己的计算机。必须注意必须注意不要将邮件读取协议不要将邮件读取协议 POP 或或 IMAP 与邮件传送协与邮件传送协议议 SMTP 弄混。弄混。发信人的用户代理向源邮件服务器发送邮件,以及发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使源邮件服务器向目的邮件服务器发送邮件,都是使用用 SMTP 协议。协议。而而 POP 协议或协议或 IMAP 协议则是用户从目的邮件服协议则是用户从目的邮件服务器上读取邮件所使用的协议。务器上读取邮件所使用的协议。 9.6 9.6 超文本传输协议超文本传输协议万万维维网网 WWW (World Wide Web)并并非非某某种种特特殊殊的的计算机网络。计算机网络。万维网是一个大规模的、联机式的信息储藏所。万维网是一个大规模的、联机式的信息储藏所。万万维维网网用用链链接接的的方方法法能能非非常常方方便便地地从从因因特特网网上上的的一一个个站站点点访访问问另另一一个个站站点点,从从而而主主动动地地按按需需获获取取丰富的信息。丰富的信息。这种访问方式称为这种访问方式称为“链接链接”。万维网提供分布式服务万维网提供分布式服务 万维网万维网站点站点 A万维网万维网站点站点 C万维网站点万维网站点 E万维网站点万维网站点 D万维网站点万维网站点 B链接到链接到链接到链接到链接到链接到链接到链接到链接到链接到链接到链接到超媒体与超文本超媒体与超文本n万维网是分布式超媒体万维网是分布式超媒体(hypermedia)系统,它是系统,它是超文本超文本(hypertext)系统的扩充。系统的扩充。n一个超文本由多个信息源链接成。利用一个链接一个超文本由多个信息源链接成。利用一个链接可使用户找到另一个文档。这些文档可以位于世可使用户找到另一个文档。这些文档可以位于世界上任何一个接在因特网上的超文本系统中。超界上任何一个接在因特网上的超文本系统中。超文本是万维网的基础。文本是万维网的基础。n超媒体与超文本的区别是文档内容不同。超文本超媒体与超文本的区别是文档内容不同。超文本文档仅包含文本信息,而超媒体文档还包含其他文档仅包含文本信息,而超媒体文档还包含其他表示方式的信息,如图形、图像、声音、动画,表示方式的信息,如图形、图像、声音、动画,甚至活动视频图像。甚至活动视频图像。万维网的工作方式万维网的工作方式 n万维网以客户服务器方式工作。万维网以客户服务器方式工作。n浏览器浏览器就是在用户计算机上的万维网就是在用户计算机上的万维网客户程序客户程序。万。万维网文档所驻留的计算机则运行维网文档所驻留的计算机则运行服务器程序服务器程序,因此,因此这个计算机也称为这个计算机也称为万维网服务器万维网服务器。n客户程序向服务器程序发出请求,服务器程序向客客户程序向服务器程序发出请求,服务器程序向客户程序送回客户所要的万维网文档。户程序送回客户所要的万维网文档。n在一个客户程序主窗口上显示出的万维网文档称为在一个客户程序主窗口上显示出的万维网文档称为页面页面(page)。万维网必须解决的问题万维网必须解决的问题 (1) 怎样标志分布在整个因特网上的万维网文档?怎样标志分布在整个因特网上的万维网文档? n使用使用统一资源定位符统一资源定位符 URL (Uniform Resource Locator)来标志万维网上的各种文档。来标志万维网上的各种文档。n使每一个文档在整个因特网的范围内具有惟一的使每一个文档在整个因特网的范围内具有惟一的标识符标识符 URL。 URL一般格式:一般格式: :/万维网必须解决的问题万维网必须解决的问题 (2) 用何协议实现万维网上各种超链的链接?用何协议实现万维网上各种超链的链接? n在在万万维维网网客客户户程程序序与与万万维维网网服服务务器器程程序序之之间间进进行行交交互互所所使使用用的的协协议议,是是超超文文本本传传送送协协议议 HTTP (HyperText Transfer Protocol)。nHTTP 是是一一个个应应用用层层协协议议,它它使使用用 TCP 连连接接进进行可靠的传送。行可靠的传送。 万维网必须解决的问题万维网必须解决的问题 (3) 怎怎样样使使各各种种万万维维网网文文档档都都能能在在因因特特网网上上的的各各种种计计算算机机上上显显示示出出来来,同同时时使使用用户户清清楚楚地地知知道道在在什什么地方存在着超链?么地方存在着超链? n超超文文本本标标记记语语言言 HTML (HyperText Markup Language)使使得得万万维维网网页页面面的的设设计计者者可可以以很很方方便便地地用用一一个个超超链链从从本本页页面面的的某某处处链链接接到到因因特特网网上上的的任任何何一一个个万万维维网网页页面面,并并且且能能够够在在自自己己的的计计算算机机屏幕上将这些页面显示出来。屏幕上将这些页面显示出来。 Web文档的类型文档的类型 n静态文档是指该文档创作完毕后就存放在万静态文档是指该文档创作完毕后就存放在万维网服务器中,在被用户浏览的过程中,内维网服务器中,在被用户浏览的过程中,内容不会改变。容不会改变。 n动态文档是指文档的内容是在浏览器访问万动态文档是指文档的内容是在浏览器访问万维网服务器时才由应用程序动态创建。维网服务器时才由应用程序动态创建。n动态文档和静态文档之间的主要差别体现在动态文档和静态文档之间的主要差别体现在服务器一端。这主要是文档内容的生成方法服务器一端。这主要是文档内容的生成方法不同。而从浏览器的角度看,这两种文档并不同。而从浏览器的角度看,这两种文档并没有区别。没有区别。 动态动态Web文档的生成过程文档的生成过程 万维网服务器浏览器程序万维网客户服务器程序HTTP数据库HTTP 请求报文请求报文请求文档获取信息,创建动态文档响应动态文档HTTP 响应报文响应报文执行程序,访问数据库主动文档在客户端创建主动文档在客户端创建 万维网服务器浏览器程序万维网客户服务器程序HTTPHTTP 请求报文请求报文请求文档程序事先被编译成二进制代码,存放为文件程序此程序在客户端创建出主动文档文档响应程序HTTP 响应报文响应报文程序万维网必须解决的问题万维网必须解决的问题 (4) 怎样使用户能够很方便地找到所需的信息?怎样使用户能够很方便地找到所需的信息? n为为了了在在万万维维网网上上方方便便地地查查找找信信息息,用用户户可可使使用用各各种的搜索工具(即搜索引擎)。种的搜索工具(即搜索引擎)。 超文本传送协议超文本传送协议HTTP1. HTTP协议的工作过程协议的工作过程n为为了了使使超超文文本本的的链链接接能能够够高高效效率率地地完完成成,需需要要用用 HTTP 协议来传送一切必须的信息。协议来传送一切必须的信息。n从从 层层 次次 的的 角角 度度 看看 , HTTP 是是 面面 向向 事事 务务 的的(transaction-oriented)应应用用层层协协议议,它它是是万万维维网网上上能能够够可可靠靠地地交交换换文文件件(包包括括文文本本、声声音音、图图像等各种多媒体文件)的重要基础。像等各种多媒体文件)的重要基础。 HTTP协议 HTTPHTTP协议使协议使WebWeb服务器和浏览器可以通过服务器和浏览器可以通过We bWe b交换数据。交换数据。它是一种请求它是一种请求/ /响应协议,即服务响应协议,即服务器等待并响应客户方请求。器等待并响应客户方请求。 HTTPHTTP不维护与客户方的连接,它使用可靠的不维护与客户方的连接,它使用可靠的T C PT C P连接,连接,通常采用通常采用TCP 80TCP 80端口。端口。 客户客户/ /服务器传输过程可分为四个基一步骤:服务器传输过程可分为四个基一步骤: 1) 1) 浏览器与服务器建立连接;浏览器与服务器建立连接; 2) 2) 浏览器向服务器请求文档;浏览器向服务器请求文档; 3) 3) 服务器响应浏览器请求;服务器响应浏览器请求; 4) 4) 断开连接。断开连接。HTTPHTTP是一种无状态协议,它不维护连接的状态信息。是一种无状态协议,它不维护连接的状态信息。HTTP 的主要特点的主要特点 HTTP 是面向事务的客户服务器协议。是面向事务的客户服务器协议。HTTP 1.0 协议是协议是无状态的无状态的(stateless)。HTTP 协议本身也是无连接的,虽然它使用了面协议本身也是无连接的,虽然它使用了面向连接的向连接的 TCP 向上提供的服务。向上提供的服务。万维网浏览器就是一个万维网浏览器就是一个 HTTP 客户,而在万维网客户,而在万维网服务器等待服务器等待 HTTP 请求的进程常称为请求的进程常称为 HTTP daemon,有的文献将它缩写为有的文献将它缩写为 HTTPD。HTTP daemon 在收到在收到 HTTP 客户的请求后,把所客户的请求后,把所需的文件返回给需的文件返回给 HTTP 客户。客户。 2. 万维网高速缓存万维网高速缓存 (Web cache) n万维网高速缓存能代表浏览器发出万维网高速缓存能代表浏览器发出 HTTP 请求,请求,因此又称为因此又称为代理服务器代理服务器(proxy server)。n万维网高速缓存将最近的一些请求和响应暂存在万维网高速缓存将最近的一些请求和响应暂存在本地磁盘中。本地磁盘中。n当与暂时存放的请求相同的新请求到达时,万维当与暂时存放的请求相同的新请求到达时,万维网高速缓存就把暂存的响应发送出去,而不需要网高速缓存就把暂存的响应发送出去,而不需要按按 URL 的地址再去因特网访问该资源。的地址再去因特网访问该资源。 如果如果WebWeb服务器上的缓存中包含了客户端发送的服务器上的缓存中包含了客户端发送的请求的响应,那么它就不用处理这个请求,而是自动请求的响应,那么它就不用处理这个请求,而是自动发送被缓存的响应,这样就节省了时间和处理资源。发送被缓存的响应,这样就节省了时间和处理资源。 为了保证缓存中提供的响应不会过时,可以使用为了保证缓存中提供的响应不会过时,可以使用两种方法来更新缓存:过期缓存和有效缓存。两种方法来更新缓存:过期缓存和有效缓存。 过期模型规定存放在缓存中的响应必须设置一过期模型规定存放在缓存中的响应必须设置一个时间值,这个值为缓存内容规定了有效时间,在个时间值,这个值为缓存内容规定了有效时间,在这个时间内所有的响应都是这个时间内所有的响应都是“新鲜新鲜”的。的。 有效模型指由缓存使用某些报头字段来和服务有效模型指由缓存使用某些报头字段来和服务器一起校验缓存响应的有效性。器一起校验缓存响应的有效性。 在在HTTP1.0HTTP1.0中,每次用户请求从服务器下载中,每次用户请求从服务器下载WebWeb内内容时都必须建立一个新的连接。这会造成巨大的网络容时都必须建立一个新的连接。这会造成巨大的网络负载,降低网络效率。负载,降低网络效率。 HTTP1.1HTTP1.1在在19991999年年6 6月作为月作为RFCRFC出现,改变了基本出现,改变了基本HTTPHTTP模式。模式。 HTTP1.1HTTP1.1不是为每个传输使用不是为每个传输使用TCPTCP连接,而是在两连接,而是在两台通信计算机间维持一个持续的连接,除非其中一台台通信计算机间维持一个持续的连接,除非其中一台计算机表示它想关闭这个连接。这种持续的计算机表示它想关闭这个连接。这种持续的TCPTCP连接连接被称为被称为持续连接(持续连接(Persistent ConnectionPersistent Connection)。3. 连接连接 持续连接的主要优点在于减少开销,持续连接的主要优点在于减少开销,TCPTCP连接越连接越少,意味着响应时间、底层网络上系统开销、缓冲区少,意味着响应时间、底层网络上系统开销、缓冲区使用的内存和使用的使用的内存和使用的CPUCPU时间就会更少。时间就会更少。 使用持续连接的主要问题在于,需要标识通过连使用持续连接的主要问题在于,需要标识通过连续发送的每一项的开头和结尾。处理这种情况有两种续发送的每一项的开头和结尾。处理这种情况有两种可能的技术:可能的技术: 先发送长度,然后再发送数据项;先发送长度,然后再发送数据项; 在数据项后面发送一个标记值(在数据项后面发送一个标记值(sentinel sentinel valuevalue),标记数据项的结束。),标记数据项的结束。 nHTTPHTTP不能预先约定标记值,这是因为传送的数据不能预先约定标记值,这是因为传送的数据项包括图形图像,图像可以包含任意的八位组序项包括图形图像,图像可以包含任意的八位组序列。为了避免在标记值和数据之间的多义性,列。为了避免在标记值和数据之间的多义性,HTTPHTTP使用先发送长度,然后发送具有该长度的数使用先发送长度,然后发送具有该长度的数据项的方法。据项的方法。持续连接的基本规则持续连接的基本规则 适度超时(适度超时(Graceful TimeoutGraceful Timeout) 尽管尽管TCPTCP为确认(为确认(ACKACK)的接收设置了超时值,但的接收设置了超时值,但持续连接并没有对响应或请求报文的接收做任何时间持续连接并没有对响应或请求报文的接收做任何时间限制。这样可能导致客户端或限制。这样可能导致客户端或WebWeb服务器无限期等待服务器无限期等待一个响应。因此,代理服务器和一个响应。因此,代理服务器和WebWeb服务器设置了一服务器设置了一个超时值,保证了如果客户端和服务器之间没有响应个超时值,保证了如果客户端和服务器之间没有响应或请求交流的话,连接就会被终止。或请求交流的话,连接就会被终止。异步关闭恢复(异步关闭恢复(Asynchronous Close RecoveryAsynchronous Close Recovery) 经常有这样一种情况,服务器在超时值到期后终经常有这样一种情况,服务器在超时值到期后终止了一个连接,而客户端以为连接仍处于活动状态就止了一个连接,而客户端以为连接仍处于活动状态就发送了一个报文序列。客户端在超时值到期后终止了发送了一个报文序列。客户端在超时值到期后终止了连接,而服务器仍然发送了一个响应序列。这在数据连接,而服务器仍然发送了一个响应序列。这在数据传输延迟很厉害的低速网络中极有可能发生。这种情传输延迟很厉害的低速网络中极有可能发生。这种情况下,在已经中断的连接上发送报文的客户端或者服况下,在已经中断的连接上发送报文的客户端或者服务器,必须能够重新建立一个新的连接并重传报文。务器,必须能够重新建立一个新的连接并重传报文。 数量受限的连接数量受限的连接 (Limited Number of ConnectionsLimited Number of Connections) 在任意时刻,客户端用来连接服务器的持续连接在任意时刻,客户端用来连接服务器的持续连接的数目必须被限制为两个。如果客户端通过代理与服的数目必须被限制为两个。如果客户端通过代理与服务器相连,那么该代理使用的持续连接一定不能超过务器相连,那么该代理使用的持续连接一定不能超过2 2N N 个,个,N N代表代理用户的数目。代表代理用户的数目。 例如,如果三个用户通过代理访问例如,如果三个用户通过代理访问 www.mcp.comwww.mcp.com,那么该代理最多可以打开那么该代理最多可以打开6 6个个www.mcp.comwww.mcp.com Web Web服务服务器的连接。器的连接。 除了上面提到的规则,服务器还必须能够保证在除了上面提到的规则,服务器还必须能够保证在传输响应的过程中连接不被中断。传输响应的过程中连接不被中断。4. HTTP 的报文结构的报文结构 HTTP 有两类报文:有两类报文:n请求报文请求报文从客户向服务器发送请求报文。从客户向服务器发送请求报文。n响应报文响应报文从服务器到客户的回答。从服务器到客户的回答。n由于由于 HTTP 是面向正文的是面向正文的(text-oriented),因因此在报文中的每一个字段都是一些此在报文中的每一个字段都是一些 ASCII 码串,码串,因而每个字段的长度都是不确定的。因而每个字段的长度都是不确定的。HTTP 的报文结构(请求报文)的报文结构(请求报文) 方方 法法URL版版 本本首部字段名首部字段名:值值首部字段名首部字段名值值:实体主体实体主体(通常不用)(通常不用)首部行首部行空格空格回车换行回车换行:CRLFCRLFCRLFCRLF报文由三个部分组成,即报文由三个部分组成,即开始行开始行、首部行首部行和和实体主体实体主体。在请求报文中,开始行就是请求行。在请求报文中,开始行就是请求行。请求行请求行开始行开始行HTTP 请求报文的一些方法请求报文的一些方法 方法(操作)方法(操作) 意义意义OPTION 请求一些选项的信息请求一些选项的信息GET 请求读取由请求读取由URL所标志的信息所标志的信息HEAD 请求读取由请求读取由URL所标志的信息的首部所标志的信息的首部POST 给服务器添加信息(例如,注释)给服务器添加信息(例如,注释)PUT 在指明的在指明的URL下存储一个文档下存储一个文档DELETE 删除指明的删除指明的URL所标志的资源所标志的资源TRACE 用来进行环回测试的请求报文用来进行环回测试的请求报文CONNECT用于代理服务器用于代理服务器HTTP 的报文结构(响应报文)的报文结构(响应报文) 版版 本本状态状态短短 语语首部字段名首部字段名首部行首部行:值值首部字段名首部字段名值值:实体主体实体主体(有些响应报文不用)(有些响应报文不用)状态行状态行空格空格回车换行回车换行:CRLFCRLFCRLFCRLF响应报文的开始行是状态行。状态行包括三项内容,即HTTP的版本,状态码,以及解释状态码的简单短语。 开始行开始行状态码都是三位数字状态码都是三位数字 n1xx 表示通知信息的,如请求收到了或正在进行表示通知信息的,如请求收到了或正在进行处理。处理。n2xx 表示成功,如接受或知道了。表示成功,如接受或知道了。n3xx 表示重定向,表示要完成请求还必须采取进表示重定向,表示要完成请求还必须采取进一步的行动。一步的行动。n4xx 表示客户的差错,如请求中有错误的语法或表示客户的差错,如请求中有错误的语法或不能完成。不能完成。n5xx 表示服务器的差错,如服务器失效无法完成表示服务器的差错,如服务器失效无法完成请求。请求。通信实例1.请求在本例中,浏览器请求文档的URL为http:/www.hostname.com/index.html。所有的请求均以空行结束。GET/index.htmlHTTP/1.1Accept:text/plainAccept:text/htmlUser-Agent:Mozilla/4.5(WinNT)(blankline)(DATA)浏览器使用Get方法请求文档/index.html。浏览器声明它只能接收纯文本和html数据,它使用Mozilla/4.5(Netscape)引擎。通信实例2.响应服务响应包括状态码、一些头信息(以空行结束)及请求数据,假设数据存在,则响应信息如下:HTTP/1.1200OKDateSunday,15-Jul-0512:18:33GMTServer:Apache/1.3.6MIME-version:1.0Content-type:test/htmlLast-modified:Thursday,02-Jun-0520:43:56GMTContent-length:1432(blankline)(此行开始为数据部分,与前面头部要空一行)ExampleServer-BrowserCommunication.假设文档未找到,响应信息如下HTTP/1.1404NOTFOUNDDateSunday,15-Jul-0512:19:33GMTServer:Apache/1.3.6注意:每行换行时用:/r/n,头部与数据段之间要多空一行。n网络管理网络管理包括对硬件、软件和人力的使用、综合与包括对硬件、软件和人力的使用、综合与协调,以便对网络资源进行监视、测试、配置、分协调,以便对网络资源进行监视、测试、配置、分析、评价和控制,这样就能以合理的价格满足网络析、评价和控制,这样就能以合理的价格满足网络的一些需求,如实时运行性能,服务质量等。网络的一些需求,如实时运行性能,服务质量等。网络管理常简称为管理常简称为网管网管。n我们可以看到,网络管理并不是指对网络进行行政我们可以看到,网络管理并不是指对网络进行行政上的管理。上的管理。第第1010章章 简简 单单 网网 络络 管管 理理1 1 网络管理的概念网络管理的概念OSI 的五个管理功能域的五个管理功能域 (FCAPS)(1) 故障管理故障管理对网络中被管对象故障的检测、定对网络中被管对象故障的检测、定位和排除。位和排除。(2) 配置管理配置管理用来定义、识别、初始化、监控网用来定义、识别、初始化、监控网络中的被管对象,改变被管对象的操作特性,报告络中的被管对象,改变被管对象的操作特性,报告被管对象状态的变化。被管对象状态的变化。(3) 计费管理计费管理 记录用户使用网络资源的情况并记录用户使用网络资源的情况并核收费用,同时也统计网络的利用率。核收费用,同时也统计网络的利用率。(4) 性能管理性能管理用最少网络资源和最小时延的前提用最少网络资源和最小时延的前提下,网络能提供可靠、连续的通信能力。下,网络能提供可靠、连续的通信能力。(5) 安全管理安全管理保证网络不被非法使用。保证网络不被非法使用。简单网络管理协议n简单网络管理协议简单网络管理协议(SNMP,Simple Network Management Protocol)是在应用层上进行网络设备间通信的管理,它可以进行网)是在应用层上进行网络设备间通信的管理,它可以进行网络状态监视、网络参数设定、网络流量统计与分析、发现网络故障等。络状态监视、网络参数设定、网络流量统计与分析、发现网络故障等。nSNMP发展历史n1988年:SNMPV.1n1993年:SNMPV.2n1998年1月:SNMPV.3nSNMP V.2较较V.1版本主要在系统管理接口、协作操作、信息格式、管版本主要在系统管理接口、协作操作、信息格式、管理体系结构和安全性几个方面有较大的改善。理体系结构和安全性几个方面有较大的改善。nSNMP V.3涵盖了涵盖了SNMP V.1和和SNMP V.2的所有功能,并在此基础上的所有功能,并在此基础上增加了安全性。增加了安全性。 SNMP模型nSNMP(SimpleNetworkManagementProtocol)模型包括4个组成部分:管理节点:运行SNMP管理进程,即SNMP代理(agent),维护本节点上的管理信息库(MIB)。管理站:其上运行管理器进程,通过与各管理节点上的SNMP代理的通信来管理管理节点。管理信息:表示代理管理的数据对象,所有的对象都存在一个叫管理信息库MIB(ManagementInformationBase)的数据结构中。管理协议:管理站使用管理协议(SNMP)与代理通信,该协议允许管理站查询代理的本地数据对象的状态,必要时做修改。SNMP体系结构的主要特点nSNMP体系结构的主要特点n由于由于SNMP是为是为Internet而设计的,而且是为了提高网络管理系统而设计的,而且是为了提高网络管理系统的效率,所以网络管理系统在传输层采用了用户数据报(的效率,所以网络管理系统在传输层采用了用户数据报(UDP)协议。)协议。SNMP有如下特点:有如下特点:n 尽可能地降低管理代理的软件成本和资源要求n 提供较强的远程管理功能,以适应对Internet网络资源的管理n 体系结构具备可扩充性,以适应网络系统的发展n 管理协议本身具有高度的通用性,可应用于任何厂商任何型号和品牌的计算机、网络和网络传输协议之中SNMP管理模型的组成部分SNMP管理模型nSNMP采用轮询监控方式,主要对ISO/OSI七层模型中较低层次进行管理。管理者按一定时间间隔向代理获取管理信息,并根据管理信息判断是否有异常事件发生。当管理对象发生紧急情况时,可以使用称为trap信息的报文主动报告。轮询监控的主要优点是对代理资源要求不高,缺点是管理通信开销大。 nSNMP的基本功能包括网络性能监控、网络差错检测和网络配置。网络管理工作站网络管理工作站网络网络网络管理协议网络管理协议代理代理管理信息库管理信息库代理代理管理信息库管理信息库代理代理管理信息库管理信息库代理代理管理信息库管理信息库被管被管设备设备网络管理模型网络管理模型网络管理公理:网络管理公理: 由于管理信息增加而增加的信息流量不应该明显增加由于管理信息增加而增加的信息流量不应该明显增加被管理网络的负担被管理网络的负担 被管理设备的代理不应该明显增加影响设备主要功能被管理设备的代理不应该明显增加影响设备主要功能的操作。的操作。网络管理模型中的主要构件网络管理模型中的主要构件 n管理站管理站也常称为也常称为网络运行中心网络运行中心 NOC (Network Operations Center),是网络管理系统的核心。是网络管理系统的核心。n管理程序管理程序在运行时就成为在运行时就成为管理进程管理进程。n管理站(硬件)或管理程序(软件)都可称为管理站(硬件)或管理程序(软件)都可称为管理管理者者(manager)。nManager 不是指人而是指机器或软件。不是指人而是指机器或软件。n网络管理员网络管理员(administrator) 指的是人。大型网络指的是人。大型网络往往实行多级管理,因而有多个管理者,而一个管往往实行多级管理,因而有多个管理者,而一个管理者一般只管理本地网络的设备。理者一般只管理本地网络的设备。被管对象被管对象(Managed Object)。n网络的每一个被管设备中可能有多个网络的每一个被管设备中可能有多个被管对被管对象象。n被管设备有时可称为被管设备有时可称为网络元素网络元素或或网元网元。n在被管设备中也会有一些不能被管的对象。在被管设备中也会有一些不能被管的对象。 管理信息库管理信息库 MIB(Management Information Base)n被管对象必须维持可供管理程序读写的若干被管对象必须维持可供管理程序读写的若干控制和状态信息。这些信息总称为控制和状态信息。这些信息总称为管理信息管理信息库库 MIB 。n管理程序使用管理程序使用 MIB 中这些信息的中这些信息的值值对网络对网络进行管理(如读取或重新设置这些值)。进行管理(如读取或重新设置这些值)。代理代理(agent)n在每一个被管设备中都要运行一个程序以在每一个被管设备中都要运行一个程序以便和管理站中的管理程序进行通信。这些便和管理站中的管理程序进行通信。这些运行着的程序叫做运行着的程序叫做网络管理代理程序网络管理代理程序,或,或简称为简称为代理代理。n代理程序在管理程序的命令和控制下在被代理程序在管理程序的命令和控制下在被管设备上采取本地的行动。管设备上采取本地的行动。网络管理协议网络管理协议 n网络管理协议网络管理协议,简称为,简称为网管协议网管协议。n需要注意的是,并不是网管协议本身来管需要注意的是,并不是网管协议本身来管理网络。网管协议就是管理程序和代理程理网络。网管协议就是管理程序和代理程序之间进行通信的规则。序之间进行通信的规则。n网络管理员利用网管协议通过管理站对网网络管理员利用网管协议通过管理站对网络中的被管设备进行管理。络中的被管设备进行管理。 客户服务器方式客户服务器方式n管理程序和代理程序按管理程序和代理程序按客户服务器方式客户服务器方式工作。工作。n管理程序运行管理程序运行 SNMP 客户程序客户程序,向某个代,向某个代理程序发出请求(或命令),代理程序运行理程序发出请求(或命令),代理程序运行 SNMP 服务器程序服务器程序,返回响应(或执行某,返回响应(或执行某个动作)。个动作)。n在网管系统中往往是一个(或少数几个)客在网管系统中往往是一个(或少数几个)客户程序与很多的服务器程序进行交互。户程序与很多的服务器程序进行交互。2 2 简单网络管理协议简单网络管理协议SNMP SNMP n网络管理的基本原理:网络管理的基本原理: 若要管理某个对象,就必然会给该对象添加一些若要管理某个对象,就必然会给该对象添加一些软件或硬件,但这种软件或硬件,但这种“添加添加”必须对原有对象的必须对原有对象的影响尽量小些。影响尽量小些。nSNMP 发布于发布于 1988 年。年。IETF 在在 1990 年制订的年制订的网管标准网管标准 SNMP 是因特网的正式标准。是因特网的正式标准。n以后有了新版本以后有了新版本 SNMPv2 和和 SNMPv3,因此原来因此原来的的 SNMP 又称为又称为 SNMPv1。 SNMP 的指导思想的指导思想nSNMP 最重要的指导思想就是要尽可能简单。最重要的指导思想就是要尽可能简单。nSNMP 的基本功能包括监视网络性能、检测分析的基本功能包括监视网络性能、检测分析网络差错和配置网络设备等。网络差错和配置网络设备等。n在网络正常工作时,在网络正常工作时,SNMP 可实现统计、配置、可实现统计、配置、和测试等功能。当网络出故障时,可实现各种差错和测试等功能。当网络出故障时,可实现各种差错检测和恢复功能。检测和恢复功能。n虽然虽然 SNMP 是在是在 TCP/IP 基础上的网络管理协议,基础上的网络管理协议,但也可扩展到其他类型的网络设备上。但也可扩展到其他类型的网络设备上。 路由器主机主机管理站代理进程SNMPUDPIP网络接口管理进程SNMPUDPIP网络接口用户进程FTP等TCP代理进程SNMPUDPIP网络接口用户进程FTP等TCP代理进程SNMPUDPIP网络接口InternetSNMP的配置3 3 管理信息库管理信息库 MIBMIBn管理信息库管理信息库 MIB 是一个网络中所有可能的被管对是一个网络中所有可能的被管对象的集合的数据结构。象的集合的数据结构。n只有在只有在 MIB 中的对象才是中的对象才是 SNMP 所能够管理的。所能够管理的。nSNMP 的管理信息库采用和域名系统的管理信息库采用和域名系统 DNS 相似的相似的树形结构,它的根在最上面,根没有名字。树形结构,它的根在最上面,根没有名字。 管理信息的结构(SMI)n采用面向对象的技术,用被管对象的概念来描述被管理的资源。nSMI(StructerofManagementInformation)定义了如何描述被管理的对象的规则,以及管理协议如何访问这些对象。n被管理对象的描述必须按照抽象语法符号1(ASN.1,AbstractSyntaxNotationOne)进行编码。对象的标识nSMI要求所有被管理的信息和数据都要由管理树来标识,将每个对象放在一棵管理树上的一个唯一的位置,管理树的分支和叶子是用数字和名字两种方式表示的。n在管理树中从根通向一个节点或叶子的路径序列就构成了一个对象类型唯一的对象标识符(objectidentifier)。iso(1)identified-organization(3)dod(6)internet(1)mgmt(2)mib-2(1)136121iso(1)3dod(6)121iso.identified-organization.dod.internet.mgmt.mib-21.3.6.1.2.1管理信息库的对象命名树举例管理信息库的对象命名树举例 根根iso (1)ccitt (0)joint-iso-ccitt (2)member body (2)dod (6)internet (1) 1.3.6.1mgmt (2)directory (1)experimental (3) private (4)enterprises(1) 1.3.6.1.4.1mib-2 (1) 1.3.6.1.2.1system(1) interface(2) at(3)ip(4)icmp(5)tcp(6) udp(7)egp(8)standard (0) registration authority (1)identified organization (3)snmpv2 (6)security (5)MIB定义了定义了TCP/IP协议中每层管理的对象。协议中每层管理的对象。MIB-II由由11个组,共个组,共171个对象组成。个对象组成。组别对象号描述system(1)7名字、位置和设备描述interface(2)23网络接口和它们的测定通信量at(3)3地址转换(已废弃)ip(4)42IP分组统计icmp(5)26已收到ICMP消息的统计tcp(6)19TCP算法、参数和统计udp(7)6UDP通信量统计egp(8)20外部网关协议通信量统计(不再使用)cmot(9)CommonManagementOverTCP/IP(流产)transmission(10)0保留为与介质有关的MIBsnmp(11)29SNMP通信量统计抽象语法符号1ASN.1nASN.1(AbstractSyntaxNotationOne)定义了一组用来描述OSI网络上所传输的数据结构规则。SNMP使用它作为管理对象的定义语言和编码规则。n管理对象定义中用到的ASN.1的数据类型。ASN.1ASN.1是ITU-T的一个标准集,它用来编码及表示通用数据类型,这些数据类型有可打印串值,八位位组串值,位串值,整数值以及用可移值方式组合而成的其他类型序列值简单的说,ASN.1指定了以何种方式对非平凡的数据类型进行编码,以便其他任何平台及第三方工具都能够解释其内容比如,字母a在一些平台以ASCII编码为十进制数值97,而在其他非ASCII平台上,可能会是另外的编码而ASN.1指定了一种编码方式,在任何平台上,字母a的编码都是统一的ASN.1ASN.1是一种用于描述结构化客体的结构和内容的语言,是描述在网络上传输信息格式的标准方法。它有两部分:描述信息内数据,数据类型及序列格式的是一部分;另一部分描述如何将各部分组成消息。它原来是作为X.409的一部分而开发的,后来才自己独立成为一个标准。ASN.1在OSI的ISO8824/ITUX.208(说明语法)和ISO8825/ITUX.209(说明基本编码规则)规范。在ASN.1中,一个类型就是值的一个集合。有些类型有有限个值,有些则有无限多个。一个给定的ASN.1类型的值是该类型集合里的一个元素。ASN.1有四种类型ASN.1对象的编码nASN.1对象的编码是ASN.1标准的重要部分,目前,通常采用的是BER,而DER则是其一个子集。n一个标准的ASN.1编码对象有四个域:对象标识域、数据长度域、数据域以及结束标志。基本编码规则基本编码规则(BER),定义在ITU-TX.209中,是指在ASN.1标准(定义在ITU-TX.208中)中描述的数据编码/解码规则。基本的编码规则可能被用于为类型值取得传输语法的规范,使用ASN.1指定在推荐X.208中定义的。一单个ASN.1对象可能有几个等价的BER编码BERnBER是basicencodingrules的简称,它是一种简单的编码规则。nBER的优点:提供了一套规则,使得任何按该规则编码的一段数据(八位组流)都能够按照此规则被解析,这种规则使得一段数据自包含自身的结构信息。nBER的传输格式一直是TLV三元组:可以解释为;亦可解释为。BERTLV每个域都是一系列八位组,对于组合结构,其中V还可以是TLV三元组,因而形成嵌套结构(如下图)。BER采取大端编码c.1,其八位组的高位比特在左手边。BER编码中的Tag(通常是一个八位组),指明了值的类型,其中一个比特表征是基本类型还是组合类型。Tag有如下两种形式:BERBER BER编码中Length表示Value部分所占八位组的个数,有两大类:定长方式(Definite Form)和不定长方式(Indefinite Form); 在确定方式中,按照在确定方式中,按照LengthLength所占的八位组个数又分为短、长两种形式。所占的八位组个数又分为短、长两种形式。采用定长方式,当长度不大于采用定长方式,当长度不大于127127个八位组时,个八位组时,LengthLength只在一个八位只在一个八位组中编码;当长度大于组中编码;当长度大于127127时,在多个八位组中编码,此时第一个八时,在多个八位组中编码,此时第一个八位组低七位表示的是位组低七位表示的是LengthLength所占的长度,后续八位组表示所占的长度,后续八位组表示ValueValue的长的长度。度。 采用不定长方式时,采用不定长方式时,LengthLength所在八位组固定编码为所在八位组固定编码为0x800x80,但在,但在ValueValue编码结束后以两个编码结束后以两个0x000x00结尾。这种方式使得可以在编码没有完全结束结尾。这种方式使得可以在编码没有完全结束的情况下,可以先发送部分消息给对方。的情况下,可以先发送部分消息给对方。SNMP中的中的ASN.1编码编码nASN.1分两大部分:语法规则和编码规则。分两大部分:语法规则和编码规则。语法规则语法规则 n1). ASN.1定义示例定义示例Age:=INTEGER(0.120)User:=SEQUENCEnameIA5String(SIZE(1.128),ageAgeDEFAULT18,addressIA5StringOPTIONAL,.SNMP中的中的ASN.1编码编码 2). 简单类型简单类型基本类型字符串类型对象类型其它类型3). 构造类型构造类型SEQUENCE,对应于C语言中的structSEQUENCEOF,对应于数组SET,类似于SEQUENCE,但不考虑分量顺序SETOF,集合类型,每一分量类型相同,不考虑顺序SNMP中的中的ASN.1编码编码 4). 类型定义类型定义语法:typereference:=Type示例:1)Counter:=INTEGER2)UserAccount:=SEQUENCEusernamePrintableString,passwordPrintableString,accountINTEGER5). 赋值赋值语法:valuereferenceType:=Value示例:1)currentCounter:=12342)myAccountUserAccount:=username“tly”,password“guesswhat”,account2345BER编码编码BER1)三种情况及其格式:a.简单类型(Primitive),定长;Identifier|Length|Contentb.构造类型(Constructed),定长;Identifier|Length|I|L|C|I|L|C|.c.构造类型(Constructed),不定长;Identifier|Length|I|L|C|I|L|C|EOC|BER编码编码2)Identifier编码格式:87654321Class|P/C|Tagnumber分两种情况:a.Tagnumber=31BER编码编码n3)Length及Content编码分三种情况:a.短形(L=128),定长c.不定长,仅用于构造类型BER编码编码4)示例a.INTEGER49000000100000000100110001b.UserAccount:=SEQUENCEusernameIA5String,accountINTEGERmyAccountUserAccount:=username“john”,account129001100000000101000010110000000110100101001101111011010000110111000000010000000100000000010000001对象类型定义的5个字段n对象:对象类型的文本名称,即对象描述符(objectdescriptor),以及在其后定义的对象标识符。n语法:对象类型的抽象语法。可选择简单的语法(Integer、八位字节字符串、对象标识符、Null)或者应用语法(网络地址、计数器、标准(gauge)、TimeTick、Opaque)或者其他应用范围的类型。n定义:对象类型语义的文本描述。n访问:只读、读写、只写或者不可访问。n状态:必须、可选或者过时(obsolete)。一个对象类型定义的例子OBJECTsysDescrsystem1SyntaxOCTETSTRINGDescriptionThisvalueshouldincludethefullnameandversionidentificationofthesystemshardwaretype,softwareoperatingsystem,andnetworkingsoftware.ItismandatorythatthiscontainonlyprintableASCIIcharacters.Accessread-onlyStatusMandatorySNMP 的探询操作的探询操作n探询操作探询操作SNMP 管理进程定时向被管理设备周管理进程定时向被管理设备周期性地发送探询信息。期性地发送探询信息。n探询的好处是:探询的好处是:可使系统相对简单。可使系统相对简单。能限制通过网络所产生的管理信息的通信量。能限制通过网络所产生的管理信息的通信量。n但探询管理协议不够灵活,而且所能管理的设备数但探询管理协议不够灵活,而且所能管理的设备数目不能太多。探询系统的开销也较大。如探询频繁目不能太多。探询系统的开销也较大。如探询频繁而并未得到有用的报告,则通信线路和计算机的而并未得到有用的报告,则通信线路和计算机的 CPU 周期就被浪费了。周期就被浪费了。 陷阱陷阱(trap)nSNMP 不是完全的探询协议,它允许不经过询问不是完全的探询协议,它允许不经过询问就能发送某些信息。这种信息称为就能发送某些信息。这种信息称为陷阱陷阱,表示它,表示它能够捕捉能够捕捉“事件事件”。n这种陷阱信息的参数是受限制的。这种陷阱信息的参数是受限制的。n当被管对象的代理检测到有事件发生时,就检查当被管对象的代理检测到有事件发生时,就检查其门限值。代理只向管理进程报告达到某些门限其门限值。代理只向管理进程报告达到某些门限值的事件(即值的事件(即过滤过滤)。过滤的好处是:)。过滤的好处是:仅在严重事件发生时才发送陷阱;仅在严重事件发生时才发送陷阱;陷阱信息很简单且所需字节数很少。陷阱信息很简单且所需字节数很少。 SNMP 是有效的网络管理协议是有效的网络管理协议n使用探询(至少是周期性地)以维持对网络使用探询(至少是周期性地)以维持对网络资源的实时监视,同时也采用陷阱机制报告资源的实时监视,同时也采用陷阱机制报告特殊事件,使得特殊事件,使得 SNMP 成为一种有效的网成为一种有效的网络管理协议。络管理协议。 SNMP 使用的端口使用的端口nSNMP 使用无连接的使用无连接的 UDP,因此在网络上因此在网络上传送传送 SNMP 报文的开销较小。但报文的开销较小。但 UDP 不保不保证可靠交付。证可靠交付。n在运行代理程序的服务器端用熟知端口在运行代理程序的服务器端用熟知端口 161 来接收来接收 get 或或 set 报文和发送响应报文(与报文和发送响应报文(与熟知端口通信的客户端使用临时端口)。熟知端口通信的客户端使用临时端口)。n运行管理程序的客户端则使用熟知端口运行管理程序的客户端则使用熟知端口 162 来接收来自各代理的来接收来自各代理的 trap 报文。报文。 PDUPDU名称用途编号0get-request用来查询一个或多个变量的值1get-next-request 允许在MIB树上检索下一个变 量,此操作可反复进行2get-reponse 对get/set报文作出响应,并提供差错码、差错状态等信息3set-request对一个或多个变量值进行设置4Trap向管理进程报告代理中发生的事件4 SNMPv1nSNMP的操作只有两种基本的管理功能,即:的操作只有两种基本的管理功能,即:(1)“读读”操作,用操作,用get报文来检测各被管对象的状况;报文来检测各被管对象的状况;(2)“写写”操作,用操作,用set报文来改变各被管对象的状况。报文来改变各被管对象的状况。SNMP的报文格式n包括三个部分:版本号:有三个有效版本,v1、v2、v3。团体名:用于身份认证。PDU有五种类型:nGetRequest-PDU:请求获取一个特定对象的值。nGetNextRequest-PDU:请求获取MIB的各个部分。nSetRequest-PDU:请求修改或创建管理对象。nGetResponse-PDU:对前三条操作的响应。nTrap-PDU:代理向预置的管理站发送陷阱消息。SNMPv1 的报文格式的报文格式 UDP 数据报数据报IP 数据报数据报SNMP 报文报文get/set 报文报文 IP 首部首部UDP 首部首部SNMP PDU 版本版本共同体共同体PDU 类型类型 (03)差错索引差错索引差错状态差错状态 (05)请求标识符请求标识符名名名名值值值值trap 首部首部变量绑定变量绑定20字节字节 8字节字节PDU 类型类型 (4)名名值值企业企业代理的代理的IP 地址地址trap类型类型 (0 6)特定特定代码代码时间戳时间戳值值名名get/set 首部首部变量绑定变量绑定trap 报文报文差错状态差错状态名字名字说明说明0 0noErrornoError一切正常一切正常1 1tooBigtooBig代理无法将回答装入到一个代理无法将回答装入到一个SNMPSNMP报文之中报文之中2 2noSuchNamenoSuchName操作指明了一个不存在的变量操作指明了一个不存在的变量3 3badValuebadValue一个一个setset操作指明一个无效值或无效语法操作指明一个无效值或无效语法4 4readOnlyreadOnly管理进程试图修改一个只读变量管理进程试图修改一个只读变量5 5genErrgenErr某些其他的差错某些其他的差错差错状态描述差错状态描述 traptrap类型类型名字名字说明说明0 0coldStartcoldStart代理进行了初始化代理进行了初始化1 1warmStartwarmStart代理进行了重新初始化代理进行了重新初始化2 2linkDownlinkDown一个接口从工作状态变为故障状态一个接口从工作状态变为故障状态3 3linkUplinkUp一个接口从故障状态变为工作状态一个接口从故障状态变为工作状态4 4authenticationauthenticationFailureFailure从从SNMPSNMP管管理理进进程程接接收收到到具具有有一一个个无无效效共同体的报文共同体的报文5 5egpNeighborLosegpNeighborLoss s一个一个EGPEGP相邻路由器变为故障状态相邻路由器变为故障状态6 6enterpriseSpecenterpriseSpecificific代代理理自自定定义义的的事事件件,需需要要用用后后面面的的“特定代码特定代码”来指明来指明 当使用上述类型当使用上述类型2 2、3 3、5 5时,在报文后面变量部分的第一个时,在报文后面变量部分的第一个变量应标识响应的接口。变量应标识响应的接口。 几个关键的概念区分nASN.1n高级数据描述语言,描述数据类型、结构、组织及编码方法。包含语法符号和编码规则两大部分。SNMP使用ASN.1描述协议数据单元(PDU)和管理对象信息库(MIB);nBERn是ASN.1中的基本编码规则。描述具体的ASN.1对象如何编码成比特流在网络上进行传输。SNMP使用BER作为编码方案,数据首先经过BER编码,再经由传输层协议(一般是UDP)发送往接收方。接收方在SNMP端口收到PDU后,经过BER解码后,得到具体的SNMP操作数据。nSMIn是SNMP的描述方法。ASN.1功能很强大,但SNMP只用到其中一小部分,为了方便使用,对这部分内容做了描述,限定了范围,这就是SMI。SMI由ASN.1的一个子集合和一部分自定义的类型、宏等组成。SMI是ASN.1的一个子集和超集。nMIBn使用SMI中定义的类型和ASN.1中的基本类型进行对象描述,是一个使用SMI描述的管理信息库。每一类关心的事件都有一组MIB,比如网络接口有一棵MIB树,TCP有一棵MIB树,UDP也有一棵状态树。定义了数据格式、类型、顺序、意义等;nPDUn是网络中传送的数据包,SNMP的协议数据单元。每一种SNMP操作物理上都对应一个PDU。PDU是基本的通信格式,使用ASN.1描述,使用BER编码,通过传书层协议传送;5 SNMPv25 SNMPv2和和SNMPv3SNMPv3 SNMPv1 的主要缺点是:的主要缺点是:(1) 不能有效地传送大块的数据不能有效地传送大块的数据(2) 不能将网络管理的功能分散化不能将网络管理的功能分散化(3) 安全性不够好安全性不够好 SNMPv2n1996 年发布年发布 IETF 发布了发布了 8 个个 SNMPv2 文档文档RFC 19011908。但但 SNMPv2 在安全方面的设计过分在安全方面的设计过分复杂,使得有些人不愿意接受它。复杂,使得有些人不愿意接受它。nSNMPv2 增加了增加了 get-bulk-request 命令,可一次命令,可一次从路由器的路由表中读取许多行的信息。从路由器的路由表中读取许多行的信息。nSNMPv2 的的get 命令允许返回部分的变量值,这就命令允许返回部分的变量值,这就提高了效率,减少了网络上的通信量。提高了效率,减少了网络上的通信量。nSNMPv2 采用了分散化的管理方法。在一个网络中采用了分散化的管理方法。在一个网络中可以有多个顶级管理站,叫做管理服务器。可以有多个顶级管理站,叫做管理服务器。 SNMPv2n增加了一个增加了一个 inform 命令和一个管理进程到管理命令和一个管理进程到管理进程的进程的 MIB (manager-to-manager MIB)。n使用这种使用这种 inform 命令可以使管理进程之间互相命令可以使管理进程之间互相传送有关的事件信息而不需要经过请求。这样的传送有关的事件信息而不需要经过请求。这样的信息则定义在管理进程到管理进程的信息则定义在管理进程到管理进程的 MIB中。中。 SNMPv3n1998 年年 1 月月 IETF 发表了发表了 SNMPv3 的有关文档的有关文档RFC 2271-2275。n仅隔仅隔 15 个月后就更新为个月后就更新为RFC 2571-2575。nSNMPv3 最大的改进就是安全特性。也就是说,最大的改进就是安全特性。也就是说,只有被授权的人员才有资格执行网络管理的功能只有被授权的人员才有资格执行网络管理的功能(如关闭某一条链路)和读取有关网络管理的信(如关闭某一条链路)和读取有关网络管理的信息(如读取一个配置文件的内容)。息(如读取一个配置文件的内容)。 管理者管理者管理者管理者代理代理访问控制访问控制身份鉴别身份鉴别身份鉴别身份鉴别数据保密数据保密SNMPv2和SNMPv3nSNMPv2相对SNMPv1着重在管理信息结构、管理者之间的通信能力和协议操作3个方面进行了改进。保留了SNMPv1的报文封装格式,该版本被命名为基于团体名的SNMP(Community-basedSNMP),即SNMPv2。nSNMPv3是在SNMPv2基础上增加了安全和管理机制。 SNMP产品的一般结构产品的一般结构 SNMP仅定义了网络元素的参数传递,如何利用这些参数仅定义了网络元素的参数传递,如何利用这些参数为人类管理员服务是产品追求的目标。为人类管理员服务是产品追求的目标。GetRequest GetNextGetBulkSetRequest ResponseInformTrapSNMP服务层服务层结点发现结点发现拓扑管理拓扑管理Trap管理管理事件处理事件处理数据管理数据管理SNMP网络管理处理层网络管理处理层配置管理配置管理性能管理性能管理故障管理故障管理计费管理计费管理安全管理安全管理SNMP网络管理应用层网络管理应用层Web服务器服务器远程用户接口远程用户接口本地用户接口本地用户接口网络元素网络元素网络元素网络元素6 6 远程网络监视远程网络监视RMONRMONRMON(Remote Monitoring)是对是对SNMP标准的标准的重要补充,是简单网络管理向互联网管理过渡的重要补充,是简单网络管理向互联网管理过渡的重要步骤。重要步骤。RMON主要扩展了主要扩展了SNMP的管理信息库的管理信息库MIB-II,采用了一种主动式(或称预防式)的网络管理机采用了一种主动式(或称预防式)的网络管理机制。制。7 7 网络管理系统网络管理系统NMSNMSNMS(Network Management System)是用来管是用来管理网络,保障网络正常运行的软件和硬件的有机理网络,保障网络正常运行的软件和硬件的有机组合,是在网络管理平台的基础上实现的各种网组合,是在网络管理平台的基础上实现的各种网络管理功能的集合。络管理功能的集合。功能:网络拓扑结构的自动发现;网络故障报告功能:网络拓扑结构的自动发现;网络故障报告和处理;性能数据采集和可视分析工具;计费数和处理;性能数据采集和可视分析工具;计费数据采集和基本安全管理工具。据采集和基本安全管理工具。8 8 常用网管工具常用网管工具Windows 2000/XP中的工具中的工具snmputil.exe、 snmputilg.exeLinux中的工具:中的工具:snmpwalk:使用使用SNMP的的GetNextRequest获取网络管获取网络管理实体的管理信息。理实体的管理信息。例:例:snmpwalk -v 1 202.38.70.252 public | moresnmputil工具扫描信息分析Snmputil命令格式:Snmputilget|getnext|walkagentcommunityoidoidtrapget:获取指定oid当前值的信息。getnext:获取被oid指定项目后在MIB项目中的当前值信息,即下一个信息。walk:分步通过检索在管理信息库中指定的oid所有数据项的值,获取系统信息。agent:查询指定的计算机,如果计算机在主机文件中被指定,该值可以是一个IP地址或主机名。community:指定的一个公用名,通常与管理团体一起使用团体计算机。可以通过选择“控制面版”中的“网络”图标,在“SNMPService的属性”对话框中看到一个公用名列表,或在注册表中查找SNMPParameters子键的ValidCommunities的键值。默认时,在WindowsNT中安装SNMP的时候就创建了一个称为public的Community。通常将CommunityStrings称为“查询密码”。当前网络管理的实现模式n基于SNMP的网络管理n基于CMIP的网络管理n基于CORBA的网络管理n基于Web的网络管理n基于TMN的电信网络管理公共管理信息服务/公共管理信息协议公共管理信息服务/公共管理信息协议(CMIS/CMIP,CommonManagementInformationService/Protocol)是OSI提供的网络管理协议簇。CMIS定义了每个网络组成部件提供的网络管理服务,CMIP则是实现CIMS服务的协议。OSI网络协议旨在为所有设备在OSI参考模型的每一层提供一个公共网络结构,而CMIS/CMIP正是这样一个用于所有网络设备的完整网络管理协议簇。SNMP是按照简单和易于实现的原则设计的,而CMIS/CMIP则能够提供支持一个完整网络管理方案所需的功能。CMIS/CMIP的整体结构是建立在使用ISO网络参考模型的基础上的,网络管理应用进程使用ISO参考模型中的应用层。公共管理信息服务与协议公共管理信息服务与协议公共管理信息服务与协议(CMOT,CommonManagementInformationServiceandProtocolOverTCP/IP)是在TCP/IP协议簇上实现CMIS服务,这是一种过渡性的解决方案。CMOT仍然依赖于CIMSE、ACSE、和ROSE协议,这和CMIS/CMIP是一样的。但是,CMOT并没有直接使用参考模型中的表示层来实现,而是在表示层中使用另外一个协议轻量级表示协议(LPP,LightweightPresentationProtocol),该协议提供了目前最普遍的两种传输协议TCP和UDP的接口。 电信管理网络(电信管理网络(TMN)“电信管理网络”(TMN,TelecommunicationManagementNetwork)是带有标准OSI协议、接口和体系结构的管理网络,由国际电信联盟(ITU,InternationalTelecommunicationUnion)开发。TMN提供了框架,以实现异类操作系统和电信网络之间的互联与通信。 TMN模型将网络管理分成了五个功能领域:配置、性能、故障、记帐和安全管理。TMN模型的优势在于它按照服务提供商的业务与运行功能来组织功能层。TMN模型的弱点是它缺少管理IP技术和允许IP服务的接口。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号