760 likes | 931 Views
第四章 1 域名系统 DNS. 4.1.1 域名结构 1 平面型命名机制 2 层次型命名机制 3 层次型名字管理 4 TCP/IP 域名 4.1.2 域名解析 1 TCP/IP 域名服务器 2 域名解析 3 逆向域名解析 5 域名解析的效率. 4.1.1 域名结构. IP 地址太抽象,难于记忆、理解,因此必须用更友好、便于记忆的名字来代替数字 IP 地址。 对主机名字的首先要求是全局唯一的,即能在整个 Internet 通用。 其次要便于管理, Internet 中主机名字管理工作包括名字分配、确认和名字回收等。
E N D
第四章 1 域名系统DNS 4.1.1域名结构 1平面型命名机制 2层次型命名机制 3层次型名字管理 4 TCP/IP域名 4.1.2 域名解析 1 TCP/IP域名服务器 2域名解析 3逆向域名解析 5域名解析的效率
4.1.1 域名结构 • IP 地址太抽象,难于记忆、理解,因此必须用更友好、便于记忆的名字来代替数字 IP 地址。 • 对主机名字的首先要求是全局唯一的,即能在整个Internet通用。 • 其次要便于管理,Internet中主机名字管理工作包括名字分配、确认和名字回收等。 • 第三要便于映射,即便于名字与IP地址之间的映射。
1、平面型命名机制 • 命名机制 • 每一主机名简单地由一个字符串组成,没有进一步的层次结构。 • 缺点: • 随着对象的大量增加,名字冲突的可能性越来越大; • 单一的中央管理机构的工作负担越来越重; • 地址映射低效。 • 每个站点自己维护:保证一致性; • 集中式单一映射表:响应大量主机的映射请求,占用带宽。
2、层次型命名机制 • 在名字中加入层次型的结构,其结构层次对应于名字管理机构的层次 • 每一级机构只给它的子机构授权 • 层次型树形结构 • 如:邮件地址 • 优点 • 层次化的命名机制更能保证命名的唯一性 • 层次型命名机制与 Internet 结构一一对应
3、 层次型名字管理 • 在Internet的层次型名字管理中,首先由中央管理机构(比如Internet的NIC)将最高一级名字空间划分为若干部分,并将各部分的管理权授予相应机构,各管理机构可以将管辖内的名字空间进一步划分若干子部分,并将子部分的管理特权再授予若干子机构。 • 为保证主机名的通用性,只要保证同层名字不冲突就行了,不同层对象取相同的名字是完全可以的。这样,上层不必越级关心下层的命名情况,下层名字的变化也不会反过来影响上层的正常状态。
4 、 TCP/IP域名 • 在TCP/IP网间网中所实现的层次型名字管理机制叫作域名系统DNS (Domain Name System)。 • TCP/IP域名系统包括概念上相互独立的两个方面 • 第一是抽象方面,规定名字语法以及名字管理特权的分派规则; • 第二是具体方面,描述关于高效名字-地址映射的具体实现。 • 例子 • computer.mit.edu 麻省理工学院计算机系 • nudt.edu.cn. 国防科技大学
Internet最高级域名(2) • 组织模式 • COM(商业机构) • EDU(教育机构) • NET(网络管理机构) • MIL(美国军事部门) • GOV(美国政府部门) • INT(国际组织) • ORG(其他组织) • 新增的顶级域名:ltd(公司)、inc(公司)、npo(非盈利组织)、isp(Internet服务提供商) • 地理模式(国家代码) • .CN(中国)/.UK(英国)/.AU(澳大利亚)
4.1.2 域名解析 • 考察典型的基于TCP/IP的应用程序工作过程,用户使用应用程序时,首先给出欲通信的对方主机的域名。应用程序在真正开始通信之前,首先必须解析出对方的IP地址,这是一个域名解析过程:将域名交给本地解析器软件,该软件首先在本地缓冲区中查找相应联编;如果找不到,本地解析器就会构造一个询问报文,发往初始服务器(本地服务器),服务器根据解析情况回答一个响应报文。一旦解析器从本地缓冲区或服务器响应中获得目标机的IP地址,交给应用程序,应用程序便可以开始正式的通信过程。
1、 TCP/IP域名服务器 • 域名服务器实际上是一个服务器软件,运行在指定的机器上,完成名字-地址(即域名-IP地址)映射。对应于域名结构,TCP/IP域名服务器也构成一定的层次结构; • 各父节点能识别子节点,根据域名找到合适的子节点来解析该域名; • 域名解析从根节点开始,自顶向下; • 实现时,根服务器包含根和 第一级域 的信息,而每个叶节点对应一个子域(整个组织)。
2、 域名解析(1) • 要求 • 有效 • 多数名字可以进行本地解析,只有少数名字解析需经过 Internet 传输。 • 可靠 • 单台机器的故障不会妨碍整个系统正常工作 • 通用 • 不仅能解析机器名,还能解析邮箱名、网络服务名 • 分布式 • 由分布在不同网点的一组服务器合作完成名字解析
域名解析(2) • 递归解析 • 域名服务器系统完成全部域名---地址变换 • 复杂性和负担交给服务器 • 请求频繁时性能不好 • 反复解析 • 每次请求一个服务器,不行再请求别的服务器 • 复杂性和负担交给解析器软件 • 请求不多时性能不好
本地域名服务器 dns.eurecom.fr 域名解析的例子 根域名服务器 主机 surf.eurecom.fr想要知道 gaia.cs.umass.edu的IP 地址 1. 联系它的本地域名服务器:dns.eurecom.fr 2. 若需要,dns.eurecom.fr联系根域名服务器 3.若需要,根名字服务器联系权威的域名服务器 dns.umass.edu 2 4 3 5 权威的域名服务器 dns.umass.edu 1 6 请求域名解析的主机 surf.eurecom.fr gaia.cs.umass.edu
本地域名服务器 dns.eurecom.fr 中间域名服务器 dns.umass.edu 域名解析的例子 根域名服务器 根域名服务器: • 可能不知道权威的域名服务器 • 但它知道中间域名服务器,由中间域名服务器联系权威的域名服务器 6 2 3 7 5 4 1 8 权威的域名服务器 dns.cs.umass.edu 请求域名解析的主机 surf.eurecom.fr gaia.cs.umass.edu
本地域名服务器 dns.eurecom.fr 中间域名服务器 dns.umass.edu 域名解析的例子 根域名服务器 递归解析: • 只由它联系的域名服务器完成解析 • 域名服务器负担重? 反复解析: • 联系的域名服务器返回另一个域名服务器的名字 • “我不知道这个名字,请你问问这台服务器” 反复询问 2 3 4 7 5 6 1 8 权威的域名服务器 dns.cs.umass.edu 请求域名解析的主机 surf.eurecom.fr gaia.cs.umass.edu
5、 域名解析的效率 • 严格的自顶向下方法将导致域名解析低效 • 大多数域名解析是解析本地域名,可以在本地域进行; • 根服务器可能因负荷太重而超载; • 顶级服务器出现故障会防碍整个域名解析。 • 解决方法(二步法) • 先访问本地域名服务器,不行再访问别的服务器; • 高速缓存技术 • 每个域名服务器存放最近解析过的域名信息 • 域名、IP地址、解析该域名的服务器 • 有效性 • 服务器向解析器报告该域名解析是“非权威的”;解析器可以直接与解析该域名的服务器联系,以确认域名解析的准确性; • 每个域名解析有一个生存时间(Time to live);规定该域名解析最多可以保留的时间;
小结 • 域名系统DNS用于将字符串名字翻译成IP地址或相反。 • 域名系统有平面型和层次型两种命名机制。 • Internet域名是采用层次型命名机制,它的一级域名有组织模式和地理模式两种。 • TCP/IP域名解析方式有递归解析和反复解析两种,两种解析方式的区别在将复杂性是置于解析器还是服务器,一旦解析出某个域名地址,主机或域名服务都会将该域名-IP地址对缓存起来,以提高域名解析的效率。
主要内容 4.2.1 客户/服务器模型 4.2.2 网络应用服务平台 4.2.3 应用规划
request reply application transport network data link physical application transport network data link physical 4.2.1 客户/服务器模型(1) • 基本概念 • 客户/服务器模型是所有网络应用的基础。客户/服务器分别指参与一次通信的两个应用实体,客户方主动地发起通信请求,服务器方被动地等待通信的建立。
4.2.1 客户/服务器模型(2) • 客户软件 • 任何一个应用程序当需要进行远程访问时成为客户,这个应用程序也要完成一些本地的计算; • 一般运行于用户的个人计算机上; • 向服务器主动发起通信请求; • 可以访问多个服务器,但一次只能访问一个; • 不需要特殊的硬件和复杂的操作系统。 • 服务器软件 • 是专用的提供某种服务的特权程序,可以同时处理多个远程客户; • 一般在系统启动时被执行,并连续运行以处理多次会话; • 被动的等待远程客户发起通信; • 需要特殊的硬件和复杂的操作系统。
4.2.1 客户/服务器模型(3) • 数据在客户和服务器之间是双向流动的,一般是客户发出请求,服务器给出响应。 • 服务器软件的并发性 • 由于服务器软件要支持多个客户的同时访问,它必须具备并发性。服务器软件为每个新到的客户创建一个进程或线程来处理和这个客户的通信。服务器方传送层实体使用客户的源端口号和服务的端口号来确定正确的服务器软件进程(线程)。 • 服务器软件的组成 • 服务器软件一般分为两部分:一部分用于接受请求并创建新的进程或线程,另一部分用于处理实际的通信过程。
4.2.1 客户/服务器模型(4) • 客户/服务器之间使用的传送层协议 • 可以是基于连接的TCP协议,要求建立和释放连接,适用于可靠的交互过程; • 也可以是无连接的UDP协议,适用于可靠性要求不高的或实时的交互过程; • 同时使用TCP和UDP的服务,有两种服务器软件的实现或服务器软件同时和TCP、UDP协议交互,不对客户做限制。 • 客户和服务器的交互 • 支持协议:在INTERNET中,客户和服务器的交互通过使用TCP/IP协议栈来完成。因此,客户和服务器所在的机器要求支持完全的协议栈。客户/服务器通过套接字访问传送层服务。
4.2.1 客户/服务器模型(5) • 多种服务:一台计算机上可以运行多个服务器软件,但是要求计算机有强大的硬件资源(服务器级别的计算机)和多任务操作系统(UNIX和WIN95/98/2000/NT)。 • 服务的标识:客户是通过服务的标识来访问某种服务的,比如在INTERNET中,服务是用端口号来标识,UNIX在/etc/services文件中定义。服务器软件启动时将其标识通知传送层实体。
4.2.2 网络应用服务平台 构筑一个典型的网络应用平台,一般需要以下几个组件: • 计算机网络设施 • 支持TCP/IP协议的网络操作系统 • 提供服务的服务器程序 • 运行服务器程序的计算机
一、计算机网络设施 计算机网络设施是用通信线路将若干计算机连在一起的集合体,网络设施具体包括: • 物理连接介质(双绞线、光纤、微波等) • 网络连接设备(集线器、交换机、路由器等) • 网络拓朴结构(星型、总线型、网型等) • 网络技术(以太网、FDDI、ATM等)
二、支持TCP/IP协议的网络操作系统 目前网络操作系统主要有三大类: • UNIX(包括SUN公司的Solaris,IBM分司的AIX,HP公司的HPUNIX,免费的共享软件Linux、FreeBSD等) • 微软公司的Windows NT 5.0 (Windows 2000 Server) • Novell 公司的 Netware 5.0
三、提供服务的服务器程序 • 大部分网络应用采用客户机/服务器模型 • 网络基础应用有: • 万维网服务(WWW服务) • 远程登录服务(telnet 服务) • 文件传输服务(FTP) • 电子邮件服务(E-mail 服务) • 数据库服务
Windows NT上的服务器软件 • Windows 2000 Server 提供了因特网信息服务器(IIS,Internet Information Server),IIS提供WWW服务,FTP服务;软件公司的的BackOffice中提供电子邮件服务器Exchange Server 及数据库服务器 SQL Server; • 在Windows NT上可安装与Windows NT兼容的其它数据库服务器Oracle,Sybase或小型数据库Foxpro,Access等。
Unix上的服务器软件 • Unix和Linux上集成有telnet,ftp和E-mail服务器; • SUN公司的Solaris 提供WWW服务器Web Start; • Linux 上的WWW服务器有Apache Web Server; • Unix和Linux上可安装的数据库服务器有MySQL,Informix,Oracle等。
四、运行服务器程序的计算机 • 应用服务器分硬件和软件; • 对于硬件,芯片的类型有Intel,PowerPC,Sparc;服务器有PC服务器、工作站、小型机、大型机; • 服务器和计算机非一一对应(一台计算机上可安装多个服务器,一个服务也可由多台计算机提供;选择服务器应注意计算机的性能; • 软件应选择合理的操作系统和服务器软件;如Solaris适合Sparc芯片的SUN工作站,AIX系统适合IBM服务器,Linux适合PC服务器,Windows NT适合Intel芯片的PC服务器等。
高层应用在TCP/IP协议簇中的结构 用户 应用程序 FTP SNMP rlogin rsh ASN.1 SMTP BOOTP TFTP telnet DNS ….. TCP UDP IP(加 ICMP 和 IGMP) ARP RARP 硬件协议(链路控制和介质接入) 硬件
4.2.3 应用规划 • ISP(Internet Service Provider)因特网服务提供商 • ISP除应提供DNS服务外,应提供WWW、EMAIL、FTP的基本应用,可提供BBS、网络电话、视频会议及用户自行开发的应用; • ISP应提供因特网接入服务,如拔号接入、LAN接入,DDN接入等。
第四章3: 电子邮件E-mail 4.3.1电子邮件系统体系结构 1 、ISO/OSI电子邮件系统 2、 TCP/IP电子邮件系统 4.3.2 TCP/IP电子邮件地址 4.3.3 TCP/IP电子邮件标准 1、 TCP/IP电子邮件格式 2、 多用途因特网邮件扩展MIME 3、 简单邮件传输协议SMTP 4.3.4 邮箱访问
4.3.1电子邮件系统体系结构 • 与文件传输相比,电子邮件有两大显著的特点。 • 第一,电子邮件的使用者是人而非应用程序,于是电子邮件系统在结构上分为两大部分:人机界面与邮件传输。人机界面用于发送者和接收者撰写、编辑和阅读邮件;而邮件传输则负责将邮件从发送端传送到接收端。 • 第二,电子邮件是高度结构化的文件,因此对电子邮件的处理比对一般文件的处理要复杂许多。
1、 ISO/OSI电子邮件系统 • ISO/OSI的电子邮件协议叫作面向消息的文本交换系统MOTIS(Message-Oriented Text Interchange System)。 • MOTIS电子邮件系统分为两部分:用户代理UA(User Agent)和消息传输代理MTA(Message Transfer Agent)。 • UA负责邮件的撰写、阅读和处理,而MTA就是“电子化邮局”,它主要负责邮件的传输和报告。 • 在电子邮件系统的具体实现中,UA和MTA往往不在同台机器上。
点到点转发方式 • MOTIS电子邮件系统中邮件的传输采用点到点存储转发方式,其中MTA扮演邮件网关(mail gateway)的角色,邮件经逐个MTA传输直至到达收信方所在MTA。 • 采用存储转发方式的优点是:发送方的MTA一旦将邮件发出去,它就可以退出,去干其它事情,而不必关心邮件的整个传输过程;而端到端方式中,发送方的MTA必须负责将邮件传送到接收方的MTA,中间不得脱身。MOTIS认为这一点很重要,于是采用存储转发的邮件传输方式。
2、 TCP/IP电子邮件系统 • TCP/IP的电子邮件系统也可分为用户界面和邮件传输两部分,但TCP/IP的邮件传输部分并没有独立出来形成一个类似于MOTIS中MTA的概念。 • TCP/IP始终坚持端到端的思想,它的电子邮件系统也毫不例外地采用端到端传输方式,不存在邮件的存储转发问题,因此也就没有必要引入像MTA一样负责存储转发的机制了。 • 在端到端邮件传输方式中,虽然发送方主机要始终参与邮件传输的全过程,但由于TCP/IP协议的简洁性,其效率反而比存储转发方式要高。
端到端转发方式 • 由于TCP/IP采用端到端方式,TCP/IP邮件系统要解决的首要问题是当远程的接收方主机暂时不能访问(如未开机、出故障、不能建立网络连接等)时,系统如何发送邮件的问题。 • TCP/IP采用spooling缓冲技术,将用户收发邮件与实际的邮件传输区别开,而这种划分的原型就是MOTIS中的UA和MTA。
4.3.2 TCP/IP电子邮件地址 • TCP/IP电子邮件地址的格式 • local-name@domian-name • 一个电子邮件地址例子 • dubiao@ratvu.com • 电子邮件地址分为两部分: • 第一部分标识用户的邮箱, • 第二部分标识邮箱所在的计算机。 • 一个邮箱除了拥有一个正式的地址外,还可以有别名(alias)。一个邮箱可以有一个或多个别名,当然也可以没有别名。
4.3.3 TCP/IP电子邮件标准 • 邮件格式标准 • 头部 • RFC822 • 正文 • 多用途因特网邮件扩展 MIME • 邮件传输标准 • 简单邮件传输协议SMTP • ESMTP • RFC1425
4.3.4 邮箱访问 • POP3邮局协议 • POP3协议具有用户登录、退出、读取邮件以及删除邮件的功能。POP3协议的特点是允许用户将邮件从远程邮箱中下载到自己的机器上便于以后阅读。 • 交互式邮件访问协议IMAP • IMAP协议适合使用多台计算机的用户,IMAP协议的基本思想是让邮件服务器维护一个中心数据库,使得能够被多台机器访问。IMAP不允许用户将邮件下载到自己的计算机上,只能在线访问邮箱。 • 分布式邮件系统协议DMSP • DMSP协议允许用户从不同的邮件服务器上下载邮件到自己的计算机上,然后断开连接。当用户以后再与服务器连接时,用户将与服务器系统重新同步并传递邮件。