2024年4月3日发(作者:)

IP 观念: IP, network, netmask, broadcast, gateway, ARP协议,

接着下来要跟大家介绍的是 IP 这个东西,这的东西真是让人要爱又怕呀!因为没有了他,

所有的网络都是没有用的咚咚!嗯!通过了网络卡的安装与驱动程序的加载之后,你的系统已经

可以取得 MAC 并且也可以激活 NIC ( 网络卡 ) 了,好了,那么接着下来自然就是要让你的计

算机的门牌号码被 Internet 上面其它的门牌号码认识啰!这个时候就必须要有所谓的 Internet

Protocol, IP 这个咚咚了!这个 IP 是所有网络基础里面最基础的东西,如果没有了他,那么网

络将不再是网络了!

· IP 的组成:

众所皆知的,IP 是由四组 8 bits 的数字所组成的,最小是 0.0.0.0 ,最大是

255.255.255.255 ,可以这样来看:

就是这样的一个模样!由于原本是二进制的方式来计算的,为了适应人类的思考方式,所以

经过十进制的表示之后,自然就是由 0 ~ 255 啰!好啦!从刚刚前面我们提到的『广播』的观

念来看,假设您的环境是『网络媒体共享』的环境且整个网域之中都以 IP 直接互相连接的话,

那么在第一次执行『软件广播』、或是因为主机找不到 ARP 表对应的 MAC 而执行的『软件广

播』、抑或者是在『物理广播』的传送与监听接段,哈哈!『ㄟ西郎!』因为每发出一个封包可能

需要 255x255x255x255 部计算机同时响应!那么很可能就会造成严重的封包碰撞或者是网络

停顿的状态!因此,设定 IP 的朋友们很聪明的将整个 IP 段分成 Network + Host ( 网域 + 主

机 ),在同一个 Network 当中,每一个 Host 都必须是独一无二的!何解?我们来以一个 C

Class 的例子来谈一谈好了!假设是 192.168.0.0 ~ 192.168.0.255 这个例子来谈:

前面的三组数字称为 network ,而最后面的一组数字就被称为是 host 啰!他有什么特异

功能呢?还记得软件广播与 ARP 表的说明吗?对啦!当你的主机发出要求讯息到你的网络媒

体上面时,由于是网络层的要求了,因此在讯息当中显示的目标 MAC 为 FF:FF:FF:FF:FF:FF,

所以其它主机会先接收该封包,并且检验里面的 IP 要求,如果不是在同一个网段内的,就会将

封包给他丢弃啦!而如果是同一网段内的话,就会给予响应!也就是说『如果在同一个网段之内,

所有的 IP 将不需要透过 router 而可以互相直接沟通!』在上面的例子当中,当我们以

192.168.0.0 ~ 192.168.0.255 的 IP 的计算机连在一起时,他们将可以直接进行资料传送!所

以呢,呵呵!当然就是很方便啰!( 请注意,在这个系统当中, network 不可变,而 host 则

是不可相同!否则相同的那两个 IP 将无法无法联机 ) !那么目前我们将整个 IP 简单的方类

成为三个网段,分别设定为所谓的 A, B, C class :

发现了吗?对啦! A Class 开头是0,所以起始的数字就是 0~126, B Class 是 10 开头,

所以就是由 128-191,同理得:

· 因此,我们刚刚那个 192.168.0.0 ~ 192.168.0.255 就是 C Class 啰!

· Netmask :

在所有的 IP 讯息当中,最不容易搞懂得就是 netmask 啦!为了不造成大家学习上面的困

扰,这里我们仅提出简单的『理解想法』来提供 Netmask 的用途,至于更详细的理论,请务必

前往 Study Area 取经呦!

就如同刚刚我们提到的,既然 A Class 前面一个数字是固定死的,后面三个数字是可变动

的,那么也就可以想成是,前面一个数字已经被用光了 ( 全部为 1 ) ,而后面的数字还保留者

( 全部为 0 ),所以就有点像这样:

好了,所以简单的来说,当使用 A Class 时,我们怎么知道他是 A Class 呢?当然要配合

netmask 的说明啰!那么假设 10.0.0.0 这个网段好了,他就可以想成是: 10.0.0.0/255.0.0.0 这

样的表示方式,也就是 IP/Netmask 的表示方式!好了,那么刚刚提到的 C Class 的

192.168.0.0 呢?我们要设定他是 C Class 的话,呵呵!那么自然就是

192.168.0.0/255.255.255.0 这样的表示方式啰!好啦!那么由于 A Class 是由八个 1 所组成

的,而 C Class 的前面 24 的数字也都是 1 ,为了省麻烦,我们还有另一种表示的方法:

192.168.0.0/24 !嘿嘿!很好记吧!反正前面 24 个数字是固定的嘛!就这样,所以 A Class 就

是 10.0.0.0/8 啰!很容易记忆吧!

· Network 与 Broadcast :

好了,刚刚我们也提到要分辨是否为同一个网段 ( network ) 还需要 netmask 的帮忙,那

么记录了 netmask 有什么好处呢?!还记得刚刚我们提过了吧,在『同一个网段当中,各主机

将可以直接进行资料沟通』对吧!假设在一个具有『共享媒体』的环境中,当我的计算机有资料

要传送出来的时候,我就会在『同一个网段』的计算机传送一个讯息,说『喂!我有资料要送出

来啰!你们停下来听一听,等我送出去之后你们再继续你们的工作!』呵呵!没错,这就是所谓

的『硬件广播』方式传递啦!而如果您常常需要使用到『软件广播』时,那么这个 netmask 假

如是 255.255.255.0 这个 C Class ,而我们依旧是使用 192.168.0.0 这个东西当作例子的话,

那么不难想象的到,我的封包要传送出去,就得向 255 个计算机查询并等待响应,光是这个查

询的时间可能就要造成这两百多部计算机停顿下来听你的封包的结果,唉~速度太慢了吧!!尤

其是如果是 B Class 的环境呢?嘿嘿!就有 255*255 部计算机要停顿下来监听你的需求....

哇!这样怎么可能造成高效率的网络环境呢?!所以啰『网络布线模式(媒体共享与否)』与

『netmask 的设定』就成了重要的课题了!

这里请特别留意:

network :同一个网段里面,HOSTID 都为零的地址;

broadcast :同一个网段里面,HOSTID 都为 1 的地址!

基本上,如果是便于记忆的话,您可以想象一下, network 就是同一网段的第一个 IP 地

址(因为 hostid 都为 0 ), Broadcast 则是最后一个 IP 地址(因为 hostid 都为 1 )。

那么为了解决一下『软件广播』的范围,( 由于如果软件广播的响应数量变少了,所以网络

效能会变的比较好一些!) 我们可以再进行 Subnet 的切割呀!好了,假设我要将刚刚我的

192.168.0.0 在切成两个子网域呢?可行吗?当然可行啰!刚刚不是说过吗?我们的 netmask

可以作为切割网域时候的确认用途,嗯!这个时候如果将已将占用了 24 个 bits 的 network 在

加一个 bit 的话,成为 25 bits ,那么会变成什么呢?

这样

一来,由于多花费了一个 bit 给 network 了,所以 network 分别是 192.168.0.0 及

192.168.0.128 这两个

呵呵!那么一来,当您的主机要进行『软件广播』的时候,接受该讯息的计算机数将可减少

一倍!哈哈!这样子一来区域内的网络流量就更棒啰!OK!这个观念给他用在实际的社会上,

我们的 ISP 不是常常在说『固定制 IP 的给八个固定的 IP 』吗?呵呵!那个就是在细分成最

后面的三个 host 啦!也就是 netmask 是 29 啰

11111111.11111111.11111000

因此 host 最大就是 111 最小就是 000 ,转成十进制就是 8 个啦!( 0 ~ 7 )这样说不知

道您了不了呢?

· Gateway:

再来又要头痛了!那么什么是 gateway 呀!?说的简单一点:在同一个 network 底下,

各 IP 可以直接进行沟通,但是在不同的 network 底下,则需要藉由 gateway 来进行资料的

传递!因此,当您的主机发现该封包的 IP 不在同一个网域内时,就会自动的将封包传送到

gateway 上面去啦!而由于你的主机与 gateway 是可以直接进行沟通的,所以 gateway 与 你

的主机『一定需要在同一个 network 当中』,这个就没有问题了吧!!

· 预留 IP ==> 保留 IP 与内部循环网络 :

还有一点也是众所皆知的,就是目前的网络的 IP 网段越来越少了!那怎么办?!呵呵!别

担心,当初规划的时候为了预防这个问题,已经有规划出几个网段来作为『内部网络的预留 IP 』

之用,那么这些 IP 网段有哪些呢?依旧分成三个 Class ,分别是:

o A Class:10.0.0.0 - 10.255.255.255

o B Class:172.16.0.0 - 172.31.255.255

o C Class:192.168.0.0 - 192.168.255.255

由于这三个 Class 的 IP 是预留使用的,所以并不能直接作为 Internet 上面的连接之用,

不然的话,到处都有相同的 IP 啰!那怎么行!网络岂不混乱?所以啰,这三个 IP 网段就只做

为内部网域的 IP 沟通之用,也就是说,他有底下的几个限制:

o 私有地址的路由信息不能对外散播 (就是内部网络咯);

o 使用私有地址作为来源或目的地址的封包,不能透过 Internet 来转送 (呵呵!当然啰!不然

网络会混乱);

o 关于私有地址的参考纪录(如DNS),只能限于内部网络使用(一样的原理啦!)

这个预留的 IP 有什么好处呢?呵呵!由于他的私有路由不能对外直接提供信息,所以呢,

你的虚拟网络将不会直接被 Internet 上面的 Cracker 所攻击!但是,当然啰,你也就无法以保

留 IP 来『直接上网』啰!所以相当适合一些尚未具有实体 IP 的企业内部用来规划其网络之设

定之用!否则当你随便指定一些可能是实体 IP 的位置来设计你的企业内部的网络设定时,万一

哪一天真的连上 Internet 了,那么启不是可能会造成跟 Internet 上面的 IP 相同了吗?!这可

不是闹着玩的,要整个将你原先规划的 IP 网段整个重新调整过呢!哈哈!累死了!那么万一你

又要将这些保留 IP 送上 Internet 呢?呵呵!这个简单,设定一个简单的防火墙加上 NAT

( Network Address Transfer ) 主机设定,你就可以透过 IP 伪装(不要急,这个在后面也会提到!)

来使你的保留 IP 的计算机也可以连上 Internet 啰(虽然不是真的直接,但是很像『直接上网』

呢!)

好了,那么除了这个预留的 IP 网段的问题之外,还有没有什么其它的怪东西呢?呵呵!当

然是有啦!不然我干嘛花时间来唬 XX 呢!?没错,还有一个奇怪的 A Class 的网域,那就是

lo 这个奇怪的网域啦 ( 注意:是小写的 o 而不是零喔! )这个 lo 的网络是当初被用来作为测

试操作系统内部循环所用的一个网域!简单的说,如果你没有安装网络卡在你的机器上面,但是

你又希望可以测试一下在你的机器上面设定的资料到底可不可以被执行,这个时候怎么办,嘿嘿!

就是利用这个所谓的内部循环网络啦!这个网段在 127.0.0.0/8 这个 A Class ,但是预设的主

机 ( localhost ) 的 IP 是 127.0.0.1 呦!所以啰,当你激活了你的 WWW 服务器,然后在你

的主机的 X-Window 上面执行 localhost 就可以直接看到你的主页啰!而且不需要安装网

络卡呢!测试很方便吧!此外,你的内部使用的 mail 怎么运送邮件呢?例如你的主机系统如何

mail 给 root 这个人呢?嘿嘿!也就是使用这一个内部循环啦!当要测试你的 TCP/IP 封包与

状态是否正常时,可以使用这个呦!( 所以哪一天有人问你:嘿!你的主机上面没有网络卡,那

么你可以测试你的 WWW 服务器设定是否正确吗?这个时候可得回答:当然可以啰!使用

127.0.0.1 这个 Address 呀!

好啦!那么说来的话,一组成功的网络设定需要哪些资料呢?呵呵!就是:

1. IP;

2. network;

3. netmask;

4. broadcast;

5. gateway

没错!就是这些资料!如果是 ADSL 拨接的话,这些资料都是由 ISP 直接给你的,那你

大可放心的直接使用,但是如果是固定制(如学术网络)的话,那么就得使用上面的设定啰!缺

一不可呢!以 192.168.0.0 这个 C Class 为例的话,那么就是:

1. 192.168.0.1~254;

2. 192.168.0.0;

3. 255.255.255.0;

4. 192.168.0.255;

5. 自订(依你的区网设定而异)