首页 > 其他分享 >数据链路层设备

数据链路层设备

时间:2023-10-22 21:45:14浏览次数:28  
标签:地址 接口 mac 交换机 数据 以太网 链路层 设备

目录

数据链路层设备

1. 以太网MAC地址

用来识别一个以太网上的某个单独设备或一组设备,由48位二进制数(12位16进制数)组成



2. 以太网帧格式

image-20231017152404347

前导码:区分物理层和数据链路层,前导码前面是物理层,前导码后面是数据链路层,占7个字节

帧起始定界符:确定帧起始的符号,在前导码中,占一个字节

目的地址:目的mac地址,占6个字节

源地址:源mac地址,占6个字节

类型:用来标识上层(网络层)协议的类型,例如0800H表示IP协议,占2个字节

数据:实际数据,从46-1500字节之间,(MTU,最大传输单元)

帧校验序列:差错校验位,用来检测数据的完整性,占4个字节;在linux中,“md5sum 文件名”验证文件传输的完整性



3. 交换机工作原理

3.1 交换机工作过程

image-20231017161310925

交换机工作过程

交换机里有一个mac地址表,初始状态下为空

当PC1发送数据帧给PC2时

数据帧格式为

源mac:11-11

目标mac:22-22

当数据帧经过交换机时,交换机会自动学习源mac地址和接口,并保存在mac表中;接着,交换机会去mac表中查找目的mac的出口,如果没有找到,就会对所有接口进行广播

当PC2收到广播后,会回复数据帧,其他主机则不会接收

PC2回复的数据帧格式为

源mac:22-22

目的mac:11-11

当PC2的数据帧经过交换机时,交换机会自动学习源mac 22-22和对应的接口,下次PC1和PC2的通信就是单播通信

3.2 交换机四大功能

  • 学习功能:当数据帧经过交换机时,交换机会自动学习数据帧中的源mac地址
  • 转发功能:当数据帧经过交换机时,交换机会从mac表中查找数据帧中的目的mac,如果查找成功,数据帧会从相应的接口转发数据
  • 查询功能(泛洪):当交换机没有在mac表中查找到目的mac时,交换机会从所有接口转发数据帧
  • 刷新功能:交换机会定期刷新一次mac表

3.3 交换机mac表

mac表有两列,一列为mac地址,一列为mac地址对应的接口



4. 以太网接口的工作模式

单工:两个数据之间只能沿单一方向传输数据,例子:广播,电视

半双工:两个数据之间只能限时双向传输数据,例子:对讲机

全双工:两个数据之间可以随时蒜香传输数据,例子:打电话



5. 交换机的console接口

将协议改为:serial

端口为:COM3(即:连接console线的那个端口)

波特率为:9600


远程连接协议

ssh

telnet

serial

mstsc:windows的远程桌面

标签:地址,接口,mac,交换机,数据,以太网,链路层,设备
From: https://www.cnblogs.com/wuyao-bk/p/17781216.html

相关文章

  • 得到sqlite的数据条数的代码
    https://blog.csdn.net/weixin_35754962/article/details/129060944importsqlite3conn=sqlite3.connect('example.db')cursor=conn.cursor()#查询数据条数cursor.execute("SELECTCOUNT(*)FROMtable_name")count=cursor.fetchone()[0]pri......
  • 数据链路层的七七八八
    数据链路层的七七八八 主要物理传输介质:线路/网卡/二层交换机(网桥)以太网封装好的以太网帧由网卡添加前导码和FCS->由对端网卡接收后去掉前导码并使用CRC校验,如果帧损坏则丢弃,如果没有损坏则交给软件驱动处理->以太网驱动接收物理层传输过来的包读入内存->查看源mac和......
  • 使用 Data Assistant 快速创建测试数据集
    DataAssistant提供超过100种数据类型,为任何开发、测试或演示目的生成大量、异构、真实的数据。官网地址:http://www.redisant.cn/da主要功能Windows原生DataAssistant使用WindowsNative技术,这保证软件具有很小的安装体积和较高的响应速度。快速生成创建小型或大型数据集,......
  • 数据库——基本概念
    1、什么是数据库?数据库,DataBase,简称db,存储数据的仓库。按照一定格式存储数据的一些文件的组合。2、什么是数据库管理系统?数据库管理系统,DataBaseManagementSystem,简称DBMS,管理数据库的系统,可以对数据库中的数据进行增删改查。常用的数据库管理系统有:Mysql、Oracle、SqlServer......
  • 1.参考例5.2.1,设计一个序列检测器。功能是检测出串行输入数据Sin中的4位二进制序列010
    设计块:moduleDetector2(inputCP,Sin,nCR,outputregOut);reg[1:0]Current_state,Next_state;parameterS0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11;always@(posedgeCP,negedgenCR)begin if(~nCR)   begin    Current_state......
  • 求各种数据类型的字节数
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>intmain(){ printf("%d\n",sizeof(char)); printf("%d\n",sizeof(short)); printf("%d\n",sizeof(int)); printf("%d\n",sizeof(long)); printf("%d......
  • qemu和vscode调试uboot及设备模型数据流分析
    一,前言对于通用的流程,我需要形成闭环的代码理解,验证我理解的准确性。于是我选择用调试的方法来看数据流,用qemu来仿真,vsocde来调试,但是不能仿真am335。所以用了qemu支持仿真的v9。二,过程记录1,编译ubootmakeARCH=armCROSS_COMPILE=arm-linux-gnueabihf-distcleanrm-rf./v9make......
  • Java基础 字节输出流 写出数据的三种方式
    void write(int b)  →  一次写一个字节数据 void write(byte[] b)  →  一次写一个字节数组数据 void write(byte[] b, int off, int len)  →  一次写一个字节数组的部分数据参数一:装着所有数据的数组。参数二:起始索引。参数......
  • django从配置文件中读取数据库信息
    创建配置文件my.cnf[client]database=django_dbuser=rootpassword=123456host=127.0.0.1port=3306settings.pyDATABASES={'default':{'ENGINE':'django.db.backends.sqlite3','OPTIONS':{'read_default_fi......
  • 数据库基础之有损连接、无损连接
    判断有损连接还是无损连接跳转到这个网址</ahref>(这个网址里面讲的特别清楚~~~)......