一、ARP协议:
1.MAC地址:
又称为LAN地址,物理地址,以太网地址。MAC地址(Media Access Control Address),也称为物理地址或硬件地址,是由网络设备制造商生产时烧录在网卡的EPROM中。
(1)作用:用于局域网内标识一个帧从哪个接口出发,到达哪个物理相连的其他接口。每个网络设备的MAC地址都是唯一的,用于在局域网内标识和定位设备,MAC地址在数据帧的头部包含源MAC地址和目的MAC地址,确保数据能够准确地被传送到目标设备。
(2)结构:它由48位二进制数组成,通常表示为12个十六进制数字,每两个十六进制数之间用冒号、破折号或点分隔。对于局域网之中的每一块网卡都有一个唯一的MAC地址。其中高24位代表了生产厂商。
在以太网环境中,数据的传输所依懒的是MAC地址而非IP地址,而将已知IP地址转换为MAC地址的工作是由ARP协议来完成的。
2.ARP协议:
引入一个问题:在同一个LAN(局域网(LAN)是指在相对较小的地理区域内,通过传输介质连接的一组计算机及其外围设备的网络)之中如何在已知目的接口的IP地址前提下确定其MAC地址?
对于LAN之中的每一个IP节点(z主机、路由器)都会维护一个表:存储某些LAN节点的IP/MAC地址的映射关系<IP地址 ,MAC地址,TTL>,在这里的TTL标识这个映射关系的生存时间。
接下来我们看在同一个局域网之中的情况:
当A希望给同一个局域网内B发送数据报,B的MAC地址不在A的ARP表之中。A广播ARP查询分分组,分组之中含有B的IP地址其中MAC地址以:FFFFFFFFFFFF表示,LAN之中的所有节点都会收到ARP查询,随后B成功接收ARP查询分组,IP地址匹配成功,向A应答B的MAC地址(利用单播帧向A发送应答),A在其ARP表之中,缓存B的IP-MAC地址对,直至超时(超时以后再次刷新)
接下来我们看从一个LAN路由到另一个LAN:
即通过使用路由器两个节点实现通信。
①首先节点A构造IP数据报,其中源IP地址是A的IP地址,目的IP地址是B的IP地址。
②A构造链路层帧,其中源MAC地址是A的MAC地址,目的MAC地址是路由器R左侧接口的MAC地址,封装A到B的数据报。
③随后该帧从A发送到R,R接收帧,提取IP数据报,传递个给上层IP协议。
④R转发IP数据报(源和目的IP地址不变)
⑤R创建链路数据帧,其中源MAC地址为路由器的右侧R接口的MAC地址,目的MAC地址是B的MAC地址,封装A到B的数据报。
二、以太网:
以太网作为一种协议,它规定了如何在局域网中传输数据帧(Frames),这些帧包含了源地址、目的地址、数据和错误校验等信息。以太网协议定义了一系列软件和硬件标准,从而将不同的计算机设备连接在一起。在物理层,以太网使用双绞线、光纤或同轴电缆等介质进行数据传输。在数据链路层,以太网使用CSMA/CD(载波监听多路存取及碰撞检测)技术来管理对共享传输介质的访问。
1.内容:
NIC:以太网的NIC是网络接口卡(Network Interface Card)。网络接口卡,通常被称为网卡或局域网接收器,是一种硬件设备,用于将计算机连接到局域网(LAN)。它允许计算机通过网络与其他设备进行通信。NIC在OSI模型中主要涉及物理层和数据链路层。物理层负责数据的传输和接收,包括电信号和光信号的处理;数据链路层则负责数据帧的构建、错误检测和纠正等。
无连接:发送帧的网卡和接受帧1的网卡之间没有握手的过程。
不可靠:接受网卡不向发送网卡进行确认。差错帧直接丢弃,对于数据丢失则寄希望于高层协议TCP。
以太网的MAC协议:采用二进制制数退避算法的CSMA/CD
2.以太网的CSMA/CD算法:
①NIC从网络层接收数据报,创建数据帧,
②监听信道,如果NIC监听到信道空闲,那么就开始发送帧。如果监听到信道忙,则一直等待到信道空闲,然后发送帧。
③NIC发送完整个帧以后,而没有检测到其他节点的数据发送,则NIC确认帧发送成功。
④如果NIC检测到其他节点发送数据帧,则中止发送,并且发送堵塞信号。
⑤中止发送以后,NIC进入二进制指数退避:第m次连续冲突以后,取n=Min(m,10),随后我们从{0,1,2,.......二的n次减去1}之中随机选择一个数据K,随后NIC等待K*512比特的传输延迟时间,再返回第二步。
3.以太网的MAC帧的格式:
其中的目的地址和源地址均为6位的MAC地址。类型指出数据域携带的数据应该交给哪个协议实体处理,FCS:4字节,检验范围从目的地址段一直到数据段的末尾,采用32位的CRC。
三、交换机:
1.交换机的定义:
用于存储-转发以太网帧的数据链路层设备。交换机主要用于在同一局域网(LAN)内连接多台设备,负责将数据帧转发到目的设备。它通过设备的MAC地址来决定如何转发数据,确保高效地实现设备之间的通信。
2.交换机的工作方式:
交换机是一种网络设备,主要作用是在局域网中实现数据的转发和交换。交换机的工作过程如下:
1. 接收数据帧:交换机通过网卡接口接收到来自网络中的数据帧。
2. 解析目的MAC地址:交换机从数据帧中读取目的MAC地址,并将该地址与自己的MAC地址表进行比较。
3. 查找目的MAC地址:如果目的MAC地址在MAC地址表中已经存在,则交换机根据表中对应的端口将数据帧发送到目的主机。
4. 广播数据帧:如果目的MAC地址在MAC地址表中不存在,则交换机会将数据帧广播给所有连接的端口,以便寻找目的主机。
5. 学习源MAC地址:当交换机接收到数据帧时,会将来源MAC地址添加到MAC地址表中,以便下次转发时可以直接找到该地址。
6. 转发数据帧:根据目的MAC地址的查找结果,交换机将数据帧发送到目的主机所在的端口。
7. 更新MAC地址表:如果目的MAC地址不在MAC地址表中,则交换机会将源MAC地址和接收到数据帧的端口添加到MAC地址表中,以便将来转发时可以直接找到该地址。
通过以上工作过程,交换机可以实现数据的快速转发和交换,提高局域网的传输效率和安全性
3.对比交换机和路由器:
工作层次
- 路由器:工作在OSI模型的第三层(网络层)。
- 交换机:工作在OSI模型的第二层(数据链路层)。
数据转发
- 路由器:根据IP地址进行数据包的路由和转发。它通过查找路由表确定数据包的最佳路径,并将数据包发送到下一个路由器或目的网络。
- 交换机:根据MAC地址进行数据帧的转发。交换机会建立MAC地址表,将数据帧直接转发到目的设备的端口。
应用场景
- 路由器:主要用于连接不同的网络,如局域网和广域网之间的连接。常见于公司内部网络与互联网的连接,或者不同部门之间的网络连接。
- 交换机:主要用于同一网络内的多个设备之间的连接。例如公司内部的服务器、计算机、打印机等设备的连接。
- 总而言之:路由器主要用于不同网络之间的连接和路由选择,而交换机则专注于同一网络内的数据传输和管理。
四、VLAN 技术:
1.定义:
VLAN是一种将一个物理的LAN在逻辑上分割成多个广播域的通信技术。VLAN内的主机可以直接通信,而VLAN间的主机则不能直接互通,从而限制了广播报文的范围,提高了网络的性能和安全性。(因为有时候只要目的计算机能收到数据帧就万事大吉了。可是事实上,数据帧却传遍整个网络,导致所有的计算机都收到了它。如此一来,一方面广播信息消耗了网络整体的带宽,另一方面,收到广播信息的计算机还要消耗一部分CPU时间来对它进行处理。造成了网络带宽和CPU运算能力的大量无谓消耗)
2.原理:
首先,在一台未设置任何VLAN的二层交换机上,任何广播帧都会被转发给除接收端口外的所有其他端口(Flooding)。例如,计算机A发送广播信息后,会被转发给端口2、3、4。
这时,如果在交换机上生成红、蓝两个VLAN;同时设置端口1、2属于红色VLAN、端口3、4属于蓝色VLAN。再从A发出广播帧的话,交换机就只会把它转发给同属于一个VLAN的其他端口——也就是同属于红色VLAN的端口2,不会再转发给属于蓝色VLAN的端口。同样,C发送广播信息时,只会被转发给其他属于蓝色VLAN的端口,不会被转发给属于红色VLAN的端口。
就这样,VLAN通过限制广播帧转发的范围分割了广播域。上图中为了便于说明,以红、蓝两色识别不同的VLAN,在实际使用中则是用“VLAN ID”来区分的。
VLAN之间的路由:
根据目前为止学习的知识,我们已经知道两台计算机即使连接在同一台交换机上,只要所属的VLAN不同就无法直接通信。接下来我们将要学习的就是如何在不同的VLAN间进行路由,使分属不同VLAN的主机能够互相通信。
首先,先来复习一下为什么不同VLAN间不通过路由就无法通信。在LAN内的通信,必须在数据帧头中指定通信目标的MAC地址。而为了获取MAC地址,TCP/IP协议下使用的是ARP。ARP解析MAC地址的方法,则是通过广播。也就是说,如果广播报文无法到达,那么就无从解析MAC地址,亦即无法直接通信。
计算机分属不同的VLAN,也就意味着分属不同的广播域,自然收不到彼此的广播报文。因此,属于不同VLAN的计算机之间无法直接互相通信。为了能够在VLAN间通信,需要利用OSI参照模型中更高一层——网络层的信息(IP地址)来进行路由。
利用路由器实现:
在使用路由器进行VLAN间路由时,与构建横跨多台交换机的VLAN时的情况类似,我们还是会遇到“该如何连接路由器与交换机”这个问题。路由器和交换机的接线方式,大致有以下两种:
(1)将路由器与交换机上的每个VLAN分别连接
(2)不论VLAN有多少个,路由器与交换机都只用一条网线连接
最容易想到的,当然还是“把路由器和交换机以VLAN为单位分别用网线连接”了。将交换机上用于和路由器互联的每个端口设为访问链接(Access Link),然后分别用网线与路由器上的独立端口互联。如下图所示,交换机上有2个VLAN,那么就需要在交换机上预留2个端口用于与路由器互联;路由器上同样需要有2个端口;两者之间用2条网线分别连接。