电子邮件的工作原理.docx_第1页
电子邮件的工作原理.docx_第2页
电子邮件的工作原理.docx_第3页
电子邮件的工作原理.docx_第4页
电子邮件的工作原理.docx_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.3 域名管理与域名的解析原理1.3.1 DNS域为了方便对Internet上众多的主机名进行管理,在DNS系统中引入了域的概念。一个域表示一组逻辑相关的计算机的组合,可以按地区、行业或机构对计算机进行分组,所划分出来的每个组都可形成DNS的一个域。DNS中的域类似人类社会的各种组织关系,例如,一个地区、一个大学等就相当于人类的一个域,它们定义了一些人群的一种组合关系。人类的组织关系可以按照一定的层次结构进行划分,例如,“中国湖北武汉”表示的就是一种层次结构。DNS的域名也是按照层次结构进行设计的,每层之间使用点(.)进行分隔,且层次关系是按从右到左的顺序来指定的,即层次中的最高级别的域名位于最右边,例如,可以将“中国的湖北省下面的武汉市”这个机构的计算机所属的域命名为“”,其中“cn”代表整个“中国”的域名,“hb”代表中国的湖北省的域名,“wh”则代表湖北省下的武汉市的域名。由于“cn”位于域名中的最高级别,所以被称之为顶级域名,“hb”是“cn”的子域,属于二级域名,“wh”则是“hb”的子域,属于三级域名。计算机的主机名就是在它所属的域名前增加一个不含点(.)的本地名称组成的,本地名称与域名之间也是用点(.)进行分隔的,例如,主机名“”表示隶属于“”域中的一台本地名称为“www”的计算机。可见,DNS中的域是一种按计算机的名称进行分组的机制,通过主机名的后缀部分就可以知道计算机所属于的域,只要两台计算机的后缀名称相同,它们就属于同一个域。1.3.2 DNS域的管理主机名不能由用户自己随意设置,否则,人们就可以让自己的计算机随意加入到某个域中,Internet岂不出现混乱。Internet上的DNS域的管理有着一套严格的规则: 每个域都需要有一台DNS服务器对其进行管理,要想让某台计算机加入到某个域中,必须征得域管理员的同意后,再由域管理员在管理该域的DNS服务器上注册这台计算机的IP地址和主机名。提示:虽然每个域都需要有一台DNS服务器对其进行管理,但是为了节省资源,可以让一台DNS服务器来兼管多个域,但从逻辑上讲,仍然相当于每个域都有一台自己的DNS服务器对其进行单独管理。 一个域的DNS服务器只负责管理直属于这个域的每个主机名与其IP地址的映射关系,而不负责管理其子域中的主机名与IP地址的映射关系,例如,“”、“”、“”等主机名都由管理域“”的DNS服务器进行管理,而不能由管理域“org”的DNS服务器进行管理。 每个子域都必须在其直接父域的DNS服务器上注册该子域的名称和该子域的DNS服务器的IP地址,也就是说,在父域的DNS服务器上除了要注册属于该域的所有主机的信息外,还要注册属于该域的所有直接子域的域名及管理子域的DNS服务器的IP地址。例如,必须在管理域“org”的DNS服务器注册子域“”和管理子域“”的DNS服务器的IP地址后,域名“”才能真正被外界所认可。 为了方便对顶级域名的统一管理,在顶级域名之上其实还有一个根域名,根域名用点(.)表示,例如,“”也可以写为“.”,“.”中的最后的那个点(.)就表示根域名。带有根域名部分的主机名或域名才是一个完整的域名,被称为完全限定域名(Fully Qualified Domain Name,FQDN)。为了方便应用,在很多情况下都可以省略完全限定域名中的最后那个点(.),所以造成了大家平常看到的域名或主机名都是那种不带根域名部分的简写形式。事实上,我们也可以使用完全限定域名来访问一台计算机机,例如,在操作系统的命令行窗口中执行“ping .”命令,或在浏览器中访问“.”,都能得到正确的响应结果。Internet中的根域名由InterNIC(国际互联网络信息中心)集中管理,顶级域名和其下的域名则由拥有该域名的组织、公司和个人自己管理。如果要注册一个顶级域名,必须向InterNIC申请,以便在管理根域名的DNS服务器中注册该顶级域名和该顶级域的DNS管理服务器地址;如果要注册一个二级域名,则必须向该二级域名所属的顶级域名的管理机构申请,例如,要想注册“”这个域名,则必须向管理“cn”这个顶级域名的机构(CNNIC,中国互联网络信息中心)申请,以便在管理“cn”域的DNS服务器中注册“”这个域名和“”域的DNS管理服务器地址。1.3.3 域名的解析原理按层次结构来组织和表示域名,不仅方便了人们阅读和记忆域名,而且还为域名解析提供了很好的分布式管理手段。当客户机通过一台DNS服务器查询某个主机名所对应的IP地址时,该DNS服务器首先检测客户机所请求的主机名是否属于自己所管理的域或子域,如果是,则检索自己的数据记录或向子域的DNS管理服务器查询,然后将结果信息返回给客户机。如果DNS服务器发现客户机所请求的主机名不属于自己所管理的域或子域,它将向管理根域的DNS服务器查询主机名中的顶级域名的DNS管理服务器的IP地址,再由顶级域名的DNS管理服务器查询二级域名的DNS管理服务器的IP地址,依次递推,直到找到最低级别的域的DNS管理服务器,最后再通过这个最低级别的域的DNS管理服务器查询出主机名所对应的IP地址。图1.14是客户机查询主机名“”的IP地址的过程。从图1.14中可以看到,主机名的解析过程是从根域的DNS管理服务器开始逐一往下查询的。DNS查询服务器必须知道根域的DNS管理服务器的IP地址,所以,根域的DNS管理服务器的IP地址必须是固定不变和完全对外公开的。只要查询InterNIC(国际互联网络信息中心)的网站,就很容易知道根域的DNS管理服务器的IP地址,由于根域的DNS管理服务器的访问量非常大,所以,InterNIC维护着多台根域DNS管理服务器,它们被分散在不同的国家和地区,以便全球的计算机可以就近访问。事实上,在安装任何一种DNS服务器程序时,它都会提供一个初始文件,这个文件中就包含了根域的DNS管理服务器的IP地址。另外,从图1.14中的从上往下的查询过程中也可以看到,父域的DNS管理服务器必须知道子域的DNS管理服务器,这就是为什么必须在父域的DNS管理服务器中注册子域的DNS管理服务器的IP地址的原因。在图1.14中,当DNS服务器接收到子域中的主机名的查询请求时,它直接将子域的DNS管理服务器的IP地址返回给查询者,然后由查询者自己再向子域的DNS管理服务器进行查询。除了这种方式之外,也可以将DNS服务器设置成按另外一种方式进行工作,当它接收到子域中的主机名的查询请求时,不是直接将子域的DNS管理服务器的IP地址返回给查询者,而是主动向子域的DNS管理服务器发出查询请求,得到子域的DNS管理服务器返回的结果后,再将结果返回给查询者,如图1.15所示。为了提高域名解析的效率,DNS查询服务器在将查询到的记录信息返回给客户机的同时,通常都还会将这条记录信息保存在自己的缓存中,当再有其他客户机向DNS查询服务器查询这条记录信息时,DNS查询服务器将直接把缓存的结果返回给客户机。DNS查询服务器缓存的每条记录信息都有一定的期限,这个期限值由授权管理这条记录信息的DNS服务器设置,通常为1天(即24个小时),缓存期限值作为记录信息的一部分返回给DNS查询服务器。如果某条记录信息在DNS查询服务器中缓存的时间超过了它的期限值,当再有客户机查询这条记录信息时,DNS查询服务器将重新查询这条记录并更新缓存。DNS服务器可以将它管理的记录信息设置为禁止其他DNS服务器缓存,这样,其他DNS服务器将不缓存从该DNS服务器上检索的结果,这通常应用于某个DNS服务器管理的域中的主机名所对应的IP地址需要频繁更改的场合,例如,动态DNS系统。1.3.4 利用动态DNS在家搭建网络服务器对许多个人用户来说,在家通常都采用拨号的方式上网,只要网络接入商为其接入的计算机分配了一个Internet上的真实IP地址,那么,Internet上的其他用户就可以访问这台计算机上的网络服务程序。据笔者所知,ADSL和长城宽带都能为其接入的计算机分配真实的Internet IP地址,如果某个网络接入商为其接入的计算机分配的是其内部的私有IP地址,那么,Internet上的其他计算机将无法主动访问该计算机,也即Internet上的其他计算机无法访问这台计算机上的网络服务程序。下面的讲解假设网络接入商为其接入的计算机分配的是真实的Internet IP地址。假设一台计算机拨号上网后,网络接入商为该计算机分配的IP地址是,只要把这个地址告诉Internet上的其他用户,其他用户就可以使用这个IP地址来访问这台计算机上的网络服务了(当然,你的计算机上应安装和启动了相应的服务器程序)。但是,网络接入商为拨号上网的计算机分配的IP地址是临时的,这个地址在每次重新拨号后都会发生改变,例如,这一次上网分配给该计算机的IP地址是,而下一次分配的IP地址可能就是了。这样,该计算机的IP地址变来变去,就像一个人的电话号码改了又改一样,这个人的朋友怎么能主动联系上他呢?除非他在每次改变电话号码后都主动通知他所有的朋友:新的电话号码是多少。这样显然是件非常麻烦的事情,并且,对于网络服务这种应用来说,想将新的IP地址通知给所有可能的用户根本就是不可能的事情。针对这种情况,人们在DNS系统的基础上开发出了一种动态DNS系统,其功能就是将一个固定的主机名实时地映射到经常动态改变的IP地址上,以便Internet上的其他计算机始终可以使用一个固定的主机名来访问IP地址经常改变的计算机。动态DNS系统由两部分组成:动态DNS服务器程序和客户端程序。在拨号上网的计算机上仅需要安装和设置动态DNS系统服务商所提供的客户端程序,当一台计算机每次拨号上网分配了新的IP地址后,客户端程序将向动态DNS服务器报告新的IP地址,动态DNS服务器将立即更新其记录的这台计算机的主机名所对应的IP地址。由于动态DNS服务器禁止其他的DNS服务器缓存它的记录信息,所以,只要其他计算机访问属于某个动态DNS服务器管理的主机名时,它们以及DNS查询服务器都不会有以前获得过的与这个主机名相对应的IP地址的缓存信息,而是必须重新向授权管理这个主机名的动态DNS服务器查询其当前的IP地址,这样,其他计算机获得的这台计算机的主机名所对应的IP地址就是实时的和准确的。有了动态DNS系统,对于一些个人用户来说,就可以将Web服务器、FTP服务器以及邮件服务器安装在自己家里的计算机上,并让Internet上的其他用户通过一个固定的主机名来访问这些网络服务。读者只要使用Google搜索一下“动态DNS下载”之类的关键字,就可以找到很多免费的动态DNS系统。笔者使用的是希网()提供的动态DNS服务,下载其客户端软件进行安装和参照帮助信息进行设置后,即可让自己拨号上网的计算机获得一个外界可以访问的主机名。1.4 MX记录的应用在DNS服务器上除了可以建立主机名与IP地址的映射外,还可以建立其他多种映射,例如,建立某个主机名与其别名的映射;建立某个域名与其SMTP服务器的映射。在DNS服务器上创建的各项映射关系称为记录,一项映射关系就是一条记录,在DNS服务器上创建的主机名与IP地址的映射关系称为A记录,主机名与别名的映射关系称为CNAME记录,域名与其SMTP服务器的映射关系称为MX记录。在DNS服务器上为什么要建立MX记录呢?即为什么要建立域名与其SMTP服务器的映射关系呢?这与电子邮件地址的表示形式和工作原理有关。邮件地址后缀部分表示的通常都是一个域名,而不是接收邮件的服务器的主机名,例如,邮件地址“”中的“”对应的就是一个域名。域只是一个逻辑组合概念,它并不代表真正的计算机,对于使用某个域名作为后缀的邮件地址,外界发送给它的电子邮件必须由一台专门的SMTP服务器来进行接收和处理,接收和处理某个域的电子邮件的SMTP服务器即为该域的SMTP服务器,外界发送给某个域的电子邮件实际上都是发送给该域的SMTP服务器。外界如何知道一个域的SMTP服务器的地址呢?这就是通过管理该域的DNS服务器上的MX记录来获得的,这也就是在DNS服务器上为什么要建立域名与其SMTP服务器的映射关系的原因。当某台SMTP服务器要给“”发送一封电子邮件时,该SMTP服务器将根据邮件地址的后缀部分而去查询“”这个域的MX记录,得到这个域的SMTP服务器的主机名为“”,然后将邮件发送给“”这个SMTP服务器。Windows操作系统自带的nslookup命令可以查询一个域的MX记录。要想知道负责接收某个电子邮箱的邮件的SMTP服务器,可以先根据该邮件地址的后缀部分推断出其域名,然后使用nslookup命令进行查询即可。下面以查找负责接收“”这个邮件地址的SMTP服务器的信息为例进行讲解。启动Windows下的DOS命令行窗口,执行nslookup命令,结果如图1.16所示。图1.16中“”表示执行nslookup命令的这台计算机当前所使用的DNS查询服务器的主机名,“4”则表示该DNS服务器的IP地址。在图1.16中的“”提示符后面先输入“set type=mx”命令,设置所要查询的记录类型为MX,然后输入域名“”,结果如图1.17所示。图1.17中显示了“”这个域的SMTP服务器的主机名和IP地址,其中“”为SMTP服务器的主机名,并且该主机名对应了3个IP地址。这说明“”为了扩充其邮件处理能力,使用了3台SMTP服务器来接收外界发送给该域的邮件,这3台服务器的主机名都为“”,外界的SMTP服务器可以选择其中任何一台进行连接,然后将邮件发送给该服务器。在图1.17中的“”提示符后面再次输入“”,nslookup命令将再次查询该域的MX记录,结果如图1.18所示。比较图1.18中的用方框标识的部分,可以看到这两次查询出的“”所对应的3个IP地址的排列顺序并不相同,第一次查询时“87”排列在最前面,而第二次查询时却变成了“88”排列在最前面。如果继续查询“”域的MX记录,可以看到“”所对应的3个IP地址的排列顺序总是在改变。这是由于sina在管理“”域的DNS服务器上进行了专门的设置,当外界每次查询“”这个主机名的IP地址时,管理“”域的DNS服务器都将对该主机名所对应的3个IP地址进行轮循排列后再返回。对于查询到一个主机名对应多个IP地址的情况,外界的计算机通常都是选择其中的第一个IP地址来进行通信,只要管理“”域的DNS服务器每次都将“”所对应的3个IP地址进行轮循排列后再返回给外界,外界的SMTP服务器将会分别选择到不同的IP地址来进行通信,sina通过这种简单的方式就在“”所对应的3台SMTP服务器之间实现了负载均衡。提示:使用nslookup查询“”域的MX记录时,读者可能会遇到DNS服务器只返回SMTP服务器的主机名,而不返回该主机名所对应的IP地址的情况,这时候可以在原来的nslookup命令窗口中输入“set type=a”命令,即将要查询的记录类型设置为A,然后输入前面查询到的SMTP服务器的主机名就可以得到其IP地址,如图1.19所示。1.5 电子邮件的工作原理下面以sina和sohu这两个电子邮局为例来讲解电子邮件的传输过程和工作原理。假设sina邮箱的账户为,sohu邮箱的账户为,它们之间的邮件收发过程如图1.20所示。图1.20中实线部分表示账户向账户发送邮件的过程,虚线部分表示账户向账户发送邮件的过程。下面通过分析账户向账户发送邮件的过程,来具体讲解一封邮件从发送到接收所涉及的环节。的邮件客户端程序(这里假设为Outlook Express)与sina的SMTP服务器建立网络连接,并以lisi的用户名和密码进行登录后,使用SMTP协议把邮件发送给sina的SMTP服务器。sina的SMTP服务器收到提交的电子邮件后,首先根据收件人的地址后缀判断接收者的邮件地址是否属于该SMTP服务器的管辖范围,如果是的话就直接把邮件存储到收件人的邮箱中,否则,sina的SMTP服务器向DNS服务器查询收件人的邮件地址后缀()所表示的域名的MX记录,从而得到sohu的SMTP服务器信息,然后与sohu的SMTP服务器建立连接并采用SMTP协议把邮件发送给sohu的SMTP服务器。sohu的SMTP服务器收到sina的SMTP服务器发来的电子邮件后,也将根据收件人的地址判断该邮件是否属于该SMTP服务器的管辖范围,如果是的话就直接把邮件存储到收件人的邮箱中,否则(一般不会出现这种情况),sohu的SMTP服务器可能继续转发这封电子邮件,也可能丢弃这封电子邮件。拥有账户的用户通过邮件客户端程序(这里假设也为Outlook Express)与sohu的POP3/IMAP服务器建立网络连接,并以wangwu的用户名和密码进行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论