IP网络协议
- 格式:pdf
- 大小:494.37 KB
- 文档页数:20
IP网络协议
中,这就是你会在OSI模型的第三层发现它的原因(其它的应用协议基本上都在三层以上)。
IP协议报头
IP网络分类
每个网络协议簇都会定义某种类型的寻址方式来标志网络中的计算机和子网,IP协议也不例外,IEEE已经为IP协议定义了一种地址分配策略,它决定了一个IP地址究竟可以取那些数值。
与其说一个简单的IP地址是一个数字,还不如说它是一个划分,它可以标识工作站所在的网络和该节点的ID。
IP地址结构与分类
网络ID和主机ID
疑难解答
关于IP协议我们在日常工作会遇到许多问题,如怎样保证IP地址的安全,怎样找到丢失的IP地址等等。
TechTarget专家会为我们推荐一些解决方案。
TCP/IP协议的安全方案应用
如何找到接入点丢失的IP地址
多个路由接口会影响IP地址数量吗?
开放式系统互联(OSI)模型与TCP/IP协议有什么区别?
IP协议介绍
Internet协议(或者叫IP协议)可能是网络通信中最重要也是最著名的协议之一,它使我们能够唯一标识网络中(这里一般指企业内部的网络)或者Internet上的每一台电脑。
当将一台计算机连入网络中或者连入Internet中的时候,它将被分配一个唯一的IP地址。
如果你是将它连入Internet中,IP地址的分配是由你所在的ISP(网络服务提供商)自动完成的,如果你是将其连入到一个局域网(LAN)中,那么你的IP地址可以是自动分配的,你也可以按照分配给你的 IP地址,在你的工作站上进行手动配置。
如果你想真正的了解网络通信是如何工作的,那么深入了解IP协议就是不得不强调的事情,DNS(域名服务器)、FTP(文件传输协议)、SNMP(简单网络管理协议)、HTTP(超文本传输协议)及其很多其他的协议和服务都需要依赖IP 协议才能正常发挥功能,所以你立刻就能看到IP协议将不仅仅是你工作站上的一个地址而已!
现在,因为IP协议是一个含有丰富知识的学科,我们不可能在一两页的文章中涵盖其全部内容,所以决定将其分成几个不同的部分,以便于使其更易懂易学。
(来源:TechTarget中国)
二进制:比特与字节
为了更好的理解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呢?这是由二进制的进位方式造成的,如果你学过数学,你就会知道上述结果是正确的。
(来源:TechTarget中国)
二进制与十进制之间的转换
那么,二进制与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相等。
不管你是从十进制数转换成二进制数,还是从二进制数转换成十进制数,都可以使用同一种方法,如果你能理解上述方法,你就应该能转换任何十进制数或者二进制数。
这仅仅是这部分需要掌握的内容,你应该开始准备下一部分。
(来源:TechTarget中国)
IP协议报头
介绍
就象所有其他的协议一样,IP协议在OSI模型占有一席之地,因为它是一个如此重要的网络以至于其他协议都依赖于它,所以IP协议需要先于其他协议放入OSI模型中,这就是你会在OSI模型的第三层发现它的原因(其它的应用协议基本上都在三层以上)。
当一个计算机接受到来自网络的数据包的时候,它将首先在数据链路层(第二层)检查数据包中包含的目标机MAC地址,如果MAC地址于本机匹配,它才会将数据包传递给网络层。
在网络层,计算机将检查数据包中的目标IP部分是否与本机的IP地址匹配(如果该数据包是一个广播数据包,则会无条件的通过网络层)。
从那儿开始,数据包就被上层的按照要求进行处理。
另一方面,计算机也可能产生一个数据包并将其送入网络,然后,当这个数据包沿着OSI模型向下传送到达网络层的时候,目标机的源主机(也就是本主机)的IP地址就被加入到IP头中去了。
IP报头
现在我们开始来分析IP协议报文头,你可以看到它都有分成那些值域以及这些值域的位置安排,在IP头里边你可以找到对于每个使用该协议的数据包都至关重要的目标机和源主机IP地址。
值得一提的是第九个值域——“协议”值域,它包含一些重要的信息,一旦计算机将IP 剥离,它将告诉该计算机将该数据包送到那里。
如果你还记得,OSI模型中的第四层(我们叫它传输层)中存在着TCP协议和UDP协议,当数据包到达一个计算机并且被网络层下边各层进行了处理以后,就需要知道将该数据包送往上层的什么地方。
这个值域就是告诉计算机将剩下的数据是送给传输层的TCP协议还是送给 UDP协议。
目标机IP地址是另一个非常重要的值域,该值域包含目标主机的IP地址。
下一部分我们讨论IP地址的五个不同类别。
(来源:TechTarget中国)
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类地址分配给一个更小的网络。
(来源:TechTarget中国)
网络ID和主机ID
网络ID和主机ID概念介绍
我们需要理解网络ID和主机ID(或者说节点ID)这两个概念,因为它将帮助我们完全弄懂类别存在的原因,尽量简单的说,一个IP地址告诉我们两个部分有价值的东西:
1)它告诉我们设备处在那个网络之中(由网络ID决定)
2)它唯一标识网络中的该设备(由节点ID决定)
完全可以将网络ID看成你所居住的城市,那么就可以将主机ID看成你所居住的街道,如果你有别人的城市名称和街道名称,你就能知道别人究竟住在那儿。
与此种方式相同,网络ID告诉我们一个特定的主机处于那个网络中,而主机ID使我们能够在该网络中将该主机和其它属于该网络的主机分辨开来。
下面这张图片能够帮助大家理解:
我猜想大家想问的下一个问题就是:我如何知道一个IP地址的那个部分是网络ID,那个部分是主机ID呢?
这就是我们准备在下个部分回答的问题了。
每个类别的网络ID和主机ID
网络的类别帮助我们决定如何将这四个字节或者说32个比特的IP地址分成网络部分和主机部分。
下面这张图片就显示了网络ID和主机ID因类的不同而不同。
所有的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。
当我们申请其它的两个类别(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。
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地址:
现在你应该保证自己都遵循上述规则,因为你如果不遵守,你就将碰到很多问题。
重要提示:对于任何网络,不论类别和大小,都拥有一个网络地址(第一个地址,例如C类地址的192.168.0.0)和一个广播地址(最后一个IP地址,例如C类地址中的192.168.0.255),就如上述图标与注释中提高的一样,是绝对不能使用的。
所以当我们计算一个网络的可用IP地址的时候,一直需要记住从该网络上的IP地址总数上减去2。
(来源:TechTarget中国)
TCP/IP协议的安全方案应用
问:您能为TCP/IP协议的各层推荐一些安全方案吗?
答:我恐怕不能为TCP/IP协议的各层推荐安全方案,但我要说的是安全方案可以放在多层而不仅仅是一层中。
安全的核心概念是深度防御,也就是说我们应该在各层就进行安全保护。
在低层你可以应用WEP、WPA、802.1x乃至EAP。
在IP地址的高层可以应用IPSec。
IPSec(IP 安全协议)仅仅是IPv4的一个可选部分,但IPv6是必须要执行IP安全协议的。
进入更高的层次还会有SSL和TLS协议。
在顶层,即应用层会应用PGP代替明码电文,SSH/SFTP代替FTP或者是DNS安全协议。
(作者:Michael Gregg来源:TechTarget中国翻译:吴迪)
如何找到接入点丢失的IP地址
问:我在连接的网络上找到了一个接入点,这个接入点能让客户正常接入。
然而,最先接入这个接入点的用户却找不到IP地址。
现在我需要找到这个IP地址。
我试了network magic和net-stumbler,但是这两个软件都没有找到接入点。
但是当我扫描我的计算机时,我能够找到SSID并可以连接上。
答:可以按照下面的方法操作:
如果这个接入点正从一个DHCP中获得一个IP地址(从其他设备中获得IP地址也是一样的),使用如Angry IP扫描软件等工具就可以找到IP地址。
你需要扫描子网络中的所有IP地址。
如果这个接入点正作为一个路由器在工作并提供DHCP服务让客户连接到它,这样就很简单了,它会在客户的配置中显现出来。
可以在客户机器上使用IPconfig/all命令看到DHCP服务器的所有的细节和默认的网关IP地址的信息。
根据接入点的模式和厂商你总能发现默认的IP地址,因为IP地址是标准的。
在子网中扫描HTTP port 80。
接入点的网络界面在port80中运行(除非换到其他端口),你应该能够识别出来。
如果识别不出来,使用端口扫描软件扫描子网中的所有端口。
(作者:Puneet Mehta来源:TechTarget中国翻译:吴迪)
多个路由接口会影响IP地址数量吗?
问:有人告诉我如果一个路由器有四个接口(如RJ-45 Jacks),那么它就会有四个IP地址。
这是真的吗?您能详细说明一下路由器的IP地址吗?
答:路由器通常有多种接口,包括快速以太网接口(RJ-45)。
象Cisco这样的厂商会为路由器提供多种接口,以满足不同情况的需求,那样就不会因为有新需要而更换路由器了。
路由器的每一个接口几乎都与一个IP地址相匹配。
一些路由接口象你所提到的快速以太网接口那样,能够与一到两个IP地址相匹配。
这样的话,一个接口就可以支持两个局域网。
例如,快速以太网接口可以匹配连个IP地址192.168.0.1和192.168.1.1,也就是说这两个网址(192.168.0.1和192.168.1.1)都可以找到这个路由器。
(作者:Chris Partsenidis来源:TechTarget中国翻译:吴迪)
开放式系统互联(OSI)模型与TCP/IP协议有什么区别?
问:除了层的数量之外,开放式系统互联(OSI)模型与TCP/IP协议有什么区别?
答:开放式系统互联模型是一个参考标准,解释协议相互之间应该如何相互作用。
TCP/IP协议是美国国防部发明的,是让互联网成为了目前这个样子的标准之一。
开放式系统互联模型中没有清楚地描绘TCP/IP协议,但是在解释TCP/IP协议时很容易想到开放式系统互联模型。
两者的主要区别如下:
•TCP/IP协议中的应用层处理开放式系统互联模型中的第五层、第六层和第七层的功能。
•TCP/IP协议中的传输层并不能总是保证在传输层可靠地传输数据包,而开放式系统互联模型可以做到。
TCP/IP协议还提供一项名为UDP(用户数据报协议)的选择。
UDP不能保证可靠的数据包传输。
(作者:Dwight Barker来源:TechTarget中国)。