本链接转载自:https://www.cnblogs.com/chensiqiqi/p/9163007.html
仅供自学使用。
一,交换机的基本原理
1.1 数据链路层的功能
(1)数据链路层负责网络中相邻节点之间可靠的数据通信,并进行有效的流量控制。
(2)数据链路层的作用包括数据链路的建立,维护与拆除,帧包装,帧传输,帧同步,帧的差错控制以及流量控制等。
(3)数据链路层在物理线路上提供可靠的数据传输,对网络层而言为一条无差错的线路。
1.2 以太网及其发展
以太网工作在数据链路层
1.3 MAC地址
(1)计算机联网必须的硬件是安装在计算机上的网卡
(2)通信中,用来标识主机身份的地址就是制作在网卡上的一个硬件地址。每块网卡在生产出来后,都有一个全球唯一的编号来标识自己,这个地址就是MAC地址,即网卡的物理地址
(3)MAC地址由48位二进制数组成,通常分成六段,用16进制表示,其中前24位是生产厂商向IEEE申请的厂商编号,后24位是网络接口卡序列号
(4)MAC地址的第8位为0时,表示该MAC地址为单播地址;为1时,表示该MAC地址为组播MAC地址。
(5)单播的发送方式为一对一,即一台主机发送的数据只发送给另一台主机。
(6)广播方式为一对多,即一台主机发送一个数据,在这个网段的所有主机都能收到
(7)组播方式介于单播和广播之间,也是一对多,但接收者不是网段上的全体成员,而是一个特定的组的成员。
1.4 以太网帧格式
以太网有多种帧格式,这里介绍最为常用的Ethernet 2的帧格式
类型 | 用途 |
---|---|
目的地址(DA) | 标识了帧的目的站点的MAC地址 |
源地址(SA) | 标识了发送帧的站点的MAC地址 |
类型 | 用来标识上层协议的类型 |
数据 | 封装了通过以太网传输的高层协议信息 |
帧校验序列(FCS) | 是从DA开始到数据域结束这部分的校验和。校验和的算法是32位的循环冗余校验法(CRC) |
1.5 了解交换机
(1)交换机的品牌众多,像Cisco,华为,H3C,TP-Link,神州数码,锐捷等厂家都生产了很多不同型号的交换机
(2)常见的Cisco的交换产品系列主要包括Cisco 2960系列,Cisco 3560系列,Cisco 4500系列和Cisco 6500系列
a)Cisco 2960是一款入门级交换机,常用于连接客户端主机实现10/100/1000兆位以太网互连
b)Cisco 3560是一款企业级交换机,可用于直接连接客户端主机,也可用于互连入门级交换机
1.6 交换机的工作原理
(1)交换机并不会把收到的每个数据信息都以广播的方式发给客户端,是由于交换机可以根据MAC地址智能地转发数据帧
(2)交换机存储的MAC地址表将MAC地址和交换机的接口编号对应在一起,每当交换机收到客户端发送的数据帧时,它就会根据MAC地址表的信息判断如何转发
1.6.1 MAC地址的学习
假设A主机发送数据帧(源MAC地址为00-00-00-11-11-11,目标MAC地址为00-00-00-22-22-22)到交换机的1号接口,交换机首先查询MAC地址表中1号接口对应的源MAC地址条目。如果条目中没有数据帧的源MAC地址,交换机就会将这个帧的源地址和收到该数据帧的接口编号(1号口)对应起来,添加到MAC地址表中
1.6.2 广播未知数据帧
如果交换机没有在MAC地址表中找到数据帧目的地址所对应的条目,交换机就无法确定该从哪个接口将数据帧转发出去,于是它被迫选用广播的方式,即除了1号口之外的所有接口都将转发这个数据帧。于是,网络中的主机B和主机C都会收到。
1.6.3 接收方回应消息
主机B会响应这个广播,并回应一个数据帧(源MAC地址为00-00-00-22-22-22,目标MAC地址为00-00-00-11-11-11),交换机也会将此帧的源MAC地址和接口标号(2号口)对应起来,添加到MAC地址表中
1.6.4 交换机实现单播通信
现在,主机A和主机B之间的通信不用借助广播了,因为MAC地址表中已经有它们的条目。主机A发送数据帧的目标地址为00-00-00-22-22-22,交换机会发现这个地址对应的接口标号为2,于是交换机将只向2号口转发数据帧
1.6.5 老化时间
(1)由于交换机MAC地址条目是动态的,所以它不会永远存在MAC地址表中,而是在300s(老化时间)后会自动消失
(2)但是如果在此期间,交换机又收到对应该条目MAC地址的数据帧,老化时间将重新开计时(重置300s)
二,IP地址概述与应用
2.1 IP地址的定义及分类
2.1.1 IP地址的格式
互联网上连接的网络设备和计算机都有唯一的地址,以此作为该主机在Internet上的唯一标识,称其为IP地址。如同我们写一封信,要标明信件的发信人地址和收信人地址,邮件人员通过该地址来投递信件一样,在计算机网络中,每个被传输的数据包也要包括一个源IP地址和一个目的IP地址。
IP地址由32位二进制数组成,如某台连接在互联网上的计算机的IP地址如下所示:
11010010.01001001.10001100.00000110
很显然,这些数字对于人来说不太容易记忆且可读性比较差,因此,人们就将组成计算机IP地址的32位二进制数分成四段,每段八位,中间用圆点隔开,然后将每八位二进制数转换成十进制数(这种形式叫做点分十进制)。这样,上述计算机的IP地址就变成了210.73.140.6
2.1.2 IP地址的分类
- [x] IP地址由两部分组成:网络部分和主机部分。
- 网络部分:用于标识不同的网络
- 主机部分:用于标识在一个网络中特定的主机
- [x] IP地址的网络部分由IANA(Internet地址分配机构)统一分配,以保证IP地址的唯一性。为了便于管理,IANA将IP地址分为A,B,C,D,E五类,按照二进制表示方法根据IP地址前几个比特位,可以判断IP地址属于哪类。目前在Internet上使用最多的IP地址是A,B,C这三类,IANA根据机构或组织的具体需求为其分配A,B,C类网络地址。具体主机的IP地址由得到某一网络地址的机构或组织自行决定如何分配。
- [x] 每个类别的IP地址的网络部分和主机部分都有相应的规则。
- A类地址:
(1)在A类地址中,规定第1个八位组为网络部分,其余三个八位组为主机部分,即A类地址=网络部分+主机部分+主机部分+主机部分。
(2)IP地址的前几个比特位称为引导位,对A类地址来说,它的第1个八位组的第1个比特位是0.因此它的第1个八位组的范围就是00000000~01111111.换算成十进制就是0~127,其中127又是一个比较特殊的地址,我们用于本机测试的地址就是127.0.0.1。
(3)由于A类地址的第一个地址块(网络号为0)和最后一个地址块(网络号为127)保留使用,即全0表示本地网络,全1表示保留作诊断用。因此A类地址的有效网络范围为1~126.全世界只有126个A类网络,每个A类网络可以拥有的主机数就是后面24个比特位的组合,为2的24次方个。
特别提示:
主机部分不能全为0或1,都是0代表的是网络ID,全为1代表的是本网络的广播地址,因此每个A类网络拥有的最大可用主机数为2的24次方-2.
A类地址适宜在大型网络中使用
- B类地址:
(1)在B类地址中,规定前两个八位组为网络部分,后两个八位组为主机部分,即B类地址=网络部分+主机部分+主机部分。
(2)B类地址中作为引导位的前两个比特位必须是10,因此它的网络部分的范围就是1000000.00000000~10111111.11111111。其中第1个八位组换算成十进制就是128~191.B类地址的有效网络范围是网络部分中后14个比特位的组合。为2^14个。每个B类地址拥有的最大主机数为2^16-2。B类地址适宜在中等规模的网络中使用。
- C类地址
(1)在C类地址中,规定前三个八位组为网络部分。最后一个八位组为主机部分。即C类地址=网络部分+网络部分+网络部分+主机部分。
(2)C类地址中作为引导位的前三个比特位必须是110.因此它的网路部分的范围就是11000000.00000000.00000000~11011111.11111111.11111111。其中第1个八位组换算成十进制就是192~223。C类地址的有效网络范围是网络部分中后21个比特位的组合。为2^21个。每个C类地址拥有的最大主机数为2^8-2。C类地址适合在主机数量比较少的中小型网络中使用。
特别提示:
D类地址是用于组播通信的地址,E类地址是用于科学研究的保留地址,它们都不能在互联网上作为节点地址使用。
2.1.3 Internet 上的合法IP地址
目前在Internet上只使用A,B,C这三类地址,而且为了满足企业用户在Internet上使用的需求,从A,B,C这三类地址中分别划出一部分地址供企业内部网络使用。这部分地址称为私有地址,私有地址是不能在Internet上使用的。私有地址包括以下三组。
- [x] 10.0.0.0 ~ 10.255.255.255
- [x] 172.16.0.0 ~ 172.31.255.255
- [x] 192.168.0.0 ~ 192.1678.255.255
2.1.4 子网掩码
前面学习了IP地址及其分类,下面来看一个与IP地址密切相关的概念---子网掩码。在网络中,不同主机之间通信的情况可以分为如下两种。
- [x] 同一个网段中两台主机之间相互通信
- [x] 不同网段中两台主机之间相互通信
特别提示:
具有相同网络地址的IP地址称为同一个网段的IP地址
如果是同一网段内两台主机通信,则主机将数据直接发送给另一台主机;如果不在同一网段内的两台主机通信,则主机将数据发送给网关,由网关再进行转发。
为了区分这两种情况,进行通信的计算机需要获取远程主机IP地址的网络部分以做出判断。
- [x] 如果源主机的网络地址=目标主机的网络地址,则为相同网段主机之间的通信
- [x] 如果源主机的网络地址!=目标主机的网络地址,则为不同网段主机之间的通信
因此对一台计算机来说,关键问题就是如何获取远程主机IP地址的网络地址信息,这就需要借助子网掩码(Netmask)。
下面介绍子网掩码的组成。与IP地址一样,子网掩码也是由32个二进制位组成。对应IP地址的网络部分用1表示,对应IP地址的主机部分用0表示。通常也是用四个点分开的十进制数表示。当为IP网络中的节点分配IP地址时,也要一并给出每个节点所使用的子网掩码。对A,B,C这三类地址来说,通常情况下都使用默认子网掩码。
- [x] A类地址的默认子网掩码是255.0.0.0
- [x] B类地址的默认子网掩码是255.255.0.0
- [x] C类地址的默认子网掩码是255.255.255.0
有子网掩码后,只要把IP地址和子网掩码做逻辑“与”运算,所得的结果就是IP地址的网络地址。
例如:给出IP地址192.168.1.189 子网掩码255.255.255.0。将IP地址和子网掩码进行“与”运算就可以计算出IP地址的网络ID。运算过程如下所述。
计算出网络ID就可以判断不同的IP地址是否位于同一网段了。
使用点分十进制的形式表示掩码。书写比较麻烦。为了书写简便,经常使用位计数形式表示掩码。位计数形式是在地址后加“/”,"/"后面是网络部分的位数,即二进制掩码中“1”的个数。例如:IP地址192.168.1.100。掩码255.255.255.0。可以表示成192.168.1.100/24。