1网络标识管理域名系统DNS运输层的端口IP地址局域网地址国际公众通信的编号计划…2应用层协议的特点每个应用层协议都是为了解决某一类应用问题,而问题的解决又往往是通过位于不同主机中的多个应用进程之间的通信和协同工作来完成的。应用层的具体内容就是规定应用进程在通信时所遵循的协议。应用层的许多协议都是基于客户服务器方式。3网络标识管理之——域名系统DNS域名系统DNS(DomainNameSystem)是因特网使用的命名系统,用来把便于人们使用的机器名字转换为IP地址。域名系统即名字系统。许多应用层软件经常直接使用域名系统DNS(DomainNameSystem),但计算机的用户只是间接而不是直接使用域名系统。4域名系统DNS——概述因特网采用层次树状结构的命名方法,并使用分布式的域名系统DNS。(RFC1034,1035)因特网的域名系统DNS被设计成为一个联机分布式数据库系统,并采用客户服务器方式。5域名到IP地址解析的要点当某一个应用进程需要把主机名解析成IP地址时,该应用进程就调用解析程序,并成为DNS的一个客户,把待解析的域名放在DNS请求报文中,以UDP用户数据报方式发给本地域名服务器。本地域名服务器在查找域名后,把对应的IP地址放在回答报文中返回。应用程序获得目的主机的IP地址后即可进行通信。若本地域名服务器不能回答该请求,则此域名服务器就暂时成为DNS中的另一个客户,并向其他域名服务器发出查询请求。这种过程直至找到能够回答该请求的域名服务器为止。61、因特网的域名结构因特网采用了层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名的结构由标号序列组成,各标号之间用点隔开:….三级域名.二级域名.顶级域名各标号分别代表不同级别的域名。7域名只是个逻辑概念域名只是个逻辑概念,并不代表计算机所在的物理地点。变长的域名和使用有助记忆的字符串,是为了便于人来使用。而IP地址是定长的32位二进制数字则非常便于机器进行处理。域名中的“点”和点分十进制IP地址中的“点”并无一一对应的关系。点分十进制IP地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。8顶级域名TLD(TopLevelDomain)(1)国家顶级域名nTLD:如:.cn表示中国,.us表示美国,.uk表示英国,等等。(2)通用顶级域名gTLD:最早的顶级域名是:.com(公司和企业).net(网络服务机构).org(非赢利性组织).edu(美国专用的教育机构).gov(美国专用的政府部门).mil(美国专用的军事部门).int(国际组织)由ICANN进行管理9顶级域名TLD(续)(3)基础结构域名(infrastructuredomain):这种顶级域名只有一个,即arpa,用于反向域名解析,因此又称为反向域名。10新增加了下列的通用顶级域名.aero(航空运输企业).biz(公司和企业).cat(加泰隆人的语言和文化团体).coop(合作团体).info(各种情况).jobs(人力资源管理者).mobi(移动产品与服务的用户和提供者).museum(博物馆).name(个人).pro(有证书的专业人员).travel(旅游业)因特网的域名空间根四级域名mail……bjeducom…cctvibmhp二级域名pkutsinghua…三级域名mail…comnetorgedugovaerocnuk…顶级域名……122、域名服务器一个服务器所负责管辖的(或有权限的)范围叫做区(zone)。各单位根据具体情况来划分自己管辖范围的区。但在一个区中的所有节点必须是能够连通的。每一个区设置相应的权限域名服务器,用来保存该区中的所有主机的域名到IP地址的映射。DNS服务器的管辖范围不是以“域”为单位,而是以“区”为单位。区的不同划分方法举例域abc.com区abc.comabcxuvwty(a)区=域(b)区域域abc.com区abc.com区y.abc.comabcxuvwtycomeduorg根comeduorg根区是“域”的子集。14树状结构的DNS域名服务器根域名服务器org域名服务器com域名服务器edu域名服务器…y.abc.com域名服务器abc公司有两个权限域名服务器权限域名服务器根域名服务器顶级域名服务器abc.com域名服务器15域名服务器有以下四种类型①根域名服务器②顶级域名服务器③权限域名服务器④本地域名服务器16根域名服务器——最高层次的域名服务器——根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和IP地址。不管是哪一个本地域名服务器,若要对因特网上任何一个域名进行解析,只要自己无法解析,就首先求助于根域名服务器。在因特网上共有13个不同IP地址的根域名服务器,它们的名字是用一个英文字母命名,从a一直到m(前13个字母)。17根域名服务器共有13套装置(不是13个机器)这些根域名服务器相应的域名分别是a.rootservers.netb.rootservers.net…m.rootservers.net到2006年底全世界已经安装了一百多个根域名服务器机器,分布在世界各地。这样做的目的是为了方便用户,使世界上大部分DNS域名服务器都能就近找到一个根域名服务器。举例:根域名服务器f的地点分布图•根域名服务器并不直接把域名直接转换成IP地址。•根域名服务器把下一步应当找的顶级域名服务器的IP地址告诉本地域名服务器。共40个机器19顶级域名服务器(即TLD服务器)这些域名服务器负责管理在该顶级域名服务器注册的所有二级域名。当收到DNS查询请求时,就给出相应的回答(可能是最后的结果,也可能是下一步应当找的域名服务器的IP地址)。20权限域名服务器这就是前面已经讲过的负责一个区的域名服务器。当一个权限域名服务器还不能给出最后的查询回答时,就会告诉发出查询请求的DNS客户,下一步应当找哪一个权限域名服务器。21本地域名服务器本地域名服务器对域名系统非常重要。当一个主机发出DNS查询请求时,这个查询请求报文就发送给本地域名服务器。每一个因特网服务提供者ISP,或一个大学,甚至一个大学里的系,都可以拥有一个本地域名服务器,这种域名服务器有时也称为默认域名服务器。22提高域名服务器的可靠性DNS域名服务器都把数据复制到几个域名服务器来保存,其中的一个是主域名服务器,其他的是辅助域名服务器。当主域名服务器出故障时,辅助域名服务器可以保证DNS的查询工作不会中断。主域名服务器定期把数据复制到辅助域名服务器中,而更改数据只能在主域名服务器中进行。这样就保证了数据的一致性。23域名的解析过程主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其他根域名服务器继续发出查询请求报文。本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的IP地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。24本地域名服务器采用迭代查询顶级域名服务器dns.com权限域名服务dns.abc.com本地域名服务器dns.xyz.com根域名服务器迭代查询y.abc.com的IP地址m.xyz.com递归查询需要查找y.abc.com的IP地址25本地域名服务器采用递归查询顶级域名服务器dns.com权限域名服务dns.abc.com本地域名服务器dns.xyz.comm.xyz.com根域名服务器递归查询递归查询y.abc.com的IP地址需要查找y.abc.com的IP地址26名字的高速缓存每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。可大大减轻根域名服务器的负荷,使因特网上的DNS查询请求和回答报文的数量大为减少。为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。•提高DNS查询效率;•减轻根域名服务器的负荷;•减少因特网上的DNS查询报文数量;主机中也很需要高速缓存!27运输层的功能:复用和分用应用层所有的应用进程都可以通过运输层再传送到IP层,这就是复用;运输层从IP层收到数据后必须交付给指明的应用进程,这就是分用;显然,给应用层的每个应用进程赋予一个非常明确的标志是至关重要的。网络标识管理之——运输层的端口28运输层的端口在单个计算机中的进程是用进程标识符来标志的。在因特网环境下,运行在应用层的各种应用进程却不应当让计算机操作系统指派它的进程标识符。这是因为在因特网上使用的计算机的操作系统种类很多,而不同的操作系统又使用不同格式的进程标识符。为了使运行不同操作系统的计算机的应用进程能够互相通信,就必须用统一的方法对TCP/IP体系的应用进程进行标志。29需要解决的问题由于进程的创建和撤销都是动态的,发送方几乎无法识别其他机器上的进程。有时我们会改换接收报文的进程,但并不需要通知所有发送方。我们往往需要利用目的主机提供的功能来识别终点,而不需要知道实现这个功能的进程。30端口号(protocolportnumber)简称为端口(port)解决这个问题的方法就是在运输层使用协议端口号(protocolportnumber),或通常简称为端口(port)。虽然通信的终点是应用进程,但我们可以把端口想象是通信的终点,因为我们只要把要传送的报文交到目的主机的某一个合适的目的端口,剩下的工作(即最后交付目的进程)就由TCP来完成。31软件端口与硬件端口在协议栈层间的抽象的协议端口是软件端口。路由器或交换机上的端口是硬件端口。硬件端口是不同硬件设备进行交互的接口,而软件端口是应用层的各种协议进程与运输实体进行层间交互的一种地址。32运输层的协议端口号端口用一个16位端口号进行标志。端口号只具有本地意义,即端口号只是为了标志本计算机应用层中的各进程。在因特网中不同计算机的相同端口号是没有联系的。33由此可见两个计算机中的进程要互相通信,不仅必须知道对方的IP地址,而且还要知道对方的端口号。因特网上的计算机通信是采用客户-服务器方式。两大类运输层的端口号34两大类运输层的端口号1.服务器端使用的端口号①熟知端口,数值一般为0~1023。②登记端口号,数值为1024~49151,为没有熟知端口号的应用程序使用的。使用这个范围的端口号必须在IANA登记,以防止重复。2.客户端使用的端口号,数值为49152~65535,留给客户进程选择暂时使用,又叫短暂端口号。当服务器进程收到客户进程的报文时,就知道了客户进程所使用的动态端口号。通信结束后,这个端口号可供其他客户进程以后使用。应用程序FTPTELNETSMTPDNSHTTPSNMP…熟知端口号2123255380161…35我们把整个因特网看成为一个单一的、抽象的网络。IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符。IP地址现在由因特网名字与号码指派公司ICANN(InternetCorporationforAssignedNamesandNumbers)进行分配。网络标识管理之——IP地址36IP地址的编址方法共经历三个历史阶段1.分类的IP地址。这是最基本的编址方法,在1981年就通过了相应的标准协议。2.子网的划分。这是对最基本的编址方法的改进,其标准[RFC950]在1985年通过。3.构成超网。这是比较新