二层网络通信

一、前言

基础交换机实现数据链路层数据帧的转发,它连接终端设备,在收到数据帧时进行MAC寻址及数据帧转发。每个交换机维护一个MAC地址表。

二、MAC地址

  1. MAC地址用于在网络中唯一标识一个网卡,它是全球唯一的。

  2. MAC地址由48bit构成,前24位由IEEE分配,后24位由不同生产厂家自己确定。

  3. MAC地址通常由12个16进制数表示。

三、以太网帧

1、格式

(1)Ethernet_ll 格式
(2)IEEE 802.3 格式
在这里插入图片描述

2. 数据帧分类

(1)单播以太网帧:目的MAC地址为单播MAC地址的帧。
(2)组播以太网帧:目的MAC地址为组播MAC地址的帧。
(2)广播以太网帧:目的MAC地址为广播MAC地址的帧。
在这里插入图片描述

三、相关概念

  1. 泛洪:是交换机的操作,将从某个接口收到的数据流向除该接口之外的所有接口发送出去。
  2. 交换机作用:根据MAC地址表和转发策略隔离冲突域。
  3. 冲突域:连接在同一共享介质上的所有节点的集合。
  4. 广播域:广播报文所能到达的整个广播范围称为二层广播域。

四、数据帧转发过程

  1. MAC地址表负责转发过程中的寻址。
  2. MAC地址表有生存期,记录的总是最活跃的主机的MAC地址。
  3. MAC地址表保存MAC地址和端口号,通过数据帧的源MAC学习,通过数据帧的目的MAC做查表转发。
  4. MAC地址表参考如下代码。
  5. 声明如代码中所示的链表数组。
struct mac
{
    int port;
    int mac;
    struct mac *next;
}

struct mac m_list[MAX_NUM];

3.转发过程

1. known: a mac list: m_list;
2. port t get a data frame;
3. parse src_mac and dst_mac;
4. if ([src_mac, t] not in m_list):
5.     add [src_mac, t] to m_list;
6. if (dst_mac in m_list):
7.     send frame to m_list[dst_mac].port;
8. else:
9.     flood;

五、总结

  1. 介绍了二层交换机的简单数据帧转发原理。
  2. 二层通信利用STP系列协议破除通信环路。
  3. 三层通信利用TTL破除通信环路。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值