Presentation is loading. Please wait.

Presentation is loading. Please wait.

TCP/IP基本原理 第十二章 其他服务.

Similar presentations


Presentation on theme: "TCP/IP基本原理 第十二章 其他服务."— Presentation transcript:

1 TCP/IP基本原理 第十二章 其他服务

2 本章学习要求: 掌握:DHCP的基本概念和工作原理 掌握:IP地址的自动分配和动态分配原理 掌握:DHCP信息包格式 掌握:代理服务器的工作原理和流程 了解:NAT的基本概念和分类

3 12.1 DHCP的概念 DHCP 是 Dynamic Host Configuration Protocol(动态主机分配协议)缩写,它的前身是 BOOTP。BOOTP 原本是用于无磁盘主机连接的网络上面的﹕网络主机使用 BOOT ROM 而不是磁盘起动并连接上网络,BOOTP 则可以自动地为那些主机设定 TCP/IP 环境。但 BOOTP 有一个缺点:您在设定前须事先获得客户端的硬件地址,而且,与 IP 的对应是静态的。换而言之,BOOTP 非常缺乏 "动态性" ,若在有限的 IP 资源环境中,BOOTP 的一对一对应会造成非常可观的浪费。  DHCP 可以说是 BOOTP 的增强版本,它分为两个部份﹕一个是服务器端,而另一个是客户端。所有的 IP 网络设定数据都由 DHCP 服务器集中管理,并负责处理客户端的 DHCP 要求﹔而客户端则会使用从服务器分配下来的IP环境数据。比较起 BOOTP ,DHCP 透过 "租约" 的概念,有效且动态的分配客户端的 TCP/IP 设定,而且,作为兼容考虑,DHCP 也完全照顾了 BOOTP Client 的需求。

4 DHCP的设计目标 DHCP应该是一种机制而不是策略,它必须允许本地系统管理员控制配置参数,本地系统管理员应该能够对所希望管理的资源管理进行有效地管理。 客户不需要进行手工配置,客户应该在不参与的情况下发现合适于本地机的配置参数,并利用这些参数加以配置。 不需要对单个客户配置网络。在通常情况下,网络管理员没有必须输入任何预先设计好的用户配置参数。 DHCP不需要在每个子网上要一个服务器,为了经济的原因,它DHCP服务器必须可以和路由器和BOOTP转发代理一起工作。 DHCP客户必须可能对多个DHCP服务器提供的服务作出响应。出于网络稳定与安全的考虑,有时需要为网络加入多个DHCP服务器。 DHCP必须静态配置,而且必须以现存的网络协议实现。 DHCP必须能够和BOOTP转发代理互操作。 DHCP必须能够为现有的BOOTP客户提供服务。

5 下面几个设计目标是对于网络层参数的设计而言的,在网络层参数上,DHCP必须可以做到以下几点:
9.不允许有几个客户同时使用一个网络地址。 10.在DHCP客户重新启动后仍然能够保留它原先的配置参数,如果可能,客户应该被指定为相同的配置参数。 11.在DHCP服务器重新启动后仍然能够保留客户的配置参数,如果可能,即使DHCP机制重新启动,也应该能够为客户分配原有的配置参数。 12.能够为新加入的客户自动提供配置参数。 13.支持对特定客户永久固定分配网络地址。

6 DHCP的分配形式 首先,必须至少有一台 DHCP 工作在网络上面,它会监听网络的 DHCP 请求,并与客户端搓商 TCP/IP 的设定环境。它提供两种 IP 定位方式: Automatic Allocation :自动分配,其情形是﹕一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP 地址之后,就永远使用这个地址。 Dynamic Allocation :动态分配,当 DHCP 第一次从 HDCP 服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个 IP 地址,以给其它工作站使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的 IP 地址。 动态分配显然比自动分配更加灵活,尤其是当实际 IP 地址不足的时候。例如,若 ISP只能提供 200 个IP地址用来给拨接客户,但并不意味着您的客户最多只能有 200 个。因为客户们不可能全部同一时间上网。这样,就可以将这 200 个地址,轮流的租用给拨接上来的客户使用。这也是为什么查看 IP 地址时,会因每次拨接而有不同的IP地址 ( 除非申请的是一个固定 IP ,通常的 ISP 都可以满足这样的要求)。 DHCP 除了能动态的设定 IP 地址之外,还可以将一些 IP 保留下来给一些特殊用途的机器使用,它可以按照硬件地址来固定的分配 IP 地址,这样可以有更大的设计空间。同时,DHCP 还可以帮客户端指定 router﹑netmask﹑DNS Server﹑WINS Server﹑等等项目,用户在客户端上面除了将 DHCP 选项打勾之外,几乎无需做任何的 IP 环境设定。

7 DHCP的工作原理 DHCP是一个客户机/服务器协议。DHCP客户机向DHCP服务器发出请求,服务器按照预先设定好的方式进行应答。如果计算机的IP地址设为 它就自动变成一个DHCP客户机,在Windows操作系统上,TCP/IP设置还可以改为从服务器获得IP地址。客户机连接到网络之后,就会发生四阶段的DHCP通信。       第一步是初始化。因为客户机还没有IP地址同时又需要进行Internet操作,它首先要找到一个能给它IP地址的DHCP服务器。在拨号连接的情况下,客户机连接到一个调制解调器,然后通过电话线广播一个DHCPDISCOVER信息以定位DHCP服务器。如果ISP有一个以上的DHCP服务器,所有的服务器都会发回一个DHCPOFFER的响应,响应中包括一个IP地址和地址的租用时间。地址的租用时间是客户机可以使用这个地址的时间,由系统管理员设定。       客户端返回一个DHCPREQUEST广播信息,说明它接受了哪一个服务器的DHCPOFFER。因为所有的服务器都在等待回答,所以需要使用广播方式。接受的服务器通过返回一个DHCPACK消息来结束初始化步骤,确认IP地址和租用时间。如果在这段时间内它提供的IP地址不可用了(由于超时),服务器就返回一个DHCPNAK(不确认)消息,强迫客户端重新进行DHCPDISCOVER广播。在收到DHCPACK包之后,它就向网络发出一个地址解析协议(ARP)广播以检测这个地址是否已经被使用。如果地址已经被使用,客户端就会向提供地址的服务器发出DHCPDECLINE消息,并立即发出一个新的DHCPDISCOVER消息。

8 然后就是更新和重新绑定阶段。客户端只能租用IP地址一段时间,租用时间可以设定得很短,也可以是无限长,或这两者之间的任意长度。将它称为“租用”而不是简单地说“失效时间”是因为在连接过程中租用可以被更新。       DHCP客户机运行着T1和T2两个计时器。缺省情况下,T1设置为租用时间的50%,T2为87.5%。当IP地址的租用到了T1限定的时间后,客户端就进入更新阶段,向租借给它地址的服务器申请更新。如果服务器返回一个DHCPACK响应包,地址租用就被更新,T1和T2也相应地重新设置(T2的计时期限还根本没有到达)。如果服务器没有响应,客户机会在T2期限之前继续使用该地址。到达T2期限的时候,客户机就进入重新绑定阶段,向所有的服务器发出DHCPREQUEST广播。任何发回DHCPACK响应的服务器都可以更新这个租用,并成为这个客户机的授权服务器。如果还是没有服务器响应,地址租用就过期了,客户机不再拥有IP地址。也就是说,它不能再使用Internet。       最后一步称为顺利关机(graceful shut-down),当客户机不再需要被赋予的IP地址时会发生这一步。客户端发出DHCPRELEASE信息,告诉服务器它可以把IP地址交还。像你预计的一样,事情不会总是如此顺利,如果某人碰巧拿起了电话而把你的连接挂断,ISP的服务器不得不等到你的T2时间点才能收回地址。

9 DHCP的工作流程 1)发现阶段,即DHCP客户机寻找DHCP服务器的阶段。DHCP客户机以广播方式(因为DHCP服务器的IP地址对于客户机来说是未知的)发送DHCP discover发现信息来寻找DHCP服务器,即向地址 发送特定的广播信息。网络上每一台安装了TCP/IP协议的主机都会接收到这种广播信息,但只有DHCP服务器才会做出响应(如下图)。

10 2)提供阶段,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCP discover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCP offer提供信息(如下图)。

11 3)选择阶段,即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供信息,则DHCP客户机只接受第一个收到的DHCP offer提供信息,然后它就以广播方式回答一个DHCP request请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址(如下图)。

12 4)确认阶段,即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCP request请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址(如下图)。

13 5)重新登录。以后DHCP客户机每次重新登录网络时,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。 6)更新租约。DHCP服务器向DHCP客户机出租的IP地址一般都有一个租借期限,期满后DHCP服务器便会收回出租的IP地址。如果DHCP客户机要延长其IP租约,则必须更新其IP租约。DHCP客户机启动时和IP租约期限过一半时,DHCP客户机都会自动向DHCP服务器发送更新其IP租约的信息。

14 为了便于理解,我们把DHCP客户机比做餐馆里的客人,DHCP服务器比做服务员(一个餐馆里也可以有多个服务员),IP地址比做客户需要的食物。那么可以这样描述整个过程:客人走进餐馆,问:“有没有服务员啊?”(DHCP discover),多个服务员同时回答:“有,我这有鸡翅”“有,我这有汉堡”(DHCP offer)。客人说:“好吧,我要一份汉堡”(DHCP request,这个客人比较死板,总是选择第一次听到的食物),端着汉堡的服务员回应了一声:“来啦”(DHCP ack),并把食物端到客人面前,供其享用(将网卡和IP地址绑定)。客人下次来的时候,就直接找上次那个服务员点自己喜欢的汉堡了(DHCP request),如果还有汉堡,服务员会再次确认并上菜(DHCP ack),而如果已经卖完了,服务员则会告诉客人:“不好意思,已经卖完了”(DHCP nack)。当然,服务员隔一段时间会来收拾一次桌子,除非客人特别说明这菜还要继续吃的,服务员会将剩菜端走。

15 DHCP的评价 DHCP服务优点:网络管理员可以验证IP地址和其它配置参数,而不用去检查每个主机;DHCP不会同时租借相同的IP地址给两台主机;DHCP管理员可以约束特定的计算机使用特定的IP地址;可以为每个DHCP作用域设置很多选项;客户机在不同子网间移动时不需要重新设置IP地址。 DHCP的缺点:DHCP不能发现网络上非DHCP客户机已经在使用的IP地址;当网络上存在多个DHCP服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP转发。

16 12.1.6 配置DHCP服务 12.1.7.1 在Windows2000中配置DHCP服务
1)安装DHCP服务。用管理员账号登录,在控制面板中双击“添加/删除程序”,选择“添加/删除Windows组件”,启动Windows组件向导,选中“网络服务”,单击“详细信息”,选中“动态主机分配协议”,单击“确定”即可。 2)要想使刚安装的DHCP服务器能为客户机分配IP地址,必须首先在域中为该服务器授权。使用管理员账号登录计算机,在“管理工具”菜单中打开DHCP控制台;右击想要授权的服务器,在弹出菜单中单击“授权”即可。 授权(Authorize)功能非常实用和必要,因为在旧版本的DHCP服务器中任何用户都可以创建一台DHCP服务器,该服务器也可以为用户分配IP地址,这就可能造成地址冲突,在Windows 2000 Server中这个问题得到了有效的解决:任何DHCP服务器只有在目录服务中被授权之后才能为客户分配IP地址,否则即使收到租用请求,也不能为客户机分配IP地址。 3) 创建并配置作用域。在控制树中,右击要用来分配地址的服务器,选中“新建作用域”,在接下来的向导中,依次设置作用域名、作用域的起始地址、输入子网掩码、排除的地址或地址范围、DHCP租约期限信息。名称项只是作提示用,可填任意内容。IP地址范围中有起始地址、结束地址和子网掩码的选项,我们可以分别填入 , , 。如果有必要,可在后面的选项中输入要保留的IP地址或IP地址范围。租约期限选项可设定DHCP服务器所分配的IP地址的有效期,比如设8天。最后,分配好DNS、WINS服务器,并激活作用域。

17

18 在网络设备上配置DHCP服务 有时候,在一些中高端的网络设备(路由器、交换机)上已经集成了DHCP服务,我们便可以在网络设备上实现DHCP服务,不使用专门的主机做DHCP服务器,以节省成本。 下面是在cisco路由器上配置DHCP的实例: 1) 指定不自动分配的IP地址范围: ip dhcp excluded-address //指定从 到 的IP地址是手工分配的 2) 设置DHCP地址池: ip dhcp pool global //这条命令指定了DHCP地址池的名称 network //动态分配的IP地址范围,这里是 网段所有的IP地址(前面指定的非自动分配地址除外) 3)设置DHCP附加信息   domain-name client.com//为客户机配置域后缀   dns-server //为客户机配置DNS服务器的地址,这里是 和 netbios-name-server //为客户机配置WINS服务器地址,这里是 和 netbios-node-type h-node//为客户机配置节点模式,如h-node是先通过wins服务器解释)   default-router //为客户机配置默认网关

19 4) 相关的DHCP调试命令   no service dhcp //停止DHCP服务   show ip dhcp binding//显示地址分配情况   show ip dhcp conflict //显示地址冲突情况。

20 12.2 代理服务器 Proxy Server HTTP、SOCK、FTP代理的区别 浏览器用HTTP或SOCK代理。
代理服务器的概念 Proxy是什么呢,是代理。普通的因特网访问是一个典型的客户机与服务器结构:用户利用计算机上的客户端程序,如浏览器发出请求,远端WWW服务器程序响应请求并提供相应的数据。而Proxy处于客户机与服务器之间,对于服务器来说,Proxy是客户机,Proxy提出请求,服务器响应;对于客户机来说,Proxy是服务器,它接受客户机的请求,并将服务器上传来的数据转给客户机。它的作用很象现实生活中的代理服务商。因此Proxy Server的中文名称就是代理服务器。 Proxy Server的工作原理 当客户在浏览器中设置好Proxy Server后,你使用浏览器访问所有WWW站点的请求都不会直接发给目的主机,而是先发给代理服务器,代理服务器接受了客户的请求以后,由代理服务器向目的主机发出请求,并接受目的主机的数据,存于代理服务器的硬盘中,然后再由代理服务器将客户要求的数据发给客户。 HTTP、SOCK、FTP代理的区别 浏览器用HTTP或SOCK代理。 下载软件用HTTP或SOCK代理。 上传软件用FTP或SOCK代理。 其他的一般用SOCK代理。(聊天,MUD游戏等)

21 代理服务器的作用 1)提高访问速度。因为客户要求的数据存于代理服务器的硬盘中,因此下次这个客户或其它客户再要求相同目的站点的数据时,就会直接从代理服务器的硬盘中读取,代理服务器起到了缓存的作用,对热门站点有很多客户访问时,其优势更为明显。 2)Proxy可以起到防火墙的作用。因为使用代理服务器的用户都必须通过代理服务器访问远程站点,因此在代理服务器上就可以设置相应的限制,以屏蔽掉某些信息。这是局域网用户为什么不能浏览某些网站的原因。拨号用户如果使用代理服务器,同样必须服从代理服务器的访问限制,除非不使用这个代理服务器。 3)通过代理服务器访问一些不能直接访问的网站。互联网上有许多开放的代理服务器,客户在访问权限受到限制时,而这些代理服务器的访问权限是不受限制的,刚好代理服务器在客户的访问范围之内,那么客户通过代理服务器访问目标网站就成为可能。国内的高校多使用教育网,不能出国,但通过代理服务器,就能实现访问因特网,这就是高校内代理服务器热的原因所在。 4)安全性得到提高。目的网站只能知道你来自于代理服务器,而你的真实IP就无法测知,这就使得使用者的安全性得以提高。

22 代理服务器的实现模型和总体框架 代理服务器(Proxy)是接收或解释客户端连接并发起到服务器的新连接的网络节点。它是客户端/服务器关系的中间人,这意味着代理服务器必须满足以下条件: 能够接收和解释客户端的请求 能够创建到服务器的新连接 能够接收服务器发来的响应 能够发出或解释服务器的响 应并将该响应传回给客户端 上述四个条件也即是代理服 务器的四个基本功能。如果说接收客户端请求并发回响应是服务器的功能的话,那么发起到服务器的连接并接收服务器的响应则是客户端发挥的作用。因此实现代理服务器必须要同时实现服务器和客户端两端的功能。

23 根据代理服务器工作的层次,一般可分为应用层代理、传输层代理和SOCKS代理。应用层代理工作在TCP/IP模型的应用层之上,它只能用于支持代理的应用层协议(如HTTP,FTP)。它提供的控制最多,但是不灵活,必须要有相应的协议支持。如果协议不支持代理(如SMTP和POP),那就只能在应用层以下代理,也即传输层代理。传输层代理直接与TCP层交互,更加灵活。要求代理服务器具有部分真正服务器的功能:监听特定TCP或UDP端口,接收客户端的请求同时向客户端发出相应的响应。另一种代理需要改变客户端的IP栈,即SOCKS代理。它是可用的最强大、最灵活的代理标准协议。SOCK V4允许代理服务器内部的客户端完全地连接到外部的服务器,SOCK V5增加了对客户端的授权和认证,因此它是一种安全性较高的代理。 为便于统一处理,本文采用传输层代理,即不管协议是否支持代理,都采用传输层代理模式。代理服务器接收内部网的TCP和UDP包,改变源和目的IP地址,甚至改变TCP或UDP头,然后将包发送到外部网。 传输层代理主要有两种方案:端口重定向和客户端服务器代理。端口重定向比较简单,代理服务器通过监听特定的TCP或UDP端口接收连接,希望连接到外部网络的客户端通过该端口,连接到代理服务器,代理服务器使用另外的端口和IP地址发出对远端目的地的连接。建立连接以后,所有客户端和远端目的地的数据都由代理服务器转发。客户端服务器代理需要安装客户端,用户启动与外部网络通信的程序时,代理客户端封装包并直接转发给代理服务器。代理服务器打开封装并将包传输给外部网络。接到响应时,代理服务器封装数据并转发给客户端。这种方案有一个严重缺点,由于客户端程序的安装,改变了TCP/ IP栈的工作方式,使代理复杂化,增加了发生问题的机会。

24 出于对可靠性和简单性方面的考虑,本代理服务器系统采用端口重定向方案,只是简单定制了客户端的操作过程。代理服务器监听特定端口,客户端需要连接到外部网络时,要先显式地连接代理服务器的监听端口。代理服务器响应后,客户端指出需要连接的远端目的地,由代理服务器来进行连接。连接成功以后,代理服务器转发数据,客户端的操作就象直接与远端相连一样了。 本代理服务器系统的总体框架如下图所示:

25 工作流程 1)服务端启动应用代理程序,对一个或多个端口进行监听。如HTTP代理服务器则监听80端口,或根据代理应用服务程序的设定而定。 2)客户端通过代理服务器访问Internet,向应用代理服务程序发出连请求。 3)应用代理服务程序根据客户端的请求,和客户端要访问的服务器建立连接。 4)客户和其要访问的服务器建立数据连接。 5)客户和服务器进行数据交换,获取其要访问的数据。这个过程中代理服务程序起到一个在客户和客户访问的服务器之间中转数据的作用。 6)数据交换结束,连接拆除。

26 浏览器软件中的代理服务器设置  常见的浏览器软件有微软的Internet Exploer,网景公司的Navigator,Opear等,IE 5.0及其以上版本的代理服务器配置如右图示。 拨号用户:菜单栏"工具"-> 下拉菜单"Internet选项"-> "连接" 选项卡-> 在"拨号设置"中选中您目前使用的连接,然后点击右侧的"设置"-> 在中间的"代理服务器"栏选中"使用代理服务器"-> 在"地址"和"端口"栏输入HTTP代理服务器地址和端口号->按"确定"按钮,最后按"确定"按钮退出。

27 局网域用户:菜单栏"工具"-> 下拉菜单"Internet选项"-> "连接" 选项卡->应点击"局域网设置",在中间的"代理服务器"栏选中"使用代理服务器"-> 在"地址"和"端口"栏输入HTTP代理服务器地址和端口号->按"确定"按钮,最后按"确定"按钮退出。

28 12.3 NAT (Network Address Translate )
随着Internet的快速膨胀,IP v4地址空间将处于严重耗尽的境况。为了解决这个问题,人们设计出了网址转换器(NAT)。NAT被置于两网的边界,其功能是将外网可见的IP地址与内网所用的地址相映射。这样,受保护的内网可重用特定范围的IP地址(如 X.X),而这些地址是不用于公网的。从外网来的含公网地址信息的数据包先到达NAT,NAT使用预设好的规则(其组元包含源地址、源端口、目的地址、目的端口、协议)来修改数据包,然后再转发给内网接受点。对于流出内网的数据包也须经过这样的转换处理。从安全性上来看,NAT提供了对外隐藏内网拓扑的手段,但也给许多网络应用 ( 如VoIP应用) 带来巨大的麻烦。

29 NAT分为三种: Full Cone:该类型NAT后的主机,从地址:端口{A:B}发送一个包,NAT会将该地址:端口翻译成{X:Y},并且形成一个从{A:B}到{X:Y}的映射。从任何地址发出的任何送到NAT外部的包,只要目的地址:端口是{X:Y}的,就送至地址:端口{A:B}。这种形式的NAT成锥形,终端是一个,起始端无数个。 Partial/Restricted Cone:该类型NAT后的主机,从地址:端口{A:B}发送一个包,NAT会将该地址:端口翻译成{X:Y},并且形成一个从{A:B}到{X:Y}的映射。从任何地址发出的任何送到NAT外部的包,只要目的地址:端口是{X:Y}的,就送至地址:端口{A:B}。并且,当第一个送入的包被翻译后,映射就固定为发起端和内部接收端,NAT不在翻译NAT外其他以地址:端口{X:Y}为目的地址:端口的包,这些包在NAT外被丢弃。这种形式的NAT是点对点的,一旦固定,终端和发起端都是单一固定的。 Symmetric Cone: 该类型NAT后的主机,从地址:端口{A:B}发送一个包到地址:端口{C:D},NAT会将源地址:端口{A:B}翻译成{X:Y},并且形成一个从{A:B}到{C:D}到{X:Y}的映射。只有从地址:端口{C:D}到地址:端口{X:Y}的包才能被接收并且发送到地址:端口{A:B}。这一类型的NAT要求最为严格,只允许被内部呼叫的点与内部通信,是点对点的,终端和发起端都是单一固定的,且外部端口由内部发起呼叫方和通信

30 本章习题 参见教师网页:


Download ppt "TCP/IP基本原理 第十二章 其他服务."

Similar presentations


Ads by Google