|
阅读:561回复:0
TCP/IP基础2
4、子网屏蔽和IP地址
TCP/IP上的每台主机都需要用一个子网屏蔽号。它是一个4字节的地址,用来封装或“屏蔽”IP地址的一部分,以区分网络号和主机号。当网络还没有划分为子网时,可以使用缺省的子网屏蔽;当网络被划分为若干个子网时,就要使用自定义的子网屏蔽了。 缺省值 我们来看看缺省的子网屏蔽值,它用于一个还没有划分子网的网络。即使是在一个单段网络上,每台主机也都需要这样的缺省值。 它的形式依赖于网络的地址类型。在它的4个字节里,所有对应网络号的位都被置为1,于是每个八位体的十进制值都是255;所有对就主机号的位都置为0。例如:C类网地址192.168.0.1和相应的缺省屏蔽值255.255.255.0。 确定数据包的目的地址 我们说把屏蔽值和IP地址值做“与”的操作其实是一个内部过程,它用来确定一个数据包是传给本地还是远程网络上的主机。其相应的操作过程是这样的:当TCP/IP初始化时,主机的IP地址和子网屏蔽值相“与”。在数据包被发送之前,再把目的地址也和屏蔽值作“与”,这样如果发现源IP地址和目的IP地址相匹配,IP协议就知道数据包属于本地网上的某台主机;否则数据包将被送到路由器上。 注:我们知道“与”操作是将IP地址中的每一位与子网屏蔽中相应的位按逻辑与作比较。 建立子网 1、 子网简介 一个网络实际上可能会有多个物理网段,我们把这些网段称之为子网,其使用的IP地址是由某个网络号派生而得到的。 将一个网络划分成若干个子网,需要使用不同的网络号或子网号。当然了,划分子网有它的优点,通过划分子网,每个单位可以将复杂的物理网段连接成一个网络,并且可以: (1) 混合使用多种技术,比如以太网和令牌环网。(最流行的两种接口都支持了哦) (2) 克服当前技术的限制,比如突破每段主机的最大数量限制。 (3) 通过重定向传输以及减少广播等传输方式以减轻网络的拥挤。 实现子网划分 在动手划分子网之前,我们一定要先分析一下自己的需求以及将来的规划。一般情况下我们遵循这样的准则: (1) 确定网络中的物理段数量。(就是子网个数嘛) (2) 确定每个子网需要的主机数。注意一个主机至少一个IP地址。 (3) 基于此需求,定义:整个网络的子网屏蔽、每个子网唯一的子网号和每个子网的主机号 范围。 子网屏蔽位 在定义一个子网屏蔽之前,确定一下将来需要的子网数量及每子网的主机数是必不可少的一步。因为当更多的位用于子网屏蔽时,就有更多的可用子网了,但每个子网中的主机数将减少。(这和定义IP地址的概念正好相反) 2、定义子网屏蔽 将网络划分成若干个子网时,必须要定义好子网屏蔽。我们来看看定义的步骤: (1)确定物理网段也就是子网的个数,并将这个数字转换成二进制数。比如B类地址,分6 个子网就是110。 (2)计算物理网段数(子网数)的二进制位数,这里是110,所以需要3位。 (3)以高位顺序(从左到右)将这个反码转换成相应的十进制值,因为需要3位,就将主机号 前3位作为子网号,这里是11100000,所以屏蔽就是255.255.254.0。 3、定义子网号 子网号与子网屏蔽的位数相同。 (1)列出子网号按高到低的顺序使用的位数。例如子网屏蔽使用了3位,二进制值是 11100000。 (2)将最低的一位1转换成十进制,用这个值来定义子网的增量。这个例子中是1110,所 以增量是32。 (3)用这个增量迭加从0开始的子网号,直到下一个值为256。这个例子中就是w.x.32.1- w.x.63.254、w.x.64.1-w.x.127.254等。 4、定义子网中的主机号 从上面的例子看出,一旦定义了子网号,就已经确定了每个子网的主机号了。我们在做每次增量后得出的值表明了子网中主机号范围的起始值。 确定每个子网中的主机数目 (1)计算主机号可用的位数。例如在B类网中用3位定义了网络号,那么余下的13位定义 了主机号。 (2)将这个余下的位数也就是主机号转换为十进制,再减去1。例如13位值1111111111111 转换为十进制的话就是8191,所以这个网络中每个子网的主机数就是8190了。 实现IP路由 1、IP路由简介 路由就是选择一条数据包传输路径的过程。当TCP/IP主机发送IP数据包时,便出现了路由,且当到达IP路由器还会再次出现。路由器是从一个物理网向另一个物理网发送数据包的装置,路由器通常被称为网关。对于发送的主机和路由器而言,必须决定向哪里转发数据包。在决定路由时,IP层查询位于内存中的路由表。 (1)当一个主机试图与另一个主机通信时,IP首先决定目的主机是一个本地网还是远程网。 (2)如果目的主机是远程网,IP将查询路由表来为远程主机或远程网选择一个路由。 (3)若未找到明确的路由,IP用缺省的网关地址将一个数据传送给另一个路由器。 (4)在该路由器中,路由表再次为远程主机或网络查询路由,若还未找到路由,该数据包将 发送到该路由器的缺省网关地址。 每发现一条路由,数据包被转送下一级路由器,称为一次“跳步”,并最终发送至目的主机。若未发现任何一个路由,源主机将收到一个出错信息。 TCP/IP 完整的一套基础介绍 (1) 因为自己对TCP/IP也不是十分的熟悉,所以只能说这里讲一些TCP/IP的基础知识,IP网络的发展是人所共睹的,所以了解TCP/IP也是网管必备的知识了,这个基础我想还是讲些实际有用的东西,因为相关的教程也实在是多,但是有很多东西我们未必要了解,所以我想把一些实际有用的东西写给大家,希望能对你有用.相关的教程可参阅"自学TCP/IP" 以上算是序言. TCP/IP应该是个协议集,根据OS的七层理论,TCP/IP分为四层.分别是应用,传输,Interne和网络界面. 我们一般说TCP在传输层,而IP在Internet层. TCP/IP的应用程序包括我们平时经常用到的Ping,Telnet,Ftp,Finger等等 配置TCP/IP包括IP地址,子网掩码和缺省网关 正确检测TCP/IP的四个步骤:PIng 127.0.0.1(回环地址)如果通表示TCP/IP已经装入,Ping自己表明客户机正常(主要是网卡),Ping网关表示局域网正常,Ping路由外地址表示完全正常,当然你也可以直接进行第四步,一般来说没这么麻烦的,但理论是基础:-) IP地址是四段八位的二进制数组成的,IP分为A,B,C,D,E五类地址 A类高端为0,从1.x.y.z~126.x.y.z .B类高端为10,从128.x.y.z~191.x.y.z C类高端为110,从192.x.y.z~223.x.y.z D类高端为1110是保留的IP地址 E类高端为1111,是科研用的IP地址 其中255是广播地址,127是内部回送函数 以上算是开头,以后一点点增加,实在是现在还有很多事情等着去做,不好意思了 :-) TCP/IP 完整的一套基础介绍 (2) 以下内容是子网的设定 若公司不上Internet,那一定不会烦恼IPAddress的问题,因 为可以任意使用所有的IPAddress,不管是AClass或是BClass, 这个时候不会想到要用SubNet,但若是上Internet那IPAddress 便弥足珍贵了,目前全球一阵Internet热,IPAddress已经愈 来愈少了,而所申请的IPAddress目前也趋保守,而且只有 经申请的IPAddress能在Internet使用,但对某些公司只能申 请到一个CCLass的IPAddress,但又有多个点需要使用,那这 时便需要使用到Subnet,这篇短文说明Subnet的原理及如 何规划。 SubnetMask的介绍 设定任何网路上的任何设备不管是主机、PC、Router等 皆需要设定IPAddress,而跟随著IPAddress的是所谓的NetMask, 这个NetMask主要的目的是由IPAddress中也能获得NetworkNumber ,也就是说IPAddress和NetMask作AND而得到NetworkNumber,如下所 示 IPAddress 192.10.10.611000000.00001010.00001010.00000110 NetMask 255.255.255.011111111.11111111.11111111.00000000 AND ------------------------------------------------------------------- etworkNumber 192.10.10.011000000.00001010.00001010.00000000 NetMask有所谓的预设值,如下所示 ClassIPAddress范围NetMask A 1.0.0.0-126.255.255.255255.0.0.0 B 128.0.0.0-191.255.255.255255.255.0.0 C 192.0.0.0-223.255.255.255255.255.255.0 在预设的NetMask都只有255的值,在谈到SubnetMask时这个值 便不一定是255了。 在完整一组CClass中如203.67.10.0-203.67.10.255NetMask255.255.255.0, 203.67.10.0称之NetworkNumber(将IPAddress和Netmask作AND),而 203.67.10.255是Broadcast的IPAddress,所以这?两者皆不能使用,实 际只能使用203.67.10.1--203.67.10.254等254个IPAddress,这是以 255.255.255.0作NetMask的结果,而所谓SubnetMsk尚可将整组C Class分成数组NetworkNumber,这要在NEtMask作手脚,若是要将 整组CCLass分成2个NetworkNumber那NetMask设定为255.255.255.192, 若是要将整组CCLass分成8组NetworkNumber则NetMask要为 255.255.255.224,这是怎麽来的,由以上知道NetworkNumber是由IP Address和NetMask作AND而来的,而且将NetMask以二进位表示 法知道是1的会保留,而为0的去掉 192.10.10.193--11000000.00001010.00001010.10000001 255.255.255.0--11111111.11111111.11111111.00000000 -------------------------------------------------------------- 192.10.10.0--11000000.00001010.00001010.00000000 以上是以255.255.255.0为NetMask的结果,NetworkNumber是192.10.10.0, 若是使用255.255.255.224作NetMask结果便有所不同 192.10.10.193--11000000.00001010.00001010.10000000 255.255.255.224--11111111.11111111.11111111.11100000 -------------------------------------------------------------- 192.10.10.192--11000000.00001010.00001010.10000000 此时NetworkNumber变成了192.10.10.192,这便是Subnet。 那要如何决定所使用的NetMask,255.255.255.224以二进位表示 法为11111111.11111111.11111111.11100000,变化是在最後一组,11100000 便是224,以三个Bit可表示2的3次方便是8个NetworkNumber NetMask二进位表示法可分几个Network 255.255.255.0 11111111.11111111.11111111.000000001 255.255.255.128 11111111.11111111.11111111.100000002 255.255.255.192 11111111.11111111.11111111.110000004 255.255.255.224 11111111.11111111.11111111.111000008 255.255.255.240 11111111.11111111.11111111.1111000016 255.255.255.248 11111111.11111111.11111111.1111100032 255.255.255.252 11111111.11111111.11111111.1111110064 以下使用255.255.255.224将C Class203.67.10.0分成8组NetworkNumber,各 个NetworkNumber及其BroadcastIPAddress及可使用之IPAddress 序号NetworkNumberBroadcast可使用之IPAddress 1 203.67.10.0 203.67.10.31 203.67.10.1-203.67.10.30 2 203.67.10.32 203.67.10.63 203.67.10.33-203.67.10.62 3 203.67.10.64 203.67.10.95 203.67.10.65-203.67.10.94 4 203.67.10.96 203.67.10.127 203.67.10.97-203.67.10.126 5 203.67.10.128 203.67.10.159 203.67.10.129-203.67.10.158 6 203.67.10.160 203.67.10.191 203.67.10.161-203.67.10.190 7 203.67.10.192 203.67.10.223 203.67.10.193-203.67.10.222 8 203.67.10.224 203.67.10.255 203.67.10.225-203.67.10.254 可验证所使用的IPAddress是否如上表所示 203.67.10.115--11001011.01000011.00001010.01110011 255.255.255.224--11111111.11111111.11111111.11100000 -------------------------------------------------------------- 203.67.10.96--11001011.01000011.00001010.01100000 203.67.10.55--11001011.01000011.00001010.00110111 255.255.255.224--11111111.11111111.11111111.11100000 -------------------------------------------------------------- 203.67.10.32--11001011.01000011.00001010.00100000 其他的NetMask所分成的NetworkNumber可自行以上述方法自行推演出来。 Subnet的应用 使用Subnet是要解决只有一组CClass但需要数个NetworkNumber的问题,并不是解决IPAddress不够用的问题,因为使用 Subnet反而能使用的IPAddress会变少,Subnet通常是使用在总公司在台北,但分公司在台中,两者之间使用Router连线 ,同时也上Internet,但只申请到一组CCLassIPAddress,过Router又需不同的Network,所以此时就必须使用到Subnet,当然二 办公司间可以RemoteBridge连接,那便没有使用Subnet的问题,这点在此不讨论,所以在以上情况下的网路连线架 构及IPAddress的使用 |
|
|