Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192502
  • 博文数量: 73
  • 博客积分: 5000
  • 博客等级: 大校
  • 技术积分: 1160
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-23 15:53
文章分类

全部博文(73)

文章存档

2011年(1)

2009年(72)

我的朋友

分类: 系统运维

2009-04-24 13:04:04

介绍solarisInternet

主要讨论Internet层的功能。有关于存储片,IP地址,数据报和广播地址的定义,以及如何使用ifconfig来检查网络接口状态及改变网络接口参数。以下的两节继续在Internet层上的有关于路由和子网的内容。
IP
协议(Internet Protocol
IP
协议建立在系统内核中,主要提供三个服务:
l
使基本传输数据单元通过TCP/IP套传输
l
通过选择一条路径来实现路由功能,并发送数据
l
包括了一套比较具体的不可靠包发送规则。这些规则决定什么时候,而且如何处理IP产生的错误信息和丢弃包。
——
数据报(Datagrams)
数据报是通过一个TCP/IP网络发送的基本的信息单元。数据报在一个以太帧的数据区。数据报内有包含信息的数据报头,如,源地址和目的地址。头还包括使 用哪个协议来传输数据(如UDPTCP或者ICMP)和一个TTL段来决定在它终止前可以有多少个网关或主机能处理这个数据报。
——
存储片(Fragmentation
存储片是是更小的数据传输单元。因为数据必须成为以太帧的一部分,它可能会被分成更小的数据片以便于使它封装入以太帧中。
数据片大小由网络接口和硬件层的MTU来决定。
——IP
地址
IP
地址是网络主机的唯一标识。IP地址一共32位,每八位一段,分为四段,每段的值介于0255之间,如:129.150.182.31
每个IP地址标识一个网络和网络上的唯一主机。第一段决定了主机的地址类型。共分为四类:A类,B类,C类,D类。
——A
类地址,非常巨大的网络(最多可有1600万主机)
如果第一位为0,那么后七位就是网络号,而后24位则是主机号。允许有127A类地址。[1——126]
首段为127的地址是保留地址,被称做 loopback,一个 loopback是指可以允许主机给它自己发送包的地址接口,在Solaris中,loopback127.0.0.1
——B
类地址,大型网络(最多可有65000个主机)
如果最前的两位为10,那么接着的后14位就是网络号,后两段为主机地址。一共可以有16384B类网络。[128——191]
——C
类地址,中小型网络(最多可有254台主机)
如果最前的三位是110,那么接着的后21位就是网络号,最后的8位为主机地址,最多可有2,097,152C类网。[192——223]
——D
类地址,多点传送地址
如果最前的四位是1110,这样,最前的段就在224——239间,这些地址是多点传送的地址,其后保留的28位由特定的多点传送的组识别码组成。一个IP的多点传送地址是一个或多个主机的目标地址,当一个A类,B类或C类为一个特定的主机指定地址时。
------------------------------------------------------------------------------------------------------
注意:IP的多点传送地址映射成一个MAC的多点传送地址以便于网络接口进行监听。低位的23IP地址可以代替MAC23位低位地址。如:一个IP224.0.0.0的地址可以映射成——01:00:5e:00:00:00

——
保留的网络和主机地址
IP
地址全部为0的不是一个特定的主机,它表示一个网络。IP地址全部为1的也不是一个主机,它表示特定网络所有主机的广播地址。
——
广播地址
广播地址就是网络中用来广播的。广播也就意味着数据被同时发送给网络中的所有主机。在Solaris 2.x环境中,默认的广播地址是主机号全部为1的地址,如:128.50.255.255
注意:在SunOS操作系统中,使用网络号全部为0的地址为广播地址。如:128.50.0.0 所以,Sun系统进程同样监听广播地址0或者255,以保持向后兼容性。
网络接口
——
命令/sbin/ifconfig的使用
ifconfig
命令由超级用户使用,用来配置所有的网络接口参数。它在系统启动时由/etc/reS.d/S30rootusr脚本调用。同时,它后来也会被 NIS/NIS+来重新设置网络接口配置,并通过调用脚本/etc/re2.d/S72inetsvc进入启动序列。Ifconfig命令也可以被用来重 新定义一个接口的IP地址或其它的操作参数。
检查网络接口
例如:
*
检查所有网络接口的状态:
# ifconfig –a
lo0: flags=849 mtu 8232
inet 127.0.0.1 netmask ff000000
le0: flags=863
mtu 1500 inet 128.50.1.2  netmask ffff0000  broadcast 128.50.255.255
ether 8:0:20:75:6e:6f
*
检查一个接口的状态
# ifconfig le0
le0: flags=863
mtu 1500 inet 128.50.1.2  netmask ffff0000  broadcast 128.50.255.255
ether 8:0:20:75:6e:6f
各字段含义:
l lo0,le0——
网络接口的设备名
l Flags——
网络接口状态的数字表示方式,状态变量已经在包中定义,将在后来讨论。
l MTU——MTU
用来定义包的存储片
l Inet——
接口的Internet 地址
l etmask——
掩码应用于网络层包的输入和输出。掩码被用来定义哪些值是用来表示
网络地址的位。
l Broadcast——
广播地址,用来发送信息到所有主机。
l Ether——
ARP使用的以太网地址(MAC
——
状态段
l UP——
这个标志指出这个接口是开放的,可以发送和接收数据。
l DOWN——
相反的,这个标志指出这个接口是关闭的,也就是说,此时不能为主机发送和转发包。
l NOTRAILERS——
这个标志指出了一个报文尾不包括以太帧的尾部。报文尾是在
Berkerley Unix
系统中使用的把信息头加到包尾的一种方式。在
Solaris2.x
系统中已经不支持。
l RUNNING——
这个标志指出,该接口已经被系统识别。
l MULTICAST——
这表示接口支持多路传送地址。
l BROADCAST——
这表示接口支持广播地址。
网络地址配置
——
解决网络接口故障
丢失,不完整,或不正确的配置网络接口参数,将会引起连接失败。如:一个主机可能拒绝挂接(mount)远程文件系统,拒绝发送和接收邮件,拒绝执行打印任务,如果一个主机的接口配置错误的话。
为了确保主机接口配置的正确,要检查如下几项:
l
所有的接口状态是否为UP
l IP
地址是否正确
l
子网掩码是否正确
l
广播地址是否正确
——
重新配置网络接口参数
*
允许一个网络接口(Enable)
# ifconfig le0 up
# ifconfig le0
le0: flags=863
mtu 1500 inet 128.50.1.2  netmask ffff0000  broadcast 128.50.255.255
ether 8:0:20:75:6e:6f
*
开放一个网络接口(Disable)
# ifconfig le0 down
# ifconfig le0
le0: flags=863  mtu 1500  
inet 128.50.1.2  netmask ffff0000  broadcast 128.50.255.255
ether 8:0:20:75:6e:6f
*
关闭一个网络接口(Close)
# ifconfig le0 unplumb
# ifconfig le0
ifconfig : SIOCGIFFLAGS:le0:no such interface
*
打开一个网络接口(Open
# ifconfig le0 plumb
# ifconfig le0
le0:flags=842 mtu 1500
inet 0.0.0.0 netmask 0
ether 8:0:20:75:6e:6f
*
设置一个IP地址,允许接口但不允许 trailers
# ifconfig le0 inet 128.50.1.2 –trailers up
# ifconfig le0
le0: flags=842
mtu 1500 inet 128.50.1.2  netmask ffff0000  broadcast 128.50.255.255
ether 8:0:20:75:6e:6f
*
改变掩码值和广播值来正确的反映新的掩码
# ifconfig le0 netmask 255.255.255.0 broadcast +
# ifconfig le0
le0: flags=843 mtu 1500  
inet 128.50.1.2  netmask ffffff00  broadcast 128.50.1.255
ether 8:0:20:75:6e:6f
*
在正确的设置子网掩码后改变所有的广播地址
# ifconfig –a
lo0:  flags=849 mtu 8232
inet 127.0.0.1 netmask ff000000
le0: flags=863 mtu 1500
inet 128.50.1.5 netmask ffffff00  broadcast 128.50.255.255
ether 8:0:20:75:8b:59
le1: flags=842 mtu 1500
inet 128.50.3.6  netmask ffffff00 broadcast 128.50.255.255
ether 8:0:20:75:8b:59
# ifconfig –a broadcast +
# ifconfig –a
lo0:  flags=849 mtu 8232
inet 127.0.0.1 netmask ff000000
le0: flags=863 mtu 1500
inet 128.50.1.5 netmask ffffff00  broadcast 128.50.1.255
ether 8:0:20:75:8b:59
le1: flags=842 mtu 1500
inet 128.50.3.6  netmask ffffff00 broadcast 128.50.3.255
ether 8:0:20:75:8b:59

 

阅读(602) | 评论(0) | 转发(0) |
0

上一篇:Syslog

下一篇:Writing a simple IPv6 program

给主人留下些什么吧!~~