《05-TCPIP的应用》由会员分享,可在线阅读,更多相关《05-TCPIP的应用(97页珍藏版)》请在金锄头文库上搜索。
1、2017年12月,1,第 5章 TCP/IP的应用,2017年12月,2,5.1 域名系统 DNS,IP地址是一个具有32比特长的二进制数,对于一般用户来说,要记住IP地址比较困难。为了向一般用户提供一种直观明了的主机识别符(主机名),TCP/IP协议专门设计了一种字符型的主机命名机制,给每一台主机一个由字符串组成的名字,这种主机名相对于IP地址来说是一种更为高级的地址形式域名。,2017年12月,3,5.1 域名系统 DNS,许多应用层软件经常直接使用域名系统 DNS (Domain Name System),但计算机的用户只是间接而不是直接使用域名系统。 因特网采用层次结构的命名树作为主机
2、的名字,并使用分布式的域名系统 DNS。名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。,2017年12月,4,层次型域名系统的命名,名字空间被分成若干个部分并授权相应的机构进行管理。该管理机构又有权对其所管辖的名字空间进一步划分,并再授权相应的机构进行管理。如此下去,名字空间的组织管理便形成一种树状的层次结构。,2017年12月,5,因特网的域名结构,因特网采用了层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名的结构由标号序列组成,各标号之间用点隔开: . 三级域
3、名 . 二级域名 . 顶级域名各标号分别代表不同级别的域名。,2017年12月,6,层次型命名机制管理,一个层次型主机名由三部分组成: 最高一级名字空间的划分基于“网点名” ,由若干网络组成,这些网络在地理位置或组织关系上联系非常紧密;比如商业组织COM、教育机构EDU、国家代码Country Code等。在各个网点内,又可以分出若干个“管理组”,第二级名字空间的划分基于“组名” ;在组名下面是各主机的“本地名”;,2017年12月,7,域名只是个逻辑概念,域名只是个逻辑概念,并不代表计算机所在的物理地点。变长的域名和使用有助记忆的字符串,是为了便于人来使用。而 IP 地址是定长的 32 位二
4、进制数字则非常便于机器进行处理。域名中的“点”和点分十进制 IP 地址中的“点”并无一一对应的关系。点分十进制 IP 地址中一定是包含三个“点”,但每一个域名中“点”的数目则不一定正好是三个。,2017年12月,8,顶级域名 TLD (Top Level Domain),(1) 国家顶级域名 nTLD 如: .cn 表示中国,.us 表示美国,.uk 表示英国,等等。(2) 通用顶级域名 gTLD:最早的顶级域名是: .com (公司和企业) .net (网络服务机构) .org (非赢利性组织) .edu (美国专用的教育机构() .gov (美国专用的政府部门) .mil (美国专用的军事
5、部门) .int (国际组织)(3) 基础结构域名(infrastructure domain): 这种顶级域名只有一个,即 arpa,用于反向域名解析,因此又称为反向域名。,2017年12月,9,新增加了下列的通用顶级域名,.aero (航空运输企业).biz (公司和企业).cat (加泰隆人的语言和文化团体).coop (合作团体).info (各种情况).jobs (人力资源管理者).mobi (移动产品与服务的用户和提供者).museum (博物馆).name (个人).pro (有证书的专业人员).travel (旅游业),2017年12月,10,因特网的域名空间,根,2017年1
6、2月,11,域名解析,主机域名不能直接用于TCP/IP协议的路由选择之中。当用户使用主机域名进行通信时,必须首先将其映射成IP地址。因为Internet通信软件在发送和接收数据时都必须使用IP地址。将主机域名映射为IP地址的过程叫做域名解析。域名解析包括正向解析(从域名到IP地址)以及反向解析(从IP地址到域名)。Internet的域名系统DNS能够透明地完成此项工作。,2017年12月,12,域名系统的工作过程,2017年12月,13,域名的解析过程,主机向本地域名服务器的查询一般都是采用递归查询。如果主机所询问的本地域名服务器不知道被查询域名的 IP 地址,那么本地域名服务器就以 DNS
7、客户的身份,向其他根域名服务器继续发出查询请求报文。本地域名服务器向根域名服务器的查询通常是采用迭代查询。当根域名服务器收到本地域名服务器的迭代查询请求报文时,要么给出所要查询的 IP 地址,要么告诉本地域名服务器:“你下一步应当向哪一个域名服务器进行查询”。然后让本地域名服务器进行后续的查询。,2017年12月,14,本地域名服务器采用迭代查询,顶级域名服务器,权限域名服务,本地域名服务器,根域名服务器,迭代查询,,递归查询,需要查找 的 IP 地址,2017年12月,15,本地域名服务器采用递归查询(比较少用),顶级域名服务器,权限域名服务,本地域名服务器,,根域名服务器,递归查询,递归
8、查询,需要查找 的 IP 地址,2017年12月,16,名字的高速缓存,每个域名服务器都维护一个高速缓存,存放最近用过的名字以及从何处获得名字映射信息的记录。可大大减轻根域名服务器的负荷,使因特网上的 DNS 查询请求和回答报文的数量大为减少。 为保持高速缓存中的内容正确,域名服务器应为每项内容设置计时器,并处理超过合理时间的项(例如,每个项目只存放两天)。当权限域名服务器回答一个查询请求时,在响应中都指明绑定有效存在的时间值。增加此时间值可减少网络开销,而减少此时间值可提高域名转换的准确性。,2017年12月,17,5.2 DHCP服务,为了将软件协议做成通用的和便于移植,协议软件的编写者
9、把协议软件参数化。这就使得在很多台计算机上使用同一个经过编译的二进制代码成为可能。一台计算机和另一台计算机的区别,都可通过一些不同的参数来体现。在软件协议运行之前,必须给每一个参数赋值。,2017年12月,18,协议配置,在协议软件中给这些参数赋值的动作叫做协议配置。一个软件协议在使用之前必须是已正确配置的。具体的配置信息有哪些则取决于协议栈。,2017年12月,19,协议配置(续),需要配置的项目 (1) IP 地址 (2) 子网掩码 (3) 默认路由器的 IP 地址 (4) 域名服务器的 IP 地址这些信息通常存储在一个配置文件中,计算机在引导过程中可以对这个文件进行存取。,2017年12
10、月,20,动态主机配置协议 DHCP(Dynamic Host Configuration Protocol),动态主机配置协议 DHCP 提供了即插即用连网(plug-and-play networking)的机制。这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。,2017年12月,21,DHCP 使用客户服务器方式。,需要 IP 地址的主机在启动时就向 DHCP 服务器广播发送发现报文(DHCPDISCOVER),这时该主机就成为 DHCP 客户。本地网络上所有主机都能收到此广播报文,但只有 DHCP 服务器才回答此广播报文。DHCP 服务器先在其数据库中查找该计算机的配置
11、信息。若找到,则返回找到的信息。若找不到,则从服务器的 IP 地址池(address pool)中取一个地址分配给该计算机。DHCP 服务器的回答报文叫做提供报文(DHCPOFFER)。,2017年12月,22,DHCP 中继代理(relay agent),并不是每个网络上都有 DHCP 服务器,这样会使 DHCP 服务器的数量太多。现在是每一个网络至少有一个 DHCP 中继代理,它配置了 DHCP 服务器的 IP 地址信息。当 DHCP 中继代理收到主机发送的发现报文后,就以单播方式向 DHCP 服务器转发此报文,并等待其回答。收到 DHCP 服务器回答的提供报文后,DHCP 中继代理再将此
12、提供报文发回给主机。,2017年12月,23,DHCP 中继代理以单播方式转发发现报文,主机,DHCP服务器,其他网络,DHCP中继代理,注意:DHCP 报文只是 UDP 用户数据报中的数据。,2017年12月,24,租用期(lease period),DHCP 服务器分配给 DHCP 客户的 IP 地址的临时的,因此 DHCP 客户只能在一段有限的时间内使用这个分配到的 IP 地址。DHCP 协议称这段时间为租用期。 租用期的数值应由 DHCP 服务器自己决定。DHCP 客户也可在自己发送的报文中(例如,发现报文)提出对租用期的要求。,2017年12月,25,DHCP 协议的工作过程,客户,
13、DHCPDISCOVER,服务器,67,68,UDP,UDP,客户,DHCPOFFER,服务器,67,68,UDP,UDP,客户,DHCPREQUEST,服务器,67,68,UDP,UDP,客户,DHCPACK,服务器,67,68,UDP,UDP,客户,DHCPREQUEST,服务器,67,68,UDP,UDP,客户,DHCPNACK,服务器,67,68,UDP,UDP,客户,DHCPACK,服务器,67,68,UDP,UDP,客户,DHCPRELEASE,服务器,67,68,UDP,UDP,服务器,67,UDP,被动打开,2017年12月,26,DHCP 协议的工作过程,客户,DHCPDIS
14、COVER,服务器,67,68,UDP,UDP,客户,DHCPOFFER,服务器,67,68,UDP,UDP,客户,DHCPREQUEST,服务器,67,68,UDP,UDP,客户,DHCPACK,服务器,67,68,UDP,UDP,客户,DHCPREQUEST,服务器,67,68,UDP,UDP,客户,DHCPNACK,服务器,67,68,UDP,UDP,客户,DHCPACK,服务器,67,68,UDP,UDP,客户,DHCPRELEASE,服务器,67,68,UDP,UDP,服务器,67,UDP,被动打开,:DHCP 客户从 UDP 端口 68 发送 DHCP 发现报文。,2017年12月
15、,27,DHCP 协议的工作过程,客户,DHCPDISCOVER,服务器,67,68,UDP,UDP,客户,DHCPOFFER,服务器,67,68,UDP,UDP,客户,DHCPREQUEST,服务器,67,68,UDP,UDP,客户,DHCPACK,服务器,67,68,UDP,UDP,客户,DHCPREQUEST,服务器,67,68,UDP,UDP,客户,DHCPNACK,服务器,67,68,UDP,UDP,客户,DHCPACK,服务器,67,68,UDP,UDP,客户,DHCPRELEASE,服务器,67,68,UDP,UDP,服务器,67,UDP,被动打开,:凡收到 DHCP 发现报文的 DHCP 服务器 都发出 DHCP 提供报文,因此 DHCP 客户 可能收到多个 DHCP 提供报文。,2017年12月,28,DHCP 协议的工作过程,客户,DHCPDISCOVER,服务器,67,68,UDP,UDP,客户,DHCPOFFER,服务器,67,68,UDP,