现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

网络基础总汇

2010-05-25 11:10 工业·编程 ⁄ 共 14425字 ⁄ 字号 暂无评论

什么是局域网

局部区域网络(local area network)通常简称为"局域网",缩写为L A N 。局域网是结构复杂程度最低的计算机网络。局域网仅是在同一地点上经网络连在一起的一组计算机。局域网通常挨得很近,它是目前应用最广泛的一类网络。通常将具有如下特征的网称为局域网。
1 )网络所覆盖的地理范围比较小。通常不超过几十公里,甚至只在一幢建筑或一个房间
内。
2 )信息的传输速率比较高,其范围自1 M b p s 到1 0 M b p s ,近来已达到1 0 0 M b p s 。而广域网运行时的传输率一般为2400bps 、9600bps 或者38.4kbps 、56.64kbps 。专用线路也只能达到1.544Mbps 。
3 )网络的经营权和管理权属于某个单位。

什么是广域网

广域网(wide area network, WA N )它是影响广泛的复杂网络系统。
WA N 由两个以上的L A N 构成,这些L A N 间的连接可以穿越3 0 m i l e *以上的距离。大型的WA N可以由各大洲的许多L A N 和M A N 组成。最广为人知的WA N 就是I n t e r n e t ,它由全球成千上万的L A N 和WA N 组成。
有时L A N 、M A N 和WA N 间的边界非常不明显,很难确定L A N 在何处终止、M A N 或WA N在何处开始。但是可以通过四种网络特性-通信介质、协议、拓扑以及私有网和公共网间的边界点来确定网络的类型。通信介质是指用来连接计算机和网络的电缆、光纤电缆、无线电波或微波。通常L A N 结束在通信介质改变的地方,如从基于电线的电缆转变为光纤。电线电缆的L A N 通常通过光纤电缆与其他的L A N 连接。

什么是网桥

网桥这种设备看上去有点像中继器。它具有单个的输入端口和输出端口。它与中继器的不同之处就在于它能够解析它收发的数据。网桥属于O S I 模型的数据链路层;数据链路层能够进行流控制、纠错处理以及地址分配。网桥能够解析它所接受的帧,并能指导如何把数据传送到目的地。特别是它能够读取目标地址信息(M A C ),并决定是否向网络的其他段转发(重发)数据包,而且,如果数据包的目标地址与源地址位于同一段,就可以把它过滤掉。当节点通过网桥传输数据时,网桥就会根据已知的M A C 地址和它们在网络中的位置建立过滤数据库(也就是人们熟知的转发表)。网桥利用过滤数据库来决定是转发数据包还是把它过滤掉.

什么是网关

网关不能完全归为一种网络硬件。用概括性的术语来讲,它们应该是能够连接不同网络的软件和硬件的结合产品。特别地,它们可以使用不同的格式、通信协议或结构连接起两个系统。和本章前面讨论的不一样,网关实际上通过重新封装信息以使它们能被另一个系统读取。为了完成这项任务,网关必须能运行在O S I 模型的几个层上。网关必须同应用通信,建立和管理会话,传输已经编码的数据,并解析逻辑和物理地址数据。
网关可以设在服务器、微机或大型机上。由于网关具有强大的功能并且大多数时候都和应用有关,它们比路由器的价格要贵一些。另外,由于网关的传输更复杂,它们传输数据的速度要比网桥或路由器低一些。正是由于网关较慢,它们有造成网络堵塞的可能。然而,在某些场合,只有网关能胜任工作。在你的网络生涯中,你很可能会在电子邮件系统环境中听到关于网关的讨论。常见的网关,包括电子邮件网关,描述如下:
o 电子邮件网关:通过这种网关可以从一种类型的系统向另一种类型的系统传输数据。例如,电子邮件网关可 以允许使用E u d o r a 电子邮件的人与使用Group Wi s e 电子邮件的人相互通信。
o I B M 主机网关:通过这种网关,可以在一台个人计算机与I B M 大型机之间建立和管理通信。
o 因特网网关:这种网关允许并管理局域网和因特网间的接入。因特网网关可以限制某些局域网用户访问因特 网。反之亦然。
o 局域网网关:通过这种网关,运行不同协议或运行于O S I 模型不同层上的局域网网段间可以相互通信。路 由器甚至只用一台服务器都可以充当局域网网关。局域网网关也包括远程访问服务器。它允许远程用户通过 拨号方式接入局域网。

网 络 类 型

每一种网络都要求布线、网络设备、文件服务器、工作站、软件和培训,这些要素以多
种不同的方式进行综合便可以创建与具体单位的需要和资源相适应的网络。有些网络的启动
成本很低,但是维护和升级的代价很高;而另有一些网络虽然建立时耗资较大,但是易于维
护、升级路径简单。
区分网络类型的很明显的一点就是网络的拓扑结构。拓扑结构是指网络的物理布局以及
其逻辑特征。物理布局就像是描述办公室、建筑物或校园中如何布线的示意图,通常称为电
缆线路。网络的逻辑是指信号沿电缆从一点向另一点进行传输的方法。
网络的布局可以分散开,电缆在网络的各个站铺开;或者可以是集中的,每个站都与在
工作站间分派包的中央设备有物理的连接。集中布局像是星星,工作站是星星的点;分散布
局有些像一队登山者,每个登山者位于山的不同位置上,但都由一条很长的绳子连接着。拓
扑结构的逻辑方面包括包在网络中传递的路径。
有三种主要的拓扑结构:总线拓扑、环形拓扑和星形拓扑。一个单位需要按照工作目的
选择网络类型,而拓扑结构必须与所选的网络类型相匹配。例如,有些公司使用网络的程度
比其他公司要高。公司使用的软件应用程序的类型和数量影响了传输的包的数量和频率,也
就是我们常说的网络信息流通量(network traff i c )。如果网络用户主要访问字处理软件,那么网络信息流通量相对就比较低,大多数工作都在工作站进行而不是在网络上进行。客户机/服务器结构的应用程序根据其软件设计,会产生中等到高的网络信息流通量。如果网络上要经常交换如Microsoft SQL Server 或O r a c l e 数据库文件等数据库信息的话,也会产生中等到高的网络信息流通量。而对于科学程序和网上出版而言,由于数据文件非常巨大,所以信息流量很高。同时,图形密集的应用程序如不断变化图形的多媒体和桌面网上会议都会产生很高的网络信息流通量。
网络上主机与服务器的影响力与使用的软件应用程序的类型密切相关。例如,如果经常
访问数据库服务器来产生财务报表和销售图表,那么它引起的网络信息流通量肯定要比偶然
访问包含商务通信或信件模板的文件服务器要高得多。
当需要确定使用何种拓扑结构时,应该考虑是否有其他网络与这个网络连接。计算机不
超过4 台的小型商业公司的网络拓扑肯定与一个通过WA N 与其他工地连接的工业厂区所需要
的拓扑结构不同。小公司除了与外部的Internet 相连外,也许不会与其他网络连接。而工业
厂区将包含多个互连的网络,其中也许有控制工厂机器的网络、用于商业系统的网络、用于科研的网络和与其他工地相连的扩展的WA N 。有些网络拓扑结构会提供比其他拓扑结构性能更好的网络互连性。
高流量的网络需要高速的数据传输能力。网络速度极大影响着用户的生产率,高速对于
在远距离或WA N 上传输图像、图形和其他大型文件来说尤其重要。
保护数据只能由授权的用户来访问,也就是安全性问题,是影响网络设计的另一个重要
方面。安全的网络使用网络设备、密码、控制软件和其他技术来限制对信息和资源的访问,
还经常使用加密方法,对包加密并仅允许授权的计算机来对其解密。安全性高的网络使用光
纤电缆,使得数据给未授权用户截取的危险降到最低。另一种安全措施是将网络设备和服务
器放在受限制的地点,如计算机房和布线室。
网络拓扑结构直接影响着网络的潜在发展。安装网络后,也许要添加更多的用户,这些
用户可能在同一间办公室,可能在其他办公室,或者在其他楼层。而且极有可能为了长距离
的信息访问,需要将L A N 与WA N 连接。

网络协议

一个L A N 可以由一系列的子网组成,而一个WA N ,例如I n t e r n e t ,可以由一系列的自治网络组成。L A N 可以只使用以太网,而WA N 却可能包括以太网、令牌环网、X .25 和其他一些网络。通过网际协议( I P ),可以把一个包发送到L A N 的不同子网和WA N 的不同网络上,唯一的条件就是这些网络所使用的传输选项要保证能够和T C P / I P 兼容,这些选项包括:
o 以太网。
o 令牌环网。
o X.25 。
o FDDI 。
o ISDN 。
o 帧中继。
o (带有转换的) AT M 。
网络传输头
(例如,以太网)
I P 的基本功能是提供数据传输、包编址、包寻径、分段和简单的包错误检测。通过I P 编址约定,可以成功地将数据传输和路由到正确的网络或者子网。每个网络结点具有一个3 2 位的I P 地址,它和4 8 位的M A C 地址一起协作,完成网络通信。该地址不但标识了一个既定的网络,而且还指明了是该网络上的哪个结点

TCP/IP协议
TCP/IP协议(Transfer Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。
TCP/IP协议的基本传输单位是数据包 (datagram)。TCP协议负责把数据分成若干个数据包,并给每个数据包加上包头;IP协议在每个包头上再加上接收端主机地址,这样数据找到自己要去的地方。如果传输过程中出现数据丢失、数据失真等情况,TCP协议会自动要求数据重新传输,并重新组包。总之,IP协议保证数据的传输,TCP协议保证数据传输的质量。

TCP/IP协议数据的传输基于TCP/IP协议的四层结构:应用层、传输层、网络层、接口层,数据在传输时每通过一层就要在数据上加个包头,其中的数据供接收端同一层协议使用,而在接收端,每经过一层要把用过的包头去掉,这样来保证传输数据的格式完全一致。

什么是路由器

路由器是一种多端口设备,它可以连接不同传输速率并运行于各种环境的局域网和广域网,也可以采用不同的协议。路由器属于O S I 模型的第三层。第2 章曾经讲过,网络层指导从一个网段到另一个网段的数据传输,也能指导从一种网络向另一种网络的数据传输。过去,由于过多的注意第三层或更高层的数据,如协议或逻辑地址,路由器曾经比交换机和网桥的速度慢。因此,不像网桥和第二层交换机,路由器是依赖于协议的。在它们使用某种协议转发数据前,它们必须要被设计或配置成能识别该协议。
传统的独立式局域网路由器正慢慢地被支持路由功能的第三层交换机所替代。但路由器这个概念还是非常重要的。本节的剩余部分讲述的都是关于第三层交换机的应用。独立式路由器仍然是使用广域网技术连接远程用户的一种选择

IP地址精解

为什麽我们要学二进位哎呀还不是该死的蠢电脑嘛它只懂得0和1那麽我们要和电脑沟通的时候也只好装蠢一些才行。当电脑要处理IP运算的时候最终是以二进位的形式进行的。
我们人类最习惯的运算规则是十进位也就是从0到9为一圈回到零的时候就进一位数而我们前面讨论的bit和byte则是八进位即0到7为一圈回到零就进一位数另外还有十六进位由0到15为一圈回到零进一位但使用数字15很容易和十进位混乱所以在十六进位里面从10到15之间分别用英文字母A到F代替了所以我们通常看到的十六进位是从0到F的排列。
好了认识了上面这几种运算规则相信理解二进位也不难道理是一样的从0到1为一圈回到0进一。那麽我们看看十七个连续递增的十进位二进位和十六进位数字之间的比较将会是这样的

十进位 二进位 十六进位
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
16 10000 10

如果您想进行二进位和十进位的换算在列表中找到相应的数字是最简单的方法但正如您刚才所见光十六个数字已经有这麽长的列表了如果要找成千上百个数字可不是件容易的事情。不过我们在IP地址上面看到的十进位数字最大不会超过255这个数值。我们可以先将2的0到7次方列出来

27 26 25 24 23 22 21 20
128 64 32 16 8 4 2 1

当我们要将十进位换成二进位的时候我们只要找到找到该数字对应的栏位(方法是找到两个数值相若的栏位而取其右)在相对的栏位填上1然後用余数继续寻找下一栏位再填1直到再没余数为止最後把其它栏位都填上0就可以了。

例如我们要换算220这个十进位数字到二进位

我们找到128这栏位是最合适的(因为128的左边是256而220 界乎它们之间取其右则为 128 )。那麽我们在128这栏位上面填上1
继续余数92我们找到64这栏位是最合适的那麽在64这个栏位也填上1
继续余数28我们找到16这栏位是最合适的那麽在16这个栏位也填上1
继续余数12我们找到8这栏位是最合适的那麽在8这个栏位也填上1
继续余数4我们找到4这栏位刚好对应这是最好找到情形了。那麽在4这个栏位也填上1
因为再没有余数了其它都填上0就对了。

其结果如下 128 64 32 16 8 4 2 1
1 1 0 1 1 1 0 0

如果我们要将二进位换算成十进位利用上面的栏目来做就更加简单了只要将二进位数字从右往左的顺序依次填入栏位那麽将凡是被1所对应的数字相加得出来的和就是十进位数字了。

当然啦这是手工的方法啦如果您有二进位的计数器或是使用Windows的小算盘来进行换算更是易如反掌啦。如果您还不知道怎麽用Windows的小算盘点话可以依以下步骤进行

“开始/程式集/附属应用程式/小算盘”
然後拉下“检视”选单确定“工程型”已被选择
然後点选“十进位”输入数值
再点选“二进位”就可以获得换算数值了

逻辑运算

逻辑运算是Microcomputer Architature的必修单元这里我们只需了解几个最基本的运算就可以了一个是AND一个是OR还有一个是NOT。

在二进位的AND的运算中只有参与运算的双方都相同才会得出相同的结果(为0或1)否则为0也就是只有双为1的时候其结果才会是1否则为0。其情形是
0 AND 0 = 0
1 AND 1 = 1
0 AND 1 = 0
这里您不难看出凡是有1参与的AND运算其结果都会是对方(不管是0或1)而凡是有0参与的AND运算其结果都会是0。

在二进位的OR运算中只有双方为0的时候才为0否则都会是1。其情形是
0 OR 0 = 0
1 OR 1 = 1
0 OR 1 = 1
记忆方法凡是有0参与的OR运算其结果都是对方而只要有1参与的OR运算其结果都会是1。

NOT的运算最简单只有一方参与凡是经过NOT运算其结果都会相反
NOT 0 = 1
NOT 1 = 0

至於其它一些NAND或NOR的运算只不过将NOT和AND及NOT和OR合在一起运算而已。

认识IP地址

好了经过刚才一轮“洗脑”之後我们终於要谈到IP地址了。如果您的机器现在是连上网路的且使用的是IP协定(我想您应该这样吧否则怎麽看我的文章呢)。

我假设您使用的是Windows系统那麽现在就请您按“开始”然後“执行”再请您用键盘输入“winipcfg”然後“确定”。这时候您应该看到一个视窗跑出来并在“IP位址”栏目上面显示着您机器当前使用的IP号码。或许会是139.175.152.254这样的一组号码不过您知道这组号码的代表着什麽意思吗如果按正常设定来说我可以说这是B class的IP号码而且是属於seed.net的拨接网路的。

我怎麽会知道哈哈等您看完了後面的文章您还可以告诉我更多呢

IP Class和识别码

正如您所见到的IP地址是四组用“.”分开的十进位数字我们称每组数字为一个“octet”这样的格式被称作“Dotted quad”。其实每一组都是一个8-bit的二进位数字(使用十进完全是为了迁就人类的习惯)合共起来就是一个32-bit的IP地址了亦即是IP v4 (Version 4) 版本的地址现在IP v6 (使用128-bit的IP地址)也正如火如的开发中。

如果您记得我们前面在“网路概论”里面讨论IPX地址的时候所提到的Internal和External地址的话您应该知道Internal地址是用来识别主机的而External地址则是用来识别网路的。IP地址其实也有这样的功能只不过将网路的识别码和主机的识别码放在单一的IP地址上面了。

不过在区分Net ID和Host ID之前先让我们认识一下IP地址的分类(Class):

如果我们将IP地址全部用二进位来表示的话每个octet都是8-bit如果不够8-bit的话则往左边填上0直到补满为止。这时候你再看看最左边的数字是以什麽为开头的

如果是以“0”开头的这IP是一个A Class的IP
如果是以“10”开头的这是一个B Class的IP
如果是以“110”为开头的则属於C Class的IP

相信您知道为什麽我们在一开头就学二进位换算了吧如果您不懂得如何换算您也可以死记由1到126开头的IP是A Class由128到191开头的IP是B Class 然後由192到223开头的则为C Class。显然易见用二进位来识别IP Class比较容易您不觉得吗

好了当我们识得区别IP的Class之後我们就可以知道IP的Net ID 和 Host ID了

A Class的IP使用最前面一组数字来做Net ID其余三组做Host ID
B Class的IP使用前面两组数字来做Net ID另两组做Host ID
C Class的IP使用前面三组数字来做Net ID剩下的一组做Host ID

从下图中您可以轻易的区分上面三个不同的 IP Class

为什麽我们需要为IP划分等级呢这是为了当初的 IP 管理需要。

如果您要组建一个单一的IP网路那麽您得分配相同的Net ID给所有主机而各主机的Host ID却必须是唯一的也就是说没有任何两个Host ID会是一样的。您的网路还要连上internet或其它网路的话那麽您使用的Net ID也必须是唯一的否则就会造成突了。好比您家的电话号码如果是1234567(Host ID)的话那麽在相同区号(Net ID)里其他人将不会再使用这个号码然而你不保在其它区号里面也有1234567这个号码哦但如果台北使用了区号02的话台南就不能使用02了。无论如何整个区号加电话号码必须是唯一的。同样的道理整个IP地址(Net ID + Host ID)在internet上也必须是唯一的。有一个很特别的Net ID 127 (即二进位的01111111)是保留给本机回路测试使用的它不可以被运用於实际的网路中去。

另外有一个规则我们还必须遵守的在指定Host ID的时候换成二进位的话不可以是全部为0也不可以是全部为1。当Host ID全部为0的时候指的是网路本身识别码而全部为1的时候则为全域广播地址即发送广播封包使用的地址。

很明显A Class网路可分配的Host ID 要比C Class的要多好多倍。让我们算算可以划分的Net ID数目和各等级里面的Host ID数目就知道了

因为A Class第一个bit必须为0所以我们在头一个otect的8个bit就只有7个bit是可变化的。那麽27 = 128再减去0和127这个Net ID不能使用那麽我们实际上最多只能划分126个A Class的网路。而每个A Class的网路之下可以分配2的24(能够使用的 Host ID之bit 数目)次方亦即16,777,216个Host ID再因为二进位数字不可以全部为0或1所以实际能用的主机位址只有16,777,214个。

因为C Class以110开头减去 3 个 bit 所以可划分的C Class网路则为2的21(24-3)次方也就是2,097,152个Net ID然後每个Class C之下则可以划分28 = 256 - 2 = 254个Host ID。

好了这下您自己试试看计算出B Class可以划分多少个Net ID和每个Net ID之下的可?*** ost ID数目。(Tips别忘了ID不能全部为0或1)。然後再来对照下面的列表

等级 开首 网路数目 主机数目 使用围 申请领域
A 0 126 16,777,214 1.x.x.x 到 126.x.x.x 国家级
B 10 16,384 16,382 128.x.x.x 到 191.x.x.x 跨国组织
C 110 2,097,152 256 192.x.x.x 到 223.x.x.x 企业组织
D 1110 - - 224.- 到 239.- 特殊用途
E 1111 - - 240.- 到 255.- 保留围

认识Net Mask

下面我们要认识的是 Net Mask (网路遮罩或称网路掩码)。

到了这里我必须要向大家交代清楚一件事情在我们进行IP地址划分的时候IP和Net Mask都必须一对使用的两者缺一不可不过当我们使用分等级的IP地址的时候我们也可以使用预设的mask比如A Class的mask是255.0.0.0B Class的mask是255.255.0.0C Class的则是255.255.255.0。

这是什麽意思啊看255比较难理解如果您将之换算为二进位就容易理解多了255 = 11111111(8个1)。然後当您把这些Net Mask和各等级IP对应看看聪明的您就会发现一个现象就是~~ 凡是被1所对应着的IP部份就是Net ID凡是被0所对应部份就是Host ID

哈哈~~应该是个值得庆贺的发现哦~~~我想您的心情并不亚於当初哥伦布发送美洲大陆啦不过问题又来了既然我们已经分好等级了还用那mask干嘛我们照等级使用不就好了吗

呵~呵~~阁下真是太聪明了佩服佩服啦不过您可别忘了电脑是一台好蠢好蠢的机器哦请您告诉我电脑怎麽识别Net ID和Host ID呢嗯不会吧那好让我告诉您好了

还记得AND和NOT的逻辑运算吗如果忘了赶快往前翻翻补习补习再来看这里。当电脑获得了一对IP和Mask(都是二进位数字)之後电脑先使用一个AND的运算来求出Net ID。您可以拿自己电脑的IP来做例子这里让我们拿先前用winipcfg看出来的IP来算算

139.175.152.254换成二进位是
10001011.10101111.01101010.11111110
(这时候您应该知道我为何当初一口就说出这是一个B Class的IP了吧还不知道看看头两个bit是什麽)

这个Class的预设mask是255.255.0.0换成二进位是
11111111.11111111.00000000.00000000

然後将IP和mask加以AND 运算
10001011.10101111.01101010.11111110
AND
11111111.11111111.00000000.00000000
得出
10001011.10101111.00000000.00000000

换成十进位就是139.175.0.0这个就是Net ID了。

那麽怎麽求Host ID呢也很简单

先将Net Mask做一个 NOT 运算可以得出
00000000.00000000.11111111.11111111

然後再和IP做一次 AND 运算就可以得到Host ID:
00000000.00000000.01101010.11111110

换成十进位就成了0.0.152.254。

简单吧是不是哈哈~~我看到您大摇其头哦~~~不用担心啦多拿些IP例子来运算运算您就得心应手了。

还有当我们设定网路环境的时候除了要输入 IP地址netmask网路地址之外有时候还需要指定广播地址(broadcast)。我已经知道如果 Host ID 全部为 0 是网路地址而全部为 1 则是广播地址了。其实广播地址也可以通过一个简单运算得到

先将Net Mask做一个 NOT 运算可以得出
00000000.00000000.11111111.11111111

然後再和IP做一次 OR 运算就可以得到 Broadcast Address:
10001011.10101111.01101010.11111110
OR
00000000.00000000.11111111.11111111
得出
10001011.10101111.11111111.11111111

换成十进位就成了139.175.255.255。

不过说到这里为止我总还觉得有些不妥因为许多网路都有一定的节点极限比如Ethernet通常最多只能连接1,200台主机如果您获得一个B Class 的 Net ID岂不是浪费很多Host ID了吗要是使用A Class就更是骇人

当您遇到这种“有钱人的困扰”的时候Sub-net Mask就派上用场了。如果您刚才还认为预设的Net Mask是多馀的话那麽当您知道Sub-net Mask的功能之後我敢保您不会再忽略Net Mask了。

Sub-net Mask的使用手法就是靠“借”或可以说靠“抢”就是从左往右的按需要将本来属於Host ID的一些bit转为Sub-net ID来使用。也就是将预设的Net Mask的“1”逐渐的往右增加相对地Net Mask的“0”则越来越少。这样的结果当然是可以获得更多的Net ID换一句话说您可以将一个大的IP网路分割成更多的子网路而每一个子网路的主机数目却相应的减少。

其情形会是当您借用1个bit的Host ID来做Sub-net ID的时候会将网路切割开两个(2 1 = 2)子网路如果借2个bit则有4个子网路3个bit则8个4个bit则16个..... 当所有的Host ID都借出去之後您可以得到最多数量的子网路但这是毫无意义的因为没有Host ID了您怎麽分配IP给主机呢要是您的Host ID只剩下一个bit没有借出去的话那麽您在每个网路只能得到0和1来作为Host ID这也是不行的因为这两个ID也不可以用来分配给主机。

当您切割网路的时候您得最少留下 2 个 bit 来做 Host ID这时候每个网路最多只能连接 2 台主机(咦22 不是等於 4 吗但别忘了 Host_ID 不能是两个 0 或两个 1 哦)。这样的网路通常会用在 WAN 与 LAN 之间的路由器连接。而在 LAN 中的应用通常最少要保留 3 个 bit 来做 Host_ID。

为了更好的理解Sub-net Mask的功用我们还是以刚才的IP(139.175.152.254)为例子来看看

我们知道它在预设情形之下的Net Mask是
11111111.11111111.00000000.00000000

如果我们借用了Host ID的其中三个bit来做Sub-net ID的话将原来的Net Mask和Sub-net Mask做一个 OR 的运算
11111111.11111111.00000000.00000000
OR
00000000.00000000.11100000.00000000
得出
11111111.11111111.11100000.00000000

换成十进位後实际的Net Mask将会变成这样255.255.224.0 。

因为借用的只有3个bit所以切割成为8个子网路了而他们的Sub-net ID则分别从000到111这8个组合再加上原来的Net ID(10001011.10101111.00000000.00000000)各子网路的实际Net ID就成了

10001011.10101111.00000000.00000000 (139.175.0.0)
10001011.10101111.00100000.00000000 (139.175.32.0)
10001011.10101111.01000000.00000000 (139.175.64.0)
10001011.10101111.01100000.00000000 (139.175.96.0)
10001011.10101111.10000000.00000000 (139.175.128.0)
10001011.10101111.10100000.00000000 (139.175.160.0)
10001011.10101111.11000000.00000000 (139.175.192.0)
10001011.10101111.11100000.00000000 (139.175.224.0)

这时候本来是16个bit的Host ID只剩下13个bit了也就是说在每个子网路里面最多只能有2 13 = 8,192 - 2 = 8,190台主机而它们可分配的号码分别由
00000.00000001到
11111.11111110之间。

但我们并不能简单的将它以十进位的0.1到31.254这样表示我们还得将之配合各个不同的Sub-netID再相加一起才能得出最终的IP号码。例如

在Sub-net ID 001 之下的主机号码将会是从
00100000.00000001到
00111111.11111110之间
亦即是从32.1到63.254之间
整个IP地址则是从139.175.32.1到139.175.63.254之间。

而在Sub-net ID 100 之下的主机号码将会是从
10000000.00000001到
10011111.11111110之间
亦即是从128.1到159.254之间
整个IP地址则是从139.175.128.1到139.175.159.254之间。

明白了

唉呀~~~~头痛耶~~~

别complaint啦~~自己再动手算算在110这个Sub-net ID之下的主机号码围是多少

如果您得出来的答案不是139.175.192.1到139.175.223.254之间那麽您需要离开萤幕一会到外面呼吸一下空气(别抽烟)然後过5分钟回来重新看看前面几段文章。再重读的时候要确定您每一个概念都清楚了才继续往下读。

当然你说放弃也没什麽要紧啦反正您老又不会扣您工钱啦~~~

IP的实际运用

好了这里让我们归纳一下以上所学吧

IP等级以开头的二进位数字来定010110 分别是ABC等级
IP分两部份Net ID和Host ID。预设情形下A以第一个otect来做Net IDB则使用前面两个otectC使用三个oect而剩下的则做Host ID;
在为机器指定Net ID和Host ID的时候换成二进位不可以全部为0也不可以全部为1而整个IP地址必须是唯一的
Net Mask是给电脑用来计算Net ID和Host ID的将IP和mask用AND运算得出Net ID将mask先经过NOT运算再和IP做AND运算则可以得出Host ID
Sub-net Mask是“借”Host ID来当Sub-net ID使用规则是从左往右递增作用是将一个较大的网路切割成多个较小的网路。而在显示IP的时候必须要和Sub-net ID加在一起也就是以完整的 otect 来表示。

设定规则

当我们设定IP网路的时候如果想各机器能够直接沟通那麽您得使用相同的Net ID和不同的Host ID。如果您想使用不同的Net ID(比如经过sub-net划分)那麽在不同Net ID之间的host就要经过router才能成功对讲。

当电脑用AND运算得出Net ID之後会检查来源Net ID和目的Net ID是否一致如果一致的话就可以直接将封包传给对方否则就将封包传给Router或Default Gateway这个过程我在以後的ARP和RIP将会讲述。

另外如果您使用了sub-net技术在分配IP地址的时候就要非常小心了以免IP超出了子网围而无法沟通。比如在没有划分子网路的情况下(例如使用255.255.0.0的mask)139.175.31.254和139.175.32.1都是在同一个网路之内的他们的IP封包不用router就可以直接传递了但经过借用3个bit的子网划分之後(net mask成了255.255.224.0)它们就被分隔在两个IP网路之内这时候它们一定要使用router才能传递封包了。

同时原本一些有效的IP地址在sub-net之後因为Host ID变成了全部0或1也就不能再分配给主机使用了例如139.175.63.255139.175.64.0等等。 (如果您不明白为什麽将之换成二进位然後找出经过子网切割後属於Host ID部份的数字就清楚了。)

所以当我们在一开始设计网路的时候就要具备应有的责任和远见早早就将子网路划分好。否则等所有机器都设定好并且运作了一段时期之後才决定划分子网路其情形将会变得异常杂。如果要重新分配IP其所做的规划以及遇到的可见问题和隐藏问题都比从零开始难上百倍越大的网路越是如此

保留IP

当我们要将网路连上intetnet的时候我们必须先册好Net ID如果该ID已经被使用了您就必须选用另外的ID了。负责Internet IP册的机构叫做InterNIC(Network Information Center)他们的网路地址是 http://www.internic.net。

由於Internet的爆炸性成长IP的地址买少见少而且在很多机构里也不是所有机器都有必要使用册的IP地址。於是我们就在 ABC这三个层级里面各划出一些地址围保留给私有位址所用它们是

10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255

当您使用这些地址的时候当然是有所限制的

私有位址的路由资讯不能对外散播
使用私有位址作为来源或目的地址的封包不能透过Internet来转送
关於私有位址的参考纪录(如DNS)只能限内部网路使用

然而正是由於这些限制当我们使用这些私有位址来设定网路的时候就无需担心会和其它也使用相同位址的网路突了。

这给我们架设IP网路做成很大的方便比如即使您目前的公司还没有连上Internet但不保将来不会啊。如果使用公共IP的话如果没经过册等到以後真正要连上网路的时候就很可能和别人突了。也正如前面所分析的到时候再重新规划IP的话将是件非常头痛的问题。这时候我们可以先利用私有位址来架设网路等到真要连上intetnet的时候我们可以使用IP转换协定如NAT (Network Addresss Translation)等技术配合新册的IP就可以了。

再者由於私有位址在 internet 上是不能路由的用来架设企业内部网路在安全上面也是有利的。当然了如果在课堂上或在家里架设 IP 网路使用私有位址也是个不错的主意哦。

不分等级的IP

思考一下如果我的IP是139.175.152.254而Net Mask则为255.255.255.0。您认为是否用错了net mask呢而 203.56.6.18 使用 255.255.0.0 做 mask 呢

我们将较大的IP等级切割成许多较小网路可以说是“有钱人的烦恼”但难道“穷人”就没有烦恼吗当然是有啦例如您的公司有接近600台主机想连一个IP网路申请一个B Class网路似乎太浪费而且说实在也未必可以申请得到那麽申请3个C Class的网路总可以吧当然没问题啦(如果还没用光的话)。

不过正如我们刚才知道的因为3个C Class网路它们的Net ID都各自独立的如果您要其下的电脑都能沟通的话就要router的参与了。但是router一点都不便宜哦~~~贵的router几乎可以换一辆“Benz”房车来开呢就算您老不在乎要设定和维护好几个网路的routing也不是一件轻松的事情搞不好还要专门请“半”个人来看管呢。

*** 是您可以将这三个C Class网路整合在一起来使用啦使用的是CIDR (Classless Inter-Domain Routing)技术也就是所谓的不分等级IP了。

使用CIDR的时候您大可不必理会IP的开首字元你可以随便设定您的Net Mask长度。也就是说一个C Class的网路也可以使用255.255.0.0这样的mask我们称这样的网路为“Supernet”和subnet正好相反。

当然如果要和其它网路沟通您使用的router也必须支援CIDR才行啦而且设定上是比较杂的。

如果您觉得139.175.152.254/255.255.0.0 和192.168.1.1/255.255.255.0 这样的IP表现方法实在太麻烦了这里有一个更好的表示法使用mask的bit数来表示Net Mask。这样我们就可以这样写了139.175.152.254/16 和203.56.6.18/24假如使用了三个bit的Sub-net我们只要将16改成19和将24改成27就可以了如果是使用了三个bit的Supernet我们将之改成13和21就可以了。

给我留言

留言无头像?