首页 | 网页设计 | w3c标准 | flash动画 | 平面设计 | 经典文章 | 特约专题 | 资源下载 | 健康频道 | 重庆品牌网站 | 留言簿 | 
技术文章  资源下载 经典素材  社区论坛
   
 您现在的位置: vi设计在线 >> 经典文章 >> ccqvi动态 >> 网络应用 >> 正文  
  IP网络协议讲解手册         
[ 作者:佚名    转贴自:本站原创    点击数:1536    更新时间:2010/5/10    文章录入:diyi880

减小字体 增大字体

IP网络协议讲解手册


网络学和通信学中,协议就是定义过程的正式规格说明书,当传送或者接受数据的时候必须严格遵守。协议定义了网络数据传输的格式、时间选择、先后次序、错误检查。

  简单的说,上述说法意味着如果你想让两台或者两台以上的设备进行通信,它们就需要一个共同的协议或者说是一组规则来指导这些设备在什么时候、以什么方式进行相互之间会话。

  网络协议一般由RFC(requests for comments,请求注释,Internet标准草案定义组织)来定义,该组织中的IETF(Internet工程任务组,Internet Engineering Task Group)负责制定新的标准的或者协议。网络产品供应商(例如IBM、思科、微软、Novell)就根据这些标准并将这些标准在他们的产品中实现出来。

  已经出台的协议有成百上千个,将他们一一列举在这里是不可能的。所以我们现在仅仅介绍一下几个最常用的协议,而且,我们将在未来的文章中研究一些专业性更强的协议。

  下表展示了目前最流行的TCP/IP协议,同时我们用OSI模型来显示每个协议工作的网络层次。

  需要紧记在心的事情是,当你从最下边的物理层到最上边的应用层的时候,设备用于处理协议的时间将越来越长。

    IP协议介绍
   
    Internet协议(或者叫IP协议)可能是网络通信中最重要也是最著名的协议之一,它使我们能够唯一标识网络中(这里一般指企业内部的网络)或者Internet上的每一台电脑

    当将一台计算机连入网络中或者连入Internet中的时候,它将被分配一个唯一的IP地址。如果你是将它连入Internet中,IP地址的分配是由你所在的ISP(网络服务提供商)自动完成的,如果你是将其连入到一个局域网(LAN)中,那么你的IP地址可以是自动分配的,你也可以按照分配给你的 IP地址,在你的工作站上进行手动配置。

    如果你想真正的了解网络通信是如何工作的,那么深入了解IP协议就是不得不强调的事情,DNS(域名服务器)、FTP(文件传输协议)、SNMP(简单网络管理协议)、HTTP(超文本传输协议)及其很多其他的协议和服务都需要依赖IP协议才能正常发挥功能,所以你立刻就能看到IP协议将不仅仅是你工作站上的一个地址而已!

    现在,因为IP协议是一个含有丰富知识的学科,我们不可能在一两页的文章中涵盖其全部内容,所以决定将其分成几个不同的部分,以便于使其更易懂易学。

    二进制:比特与字节
   
    为了更好的理解IP协议,我们需要学习并理解二进制的相关知识,IP协议中的一个重要部分就是子网划分,而只有IP地址转化成二进制才能合理解释并正确理解子网划分。我们很多人都没有意识到,当我们在电脑上玩游戏、读书或者在屏幕上画画的时候,其实电脑根本无法理解文字、图像和声音这些东西。事实上,所有的电脑都仅仅能够理解0和1,我们在电脑屏幕上看见的那些东西其实都来源于对电脑能理解的数据流的转化,所以显出出来的这些信息对于我们来说才变得有用并有意义。

    二进制:比特与字节

    所有使用Internet的人总会在某个时候碰见“字节”(Byte)或者“比特”(Bit)术语,当你进行网络下载的时候它们会经常出现,同时你获取的速度指示也都以比特/每秒或者字节/每秒来显示。我们现在就来弄清楚比特(Bit)、字节(Byte)和千字节(Kbyte)究竟是什么意思,这样你就能理解它们了。要多简单就有多简单,一个比特就是一个二进制数的最小单元,就像我们说我们能够拥有的最小金额的钱就是一分一样,只不过比特是在二进制数中罢了。

    一个比特只能拥有一个值,不是0就是1,所以如果我给你一个值0,你可以说它就是一个比特,如果我给你两个(00),你就可以说它们是两个比特了。

    现在,如果你将八个0或者1组合在一起,例如0110 1010(在中间加一个空格是为了看起来清晰明了),你就可以说它们是八个比特或者说一个字节。好,这就对了,八比特就等于一字节,而不管它们都是全是0、全是1或者是由若干0和若干1混合而成。

    将这些字节加起来,到了1024个字节的时候,就获得了一个千字(Kbyte)了,为什么是1024而不是1000呢?这是由二进制的进位方式造成的,如果你学过数学,你就会知道上述结果是正确的。

二进制与十进制之间的转换
   
    那么,二进制与IP有什么关系呢?

    就像我在开始的介绍中解释的那样,计算机使用一种我们都能理解的信息方式来显示这些0或者1,IP协议也按照类似方式工作,虽然我们在98%的时间里看到都是十进制数,但实际上计算机将它们转换成二进制数后才能理解。

    上边的例子就出现了一个十进制的IP地址,它是我们更容易理解的,当把这个地址(192.168.0.1)转化成二进制数计算机就能理解了。你可以看到得到的二进制数很长,对于我们来说,记住四个不同的数字肯定比记住32个0或1要容易。

    现在,紧记我们前边说到的关于比特和字节的概念,你曾经听到过或者读到过人们常说一个IP地址是一个32比特地址吗?是的,就是这样,你现在可以知道为什么:

    所以,如果将上边所述总结一下,我们现在就知道什么是二进制数?什么是一个比特、字节或者千字节?以及二进制数与通常以十进制数表示的IP地址是什么样的关系?

    二进制与十进制之间的转换

    现在,我们开始考虑一下如何进行十进制和二进制之间的转换过程,这是一个非常重要的步骤,因为你将会发现,在处理一些比较复杂的子网的时候,你经常都需要进行这种转换,而且,一旦你这种掌握了这些基本概念,这种转换是不难的。下图就向你显示了一个IP地址向二进制的转换过程,请紧记我将要向你展示的方法对其他的转换都是适用的。我们现在打算将IP地址中(192.168.0.1)第一个八位比特转换成二进制,换句话说我们需要将“192”转换成二进制数,我们根本就不需要做任何负责的运算,仅仅需要做一些简单的加法:

    如果你已经阅读并已经理解本页的第一部分,你应该知道我们需要八个比特来创建一个八位位组(一个字节)或者说就是这个数字192。每个比特都代表一个永远不变的值,在图中我们在比特数字上方用紫色来显示这个值。然后我们采用这样一种方法来选择一些比特位,找出比特位所代表值加起来和我们需要的十进制数相等的比特位,这些位就是我们需要选择的比特位。

    如果你想利用数学术语来解释这种转换,你可能说每个位都是2的幂(2^),例如第8位就是2的7次方(2^7,十进制数为128)、第7位就是2的6次方(2^6,十进制数为64)、第6位就是2的5次方(2^5,十进制数为32)、第5位就是2的4次方(2^4,十进制数为16)、第4位就是2的3次方(2^3,十进制数为8)、第3位就是2的2次方(2^2,十进制数为4)、第2位就是2的1次方(2^1,十进制数为2)、第1位就是2的0次方(2^0,十进制数为1)。

    注意:当我们计算一个八位位组的十进制的时候(如上述例子中的192),比特位的位置参数并不是我们用来获得十进制数是所使用的2的幂次数,这就意味着Bit 1并不能转换成十进制的时候不能算成2^1=2)。

    在我们的例子中,我们使用192这个数,就如你所看到的那样,我们需要第8个比特位和第7个比特位,这就获得了所求的二进制数1100 0000,它就是十进制数192的二进制形式。你一定要记住每个比特位所代表的值是不能改变的。例如,第8位代表128,而第1位总是代表1,使用这种方法,你就会发现将十进制转换成二进制是非常简单的,它根本就不需要复杂的数学运算。

    现在我们来研究一下下一个八位位组,它的十进制形式是168:

    这里你可以再一次看到我们需要选择第8位、第6位和第4位(换句话说我们需要将这些位置都赋成“1”),这些位所代表值相加就能得到十进制数168,所有二进制数1010 1000就和十进制数168相等。

    不管你是从十进制数转换成二进制数,还是从二进制数转换成十进制数,都可以使用同一种方法,如果你能理解上述方法,你就应该能转换任何十进制数或者二进制数。

    这仅仅是这部分需要掌握的内容,你应该开始准备下一部分。

IP协议报头
   
    介绍

    就象所有其他的协议一样,IP协议在OSI模型占有一席之地,因为它是一个如此重要的网络以至于其他协议都依赖于它,所以IP协议需要先于其他协议放入OSI模型中,这就是你会在OSI模型的第三层发现它的原因(其它的应用协议基本上都在三层以上)。

   

IP报头

    
    当一个计算机接受到来自网络数据包的时候,它将首先在数据链路层(第二层)检查数据包中包含的目标机MAC地址,如果MAC地址于本机匹配,它才会将数据包传递给网络层。

    在网络层,计算机将检查数据包中的目标IP部分是否与本机的IP地址匹配(如果该数据包是一个广播数据包,则会无条件的通过网络层)。

    从那儿开始,数据包就被上层的按照要求进行处理。

    另一方面,计算机也可能产生一个数据包并将其送入网络,然后,当这个数据包沿着OSI模型向下传送到达网络层的时候,目标机的源主机(也就是本主机)的IP地址就被加入到IP头中去了。

    IP报头

    现在我们开始来分析IP协议报文头,你可以看到它都有分成那些值域以及这些值域的位置安排,在IP头里边你可以找到对于每个使用该协议的数据包都至关重要的目标机和源主机IP地址。

 

IP报头

IP报头


    
    值得一提的是第九个值域——“协议”值域,它包含一些重要的信息,一旦计算机将IP剥离,它将告诉该计算机将该数据包送到那里。如果你还记得,OSI模型中的第四层(我们叫它传输层)中存在着TCP协议和UDP协议,当数据包到达一个计算机并且被网络层下边各层进行了处理以后,就需要知道将该数据包送往上层的什么地方。这个值域就是告诉计算机将剩下的数据是送给传输层的TCP协议还是送给UDP协议。

    目标机IP地址是另一个非常重要的值域,该值域包含目标主机的IP地址。

    下一部分我们讨论IP地址的五个不同类别。

IP地址结构与分类
    
     介绍

    每个网络协议簇都会定义某种类型的寻址方式来标志网络中的计算机和子网,IP协议也不例外,IEEE(国际电气与电子工程师协会)已经为IP协议定义了一种地址分配策略,它决定了一个IP地址究竟可以取那些数值。

    与其说一个简单的IP地址是一个数字,还不如说它是一个划分,它可以标识工作站所在的网络和该节点的ID。

    IP地址结构与分类

    当IEEE的专家们坐下来挑选出将供所有电脑做为IP地址使用的数字的范围时,他们提出一个五个不同范围(或者我们叫它“类型”)IP地址的方案。当某人申请IP地址的时候,就根据他们网络的大小,找出在一个合适的特定类别中找出某个范围的IP地址分配给他。

    这五个类别,第一个类别为A类,最后一个类别为E类,前边三个类别(A类、B类和C类)被用来标识工作站、路由器、交换机以及其他设备,而最后两个类别(D类和E类)被保留做特殊用途。

    一个IP地址由32个比特位构成,这就意味着它有四个字节长,IP地址的第一个八位位组(或者说前八个比特、第一个字节)就足于决定该IP地址究竟属于那个类别。同时,根据IP地址归属的这个类别的属性我们就能决定IP地址的那个部分代表网络ID,那个部分代表主机ID。

    例如,如果我告诉你一个IP地址的第一个八位位组是“168”,利用上表,你将注意到它落入128-191的范围内,所以它就是一个B类IP地址。

    深入理解网络类别

    我们现在准备对这五个类别做一个更深入的研究,前边我们已经提到将根据公司网络的大小来决定如何分配给公司这些类别中的不同IP地址范围。例如,如果一个公司需要1000个IP地址,那么很可能分配给该公司一个B类地址而不是一个A类地址或者C类地址,因为A类地址往往分配给大型网络、B类地址分配给中型网络而C类地址分配给一个更小的网络

网络ID和主机ID

     网络ID和主机ID概念介绍

    我们需要理解网络ID和主机ID(或者说节点ID)这两个概念,因为它将帮助我们完全弄懂类别存在的原因,尽量简单的说,一个IP地址告诉我们两个部分有价值的东西:

    1)它告诉我们设备处在那个网络之中(由网络ID决定)

    2)它唯一标识网络中的该设备(由节点ID决定)

    完全可以将网络ID看成你所居住的城市,那么就可以将主机ID看成你所居住的街道,如果你有别人的城市名称和街道名称,你就能知道别人究竟住在那儿。与此种方式相同,网络ID告诉我们一个特定的主机处于那个网络中,而主机ID使我们能够在该网络中将该主机和其它属于该网络的主机分辨开来。

    下面这张图片能够帮助大家理解:

   

IP地址


     
     我猜想大家想问的下一个问题就是:我如何知道一个IP地址的那个部分是网络ID,那个部分是主机ID呢?

    这就是我们准备在下个部分回答的问题了。

    每个类别的网络ID和主机ID

    网络的类别帮助我们决定如何将这四个字节或者说32个比特的IP地址分成网络部分和主机部分。

    下面这张图片就显示了网络ID和主机ID因类的不同而不同。
    
   

<a网络ID和主机ID src="http://cisco.chinaitlab.com/UploadFiles_6776/200903/20090318113745874.jpg" border=0>


    
    所有的A类网络都有一个总共7比特的网络ID部分(第8位恒为0)和24个比特的主机ID部分,现在我们需要做的所有事情就是计算这7位比特将含有多少中可能性:2的7次方为128,所以A类地址可以包含128个大型网络,同时对于主机ID来说,2的24次方为16,777,216,所以每个A类网络中可以包含16,777,216个主机,但是这16,777,216个主机地址中有两个不能使用,一个用来作为该网络地址,另外一个用来作为该网络内的广播地址(查看本页末尾部分的表格)。这也是我们在计算某个网络中的“合法”主机数目总是减去2的原因,所以,如果我问你在一个A类网络中最多可以有多少个“合法”主机时,你应该回答16,777,214而不是16,777,216。

   

<a网络ID和主机ID src="http://cisco.chinaitlab.com/UploadFiles_6776/200903/20090318113746669.jpg" border=0>


    
    当我们申请其它的两个类别(B类地址和C类地址)的地址的时候,情形和申请A类地址相同,唯一不同的是,由于不同类别中用来标识网络和标识主机的地址值域不一样,造成每类地址所涵盖的网络数目以及每个网络中的最大主机数目个数不一样。

    B类网络中有14个比特位用来表示网络ID(第15位、第16位被分别设置成0和1而不能改变)和16个比特位来表示主机ID,这意味着可以拥有达到“2 的14次方等于16,384”个B类网络,每个B类网络中还可以拥有“2的16次方等于65,536”个主机,当然了,这其中包括两个不能用主机ID,因为他们被分别用来标识整个网络网络中的广播地址(查看本页末尾部分的表格)。所以,如果我问你在一个B类网络中最多可以有多少个“合法”主机时,你应该回答65,534而不是65,536。

 

<a网络ID和主机ID src="http://cisco.chinaitlab.com/UploadFiles_6776/200903/20090318113748989.jpg" border=0>


    
    C类网络中有21个比特位用来表示网络ID(第22位、第23位、第24位被分别设置成0、1和1而不能改变)和8个比特位来表示主机ID,这意味着可以拥有达到“2的21次方等于2,097,152”个C类网络,每个C类网络中还可以拥有“2的8次方等于256”个主机,当然了,这其中包括两个不能用主机ID,因为他们被分别用来标识整个网络网络中的广播地址(查看本页末尾部分的表格)。所以,如果我问你在一个C类网络中最多可以有多少个“合法”主机时,你应该回答254而不是256。

    现在,即使我们拥有三个类别的IP地址可以使用,这儿仍需要保留部分IP地址以备特殊使用,这并不意味着你不能将他们赋给一个工作站,但是,如果你真的将一个保留地址赋给了你的工作站,它将使你的网络出现问题。基于此,我们要避免使用这些IP地址。

    下边这张表显示了你应该避免使用的IP地址:

   

IP地址


     
     现在你应该保证自己都遵循上述规则,因为你如果不遵守,你就将碰到很多问题。

    重要提示:对于任何网络,不论类别和大小,都拥有一个网络地址(第一个地址,例如C类地址的192.168.0.0)和一个广播地址(最后一个IP地址,例如C类地址中的192.168.0.255),就如上述图标与注释中提高的一样,是绝对不能使用的。

    所以当我们计算一个网络的可用IP地址的时候,一直需要记住从该网络上的IP地址总数上减去2。

 上一篇文章: 揭秘MSN和QQ文件传输工作原理
 下一篇文章: 深入了解远程登录标准协议Telnet
发表评论】【告诉好友】【打印此文】【关闭窗口


技术文章  资源下载
经典素材  社区论坛
 中大型美容美发店老…[1182]
 重庆多达学习俄语培…[2468]
 重庆恒祥广告有限公…[2085]
 重庆市南方阻燃电线…[2496]
 重庆舞美灯光音响有…[3255]
 重庆德鼎滤油机有限…[2010]
 重庆民生建材有限公…[2446]
 重庆集元科技有限公…[4222]
 重庆倍润商贸有限公…[2088]
 重庆腾达展览有限公…[3155]
 帝一网络创始人宣…--[3278]
 重庆vi设计在线祝…--[2826]
 重庆帝一网络书生…--[2942]
 馋嘴鸭的起伏和经…--[3107]
 机器感觉“卡”的…--[3015]
 ActionScript3打造…--[6031]
 在ASP文件中读取H…--[7325]
 vi设计经典案例--[64330]
 帅到掉渣-爆笑版勇…--[7190]
 一个女孩写的经典…--[6967]
没有相关文章
 (只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    没有任何评论
设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 重庆网站建设 | 
版权所有: vi设计在线  © 2005-2018 网站备案序号:渝ICP备06003824号
技术支持:帝一网络(重庆网站建设专家)