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)。