A. dhcp服务器的分配过程
当作为DHCP客户端的计算机启动时,将从DHCP服务器获得其TCP/IP配置信息,并得到IP地址的租期,即使用时间。一个设置为“自动获取地址”的计算机从DHCP服务器上获取IP地址的过程如下:
(1)DHCP客户端计算机启动后,如果客户端发现本机上没有任何IP地址等相关参数,会使用0.0.0.0作为自己的IP地址,255.255.255.255作为服务器的地址,广播发送包括网卡的MAC地址和NetBIOS名称的DHCP发现信息。
当发送第一个DHCP发现信息后,DHCP客户端将等待1秒。在此期间,如果没有DHCP服务器响应,DHCP客户端将分别在第9秒、第13秒和第16秒时重复发送一次DHCP发现信息。如果仍然没有得到DHCP服务器的应答,客户端则会显示错误信息,并从Microsoft保留IP地址段(169.254.0.1~169.254.255.254)自动选择一个地址,并设置子网掩码为255.255.0.0。以后,系统会继续每隔5分钟广播一次发现信息,直到得到一个应答为止。
(2)当网络中的任何一个DHCP服务器(同一网络中可存在多个DHCP服务器)在收到DHCP客户端的DHCP发现信息后,就从IP地址池中选取一个没有出租的IP地址连同其他TCP/IP网络配置(包括子网掩码、网关地址、租用期、DNS地址、WINS服务器地址、提供响应的DHCP服务器的IP地址等),然后利用广播方式提供给DHCP客户端。
(3)当DHCP客户端收到应答信息后,将以广播方式向网络中所有的DHCP服务器发送DHCP请求信息(在DHCP请求信息中包含有所选择的DHCP服务器的IP地址),既通知它已选择的DHCP服务器,也通知其他DHCP服务器,以便释放它们保留的IP地址。
同时,客户端还会向网络发送一个ARP(Address Resolution Protocol,地址解析协议)包,查询网络上面有没有其他机器使用该IP地址;如果发现该IP地址已经被占用,客户端则会送出一个DHCPDISCOVER数据包给DHCP服务器,拒绝接受其DHCPDISCOVER,并重新发送DHCPDISCOVER信息。
(4)一旦被选择的DHCP服务器接受到DHCP客户端的DHCP请求信息后,就将已保留的IP地址标识为已租用,并以广播方式发送一个DHCP应答信息给DHCP客户端,以确认IP租约的正式生效。
以上过程可简单地概括为发现、提供、DHCP请求、DHCP应答
B. 广播地址广播地址
255.255.255.255
种IP广播地址(2005-11-9)
一、受限的广播
受限的广播地址是255.255.255.255。该地址用于主机配置过程中IP数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的IP地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。
一个未解的问题是:如果一个主机是多接口的,当一个进程向本网广播地址发送数据报时,为实现广播,是否应该将数据报发送到每个相连的接口上?如果不是这样,想对主机所有接口广播的应用必须确定主机中支持广播的所有接口,然后向每个接口发送一个数据报复制。
大多数BSD系统将255.255.255.255看作是配置后第一个接口的广播地址,并且不提供向所属具备广播能力的接口传送数据报的功能。不过,routed和rwhod(BSDrwho客户的服务器)是向每个接口发送UDP数据报的两个应用程序。这两个应用程序均用相似的启动过程来确定主机中的所有接口,并了解哪些接口具备广播能力。同时,将对应于那种接口的指向网络的广播地址作为发往该接口的数据报的目的地址。
HostRequirementsRFC没有进一步涉及多接口主机是否应当向其所有的接口发送受限的广播。
二、指向网络的广播
指向网络的广播地址是主机号为全1的地址。A类网络广播地址为netid.255.255.255,其中netid为A类网络的网络号。一个路由器必须转发指向网络的广播,但它也必须有一个不进行转发的选择。
三、指向子网的广播
指向子网的广播地址为主机号为全1且有特定子网号的地址。作为子网直接广播地址的IP地址需要了解子网的掩码。例如,如果路由器收到发往128.1.2.255的数据报,当B类网络128.1的子网掩码为255.255.255.0时,该地址就是指向子网的广播地址;但如果该子网的掩码为255.255.254.0,该地址就不是指向子网的广播地址。
四、指向所有子网的广播
指向所有子网的广播也需要了解目的网络的子网掩码,以便与指向网络的广播地址区分开。指向所有子网的广播地址的子网号及主机号为全1。例如,如果目的子网掩码为255.255.255.0,那么IP地址128.1.255.255是一个指向所有子网的广播地址。然而,如果网络没有划分子网,这就是一个指向网络的广播。
http://www.loginow.com/bbs/printpage.asp?BoardID=15&ID=376
网络广播
(Broadcast on Network)
网络广播是指一个节点同时向相同域中的其它所有节点传输数据包的过程。组播是一种特殊的广播,其中一组请求收听的选定用户将收到广播。广播传输通常在局域网(如以太网)中进行,但有时也发生在虚拟局域网(VLAN)中。IPv6 支持单播(Unicast)、组播(Multicast)以及任意播(Anycast)三种类型,IPv6 中没有关于广播(Broadcast)的具体划分,而是作为组播的一个典型。
网络广播中涉及以下以下重要概念:
广播域(Broadcast Domain):这是一个限定区域,其中的所有设备都可以共享信息。换句话说,与网络相连,且负责接收广播的所有设备都是同一广播域的一部分。在一个共享以太网中,工作站通过共享媒体将帧广播到其它所有节点。其它节点收听广播,只接收寻址到它们的帧。因此,共享以太网中的所有节点都属于同一广播域。此外通过虚拟局域网技术可以创建一个虚拟广播域。
广播地址(Broadcast Address):这是一个特殊地址,当数据包可以寻址到该地址时,可以帮助所有设备打开和处理信息。例如,MAC 地址,格式为 1xFFFFFFFF 是一种广播地址;IP 地址255.255.255.255是通用广播地址。任何设备都将打开寻址到广播地址的信息,并将它们传送到下一个工作站。
广播风暴(Broadcast Storm):当主机系统响应一个在网上不断循环的广播数据包或者试图响应一个没有应答的系统时就会发生广播风暴。随着网络数据包数量的增加,广播风暴可能会引起网络拥塞问题。为防止广播风暴的发生,需要细心配置网络以阻止非法广播信息的进入。
生成广播信息的应用程序包括地址解析协议(ARP)。通过该协议,主机发送一个地址解析查询到局域网中的所有计算机上,以实现网络 IP 地址的分配。有些路由选择协议,如RIP,主要用于支持网络设备“Advertise”网络服务。此外还存在很多相关技术,如组播技术(一种特殊广播形式),这部分内容细节请查看组播技术部分。有关虚拟局域网技术请查看 VLAN 部分。
参考资料:http://www.lieo.com/Blog.asp?ID=74
C. DHCP服务器如何搭建、如何设置
在FreeBSD的Packages Collection中,有两个不同的DHCP客户机和服务器软件,一 个为ISC-DHCP,另一个为WIDE-DHCP,两个软件都包括了DHCP客户软件和服务器软件,其中ISC-DHCP 更为常用一些,这里就以ISC-DHCP为例介绍在FreeBSD上安装和设置DHCP。
为了支持DHCP,首先要确认系统内核支持伪设备bpfilter,如果没有,就需要重新编译内核。伪设备bpfilter 是一个允许应用程序接收网络的原始数据包的界面,这样应用程序就能接收目的地址非本机IP地址的数据包 了。DHCP使用bpfilter的原因是在DHCP设置好计算机的TCP/IP之前,由于计算机本身没有定义IP地 址,而TCP/IP堆栈本身不会接收不具备本机IP地址的数据包。要接收DHCP服务器发送回客户的数据包,就需要绕 过TCP/IP堆栈,而必须使用伪设备bpfilter。
1. pseudo-device bpfilter 4
定制内核之后,还要保证/dev/目录下具有对应bpfilter的设备文件。
1. # cd /dev
2. # sh MAKEDEV bpf0 bpf1 bpf2 bpf3
从Packages Collecion中安装DHCP软件,这将DHCP软件中的dhcpd,dhclient和dhcprelay 安装到/usr/local/sbin目录下。
1. $ ls /usr/local/sbin/dhc*
2. /usr/local/sbin/dhclient
3. /usr/local/sbin/dhcpd
4. /usr/local/sbin/dhcrelay
设置服务器
为了设置DHCP服务器dhcpd,首先就要设置其配置文件/etc/dhcpd.conf。这个配置文件 语法简单,比较容易理解。
1. server-identifier 192.168.3.1;
2.
3. subnet 192.168.3.0 netmask 255.255.255.0 {
4. range 192.168.3.10 192.168.3.20;
5. default-lease-time 600;
6. max-lease-time 7200;
7. option subnet-mask 255.255.255.0;
8. option broadcast-address 192.168.3.255;
9. option routers 192.168.3.1;
10. option domain-name-servers 192.168.3.1;
11. option domain-name "exampleorg.org.cn";
12. }
13.
14. host a1 {
15. hardware ethernet 00:90:27:4e:92:09;
16. fixed-address 192.168.3.32;
17. option subnet-mask 255.255.255.0;
18. option broadcast-address 192.168.3.255;
19. option routers 192.168.3.1;
20. option domain-name-servers 192.168.3.1;
21. option domain-name "exampleorg.org.cn";
22. }
基本的dhcpd.conf首先使用server-identifier定义了本服务器的IP地址,这对于有 多个IP地址的服务器系统十分重要,一般不必设置这个参数,dhcpd能自动侦测。然后定义要分配IP地址的客户机组 ,每组拥有一个可用的IP地址范围。有两种客户机组的划分方式,一种为指定子网段来区分,一种为指定主机来区分。
这个例子中的第一组定义了一个子网192.168.3.0/24,这个子网段内,可供DHCP服务器分配的I P地址范围为192.168.3.10到192.168.3.20,这个地址范围也可以不是连续的,不连续的地址可以 使用多个range设置参数来设置。此外,还设置了这一组内分配的IP地址的租期限制default-lease-time 和max-lease-time,可以使用缺省值,而不必改动。后面的option参数设置DHCP的附加功能 ,例如设置DHCP客户的网络掩码、广播地址、DNS服务器、域名等等。事实上这些option设置选项也可以被用作 全局选项设置,即放置在server-identifier之后,对所有的客户机组起作用。
例子的第二组是针对某个特定主机a1进行的设置,这个主机被限定为以太网地址为hardware ethernet 参数值的计算机,将给这个计算机分配一个固定地址。这种分配方式实际等价于固定地址分配方式,唯一的好处就是能够对IP地址进行集中管理,不必每个计算机分别设置了。这里同样也可以使用option参数,设置TCP/IP的参数 。
dhcpd.conf中还能有更多的组,包括对非本网段的子网上的客户机指定的组。
当设置了dhcpd.conf之后,就能启动dhcpd守护进程了,由于计算机会有多个网络界面,需要指定dhcpd 服务器的网络界面,以便回应相应界面上的DHCP请求。
1. # /usr/local/sbin/dhcpd fxp0
在调试阶段,可以使用-d参数,这样dhcpd就不会进入后台运行,而一直保留在前台,并显示各个与客户计算机通信的过程。当一切都调试完毕之后,就能去除-d参数,并将执行命令放入rc.local启动脚本中,以便系统能够自动执行。
此后,dhcpd正常运行的时候,会将每一次客户请求及其回应的IP地址分配的记录,都记录在/var/run/dhcpd.leases 文件中。为了使dhcpd能正常进行日志记录,应该在启动dhcpd之前使用touch 命令,生成一个新的日志文件。以后就可以查看这个日志文件的内容,以得到当前DHCP服务器的状态和客户机IP地址分 配的情况。以下是一个日志文件的部分内容。
1. lease 192.168.3.11 {
2. starts 3 1998/11/26 05:46:28;
3. ends 4 1998/11/27 05:46:28;
4. hardware ethernet 0:80:c2:12:fd:d;
5. uid 1:0:80:c2:12:fd:d;
6. }
touch命令的优点是在存在相关的文件时,不删除或更改文件内容,只更新其访问时间设置,只有在文 件不存在时才生成新文件。
然后就能设置网络中的客户计算机使用DHCP协议,获取合法的IP地址了。通常Windows计算机的TCP/IP设置 中能直接设置支持DHCP协议,如果为Unix(包括FreeBSD)设置DHCP客户软件,就需要dhclient的支持。
设置客户软件
ISC-DHCP中同样也提供了一个客户程序dhclient,用于FreeBSD系统从DHCP服务器上动态获取一个IP地 址。这个程序同样也要求内核支持bpfilter伪设备。
dhclient使用的配置文件为/etc/dhclient.conf,然而最一般的情况下可以不使用它,软件本身的缺省配置就满足一般情况下请求IP地址的需要了。缺省设置下dhclient在获得了IP地址之后,会自动执行/etc/dhclient-script 这个脚本程序,以针对刚获取的动态IP地址进行必要的设置。很多依赖于IP地址的网络服务,就可以在这个脚 本中启动,或者针对重新分配的动态IP地址对已有的网络服务进行修正。虽然使用者也许不希望使用这个脚本 设置网络,但如果不存在这个脚本程序,或者这个程序不可执行,那么dhclient就不能正常执行。
因此对于最一般的客户机,一般只连接到一个网络上,仅具备一个网络界面,可以使用一个空的dhclient.conf 和空的declient-script文件,就能完成设置IP地址和其他TCP/IP参数的任务了。
1. # touch /etc/dhclient.conf
2. # touch /etc/dhclient-script
3. # chmod +x /etc/dhclient-script
4. # /usr/local/sbin/dhclient fxp0
5.
6. Listening on BPF/fxp0/00:90:27:4e:92:09/unattached
7. Sending on BPF/fxp0/00:90:27:4e:92:09/unattached
8. Sending on Socket/fallback/fallback-net
9. DHCPDISCOVER on fxp0 to 255.255.255.255 port 67 interval 22
10. DHCPOFFER from 192.168.3.1
11. DHCPREQUEST on fxp0 to 255.255.255.255 port 67
12. DHCPACK from 192.168.3.1
13. bound to 192.168.3.32 -- renewal in 3600 seconds.
在更复杂的情况下,就要指定更多的内容,例如当系统有多个网卡时,要指定dhclient应该从哪个子网中获 得IP地址设置,就需要使用设置文件dhclient.conf。一般除非有多个局域网网络界面,都应该使用空设置文件, 避免产生配置错误。以下为一个简单的dhclient.conf的例子,可以用于多网络界面的情况:
1. # Defaults
2. timeout 60;
3. reboot 10;
4. retry 60;
5. select-timeout 5;
6. initial-interval 2;
7. script "/etc/dhclient-script";
8. interface "fxp0" {
9. request subnet-mask, broadcast-address, routers, domain-name-servers,
10. domain-name, host-name;
11. require domain-name-servers;
12. }
这个设置文件主要用于重新定义一些参数,比较容易理解,更改也比较容易。
成功的手工执行dhclient之后,就可以考虑将其和系统启动文件相结合了。因为很多网络服务是依赖于网络 配置的,应该在启动这些网络服务之前使用DHCP配置好TCP/IP。使用dhclient-script启动服务的想法虽然也能解决问题,然而这就不能使用系统的启动rc文件中的相关设置启动网络服务,而在这个dhclient-script 中重新启动,因此比较麻烦。更简便的做法是仅仅在dhclient-script中设置hostname, 而让系统启动文件完成其他网络服务的启动。这样就要求将dhclient与系统rc文件结合起来。
1. #hostname="my.domain.name"
2. network_interfaces="fxp0 lo0"
3. # List of network interfaces (lo0 is loopback).
4. ifconfig_lo0="inet 127.0.0.1"
5. # default loopback device configuration.
6. #ifconfig_fxp0="inet 192.168.3.12 netmask 255.255.255.0"
7. defaultrouter="NO"
8. # Set to default gateway (or NO).
这样就需要更改rc.conf文件,更改一些设置语句。首先要注释hostname设置,而在dhclient.script中进行设置,也不必设置defaultrouter,它通过DHCP协议自动设置。同时要保证netwo
D. 路由器为啥有广播地址跟网络地址
1、为什么会出现IPV6呢?
随着互联网的发展,IPV4地址逐渐耗尽,并且IPV4在使用过程中也存在一些问题,IPv6的出现,解决了IPv4的一些弊端。
2、IPV6和IPV4有什么区别呢?
地址空间
IPv4地址采用32比特标识,理论上能够提供的地址数量是43亿(由于地址分配的原因,实际可使用的数量不到43亿),目前已经消耗殆尽。无类别域间路由CIDR(Classless Inter-Domain Routing)和网络地址转换NAT(Network Address Translator)也在IPV4网络中用来解决地址短缺。但是CIDR和NAT都有各自的弊端和不能解决的问题,由此推动了IPv6的发展。
IPv6地址采用128比特标识。128位的地址结构使IPv6理论上可以拥有(43亿×43亿×43亿×43亿)个地址。近乎无限的地址空间是IPv6的最大优势。
报文格式
IPv4报头包含可选字段Options,可以将IPv4报头长度从20字节扩充到60字节。携带这些Options的IPv4报文在转发过程中往往需要中间路由转发设备进行软件处理,对于性能是个很大的消耗,因此实际中也很少使用。
IPv6和IPv4相比,去除了IHL、Identifier、Flag、Fragment Offset、Header Checksum、Option、Padding域,只增加了流标签域,因此IPv6报文头的处理较IPv4更为简化,提高了处理效率。另外,IPv6为了更好支持各种选项处理,提出了扩展头的概念,新增选项时不必修改现有结构,理论上可以无限扩展,体现了优异的灵活性。
3、IPV6地址表示方法
IPV6地址和IPV4地址有什么区别呢?上面提到了IPV4地址长度是32位,而IPV6的地址长度是128位。
那么这么长的地址如何表示呢?我们知道IPV4地址是采用点分十进制表示(例如:192.168.1.1),IPV6地址表示方法:冒号16进制,而且为了更加方便,可以对地址进行压缩。
下面就一起看下IPV6地址的表示方式吧!
IPv6地址总长度为128比特,通常分为8组,每组为4个十六进制数的形式,每组十六进制数间用冒号分隔。
先来看个标准格式的:FC11:0000:1300:0000:0000:09C0:876A:130B;
来个压缩格式的:FC11:0:1300:0:0:9C0:876A:130B(规则:每组中的前导“0”都可以省略);
再来个终极压缩格式的:FC11:0:1300::9C0:876A:130B(规则:地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替);
具体压缩规则为:
每组中的前导“0”都可以省略;
地址中包含的连续两个或多个均为0的组,可以用双冒号“::”来代替;
在一个IPv6地址中只能使用一次双冒号“::”,否则当计算机将压缩后的地址恢复成128位时,无法确定每个“::”代表0的个数。
4、IPV6地址结构
下面我们一起看下IPV6的地址结构,我们知道IPV4地址有网络位和主机位构成;
一个IPv6地址可以分为如下两部分:
网络前缀:n比特,相当于IPv4地址中的网络ID;
接口标识:128-n比特,相当于IPv4地址中的主机ID。
在这里接口标识可通过三种方法生成:
手工配置;
系统通过软件自动生成;
IEEE EUI-64规范生成;(最常用)
在使用IEEE EUI-64规范生成接口标识时,64位接口标识符(Interface ID)用来标识链路上的唯一接口。这个地址是从接口的链路层地址(如MAC地址)变化而来的。
那么如何通过MAC地址生成IPV6地址的接口标识的呢?
IPv6地址中的接口标识符是64位,而MAC地址是48位,因此需要在MAC地址的中间位置插入十六进制数FFFE。然后将U/L位(从高位开始的第7位)设置为“1”,这样就得到了EUI-64格式的接口ID。
例如:MAC地址:000E-0C82-C4D4;转换后:020E:0CFF:FE82:C4D4。
IEEE EUI-64规范生成接口标识的优点:
可以减少配置的工作量,尤其是当采用无状态地址自动配置时,只需要获取一个IPv6前缀就可以与接口标识形成IPv6地址。
缺点:
任何人都可以通过二层MAC地址推算出三层IPv6地址。
5、IPV6的地址分类:
我们知道IPV4地址可以分为单播地址、组播地址、广播地址。
那么IPV6呢?IPv6地址分为单播地址、任播地址(Anycast Address)、组播地址三种类型。
和IPv4相比,取消了广播地址类型,以更丰富的组播地址代替,同时增加了任播地址类型。
IPv6单播地址
IPv6单播地址标识了一个接口,由于每个接口属于一个节点,因此每个节点的任何接口上的单播地址都可以标识这个节点。发往单播地址的报文,由此地址标识的接口接收。
IPv6定义了多种单播地址,目前常用的单播地址有:未指定地址、环回地址、全球单播地址、链路本地地址、唯一本地地址ULA(Unique Local Address)。
未指定地址
IPv6中的未指定地址即0:0:0:0:0:0:0:0/128或者::/128。该地址可以表示某个接口或者节点还没有IP地址,可以作为某些报文的源IP地址(例如在NS报文的重复地址检测中会出现)。源IP地址是::的报文不会被路由设备转发。
环回地址
IPv6中的环回地址即0:0:0:0:0:0:0:1/128或者::1/128。环回与IPv4中的127.0.0.1作用相同,主要用于设备给自己发送报文。该地址通常用来作为一个虚接口的地址(如Loopback接口)。实际发送的数据包中不能使用环回地址作为源IP地址或者目的IP地址。
全球单播地址
全球单播地址是带有全球单播前缀的IPv6地址,其作用类似于IPv4中的公网地址。这种类型的地址允许路由前缀的聚合,从而限制了全球路由表项的数量。
全球单播地址由全球路由前缀(Global routing prefix)、子网ID(Subnet ID)和接口标识(Interface ID)组成。
Global routing prefix:全球路由前缀。由提供商(Provider)指定给一个组织机构,通常全球路由前缀至少为48位。目前已经分配的全球路由前缀的前3bit均为001。
Subnet ID:子网ID。组织机构可以用子网ID来构建本地网络(Site)。子网ID通常最多分配到第64位。子网ID和IPv4中的子网号作用相似。
Interface ID:接口标识。用来标识一个设备(Host)。
链路本地地址
链路本地地址是IPv6中的应用范围受限制的地址类型,只能在连接到同一本地链路的节点之间使用。它使用了特定的本地链路前缀FE80::/10(最高10位值为1111111010),同时将接口标识添加在后面作为地址的低64比特。
当一个节点启动IPv6协议栈时,启动时节点的每个接口会自动配置一个链路本地地址(其固定的前缀+EUI-64规则形成的接口标识)。这种机制使得两个连接到同一链路的IPv6节点不需要做任何配置就可以通信。所以链路本地地址广泛应用于邻居发现,无状态地址配置等应用。
以链路本地地址为源地址或目的地址的IPv6报文不会被路由设备转发到其他链路。
唯一本地地址
唯一本地地址是另一种应用范围受限的地址,它仅能在一个站点内使用。由于本地站点地址的废除,唯一本地地址被用来代替本地站点地址。
唯一本地地址的作用类似于IPv4中的私网地址,任何没有申请到提供商分配的全球单播地址的组织机构都可以使用唯一本地地址。唯一本地地址只能在本地网络内部被路由转发而不会在全球网络中被路由转发。
唯一本地地址由如下几部分组成:
Prefix:前缀;固定为FC00::/7。
L:L标志位;值为1代表该地址为在本地网络范围内使用的地址;值为0被保留,用于以后扩展。
Global ID:全球唯一前缀;通过伪随机方式产生。
Subnet ID:子网ID;划分子网使用。
Interface ID:接口标识。
唯一本地地址具有如下特点:
具有全球唯一的前缀(虽然随机方式产生,但是冲突概率很低)。
可以进行网络之间的私有连接,而不必担心地址冲突等问题。
具有知名前缀(FC00::/7),方便边缘设备进行路由过滤。
如果出现路由泄漏,该地址不会和其他地址冲突,不会造成Internet路由冲突。
应用中,上层应用程序将这些地址看作全球单播地址对待。
独立于互联网服务提供商ISP(Internet Service Provider)。
IPv6组播地址
IPv6的组播与IPv4相同,用来标识一组接口,一般这些接口属于不同的节点。一个节点可能属于0到多个组播组。发往组播地址的报文被组播地址标识的所有接口接收。
例如组播地址FF02::1表示链路本地范围的所有节点,组播地址FF02::2表示链路本地范围的所有路由器。
一个IPv6组播地址由前缀,标志(Flag)字段、范围(Scope)字段以及组播组ID(Global ID)4个部分组成:
前缀:IPv6组播地址的前缀是FF00::/8。
标志字段(Flag):长度4bit,目前只使用了最后一个比特(前三位必须置0),当该位值为0时,表示当前的组播地址是由IANA所分配的一个永久分配地址;当该值为1时,表示当前的组播地址是一个临时组播地址(非永久分配地址)。
范围字段(Scope):长度4bit,用来限制组播数据流在网络中发送的范围,该字段取值和含义的对应关系如图5所示。
组播组ID(Group ID):长度112bit,用以标识组播组。目前,RFC并没有将所有的112位都定义成组标识,而是建议仅使用该112位的最低32位作为组播组ID,将剩余的80位都置0。这样每个组播组ID都映射到一个唯一的以太网组播MAC地址。
被请求节点组播地址:
被请求节点组播地址通过节点的单播或任播地址生成。当一个节点具有了单播或任播地址,就会对应生成一个被请求节点组播地址,并且加入这个组播组。一个单播地址或任播地址对应一个被请求节点组播地址。该地址主要用于邻居发现机制和地址重复检测功能。
IPv6中没有广播地址,也不使用ARP。但是仍然需要从IP地址解析到MAC地址的功能。在IPv6中,这个功能通过邻居请求NS(Neighbor Solicitation)报文完成。当一个节点需要解析某个IPv6地址对应的MAC地址时,会发送NS报文,该报文的目的IP就是需要解析的IPv6地址对应的被请求节点组播地址;只有具有该组播地址的节点会检查处理。
被请求节点组播地址由前缀FF02::1:FF00:0/104和单播地址的最后24位组成。
IPv6任播地址
任播地址标识一组网络接口(通常属于不同的节点)。目标地址是任播地址的数据包将发送给其中路由意义上最近的一个网络接口。
应用场景:当移动主机需要与它的“home”子网上的移动代理之一通信时,它将用该子网路由设备的任播地址。
E. linux服务器配置中多网卡的IP地址配置
如果系统拥有多个以太网卡,则可以使用ifconfig命令为每一块网卡指定个lP地址。
ifconfig命令可使Linux系统配置以太网卡的网络接口,这样可方便其它应用程序使用。ifconfig命令也可用来监控和改变网络接口的状态。ifconfig命令的调用格式如下:
ifconfig
interface
[aftype]
[0pti0ns]addrcss
其中interface表示网络接口名:aftype
用来表明地址集,它们被用来解码和显示所有协议的地址,目前已支持的协议有inet
(TCP/IP)、ddp
(Appletalk)、ipx(N0vell)以及AX.
25和netr0m,默认值是inet;0pti0ns选项用来标志一些诸如掩码地址、广播地址之类的选项;address表示分配给制定接口的土机名或lP地址。
假设系统装有两块网卡,系统分别定义为eth0和eth1,使州如下命令为它们指定IP
#
ifconfig
eth0
202
117.
85.
10
#
ifconflg
eihl
202.
117.
85.
11
只有root用户才有权限执行这两条命令,普通用户没有权限对网络接口进行配置。在设置完成后,可以使用不带参数的ifconfig命令来查询各个各个以太网卡的信息:#
ifconfig
eth0
Link
encap:Ethernet
HWaddr
00;20:AF:48:F9:C8
inet
addr:
202
117.
85.
10
Bcast:
202.117.
8i.
255
Mask:255.255.255.0
UP
BR0ADCAST
RUNNING
MULTICAST
MTU:1500
Metric:l
RX
packets:lll
err0rs:0
copped:0
0verruns:0
frame:0
TX
packets:0
err0rs:0
copped:0
0verruns:0
camer:0
collisi0ns:0
txqueuelen:100
Interrupt:3
Base
addfess:0x300
Mem0ry:cco00-ce000
eth1
Link
encap:Ethemet
HWaddr
00:20:AF:48:F9:C8
inet
addr:
202.
117.
85.11
Bcast:
202.
117.
85.
255
Mask:255
255.255.0
UP
BR0ADCAST
RUNNING
MULflCAST
MTU:1574
Meuic:l
RX
packcLs:109
err0rs:0
copped:0
0venuns:0
framr.0
TX
packets:0
err0rs:0
copped:0
0verTuns:0
carrier:0
collisions:0
txqueuelen:112
Interrupt:9
Base
address:0x325
Memory:c3000-c5000
lo
Link
encap:L0cal
L00pback
ineL
addr:127.0.0.1
Mask:?5
5.0.0.0
UP
LOOPBACK
RUNNING
MTU:3924
Metric:l
RX
packets:29
err0rs:0
dropped:0
0verruns:0
ffame:0
TX
packets:29
err0rs:0
dropped:0
0vcrruns:0
carrier:0
collisi0ns:0
txqueuelen:0
由此可以看出系统成功地设置了两块以太网卡
eth0和eth1.在下述执行结果中网卡lo是loopback的缩写,它是Linux系统为了测试本身某些网络功能而设置的一块虚拟同卡。
推荐阅读:虚拟主机的优点
F. DHCP服务器如何配置
DHCP服务在linux下算是最简单的服务了。
DHCP服务的配置。
DHCP简介:
DHCP动态主机配置协议,在一个小型局域网里可以通过手工指定ip地址的方式,但如有大量的主机,如果还是手工指定,那是一个很大的工作量,而且也容易出错,这时,就可以通过配置一台DHCP服务器来解决,为每台主机分配一个ip地址。DHCP作用域是指DHCP服务器可分配给DHCP客户端的IP地址范围,一个DHCP服务器至少要一个作用域,如有多个作用域,作用域之间的IP地址不能重叠。
DHCP的工作原理:
DHCP工作过程分为四个步骤:
第一步(DHCPDISCOVER):客户端发送广播查找可以给自己提供IP地址的DHCP服务器,
第二步(DHCPOFFER):DHCP服务器发送广播提供一个可用的IP地址,并在地址池中将该地址打上标记,以防再次分配。
第三步(DHCPREQUEST):客户端收到广播后再次发送一个广播请求该地址,如果有多台DHCP响应,则第一个收到的优先。
第四步(DHCPACK):DHCP服务器收到广播后再发送一个广播,确认该地址分配给这台主机使用,并在地址池中将该地址打上标记,以防再次分配。
DHCP的基本配置:
第一步:安装软件:
[root@localhost ~]# rpm -ivh /misc/cd/Server/dhcp-3.0.5-18.el5.i386.rpm
第二步:编辑配置文件:
[root@localhost ~]# vi /etc/dhcpd.conf
# see /usr/share/doc/dhcp*/dhcpd.conf.sample
当进入到配置文件里面时,这里是空的,有如上一行的提示,说可以参考这个文件来编写配置文件,那就复制一份再编辑。
[root@localhost ~]# cp -rvf /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
[root@localhost ~]# vi /etc/dhcpd.conf
ddns-update-style interim; //配置DHCP和DNS为互动更新模式,
ignore client-updates; //忽略客户端的更新。
subnet 192.168.100.0 netmask 255.255.255.0 { //定义作用域
option routers 192.168.100.1; //默认路由
option subnet-mask 255.255.255.0; //子网掩码
option nis-domain "rhel.com"; //NIS域名
option domain-name "rhel.com"; //DNS域名
option domain-name-servers 192.168.100.10; //DNS服务器地址
option time-offset -18000; # Eastern Standard Time //为客户端设置与格林威治的时间偏移
option ntp-servers 192.168.1.1; //网络时间服务器地址
option netbios-name-servers 192.168.1.1; //指定WINS服务器地址
range dynamic-bootp 192.168.100.128 192.168.100.254; //动态分配的地址范围
default-lease-time 21600; //默认租约时间
max-lease-time 43200; //最大租约时间
host abc { //指定特定主机
hardware ethernet 00:0C:29:FD:44:C8; //硬件地址
fixed-address 192.168.100.30; //IP地址
}
}
如有多个要绑定的主机时可以把所有主机信息用group{ }包括起来,这样更方便管理。格式如下 :
group {
……这里不可以添加一些佤全局选项,这样就不用在每个里面写了。
host abc {
……
……
}
host xyz {
……
……
}
}
[root@localhost ~]# service dhcpd restart
测试:
在linux下:
首先让地址从DHCP获取:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=dhcp
[root@localhost ~]# service network restart //重启一下网络服务,这里不能使用ifdown和ifup,因为要配置路由信息。
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:44:C8
inet addr:192.168.100.30 Bcast:192.168.100.255 Mask:255.255.255.0
这就是绑定的IP地址。
[root@localhost ~]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
search rhel.com
nameserver 192.168.100.10
这里的DNS服务器地址也获取到了。
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.100.1 0.0.0.0 UG 0 0 0 eth0
默认路由也获取到了。查看一下端口:
[root@localhost ~]# netstat -tlunp | grep 68
udp 0 0 0.0.0.0:68 0.0.0.0 16150/dhclient
查看客户端的租约文件:
lease {
interface "eth0";
fixed-address 192.168.100.30; //固定地址
option subnet-mask 255.255.255.0; //子网掩码
option time-offset -18000; //时间偏移
option routers 192.168.100.1; //默认路由
option dhcp-lease-time 21600; //租约时间
option dhcp-message-type 5;
option domain-name-servers 192.168.100.10;
option dhcp-server-identifier 192.168.100.20;
option nis-domain "rhel.com";
option domain-name "rhel.com";
renew 5 2010/4/9 09:01:40;
rebind 5 2010/4/9 11:34:53;
expire 5 2010/4/9 12:19:53;
}
windows下:
把IP地址设成自动获取。
C:\Documents and Settings\Administrator>ipconfig /all
Connection-specific DNS Suffix . : rhel.com
Physical Address. . . . . . . . . : 00-0C-29-D3-C6-B3
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 192.168.100.253
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.100.1
DHCP Server . . . . . . . . . . . : 192.168.100.20
DNS Servers . . . . . . . . . . . : 192.168.100.10
Lease Obtained. . . . . . . . . . : 2010年4月9日 14:44:12
Lease Expires . . . . . . . . . . : 2010年4月9日 20:44:12
基本配置完成。
G. ensp中,服务器ip设置的是网段的广播地址,为啥主机A还能ping通服务器B
路由器的2个端口是不允许配置成同一网段,模拟器不支持3层口转2层口,所以说你这个图压根就不可能成功,通就是天方夜谭了。数通技术重在理论知识的理解,而不是怎么去配,图画成这样你这已经不是理不理解的问题了,你这还没入门。
H. 求172.16.10.255/16的网络编号和广播地址
终端在安装前需要进行配置,在配置前,必须做一个总体的安装规划:包括终端名称、终端IP地址、网关IP地址、服务器IP地址、终端安装的物理位置,并且把这些信息做成标签贴在终端上,保证安装的顺利实施。请将该规划方案做成电子文档保存,以便日后维护查阅。系统规划完成后,就可以配置每个终端的参数,具体包括“终端IP地址、子网掩码、网关、服务器地址”四部分……
因为方法比较长而且多图片,建议网络搜索:西派电子,或者http://www.ceopa.com进入这个网站里面有很多关于公共广播方面的方案、案例供你参考!
主页→资料下载→IP网络广播终端地址写入步骤