一、数据链路层
位于网络层与物理层之间
1、功能
-- 数据链路的建立、维护与拆除
--帧包装、帧传输、帧同步
--帧的差错恢复
--流量控制
2.以太网
-- 以太网工作在数据链路层。我们平常使用的局域网就是以太网。
--以太网采用CSMA/CD避免信号的冲突。
-- CSMA/CD —— 带冲突检测的载波监听多路访问
--CSMA/CD工作原理:
-- 发送前先监听信道是否空闲,若空闲则立即发送数据;
--在发送时,边发边继续监听;
--若监听到冲突,则立即停止发送,等待一段随机时间(称为退避)以后再重新尝试
3.MAC地址
也称物理地址或网卡地址
-- 作用:在全球范围内,唯一的表示一个物理设备。一般将该地址称为物理地址,IP地址一般称之为逻辑地址。
在网络世界中,想要唯一的确定一个通信对象,必须同时使用网卡地址”+“IP地址”进行确定。
-- 表示:
例如:00D0.9719.7A5A
# 16 进制表示,共48bit;
# 前面24bit,为厂商代码;
# 后面24bit,为厂商给产品的编号;
--特殊的MAC地址
广播MAC地址:48bit全为1
未知MAC地址:48bit全为0,表示这个地址待填充
4.数据链路层的两个子层
-- 介质访问控制(MAC)子层
功能: (1)将上层交下来的数据封装成帧进行发送(接收时进行相反的过程,将帧拆卸);
(2)实现和维护介质访问控制协议,例如CMSA/CD;
(3)比特差错检测;
(4)MAC帧的寻址,即MAC帧由哪个站(源站)发出,被哪个站、哪些站接收(目的站)
-- 逻辑链路控制(LLC)子层
功能: (1)建立和释放数据链路层的逻辑连接;
(2)提供与上层的接口;
(3)给帧加上序号。
5、交换机的工作原理
--功能:交换机是用来连接局域网的主要设备,交换机能够根据以太网帧中目标地址智能的转发数据,因此交换机工作在数据链路层。交换机能分割冲突域,实现全双工通信
--工作原理:
(1)成表:查看源MAC
交换机在端口1收到数据帧,将其中的源MAC地址提取出来,与入端口形成对应关系。假如源MAC为A,那么此时形成的条目为:A----1;
(2)查表:查看目标MAC
交换机将收到的数据帧中的目标MAC地址提取出来,在交换机本地的转发表中进行查找对应的条目是否存在,如果存在,则将数据从对应的端口转发出去;反之,则将数据从除入端口以外的其他所有端口都发送出去(称为洪泛/泛洪flooding)。
也可以将交换机的工作过程理解为四个步骤:学习、广播、转发、更新。
--学习:MAC地址表是交换机通过学习接收的数据帧的源MAC地址来形成的;
--广播:如果目标地址在MAC地址表中没有,交换机就向除接收到该数据帧的端口外的其他所有端口广播该数据帧;
--转发:交换机根据MAC地址表单播转发数据帧;
--更新:交换机MAC地址表的老化时间是300秒,交换机如果发现一个帧的入端口和MAC地址表中源MAC地址的所在端口不同,交换机将MAC地址重新学习到新的端口。
二、常见的网络层协议
1.ARP(address resolution protocol--地址解析协议)
--作用:基于IP地址,获得对应的MAC地址。为了实现数据包的2层头部的快速封装;
--原理:发送方设备发送“ARP请求”,广播的方式;
目标方设备发送“ARP回应”,单播的方式。
--ARP的类型
普通ARP:知道对方的IP地址请求对方的MAC地址。
无故ARP:发送ARP的主机的IP地址与被请求IP地址是相同的。可以用于发现IP地址冲突。设备开机时会产生无故ARP报文,在开机以后也会周期性的发送该报文。
代理ARP:(可以理解为快递代签)回复请求报文的主机虽然不是我们要请求的目标IP地址所对应的主机,但是该主机知道目标IP如何到达。所以,该主机可以代替源目标IP主机进行ARP报文的回复。
--查看ARP表的命令:
show ip arp //在网路设备上查看ARP表
arp -a //在终端设备上查看ARP表
注:ARP表中的动态条目可以被后来的ARP条目覆盖掉,而静态条目是不可以被覆盖的。
2.ICMP(Internet Control Message Protocol--Internet控制报文协议)
ICMP 通过IP数据报传送,用来发送错误和控制信息。
ICMP定义了很多信息类型,例如:目的地不可达、TTL超时、信息请求、信息应答、地址请求、地址应答等。
ICMP检测双向通路的连通性。我们平时用的Ping命令就使用 ICMP协议。
三、路由器
1、路由
--定义:不同网段的主机进行通信,就是路由(相同网段的主机进行通信,就是交换)
--实现:通过路由器实现路由转发动作
--互通前提:PC必须配置网关,并且路由器的路由表必须得有路由条目。
2、路由器
--特点:每个端口都是属于不同的网段,所以可以分割广播域;
--路由器的主要工作任务: 识别数据包的目标IP地址;识别数据包的源IP地址(主要用于策略路由);在路由表中发现可能的路径;选择路由表中到达目标最好的路径;维护和检查路由信息。
--核心工作表:路由表。每个路由器都维护着一张路由表,这是路由器转发数据包的关键。每个路由表条目指明了到达某个子网或主机应从路由器的那个物理端口发送,通过此端口可到达该路径的下一个路由器的地址(或直接相连网络中的目标主机地址)。
--工作原理:路由器在任何一个端口上收到数据包以后,都会提取其中的目标IP地址,将目标IP地址与本地的路由表条目进行匹配。匹配成功,则在条目对应的端口转发出去;匹配失败,则丢弃数据包。匹配原则:依次查看路由表中的每个路由条目,查看每个路由条目时,首先查看路由条目中的掩码,然后查看目标IP地址中特定长度的位(掩码长度)是否与路由条目中的网络位相同,相同则匹配成功。
--静态路由:由管理员手动配置,为单向条目。通信双方的边缘路由器都需要指定,否则会导致数据包有去无回。
--缺省路由(默认路由):目标网络为0.0.0.0/0.0.0.0,可匹配任何目标地址。只有当从路由表中找不到任何明确匹配的路由条目时,才会使用缺省路由。
--路由条目进入路由表的前提条件:路由条目的下一条必须可达。
3.路由属性
--管理距离(AD-admain distance)
表示路由条目的稳定性,值越小越稳定,取值0~255
--度量值(metric)
表示通过该条目去往目标网段的距离,值越小越好。
如果有多个下一条,则进行比较。首先比较AD,值越小越好,然后比较Metric,值越小越好,如果两者都相同,则多个路由条目都放入路由表。
每一种类型的路由,都有一个默认的AD 值。直连默认是0,静态默认是1。
--浮动静态路由:配置一个管理距离更大的静态路由,作为应急出发的备份路径;在主路由有效的情况下,浮动路由不会出现在路由表中。作用:实现链路的备份,增强网络的健壮性。