胖胖通信知识系列之ipv4详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

胖胖通信知识系列之ipv4详解
本章提供有关网络配置文件的TCP/IP 网络参考信息,包括文件项的类型、用途和格式,同时还详细介绍了现有的网络数据库。

本章还介绍如何基于已定义的网络分类和子网号衍生得到IPv4 地址结构。

本章包含以下信息:
TCP/IP 配置文件
网络数据库和nsswitch.conf 文件
Solaris OS 中的路由协议
网络类
TCP/IP 和IPv4 中的新增功能详解
在Solaris 10 8/07 中,/etc/inet/ipnodes 文件已过时。

只能对早期Solaris 10 发行版使用/etc/inet/ipnodes,如以下各个过程中所述。

TCP/IP 配置文件
网络中的每个系统都能够从以下TCP/IP 配置文件和网络数据库中猎取其TCP/IP 配置信息:
/etc/hostname.interface 文件
/etc/nodename 文件
/etc/defaultdomain 文件
/etc/defaultrouter 文件〔可选〕
hosts 数据库
ipnodes 数据库〔在Solaris 10 11/06 及早期发行版中〕
netmasks 数据库〔可选〕
Solaris 安装程序在安装过程中创建上述文件。

也能够按照本节中的说明手动编辑这些文件。

hosts 和netmasks 数据库是两个网络数据库,可供Solaris 网络上可用的名称服务读取。

网络数据库和nsswitch.conf 文件详细介绍了网络数据库的概念。

关于Solaris 10 11/06 及早期发行版,有关ipnodes 文件的信息,请参见ipnodes 数据库。

/etc/hostname.interface 文件
此文件定义了本地主机上的物理网络接口。

本地系统上至少应该有一个/etc/hostname.interface 文件。

Solaris 安装程序为安装过程中找到的第一个接口创建/etc/hostname.interface 文件。

此接口通常具有最低的设备编号〔例如eri0〕,并称为主网络接口。

假如安装程序找到其他接口,您也能够在安装过程中对这些接口进行配置〔可选〕。

假如在安装之后为系统添加新的网络接口,那么必须为此接口创建/etc/hostname.interface 文件,如如何在安装系统后配置物理接口中所述。

另外,为使Solaris 软件识别并使用新的网络接口,需要将此接口的设备驱动程序加载到相应的名目中。

有关相应的interface 名称和设备驱动程序的说明,请参阅新网络接口附带的文档。

差不多的/etc/hostname.interface 文件包含一项内容:与此网络接口关联的主机名或IPv4 地址。

IPv4 地址可用传统的点分十进制格式或CIDR 表示法表示。

假如在/etc/hostname.interface 文件中使用主机名,那么/etc/inet/hosts 文件也必须包含此主机名。

例如,假定smc0 是称为tenere 的系统的主网络接口。

/etc/hostname.smc0 文件所包含的项能够是以点分十进制或CIDR 表示法表示的IPv4 地址,也能够是主机名tenere。

注–
IPv6 使用/etc/hostname6.interface 文件定义网络接口。

有关更多信息,请参阅IPv6 接口配
置文件。

/etc/nodename 文件
此文件应该包含一项内容,即本地系统的主机名。

例如,在timbuktu 系统上,/etc/nodename 文件将会包含timbuktu 项。

/etc/defaultdomain 文件
此文件应该包含一项内容,即本地主机网络所属的治理域的全限定域名。

能够将此名称提供给Solaris 安装程序或在以后编辑此文件。

有关网络域的更多信息,请参阅«系统治理指南:名称和名目服务〔DNS、NIS 和LDAP〕»。

/etc/defaultrouter 文件
关于每个直截了当连接到网络的路由器,此文件能够包含一个对应项。

该项应该是作为网络间路由器的网络接口的名称。

/etc/defaultrouter 文件的存在说明系统是支持静态路由的。

hosts 数据库
hosts 数据库包含网络中各系统的IPv4 地址和主机名。

假如使用NIS 或DNS 名称服务,或者使用LDAP 名目服务,那么hosts 数据库在专门储备主机信息的数据库中进行爱护。

例如,在运行NIS 的网络中,hosts 数据库在hostsbyname 文件中进行爱护。

假如使用本地文件提供名称服务,那么hosts 数据库将在/etc/inet/hosts 文件中进行爱护。

此文件包含主网络接口的主机名和IPv4 地址、连接到系统的其他网络接口的主机名和IPv4 地址以及系统必须检查的其他网络地址。

注–
为了与基于BSD 的操作系统兼容,/etc/hosts 文件是指向/etc/inet/hosts 的符号链接。

/etc/inet/hosts 文件格式
/etc/inet/hosts 文件使用以下差不多语法。

有关完整的语法信息,请参阅hosts(4) 手册页。

IPv4-address hostname [nicknames] [#comment]
IPv4-address
包含本地主机必须识别的每个接口的IPv4 地址。

hostname
包含设置期间指定给系统的主机名,以及指定给本地主机必须识别的其他网络接口的主机名。

[nickname]
包含主机别名的可选字段。

[#comment]
可选的注释字段。

初始/etc/inet/hosts 文件
在系统上运行Solaris 安装程序时,该程序将配置初始/etc/inet/hosts 文件。

此文件包含本地主机所需的最少数目的项。

其中包括回送地址、主机IPv4 地址以及主机名。

例如,Solaris 安装程序可能为图 5–1 中所示的tenere 系统创建以下/etc/inet/hosts 文件:
例如 10–1 系统tenere 的/etc/inet/hosts 文件
回送地址
在例如 10–1 中,IPv4 地址127.0.0.1 是回送地址。

回送地址是本地系统用来承诺进程间通信的保留网络接口。

主机可使用此地址将数据包发送给自己。

ifconfig 命令使用回送地址进行配置和测试,如使用ifconfig 命令监视接口配置中所述。

TCP/IP 网络中的每个系统都必须使用IP 地址127.0.0.1 作为本地主机的IPv4 回送地址。

主机名
IPv4 地址192.168.200.1 和名称tenere 是本地系统的地址和主机名。

它们指定给系统的主网络接口。

多个网络接口
一些系统具有多个网络接口,因为它们是路由器或者多宿主主机。

每个连接到系统的网络接口都需要有自己的IP 地址以及与其关联的名称。

在安装过程中,必须配置主网络接口。

安装时,假如特定系统具有多个接口,Solaris 安装程序会针对其他接口对您进行提示。

现在,您能够选择性地配置一个或多个其他接口,或者以后手动进行配置。

安装Solaris 后,能够通过将接口信息添加到系统的/etc/inet/hosts 文件,来为路由器或多宿主主机配置其他接口。

有关配置路由器和多宿主主机的更多信息,请参阅配置IPv4 路由器和配置多宿主主机。

例如 10–2 显示了图 5–1 中所示的系统timbuktu 的/etc/inet/hosts 文件。

例如 10–2 系统timbuktu 的/etc/inet/hosts 文件
通过这两个接口,timbuktu 作为路由器连接网络192.168.200 和192.168.201。

名称服务如何阻碍hosts 数据库
NIS 和DNS 名称服务以及LDAP 名目服务在一台或多台服务器上爱护主机名和地址。

这些服务器爱护hosts 数据库,该数据库包含服务器所在的网络中每台主机和路由器〔假如适用〕的信息。

有关这些服务的更多信息,请参阅«系统治理指南:名称和名目服务〔DNS、NIS 和LDAP〕»。

本地文件何时提供名称服务
在使用本地文件提供名称服务的网络中,以本地文件模式运行的系统将查询各自的/etc/inet/hosts 文件,以查找网络中其他系统的IPv4 地址和主机名。

因此,这些系统的/etc/inet/hosts 文件必须包含以下内容:
回送地址
本地系统〔主网络接口〕的IPv4 地址和主机名
连接到此系统的其他网络接口的IPv4 地址和主机名〔假如适用〕
本地网络中所有主机的IPv4 地址和主机名
系统必须知晓的任何路由器的IPv4 地址和主机名〔假如适用〕
您的系统想通过其主机名引用的任何系统的IPv4 地址。

图 10–1 显示了系统tenere 的/etc/inet/hosts 文件。

此系统以本地文件模式运行。

请注意,此文件包含192.9.200 网络中每个系统的IPv4 地址和主机名。

此文件还包含接口名称timbuktu-201 及其对应的IPv4 地址。

此接口将192.9.200 网络连接到192.9.201 网络。

配置为网络客户机的系统对其回送地址和IPv4 地址使用本地/etc/inet/hosts 文件。

图 10–1 以本地文件模式运行的系统的/etc/inet/hosts 文件
ipnodes 数据库
注–
在Solaris 10 11/06 之后的发行版中,不再包括ipnodes 数据库。

在这些后续发行版中,ipnodes 的IPv6 功能迁移到hosts 数据库中。

/etc/inet/ipnodes 文件既能够储备IPv4 地址,又能够储备IPv6 地址。

此外,也能够储备以传统的点分十进制或CIDR 表示法表示的IPv4 地址。

此文件作为将主机名与其IPv4 和IPv6 地址进行关联的本地数据库。

不要将主机名及其地址储备在静态文件中,例如/etc/inet/ipnodes。

然而,为了进行测试,能够按照在/etc/inet/hosts 中储备IPv4 地址的方式在文件中储备IPv6 地址。

ipnodes 文件与hosts 文件使用相同的格式约定。

有关/etc/inet/hosts 的更多信息,请参阅hosts 数据库。

有关ipnodes 文件的说明,请参见ipnodes(4) 手册页。

启用了IPv6 的应用程序使用/etc/inet/ipnodes 数据库。

只包含IPv4 地址的现有/etc/hosts 数据库保持不变,以利于现有应用程序的运行。

假如ipnodes 数据库不存在,那么启用了IPv6 的应用程序使用现有的hosts 数据库。

注–
假如需要添加地址,必须将IPv4 地址同时添加到hosts 和ipnodes 文件中,而只需将IPv6
地址添加到ipnodes 文件中。

例如 10–3 /etc/inet/ipnodes 文件
必须按主机名对主机名地址进行分组,如以下例如所示。

netmasks 数据库
仅当您在网络中设置了子网划分时,才需要在配置网络时编辑netmasks 数据库。

netmasks 数据库由网络及其关联的子网掩码的列表组成。

注–
创建子网时,每个新网络必须是单独的物理网络。

不能在单个物理网络中应用子网划分。

什么是子网划分?
在大型互联网络中,子网划分是一种最大程度地利用有限的32 位IPv4 地址空间并减小路由表大小的方法。

借助地址类,子网划分提供了一种将部分主机地址空间分配给网络地址的方法,从而使您具有更多网络。

分配给新网络地址的主机地址空间部分称为子网号。

除了更有效地利用IPv4 地址空间之外,子网划分还具有多种治理方面的优势。

随着网络数量的增长,路由过程将变得专门复杂。

例如,某个小型组织可能为每个本地网络分配了一个C 类网络号。

随着组织的进展,治理大量不同的网络号可能变得专门复杂。

一个更好的解决方法是将少量B 类网络号分配给组织中的各个要紧部门。

例如,能够为工程部分配一个B 类网络,为业务部分配一个B 类网络,等等。

然后,使用通过子网划分获得的附加网络号,将每一个B 类网络划分为多个附加网络。

这种划分方式还能够减少必须在路由器间传送的路由信息量。

为IPv4 地址创建网络掩码
在进行子网划分的过程中,需要选择一个网络范畴的网络掩码。

网络掩码确定主机地址空间中有多少位以及哪些位表示子网号,有多少位以及哪些位表示主机号。

请记住,完整的IPv4 地址由32 位组成。

其中最多可用24 位、最少可用8 位表示主机地址空间,具体取决于地址类。

网络掩码是在netmasks 数据库中指定的。

假如打算使用子网,必须在配置TCP/IP 之前确定网络掩码。

假如打算将安装操作系统作为网络配置的一部分,Solaris 安装程序将要求您提供网络的网络掩码。

32 位IP 地址由网络部分和主机部分组成,如设计IPv4 寻址方案中所述。

32 位分为4 个字节。

依照网络类的不同,将每个字节分别指定给网络号或主机号。

例如,在B 类IPv4 地址中,左边的2 个字节指定给网络号,而右边的2 个字节指定给主机号。

在B 类IPv4 地址172.16.10 中,您能够将右边的 2 个字节指定给主机。

假如要实现子网划分,您需要将指定给主机号的字节中的某些位应用到子网地址。

例如,16 位的主机地址空间可为65,534 台主机提供地址。

假如将第三个字节应用到子网地址,第四个字节应用到主机地址,那么能够为最多254 个网络提供地址,其中每个网络中最多具有254 台主机。

主机地址字节中的哪些位应用到子网地址及主机地址是由子网掩码确定的。

使用子网掩码从用作子网地址的字节中选择位。

尽管网络掩码位必须是连续的,但它们不需要与字节边界对齐。

通过使用按位逻辑AND 运算符,能够将网络掩码应用到IPv4 地址。

此操作将选出地址的网络号和子网号位置。

能够采纳二进制表示法来说明网络掩码。

能够使用运算器进行二进制到十进制的转换。

以下例如显示了网络掩码的十进制格式和二进制格式。

假如将网络掩码255.255.255.0 应用到IPv4 地址172.16.41.101,那么结果为IPv4 地址172.16.41.0。

172.16.41.101 & 255.255.255.0 = 172.16.41.0
此操作的二进制格式如下所示:
10000001.10010000.00101001.01100101〔IPv4 地址〕

11111111.11111111.11111111.00000000〔网络掩码〕进行AND 操作
现在,系统查找网络号172.16.41,而不是172.16。

假如您的网络号是172.16.41,那么此编号便是系统检查并找到的编号。

因为最多能够为IPv4 地址空间的第三个字节指定254 个值,因此通过子网划分能够为254 个网络创建地址空间,之前地址空间只可用于一个网络。

假如只需要为两个附加网络提供地址空间,那么能够使用以下子网掩码:
255.255.192.0
此网络掩码将生成以下结果:
11111111.11111111.1100000.00000000
此结果仍旧保留14 位,供主机地址使用。

因为所有0 和 1 差不多上保留的,因此必须至少为主机号保留2 位。

/etc/inet/netmasks 文件
假如您的网络运行NIS 或LDAP,那么提供这些名称服务的服务器将爱护netmasks 数据库。

关于使用本地文件提供名称服务的网络,此信息在/etc/inet/netmasks 文件中爱护。

注–
为了与基于BSD 的操作系统兼容,/etc/netmasks 文件是指向/etc/inet/netmasks 的符号链接。

以下例如显示B 类网络的/etc/inet/netmasks 文件。

例如 10–4 B 类网络的/etc/inet/netmasks 文件。

假如/etc/netmasks 文件不存在,请使用文本编辑器创建此文件。

使用以下语法:
network-number netmask-number
有关完整的详细信息,请参阅netmasks(4) 手册页。

创建网络掩码号时,在/etc/inet/netmasks 中键入由ISP 或Internet 注册机构指定的网络号〔不是子网号〕和网络掩码号。

每个子网掩码应单占一行。

例如:
您还能够在/etc/inet/hosts 文件中键入网络号的符号名称。

然后,能够使用这些网络名称代替网络号作为命令参数。

inetd Internet 服务守护进程
inetd 守护进程在系统引导时将启动Internet 标准服务,并能够在系统运行时重新启动服务。

使用服务治理工具(Service Management Facility, SMF) 能够修改标准Internet 服务或由inetd 守护进程启动其他服务。

使用以下SMF 命令能够治理由inetd 启动的服务:
svcadm
对服务的治理性操作,例如启用、禁用或重新启动。

有关详细信息,请参阅svcadm(1M) 手册页。

svcs
查询服务状态。

有关详细信息,请参阅svcs(1) 手册页。

inetadm
显示和修改服务的属性。

有关详细信息,请参阅inetadm(1M) 手册页。

inetadm 配置文件中针对特定服务的proto 字段值指示该服务所基于的传输层协议。

假如该服务只适用于IPv4,那么proto 字段必须指定为tcp、udp 或sctp。

有关使用SMF 命令的说明,请参阅«系统治理指南:差不多治理»中的〝SMF 命令行治理有用程序〞。

有关使用SMF 命令添加在SCTP 上运行的服务的任务信息,请参阅如何添加使用SCTP 协议的服务。

有关添加同时处理IPv4 和IPv6 要求的服务的信息,请参阅inetd Internet 服务守护进程。

网络数据库和nsswitch.conf 文件
网络数据库是提供配置网络所需信息的文件。

网络数据库如下所示:
hosts
netmasks
ethers 数据库
bootparams
protocols
services
networks
假如网络分为多个子网,那么在配置过程中,需要编辑hosts 数据库和netmasks 数据库。

bootparams 和ethers 这两个数据库用于将系统配置为网络客户机。

其余数据库由操作系统使用并专门少需要编辑。

尽管nsswitch.conf 文件不是网络数据库,然而您需要将此文件与相关的网络数据库一同进行配置。

nsswitch.conf 指定要用于特定系统的名称服务:本地文件、NIS、DNS 或LDAP。

名称服务如何阻碍网络数据库
网络数据库的格式取决于您为网络选择的名称服务的类型。

例如,hosts 数据库至少包含本地系统的主机名和IPv4 地址以及直截了当连接到本地系统的所有网络接口的主机名和IPv4 地址。

然而,hosts 数据库也能够包含其他IPv4 地址和主机名,具体取决于网络中的名称服务类型。

网络数据库按以下方式使用:
使用本地文件提供名称服务的网络依靠于/etc/inet 和/etc 名目中的文件。

NIS 使用称为NIS 映射的数据库。

DNS 使用带有主机信息的记录。

注–
DNS 引导文件和数据文件不直截了当对应于网络数据库。

以下图显示了这些名称服务使用hosts 数据库的方式。

图 10–2 名称服务使用hosts 数据库的方式
下表列出了网络数据库及其对应的本地文件和NIS 映射。

注–
在Solaris 10 11/06 之后的Solaris 发行版中,将删除ipnodes 数据库。

表 10–1 网络数据库和对应的名称服务文件
网络数据库本地文件NIS 映射
hosts /etc/inet/hosts hosts.byaddr hosts.byname
ipnodes /etc/inet/ipnodes ipnodes.byaddr ipnodes.byname netmasks /etc/inet/netmasks netmasks.byaddr
ethers /etc/ethers ethers.byname ethers.byaddr bootparams /etc/bootparams bootparams
protocols /etc/inet/protocols protocols.byname protocols.bynumber services /etc/inet/services services.byname
networks /etc/inet/networks networks.byaddr networks.byname
本书介绍的是使用本地文件提供名称服务的网络所查看的网络数据库。

hosts 数据库介绍了有关hosts 数据库的信息。

netmasks 数据库介绍了有关netmasks 数据库的信息。

关于Solaris 10 11/06 及早期发行版,有关ipnodes 数据库的信息,请参见ipnodes 数据库。

有关网络数据库在NIS、DNS 和LDAP 中的对应关系的信息,请参阅«系统治理指南:名称和名目服务〔DNS、NIS 和LDAP〕»。

nsswitch.conf 文件
/etc/nsswitch.conf 文件定义了网络数据库的搜索顺序。

基于在安装过程中指定的名称服务,Solaris 安装程序为本地系统创建缺省的/etc/nsswitch.conf 文件。

假如选择了"None" 选项,表示使用本地文件提供名称服务,生成的nsswitch.conf 文件与下面的例如类似。

例如 10–5 使用文件提供名称服务的网络的nsswitch.conf
nsswitch.conf(4) 手册页详细介绍了该文件。

差不多语法为:
database name-service-to-search
database 字段能够列出操作系统搜索的许多数据库类型之一。

例如,此字段能够指示阻碍用户的数据库〔例如passwd、aliases 〕或网络数据库。

关于网络数据库,参数name-service-to-search 的值能够是files、nis 或nis+。

hosts 数据库也能够将dns 作为要搜索的名称服务。

也能够列出多个名称服务,例如nis+ 和files。

在例如 10–5 中,指示的唯独搜索选项为files。

因此,除了网络数据库信息之外,本地系统还从/etc 和/etc/inet 名目中的文件猎取安全信息和自动挂载信息。

更换nsswitch.conf
/etc 名目包含由Solaris 安装程序创建的nsswitch.conf 文件。

此名目还包含以下名称服务的模板文件:
nsswitch.files
nsswitch.nis
nsswitch.nis+
假如要从一个名称服务更换到另一个名称服务,能够将相应的模板复制到nsswitch.conf,也能够有选择性地编辑nsswitch.conf 文件,将缺省名称服务更换为搜索单个数据库。

例如,在运行NIS 的网络中,可能必须更换网络客户机上的nsswitch.conf 文件。

bootparams 和ethers 数据库的搜索路径必须将files 列为第一个选项,然后是nis。

以下例如说明了正确的搜索路径。

例如 10–6 运行NIS 的网络中客户机的nsswitch.conf
有关名称服务转换器的完整详细信息,请参阅«系统治理指南:名称和名目服务〔DNS、NIS 和LDAP〕»。

bootparams 数据库
bootparams 数据库包含配置为以网络客户机模式引导的系统所使用的信息。

假如网络中具有网络客户机,那么需要编辑此数据库。

有关过程,请参见配置网络客户机。

此数据库是依照/etc/bootparams 文件中输入的信息生成的。

bootparams(4) 手册页介绍了此数据库的完整语法。

差不多语法为:
system-name file-key-server-name:pathname
关于每个网络客户机系统,该项可能包含以下信息:客户机名称、关键字列表、服务器名称以及路径名。

每项的第一个条目差不多上客户机系统的名称。

第一个条目以外的所有其他条目差不多上可选的。

以下是一个例如。

例如 10–7 bootparams 数据库
在此例如中,dump= 告知客户机主机不要查找转储文件。

bootparams 的通配符项
在大多数情形下,应在编辑bootparams 数据库时使用通配符项以支持客户机。

该项为:
* root=server:/path dump=:
星号(*) 通配符指示该项应用于bootparams 数据库中所有未专门命名的客户机。

ethers 数据库
ethers 数据库是依照在/etc/ethers 文件中输入的信息构建的。

此数据库将主机名与其介质访问操纵(Media Access Control, MAC) 地址进行关联。

仅当运行RARP 守护进程时,才需要创建ethers 数据库。

也确实是说,假如正在配置网络客户机,那么需要创建此数据库。

RARP 使用该文件将MAC 地址映射到IP 地址。

假如正在运行RARP 守护进程in.rarpd,那么需要设置ethers 文件并在运行此守护进程的所有主机上爱护此文件,以便将所做的更换应用到网络中。

MAC-address
主机的MAC 地址
hostname
主机的正式名称
#comment
要附加到文件中某项的注释
设备制造商提供MAC 地址。

假如在系统引导过程中未显示MAC 地址,请参见硬件手册中的相关关心信息。

向ethers 数据库添加项时,请确保主机名与hosts〔关于Solaris 10 11/06 及早期发行版,为ipnodes 数据库〕中的主名称而不是别名相对应,如下所示。

例如 10–8 ethers 数据库中的项
其他网络数据库
专门少需要编辑其余的网络数据库。

networks 数据库
networks 数据库将网络名称与网络号相关联,承诺某些应用程序使用和显示网络名称而不是网络号。

networks 数据库基于/etc/inet/networks 文件中的信息。

此文件包含通过路由器与您网络连接的所有网络的名称。

Solaris 安装程序配置初始networks 数据库。

然而,假如在现有网络拓扑中添加了新网络,必须更新此数据库。

network-name
网络的正式名称
network-number
由ISP 或Internet 注册机构指定的编号
nickname
用于识别网络的任何其他名称
#comment
要附加到文件中某项的注释
您必须对networks 文件进行爱护。

netstat 程序使用此数据库中的信息生成状态表。

以下是一个/etc/networks 文件样例。

例如 10–9 /etc/networks 文件
protocols 数据库
protocols 数据库列出了在系统上安装的TCP/IP 协议及其协议编号。

Solaris 安装程序自动创建此数据库。

此文件专门少需要进行治理。

protocols(4) 手册页介绍了此数据库的语法。

以下是一个/etc/inet/protocols 文件的例如。

例如 10–10 /etc/inet/protocols 文件
services 数据库
services 数据库列出了TCP 和UDP 服务的名称及其的端口号。

此数据库由调用网络服务的程序使用。

在Solaris 安装过程中自动创建services 数据库。

通常,此数据库不需要进行任何治理。

services(4) 手册页介绍了完整的语法信息。

以下是从典型的/etc/inet/services 文件中摘录的内容。

例如 10–11 /etc/inet/services 文件
Solaris OS 中的路由协议
本节介绍了Solaris 10 OS 中支持的两个路由协议:路由信息协议(Routing Information Protocol, RIP) 和ICMP 路由器搜索(Router Discovery, RDISC)。

RIP 和RDISC 差不多上标准TCP/IP 协议。

有关Solaris 10 OS 中可用的路由协议的完整列表,请参阅表 5–1 和表 5–2。

路由信息协议(Routing Information Protocol, RIP)
RIP 由系统引导时自动启动的路由选择守护进程in.routed 实现。

假如在指定了s 选项的情形下in.routed 在路由器上运行,它将使用一个可到达每个可访问网络的路由填充内核路由表,并通过所有网络接口通告〝可访问性〞。

假如在指定了q 选项的情形下in.routed 在主机上运行,它将提取路由信息,但可不能通告可访问性。

在主机上,能够使用两种方法提取路由信息:
不指定S 标志〔大写"S":〝空间节约模式〞〕。

in.routed 完全按照它在路由器上的运行方式生成完整的路由表。

指定S 标志。

in.routed 创建一个最小内核表,其中包含每个可用路由器的一个缺省路由。

ICMP 路由器搜索(Router Discovery, RDISC) 协议
主机使用RDISC 从路由器猎取路由信息。

因此,当主机运行RDISC 时,路由器也必须运行其他协议〔例如RIP〕来交换路由器信息。

RDISC 由应该运行在路由器和主机上的in.routed 实现。

在主机上,in.routed 使用RDISC 从通过RDISC 通告自身状态的路由器中搜索缺省路由。

在路由器上,in.routed 使用RDISC 将缺省路由通告给直截了当相连的网络中的主机。

请参见in.routed(1M) 手册页和gateways(4) 手册页。

网络类
注–
尽管专门多旧网络仍旧是基于网络类的,然而IANA 不再提供基于类的网络号。

本节详细介绍了IPv4 网络类。

每个类以不同的方式使用32 位IPv4 地址空间,为网络地址部分提供或多或少的位。

这些类是A 类、B 类和 C 类。

A 类网络号
A 类网络号使用IPv4 地址的前8 位作为其〝网络部分〞。

其余的24 位包含IPv4 地址的主机部分,如以下图所示。

图 10–3 A 类地址中的字节分配
为A 类网络号的第一个字节指定的值应该介于0–127 范畴内。

以IPv4 地址75.4.10.4 为例。

第一个字节中的值75 指示主机位于A 类网络中。

其余字节 4.10.4 构成了主机地址。

只有 A 类编号的第一个字节已向IANA 注册。

其余三个字节的使用完全由网络号的属主决定。

只有127 个A 类网络。

每个A 类网络都能够接纳最多16,777,214 台主机。

B 类网络号
B 类网络号将16 位用于网络号,并将16 位用于主机号。

B 类网络号的第一个字节介于128–191 的范畴内。

在编号172.16.50.56 中,前两个字节172.16 已向IANA 注册,它们构成了网络地址。

最后两个字节50.56 表示主机地址,由网络号的属主依照自己的判定指定。

以下图说明了一个B 类地址。

图 10–4 B 类地址中的字节分配
B 类通常指定给网络中具有许多主机的组织。

C 类网络号
C 类网络号将24 位用于网络号,并将8 位用于主机号。

C 类网络号适用于主机专门少的网络-最多254 台。

C 类网络号占用IPv4 地址的前三个字节。

只有第四字节由网络属主依照自己的判定指定。

以下图说明了C 类地址中的字节。

图 10–5 C 类地址中的字节分配
C 类网络号的第一个字节介于192–223 范畴内。

第二和第三个字节分别介于1–255 范畴内。

192.168.2.5 是一个典型的C 类地址。

前三个字节192.168.2 构成了网络号。

最后一个字节5 是主机号。

Previous: 9. 对网络问题进行疑难解答〔任务〕
Next: 11. IPv6 详解〔参考〕
TCP/IP协议的帧结构——半转帖(2020-04-20 19:57:37)。

相关文档
最新文档