网络基础知识小结.docx
- 文档编号:7760126
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:12
- 大小:31.48KB
网络基础知识小结.docx
《网络基础知识小结.docx》由会员分享,可在线阅读,更多相关《网络基础知识小结.docx(12页珍藏版)》请在冰豆网上搜索。
网络基础知识小结
网络基础知识小结
之一:
理解IPv4地址的含义
网络没有地址就不能工作:
只要你发送某种东西,你就需要具体说明这个东西要发到哪里和从哪里发出来的。
要做一个高效率的网络工程师或者管理员,你需要全面理解IP地址:
你需要能够依靠自己思考。
如果发生了某些问题,很可能是某些地址分配不正确。
迅速查明故障所在位置对于英雄和普通人来说是有很大区别的。
普通人需要很长时间才能修复这个问题。
在下一篇文章介绍子网之前,我想以最原始的格式全面介绍一下IP地址。
这对于理解子网是非常重要的。
IPv4地址和32位数字
IP地址只是32位二进制数字。
但是,它们是重要的二进制数字:
你需要知道如何处理这些数字。
当处理子网掩码的时候,新的网络管理员一般会混淆他们没有记住的子网掩码。
所有这些子网掩码的总和是移动代表一个“网络”的地址部分与代表一台“主机”的部分之间的界限。
一旦你适应了这种关于IP地址和子网掩码的思维方式,你就掌握了IP地址的方法。
二进制非常简单。
在二进制中,数码只有0和1。
一个32位数码有32个0和1。
我们都适应十进制数码。
在十进制中,数码中的每一个位置都可以是0至9之间的任何一个数字。
在二进制中,每一个位置或者是一个0,或者是一个1。
下面是以二进制表示的255.255.255.0的地址。
11111111.11111111.11111111.00000000
为了方便,网络工程师一般把IP地址分为4个8位字段,或者称作8位字节。
在8位数字中,如果所有的字节都设置为1,那么,这个数码等于255。
在上面的地址中,11111111代表255,00000000代表0。
二进制发挥作用的方法是以二次方为基础的。
每一个字节代表一个不同的二次方。
从左手端开始,最有意义的数位,数字以下列方式组成:
2的次方
232
...
27
26
25
24
23
22
21
20
小数
4,294,967,296
...
128
64
32
16
8
4
2
1
这个结果是加法。
这就是说,如果所有的字节不变,你可以为每一个位置简单地加2的次方值。
例如,如果我们有一个8位数11111111,我们可以简单地加:
27+26+
25+24+23+22+21+20=255
现在我们设法理解一个不平凡的例子:
11110000
我们可以看到,在上述8位数中,有4位数是“固定的”。
把这些位置上的2的次方的值加起来,结果是:
27+26+25+24=240
就是这样简单。
如果你能把二进制数字转换为小数形式,你就很容易猜出子网掩码和网络地址。
我们将在下一篇文章中介绍这个问题。
现在,把重点集中在32位IPv4地址本身,有一些不同的类型需要了解。
所有的IP地址都可以在0.0.0.0至255.255.255.255的数字范围内。
但是,有些地址有特殊用途。
环回地址(loopback):
不离开主机的数据包(也就是说,这些数据包不会通过外部网络接口)
单播地址:
指定向一个IP地址发送的数据包。
例如:
2.2.2.2
多播地址:
被路由器复制并且最终由组播路由机制转发的数据包。
例如:
226.0.0.2
有限广播:
一个广播数据包,发送给每一台主机,仅限于本地子网。
例如:
255.255.255.255
定向广播:
发送到一个具体子网的数据包,然后进行广播。
例如,假如我们不在这个子网,使用的地址是:
1.1.1.255
还有一些IP地址的特殊情况,包括专用和组播地址。
在224.0.0.0至239.255.255.255之间的地址范围是为组播保留的。
在互联网上,任何低于这个范围的地址都可能成为被攻击的目标,除非为RFC1918保留的地址和为一些其它特殊用途分配的地址。
这些1918地址是专用地址,这就意味着互联网路由器不会发送这些地址。
这个地址范围包括:
•10.0.0.0-10.255.255.255
•172.16.0.0-172.31.255.255
•192.168.0.0-192.168.255.255
这些IP地址能够分配给本地的许多计算机,你愿意分配给多少台计算机都可以。
但是,在这些计算机访问互联网之前,这些地址必须翻译成能够全球路由的地址。
这个工作通常由网络地址转换(NAT)完成。
1918地址并不是惟一保留的地址空间。
但是,这些地址的定义为“本地站点”。
组播也有一个保留的地址范围。
这个地址范围并不是连接到互联网的:
224.0.0.0至224.0.0.255是组播“本地连接”的地址。
为了提供这个讲座的下一篇文章的必要的背景知识,我们需要确认大家都理解一个本地子网的概念。
一旦我们分配给一台计算机一个合法的地址,假如子网掩码设置正确,这台计算机就可以同本地网络对话。
子网掩码告诉这个操作系统哪一个IP地址在本地子网上,哪一个IP地址不在本地子网上。
我们希望与之对话的IP地址位于本地子网,那么,这个操作系统不用使用路由器就能够直接与它对话。
换句话说,操作系统能够使用ARP协议获得目标系统的物理地址并且开始对话。
IP地址和子网掩码的设置对于普通的24位网络来说是非常简单的。
标准的255.255.255.0子网掩码的意思是前三个八位字节是网络地址,最后的部分是为主机保留的。
例如,一台计算机被分配了10.0.0.1的IP地址和255.255.255.0的子网掩码(如果你用二进制书写的话是24位),这台计算机能够同10.0.0.1至10.0.0.255地址范围内的任何人对话。
小结
•IP地址只是32位数字。
子网掩码只是一个能够上下滑动这个IP地址字节的“盖子”,以便创建更大或者更小的网络。
•一个IP地址的网络部分告诉主机它的本地子网有多大,本地子网然后告诉主机它可以直接与谁对话。
•单向广播数据包发送到一台计算机,广播数据包发送到许多台计算机。
之二:
理解子网和CIDR
我们将学习有关子网和CIDR(无类域间路由)的知识。
我们希望能够以比某些图书提供的更容易管理的方式学习这些知识。
让我们先搞清楚一件事情:
在子网中是没有“类别”的。
在以前,网络分为A类、B类和C类。
这些网络只能分为相等的几部分,因此现在我们引入了可变长度子网掩码(VLSM)来解决这个问题。
老类别的C类网络是一个24位网络地址,B类网络是一个16位网络地址,A类网络是一个8位网络地址(如果你不清楚这个含义,请参阅“理解IP地址”那一讲)。
这就是你需要了解的有关网络类别的全部内容。
这些网络类别现在已经不存在了。
一个IP地址由一个主机部分和一个网络部分组成。
与子网掩码配合使用,你可以确定这个地址中哪一个部分是网络部分、这个网络有多大和网络开始的地方在哪里。
操作系统需要知道这些信息,以便确定本地子网使用什么IP地址以及哪些地址属于外网并需要一台路由器来访问那些地址。
相邻的路由器也需要知道这个子网有多大,以便这些路由器仅向这个方向发送合适的通信。
一个网络地址中主机部分与网络部分的划分完全是由子网掩码确定的。
CIDR(发音为“cider”的网络地址使用网络/子网掩码的风格。
这个IP地址/子网掩码的组合能告诉你很多信息:
网络部分/主机部分
0000000000000000/0000000000000000
上述32位字符串代表一个16位网络,因为这个地址中的16位被掩盖了。
在本文中的例子(和现实世界)中,某些子网掩码被反复提及。
这些子网掩码本身并不特殊。
子网地址就是一个简单的32位字符串,其中有任何位数被掩盖(MASK)。
不过,使用一个常用的子网掩码(如24位网络地址)开始研究对于记忆和理解关于子网的概念和划分非常有利。
让我们先看一下个标准的子网划分表,这个表中也包括了一些有趣的其它信息:
子网掩码位数
24位子网数量
一个子网的地址数量
对主机部分的位挪用
/24
1
256
0
/25
2
128
1
/26
4
64
2
/27
8
32
3
/28
16
16
4
/29
32
8
5
/30
64
4
6
/31
128
2
7
由于是二进制数字,这使一个31位网络有两个可用的IP地址。
设想一下这个子网:
2.2.2.0/31。
如果我们以二进制来表达这个网络地址,这个地址看起来是这样的:
00000010.00000010.00000010.00000000(2.2.2.0)
11111111.11111111.11111111.11111110(31)
子网掩码“掩盖”被网络部分使用的位数。
这意味着被掩盖的位数将用于网络地址部分。
可供主机地址使用的位数等于1。
这个数字可以是一个0或者一个1。
这就导致了两个可用的IP地址,就像上面的表格显示的一样。
另外,从上面的表格中可以看到,子网掩码(从主机部分挪用的)位数每增加一,子网中可用的地址数量就被削减一半。
现在让我们来分析“192.168.0.200/26”的广播地址、网络地址和掩码。
这个IP地址的掩码很简单:
为255.255.255.192(26位子网掩码的含义是主机用6位,2的6次方等于64,255减去64减1等于192)。
你能够在网络上查到子网地址表。
这个表还能为你列出所有的信息。
但是,我们更感兴趣地是教人们理解这里所发生的事情。
这个子网掩码可以告诉你,这个网络地址中惟一需要我们关心的部分是最后一个字节:
广播地址和网络地址的开头都是192.168.0。
搞清楚这最后一个字节的含义很像是为一个划分一个24位网络。
但是,如果这个提示对你没有帮助,你甚至不需要考虑这个问题。
每一个26位地址的网络都有64台主机。
这个网络的地址范围是从.0至.63、从.64至.127,从.128至.191,以及从.192至.255。
我们的地址192.168.0.200/26在.192至.255网段中。
因此,这个网络的地址是192.168.0.192/26。
这个广播地址就更简单:
192用二进制表示是11000000。
取最后的6位数(这些字节被掩码“关闭”了),把这些字节“打开”,你得到了什么?
192.168.0.255。
来看一下你是否已经理解了这一切,现在计算192.168.0.44/26的网络地址和广播地址。
(网络地址:
192.168.0.0/26;广播地址:
192.168.0.63)。
一开始这些地址是很难一下子就看出来。
这时制作一个表格会很有帮助。
如果你计算出你要每一个子网有6台主机(包括不能使用的网络和广播地址是8台主机),你就可以制作下面这个表格。
下面是2.2.2.0/29、2.2.2.8/29、2.2.2.16/29以及最后一个子网是2.2.2.249/29。
子网编号
网络地址
第一个IP
最后一个IP
广播地址
1
2.2.2.0
2.2.2.1
2.2.2.6
2.2.2.7
2
2.2.2.8
2.2.2.9
2.2.2.14
2.2.2.15
3
2.2.2.16
2.2.2.17
2.2.2.22
2.2.2.23
32
2.2.2.249
2.2.2.250
2.2.2.254
2.2.2.255
实际上,你很可能偶尔发现这样的网络。
这种网络划分为三个26位网络地址,并且最后一个26位网络地址分为两个27位网络地址。
如果你已经能够制作上述表格将会更容易理解这个问题。
这就是你需要知道的全部东西。
在16位网络地址和24位网络地址范围内使用更大的子网是比较复杂的。
但是,原则是一样的。
都是一个32位地址和一个子网掩码。
然而,一定要认识到子网的使用是受到某些限制的。
我们不能分配以10.1.0.32开头的26位网络地址。
如果我们把10.1.0.32/26的IP地址和子网掩码发送给大多数操作系统,操作系统只会认为我们发送的起始地址是10.1.0.0/26。
这是因为26位地址空间需要64个地址,而子网划分会从这个位数的自然分界线开始。
因些,如果在上述表格中,你把某子网从2.2.2.3/29开始?
实际的结果却是2.2.2.0/29。
这些复杂的问题确实需要一个简明的例子。
请记住,当你从这个网络主机部分提取另一位以便创建一个更大的子网掩码时,IP地址数量在一个子网内是如何被减少一半的。
这个原则在相反的情况下也发挥作用。
如果我们有一个拥有128台主机的25位网络地址,并且从网络(掩码)部分挪用一位,我们现在就有一个拥有256台主机的24位网络地址。
使用搜索引擎Google在网络上搜索“subnettable”(子网表),可以立即看到子网掩码与网络大小的关系。
如果一个16位网络地址拥有65535个地址,一个17位网络地址拥有的网络地址将减少一半,一个15位网络地址拥有的网络地址将提高一倍。
这是非常令人激动的。
实践,实践,再实践。
这是让你理解这个原理的好方法。
不要忘记,所有的问题都可以归结到网络的位数问题。
如果你要更多地了解子网,下一步应该是阅读一些路由协议。
小结
•CIDRIP地址有一个主机部分和一个网络部分。
而子网掩码指定网络部分使用的位数,地址中这些位将不会改变。
•子网是通过简单地在32位数字中上下移动网络与主机部分的分界来创建。
•如果你从已知的子网掩码开始学习,复杂的地址是很容易理解的。
一个17位网络地址的数量是一个16位网络地址的一半。
16位网络中有6.5万个地址。
之三:
理解OSI网络分层
OSI(开放系统互连)参考模型了。
网络协议栈具有重要的意义。
但是,还没有重要到你应该首先学习的程度。
许多所谓的网络课程都是从教你记住OSI模型中的每一个层的名字和这个模型中包含的每一个协议开始的。
这样做是不必要的。
甚至第5层和第6层是完全可以忽略的。
国际标准组织(ISO)制定了OSI模型。
这个模型把网络通信的工作分为7层。
1至4层被认为是低层,这些层与数据移动密切相关。
5至7层是高层,包含应用程序级的数据。
每一层负责一项具体的工作,然后把数据传送到下一层。
物理层(也即OSI模型中的第一层)在课堂上经常是被忽略的。
它看起来似乎很简单。
但是,这一层的某些方面有时需要特别留意。
物理层实际上就是布线、光纤、网卡和其它用来把两台网络通信设备连接在一起的东西。
甚至一个信鸽也可以被认为是一个1层设备(参见RFC1149)。
网络故障的排除经常涉及到1层问题。
我们不能忘记用五类线在整个一层楼进行连接的传奇故事。
由于办公室的椅子经常从电缆线上压过,导致网络连接出现断断续续的情况。
遗憾的是,这种故障是很常见的,而且排除这种故障需要耗费很长时间。
第2层是以太网等协议。
请记住,我们要使这个问题简单一些。
第2层中最重要的是你应该理解网桥是什么。
交换机可以看成网桥,人们现在都这样称呼它。
网桥都在2层工作,仅关注以太网上的MAC地址。
如果你在谈论有关MAC地址、交换机或者网卡和驱动程序,你就是在第2层的范畴。
集线器属于第1层的领域,因为它们只是电子设备,没有2层的知识。
第2层的相关问题在本网络讲座中有自己的一部分,因此现在先不详细讨论这个问题的细节。
现在只需要知道第2层把数据帧转换成二进制位供1层处理就可以了。
在往下讲之间,你应该回过头来重新阅读一下上面的内容,因为经验不足的网络管理员经常混淆2层和3层的区别。
如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。
IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。
有关路由的一切事情都在第3层处理。
地址解析和路由是3层的重要目的。
第4层是处理信息的传输层。
第4层的数据单元也称作数据包(packets)。
但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。
这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。
理解第4层的另一种方法是,第4层提供端对端的通信管理。
像TCP等一些协议非常善于保证通信的可靠性。
有些协议并不在乎一些数据包是否丢失,UDP协议就是一个主要例子。
现在快要到7层了,我们很胫赖?
层和第6层有些什么功能。
可以说,它们都是没有用的。
有一些应用程序和协议在5层和6层。
但是,对于理解网络问题来说,谈论这些问题没有任何益处。
请大家注意,第7层是“一切”。
7层也称作“应用层”,是专门用于应用程序的。
如果你的程序需要一种具体格式的数据,你可以发明一些你希望能够把数据发送到目的地的格式,并且创建一个第7层协议。
SMTP、DNS和FTP都是7层协议。
学习OSI模型中最重要的事情是它实际代表什么意思。
假如你是一个网络上的操作系统。
在1层和2层工作的网卡将通知你什么时候有数据到达。
驱动程序处理2层帧的出口,通过它你可以得到一个发亮和闪光的3层数据包(希望是如此)。
作为操作系统,你将调用一些常用的应用程序处理3层数据。
如果这个数据是从下面发上来的,你知道那是发给你的数据包,或者那是一个广播数据包(除非你同时也是一个路由器,不过,暂时不用担心这个问题)。
如果你决定保留这个数据包,你将打开它,并且取出4层数据包。
如果它是TCP协议,这个TCP子系统将被调用并打开这个数据包,然后把这个7层数据发送给在目标端口等待的应用程序。
这个过程就结束了。
当要对网络上的其它计算机做出回应的时候,每一件事情都以相反的顺序发生。
7层应用程序将把数据发送给TCP协议的执行者。
然后,TCP协议在这些数据中加入额外的文件头。
在这个方向上,数据每前进一步体积都要大一些。
TCP协议在IP协议中加入一个合法的TCP字段。
然后,IP协议把这个数据包交给以太网。
以太网再把这个数据作为一个以太网帧发送给驱动程序。
然后,这个数据通过了这个网络。
这条线路中的路由器将部分地分解这个数据包以获得3层文件头,以便确定这个数据包应该发送到哪里。
如果这个数据包的目的地是本地以太网子网,这个操作系统将代替路由器为计算机进行地址解析,并且把数据直接发送给主机。
这个过程确实简化了。
但是,如果你能够按照这个进程来做,并且理解数据包在每一个阶段都会发生什么事情,你就征服了理解网络的相当大的一部分问题。
当你开始讨论每一个协议实际上做什么的时候,一切都会变得非常复杂。
如果你刚刚开始学习,在你理解复杂的事情在设法完成什么任务之前,请你先忽略这些复杂的事情。
这样会提高你的学习热情。
小结
•与其苦钻OSI模型中的各协议不如好好理解路由器和主机如何利用网络栈传输数据
•2层数据称作帧,不包含IP地址。
IP地址和数据包在3层,MAC地址在2层。
•除非你是一台路由器,通过网络栈向上发来的数据是给你的,通过网络栈向下发送的数据是你发送的。
之四:
理解数据链路层
比IP和路由更重要的是什么?
当网络2层出现故障的时候,链路层的知识显得更重要。
许多人都没有掌握构建富有弹性的2层网络必须具备的生成树协议的知识。
当一台交换机出现问题时,除非主机直接连接到这台交换机。
否则不应该影响其它人的网络连接。
在我们深入介绍生成树协议之前,你必须要理解2层内部的工作原理。
2层是数据链路层,是以太网所在的层。
在这一层我们将讨论网桥、交换和虚拟局域网,要让一个网络运行起来,你实际上不需要学习以太网内部的工作原理,当然,如果你愿意学习的话,你可以利用其它的时间学习这方面的知识。
以太网交换机是一种“网桥”设备。
传统的网桥是这样工作的,一开始它接收以太网帧,然后,把它们发送到除接收端口之外的全部其它端口。
以太网交换机具允许允许双绞线连接的能力。
它渐学习哪一个端口连接了哪些MAC地址。
这时候,网桥就变成了一台学习设备,能够存储在一个端口上看到的全部的MAC地址表。
当一个帧需要发出时,网桥将查看在网桥表中的目标MAC地址,并且知道应该在哪一个端口发送这个帧。
这种仅向正确的主机发送数据的能力是交换技术中的一个巨大的进步,因为这可能显著减少通信冲突。
如果在网桥表中没有目标MAC地址,交换机就简单地把数据发送到全部端口。
这是首次发现主机到底在什么地方的惟一方法,因此,正如你看到的那样,把数据发送到全部端口是交换技术中的一个重要原则。
这个原则在路由中也非常必要。
2层相关的重要词汇包括:
单播分段(Unicastsegmentation):
网桥能够限制哪些主机能够收到单播帧(仅发送给一个MAC地址的帧)。
集线器只是简单地把一切数据发送给所有的端口,因此,单播分段本身可以节省大量的带宽。
冲突域(CollisionDomain):
冲突域是能够发生冲突的网段。
由于交换机采用了直通发送技术以及网卡全部采用双工技术,冲突已经不再发生了。
如果你在一个端口看到冲突,这就意味着有人意外地使用半双工的设备,或者是出现了其它的故障。
广播域:
发送和接收广播帧的网段。
在交换机产品几年后,网桥运行所采用的老式的存储和发送方式改变了。
新的交换机仅查看帧的目标MAC地址,然后立即把这个帧发送出去。
这种技术称作“直通发送”可以帧更快地直接通过交换机,因为这种方式对帧很少进行处理。
这种方式也暗示了一件重要的事情:
一台交换机不再检查CRC(循环冗余校验)以便查看数据包是否损坏。
这还暗示着不可能发生冲突。
另外,为了解决广播网段的问题,我们引入了虚拟局域网技术。
如果你不能向另一台机器发送广播帧,那些机器就不在你的本地网络中,你要把全部数据包发送给一台路由器,接着由路由器发送这些数据包。
实际上,这就是虚拟局域网做的事情:
虚拟局域网将网络划分为更多的子网。
你可以在一台交换机上设置虚拟局域网,然后向一个虚拟局域网分配端口。
如果主机A是虚拟局域网1,这台主机就不能与虚拟局域网2中的任何人通话,就像它们生活在完全没有网络连接的设备中一样。
不过需要注意,这毕竟只是虚拟的,如果交换机的MAC地址表空间已经被数据填满从而无法继续维护这个交换MAC地址表,为了继续维持通讯交换机将会把收到的所有数据转发到所有端口。
很多人将VLAN视为一种很好的安全措施,实际上任何一个半吊子黑客使用合适的工具都可以很快的攻克交换机的VLAN限制,事实上,当交换机出现MAC地址表溢出的情况时,它会变成一台单纯的HUB。
正如我们已经知道的那样,如果你无法使用ARP协议获得目标的MAC地址,那你必须要使用一台路由器。
这是不是意味着你必须在每个VLAN之间物理的连入一台路由器呢?
不需要,因为我们现在拥有3层交换机!
设想一个例子,如果你愿意,一台交换机可以配置48个端口。
这台交换机有两个虚拟局域网,虚拟局域网1采用1至24端口,虚拟局域网2采用25至48端口。
要把这两个虚拟局域网连接起来,你基本上有三种选择。
第一,使用一台路由器分别连接这两个虚拟局域网中的一个端口,并且分为VLAN中的主机配置正确的默认路由。
第二种方法是你还可以简单地在每个虚拟局域网中各自建立一个虚拟路由器接口(virtualinterfaces)。
在思科的设备,这种虚拟路由器接口可能称作“vlan1”和“vlan2”。
它们拥有自己的IP地址,而VLAN中的主机使用这些虚拟路由器接口作为自己的路由器。
在第三种方法使我们回到了2层概述的最终话题。
如果你拥有多台需要包含同样的虚拟局域网的交换机,你可以通过端口汇聚(trunk)的方式它们都连接起来。
这样,交换机A中的虚拟局域网1和交换机B中的虚拟局域网1就完全是一样的了。
这是采用802.1q标准完成的。
802.1q标准为将离开第一台交换机的数据包打上一个虚拟局域网的标识符。
思科把这些交换机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 基础知识 小结