胖胖通信知识系列之ipv4详细讲解.docx
- 文档编号:12154298
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:31
- 大小:116.88KB
胖胖通信知识系列之ipv4详细讲解.docx
《胖胖通信知识系列之ipv4详细讲解.docx》由会员分享,可在线阅读,更多相关《胖胖通信知识系列之ipv4详细讲解.docx(31页珍藏版)》请在冰豆网上搜索。
胖胖通信知识系列之ipv4详细讲解
第10章TCP/IP和IPv4详解(参考)
本章提供有关网络配置文件的TCP/IP网络参考信息,包括文件项的类型、用途和格式,同时还详细介绍了现有的网络数据库。
本章还介绍如何基于已定义的网络分类和子网号衍生得到IPv4地址结构。
本章包含以下信息:
TCP/IP配置文件
网络数据库和nsswitch.conf文件
SolarisOS中的路由协议
网络类
TCP/IP和IPv4中的新增功能详解
在Solaris108/07中,/etc/inet/ipnodes文件已过时。
只能对早期Solaris10发行版使用/etc/inet/ipnodes,如以下各个过程中所述。
TCP/IP配置文件
网络中的每个系统都可以从以下TCP/IP配置文件和网络数据库中获取其TCP/IP配置信息:
/etc/hostname.interface文件
/etc/nodename文件
/etc/defaultdomain文件
/etc/defaultrouter文件(可选)
hosts数据库
ipnodes数据库(在Solaris1011/06及早期发行版中)
netmasks数据库(可选)
Solaris安装程序在安装过程中创建上述文件。
也可以按照本节中的说明手动编辑这些文件。
hosts和netmasks数据库是两个网络数据库,可供Solaris网络上可用的名称服务读取。
网络数据库和nsswitch.conf文件详细介绍了网络数据库的概念。
对于Solaris1011/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-addresshostname[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文件
127.0.0.1localhostloghost#loopbackaddress
192.168.200.3tenere#hostname
回送地址
在示例 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文件
127.0.0.1localhostloghost
192.168.200.70timbuktu#Thisisthelocalhostname
192.168.201.10timbuktu-201#Interfacetonetwork192.9.201
通过这两个接口,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数据库
注–
在Solaris1011/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文件
必须按主机名对主机名地址进行分组,如以下示例所示。
#
#InternetIPv6hosttable
#withbothIPv4andIPv6addresses
#
:
:
1localhost
2001:
db8:
3b4c:
114:
a00:
20ff:
fe78:
f37cfarsite.farsitefarsite-v6
fe80:
:
a00:
20ff:
fe78:
f37cfarsite-11.farsitell
192.168.85.87farsite.farsitefarsite-v4
2001:
db8:
86c0:
32:
a00:
20ff:
fe87:
9abanearsite.nearsitenearsite-v6
fe80:
:
a00:
20ff:
fe87:
9abanearsite-11.nearsitell
10.0.0.177nearsite.nearsitenearsite-v4loghost
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–4B类网络的/etc/inet/netmasks文件。
#ThenetmasksfileassociatesInternetProtocol(IPv4)address
#maskswithIPv4networknumbers.
#
#network-numbernetmask
#
#Boththenetwork-numberandthenetmasksarespecifiedin
#“decimaldot”notation,e.g:
#
#128.32.0.0255.255.255.0
192.168.0.0255.255.255.0
如果/etc/netmasks文件不存在,请使用文本编辑器创建此文件。
使用以下语法:
network-numbernetmask-number
有关完整的详细信息,请参阅netmasks(4)手册页。
创建网络掩码号时,在/etc/inet/netmasks中键入由ISP或Internet注册机构指定的网络号(不是子网号)和网络掩码号。
每个子网掩码应单占一行。
例如:
128.78.0.0255.255.248.0
您还可以在/etc/inet/hosts文件中键入网络号的符号名称。
然后,可以使用这些网络名称代替网络号作为命令参数。
inetdInternet服务守护进程
inetd守护进程在系统引导时将启动Internet标准服务,并可以在系统运行时重新启动服务。
使用服务管理工具(ServiceManagementFacility,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请求的服务的信息,请参阅inetdInternet服务守护进程。
网络数据库和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映射。
注–
在Solaris1011/06之后的Solaris发行版中,将删除ipnodes数据库。
表 10–1网络数据库和对应的名称服务文件
网络数据库
本地文件
NIS映射
hosts
/etc/inet/hosts
hosts.byaddrhosts.byname
ipnodes
/etc/inet/ipnodes
ipnodes.byaddripnodes.byname
netmasks
/etc/inet/netmasks
netmasks.byaddr
ethers
/etc/ethers
ethers.bynameethers.byaddr
bootparams
/etc/bootparams
bootparams
protocols
/etc/inet/protocols
protocols.bynameprotocols.bynumber
services
/etc/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 胖胖 通信 知识 系列 ipv4 详细 讲解