0.说明bash
在学习下面的内容以前,应该对TCP/IP有一个最基本的认识,这个咱们在前面也已经屡次提到过,其实在不涉及网络数据的结构分析上,咱们只须要在内心对TCP/IP有以下一个概念便可:
网络
TCP/IP层次 | 重点 |
应用层 | 各类应用,如Web应用、QQ等 |
传输层 | 两种链接协议:TCP、UDPide 传输层端口号学习 |
网络层 | IP地址(用于寻找不一样的网络) |
数据链路层 | MAC地址(用于局域网中寻找不一样的主机) |
物理层 | 二进制数据串 |
这个表格的内容很重要,能够说,对于TCP/IP协议栈,是很是基础的,所以务必要记住。
spa
1.回顾与引言:为何须要IP地址计算机网络
咱们在前面说过,路由器它是一个三层的网络设备(交换机是二层网络设备,转发器是物理层网络设备),经过路由器,咱们能够把不一样的网络(局域网)链接起来,而这些不一样的局域网,可能有以太网、令牌环网等,以下:
3d
(须要注意的是,实际上令牌环网的结构确定不是像右边这样的,这里只是为了方便画图)blog
就像上面图所示,正是借助于路由器,咱们才可以将两个不一样的局域网络链接起来,而所谓的不一样的局域网络,指的是,这两个局域网络上的主机配置的IP地址的网络号是不同的,关于这个概念,咱们下面会慢慢提到,如今先有个认识就能够了。
接口
可是,到了21世纪的今天,令牌环网早已经被淘汰,现在咱们能够看到的绝大多数局域网的类型都是以太网,因此,在没有特别说明的状况下,之后咱们提到“局域网”这个名词时,指的都是“以太网”,因此,上面的图能够更改成以下:
ip
可是如今的一个疑问就是,既然都是以太网,那又为何说这两个局域网是不一样的局域网的呢?这到底哪里不一样呢?这其实在上面已经有简单的提过,也就是这两个局域网络上的主机配置的IP地址的网络号是不同的(如今不理解这句话也没有关系,由于尚未真正开始讲IP地址)。能够这么理解:有两我的,他们都是人,可是他们的身份标识不同,因此咱们说这是两个不一样的人,但本质上他们都是人;一样的道理,所谓两个不一样局域网,他们本质上都是局域网,只是这两个局域网的身份标识不同而已。
对于人,咱们能够用姓名、×××号等来做为身份标识,那么对于局域网,又该以什么来做为身份标识呢?
OK!也许你已经猜到了,就是IP地址!IP地址的其中一个重要功能就是能够区分不一样的局域网,固然,它还有另一个功能,那就是能够区分同一个局域网中的不一样主机(亲,一个局域网能够有不少主机的啊,固然要加以区分了)。
2.IP地址
(1)IP地址与点分十进制记法
计算机所能识别的都是二进制数,因此实际上的IP地址都是32位的二进制数,只不过是为了咱们人看起来比较容易区分,咱们就把它写成十进制的形式,这种方法咱们称之为点分十进制,以下:
应该很是好理解了,其实这一点懂不懂,就是考察你二进制到底有没有学好。OK,若是以为能够理解的话,请尝试作下面的几个转换:
二进制IP地址 | 点分十进制记法 |
11000000|10100011|00000001|00000001 | |
10.10.120.16 | |
01111111|00000000|00000000|00000001 |
用点分十进制的方法来表示IP地址是很是重要的一个知识点,务必掌握好,尤为是其中的转换关系,其实只要把二进制和十进制的转换关系弄清楚了,相信也不难。
(2)IP地址网络号与主机号
咱们前面已经提到,IP地址能够用来标识不一样的局域网,其实这是利用了IP地址中网络号的功能,而要标识局域网中的不一样主机,咱们须要使用IP地址的主机号来进行标识,那么也就是说,一个IP地址由两部分组成:网络号和主机号。咱们下面就举例来讲明。
一个IP地址,好比192.168.1.1/24,实际上它包含了两个方面的含义,一个是它表明了这个IP地址处在哪一个局域网中,而另外一个是它表明了这个局域网中的哪一个主机。在这里,分析以下:
能够看到上面的IP地址后面还有一个/24,这是什么意思呢?这是表示192.168.1.1这个IP地址的前24位表示的是网络号,在这里就是192.168.1,192.168.1(11000000|10101000|0000001)这24位就表明了一个局域网络,而最后的8位(00000001)就表明一台主机,经过这两种方式的结合,咱们就能够用一个IP地址来惟一标识一个局域网络中的一台主机,因此在不考虑其它通讯技术的前提下(如NAT技术等,后面会有课程介绍),互联网上全部主机的IP地址必定是惟一的。 继续来做一下拓展,对于192.168.1.1/24这个IP地址,还能够写成这样的形式:192.168.1.1 255.255.255.0。这样一表示的话,咱们能够把255.255.255.0称为掩码,它就是用来限定一个IP地址的网络号究竟是前面哪几位。这样来讲,255.255.255.0其实也是用点分十进制的方法来表示的,若是把它表示把二进制的话,那就是11111111.11111111.11111111.000000000,若是位是1,就表示所对应的IP地址的那些位就表示网络号,好比这里,255.255.255.0的前24位都是1,因此192.168.1.1这个IP地址的前24位就是用来表示网络号,而剩下的8位就用来表示主机号。 因此日后当咱们看到两个IP地址时,若是没有给出掩码,咱们是没有办法判断它们是否同属于一个局域网的,好比192.168.1.1和192.0.1.1,就这样给出两个IP地址,没有什么做用,由于根本就没有给出掩码! 关于网络号和主机号,是很是重要的概念,下面再来总结一下:
|
(3)网络地址和广播地址
网络地址
前面咱们用192.168.1.1/24这个IP地址来给出网络号和主机号的概念,再次强调,它表明了两种不一样的含义(这里要提问,其实答案上面已经有)。其实对于网络号192.168.1,这样看起来彷佛不太好看,因此习惯性的,咱们会把网络号后面的位数所有补0,而后再用来表示一个网络,好比192.168.1,二进制就是11000000|10100011|00000001,为了跟32位的IP地址表示方法相一致,咱们会习惯性地把后面的八位补0,也就是变成11000000|10100011|00000001|00000000,用点分十进制表示就是192.168.1.0,但正常状况下,咱们还须要再加上一个掩码,即192.168.1.0/24,OK,咱们如今就是用这样的方式来表示一个网络,是的,再强调一遍,192.168.1.0/24就表示一个网络,咱们就把这个地址称为网络地址。
提示: 网络地址=网络号+后面补0+掩码 |
若是这时我再给出一个网络地址192.168.2.0/24,咱们要判断192.168.1.0/24和192.168.2.0/24是否是同一个网络,只须要比较它们的前24位便可,显然它们表明了两个不一样的网络。很明显,用网络地址的方式就能够很是清晰地描述一个网络。
提示1: 网络地址是一种特殊的IP地址,它表示的不是一个主机,而是一个网络,因此在局域网中,网络地址是不容许分配给一台主机的。咱们能够作一个简单的实验。
Router>en Router#conf t Router(config)#int f0/0 Router(config-if)#no shu Router(config-if)#ip add 192.168.1.0 255.255.255.0 Bad mask /24 for address 192.168.1.0 核心提示2: 这里须要强调的是,其实咱们在给一个主机或一台设备配置IP地址的时候,其实确切地说,是给这台主机或这台设备的网络接口,也就是网卡接口(专业名词:网络适配器)配置一个IP地址,所以,在之后咱们提到要给一台设备配置一个IP地址时,指的是给这台设备的接口配置一个IP地址,这点尤为注意。 另外,咱们经常使用专业名词“网络节点”来描述一台网络设备,其实这个节点指的仅仅是这台设备的一个接口而已。(你能够看到,咱们给路由器的不一样接口配置了不一样的IP地址) |
广播地址
a.广播
以太网的发展有其丰富的历史背景,“广播”一词从以太网诞生之初就注定要跟随以太网一辈子,即使是到了以太网飞速发展的今天(速度已经上千兆、上万兆),但广播依然存在于以太网中。很显然,广播广泛存在于咱们目前的局域网中(由于如今的局域网几乎都是以太网),那么,所谓的广播是什么呢?
小学初中高中的时候,学校发放通知会经过广播(其实就是一个大喇叭,而后再有一个大大的扬声器)的形式发放,这样的话,全校的师生均可以听到广播的消息(其实这也是数据通讯方式的一种方式,只不过传递信息是以声波的形式进行的)。
那么以太网有没有相似这样的状况呢?就是在一台主机上发送数据,局域网中的全部主机均可以收到这个数据。以下:
其实只要发送一个广播包,局域网中的全部主机均可以收到这个数据。那么广播包又是怎么定义的呢?
提示:广播包 所谓的广播包,其实就是目的IP地址为广播地址的数据包(很好理解嘛,广播包,就是目的地址为广播地址的数据包)。 关于数据包中目的地址的知识,能够复习以往讲过的数据封装和解封装的知识。 |
b.广播地址
好了,如今来讲一下什么是广播地址。前面咱们提到192.168.1.0/24这个网络地址,广播地址,只要把网络号后面的0所有都变为1便可,也就是192.168.1.255/24,这个地址就是192.168.1.0/24这个网络中的广播地址。很显然,一个局域网中有且仅有一个广播地址。在192.168.1.0/24这个局域网中,只要咱们把数据发送给192.168.1.255/24这个IP地址,那么本局域中的全部主机都会收到这个数据。
实验:
要求你们也要亲自演示一遍。 |
(4)分类的IP地址
IP地址习惯上能够分为下面几类:
咱们只须要记住A类、B类、C类便可,即这些IP地址的掩码分别为255.0.0.0、255.255.0.0和255.255.255.0。
(5)VLSM(变长子网划分)
所谓VLSM,就是子网划分,不必弄得过高深,那么什么子网划分?
任务1:假定给你一个网段192.168.1.0/24(注意,咱们使用了网段这个词,这也是没有问题的),要你架设一个局域网,问你能够在你的局域网放置多少台主机?OK,很是好办,方案以下:
192.168.1.0/24这个局域网,除了192.168.1.0/24(网络地址)和192.168.1.255(广播地址)这两个地址不能够用外,其他均可以用,那么也就能够把2^8-2=254个IP地址分配给主机,也就是说,这个局域网中能够有254台主机。IP地址范围以下:
|
任务2:假定给你一个网段192.168.1.0/24,要你架设两个局域网,问你能够在你的局域网放置多少台主机?
提示:网络位向主机位借位 这下有点meng了吧!怎么架设呢?哈哈,其实这时候咱们只须要增长一位网络号便可,即原来是24位,如今变成25位,那么就至关于如今我把一个大的网段192.168.1.0/24分红了两个较小的网段192.168.1.0/25和192.168.1.128/25这两个较小的网段。每个网段就能够构建一个局域网,而每个局域网同时拥有本身的网络地址和广播地址。 |
所以,对于任务2,咱们把192.168.1.0/24分红192.168.1.0/24和192.168.1.128/25这两个网段,IP地址的分配方案以下:
网段 | 网络地址 | 广播地址 | IP总数 | 可用IP地址范围 | 可用IP地址数 |
192.168.1.0/25 | 192.168.1.0 | 192.168.1.127 | 2^7=128 | 192.168.1.1 ~ 192.168.1.126 |
2^7-2=126 |
192.168.1.128/25 | 192.168.1.128 | 192.168.1.255 | 2^7=128 | 192.168.1.129 ~ 192.168.254 |
2^7-2=126 |
上面这些内容很是重要,务必要掌握!其实若是看一些书籍的话,可能还会有更种各样的公式和各类各样的所谓技巧,其实说实在的,你只要把这些原理理解了,实在是没有必要是刻意记住这些公式和技巧,随着技术的慢慢积累,你会发现你天然而然地就在用这些技巧,可是你历来没有去刻意记过。(PS:但愿你们能够慢慢达到这种水平)
其实我本人以为,是否对计算机网络中的局域网(或者就说网络)有一个较为深入的理解,就看你会不会划分子网,若是会了,那么我相信你对局域网的理解会有一个很大的提高,不须要怀疑太多,接触的知识越多,你会发现若是你不懂子网划分,你会发现什么也作不了。
|
(5)CIDR
VLSM是网络号向主机号借位,而CIDR是主机号向网络号借位,前者能够造成各多的子网(局域网),但同时,每一个子网中的主机数据必然会减小;然后者则偏偏相反,即经过减小子网的数目来让一个局域网拥有更多的主机。
关于CIDR,不做要求,有兴趣能够本身查阅书籍或向我了解。
IP地址的内容到这里就算结束了,固然实际上IP地址的知识还有不少不少,但其实做为入门,能够理解这些内容就很是不错了。(PS:博主本人以前加了不少H3C的网络工程师群,经过交流发现,不少正在工做中的所谓工程师,连最基本的子网划分都不会!当须要划分子网时,他们居然要使用软件!!!难以想象吧?)
3.基本路由概念
在同一个局域网进行数据通讯,交换机只会把数据解封装到第二层,即数据链路层,而后查看其中的目的MAC地址,并从相应的接口发送出去。
而在两个不一样的局域网中,若是局域网1中的主机A要想把数据发送到局域网2中的主机B,那么这个数据必需要经过路由器(固然三层或多层交换机也能够,可是先不要考虑这种状况),由于咱们说,路由器是用来链接不一样的局域网的(一个接口链接一个局域网,不一样的接口链接不一样的局域网)。那么路由器怎么就知道要把数据从哪里发送出去呢?也许咱们都会想固然地觉得,路由器它这么聪明,它本身会选择呀!亲,路由器的确是很聪明,可是,若是咱们不告诉它数据应该往哪里发送,它是不知道下一步要作什么的。
路由器把一个网络中的数据交给另外一个网络,这一个过程,咱们就称之为路由,注意这里的“路由”是动词,而不是日常所说的那种所谓的家用小型路由器。
关于路由的概念,会在课堂上经过实验来进行说明。
|
4.下一步要作什么
经过对IP地址的学习,下一步咱们就须要了解数据在不一样的网络中究竟是如何转发的,也就是说路由器究竟是怎么帮咱们选路的(即路由),这也就是咱们要讨论的内容。
后面的课程,咱们将会以各类各样的实验来较为深刻地学习下面的这些技术:
静态路由技术
动态路由技术
RIP协议、RIPv2协议、OSPF路由协议
敬请关注!