当前位置: 首页 > news >正文

【计网笔记】以太网

经典以太网

总线拓扑

物理层

Manchester编码

数据链路层

MAC子层

MAC帧

DIX格式与IEEE802.3格式

  • IEEE802.3格式兼容DIX格式

  • 前导码(+帧开始定界符SOF)
    • 8字节
      • 前7字节均为0xAA
      • 第8字节为0xAB
    • 前7字节的Manchester编码将产生稳定方波,用于校准时钟周期
  • 目的地址
    • 6字节
    • 目的站的MAC地址
  • 源地址
    • 6字节
    • 发送站的MAC地址
  • 类型(仅DIX)/长度(仅IEEE802.3)
    • 2字节
    • 指定网络层协议或帧长度
    • 如果字段值小于等于0x0600(1536)时解释为IEEE的长度字段
      • 此时IEEE帧将在长度字段和数据字段之间加入LLC/SNAP头部用于指定类型
    • 反之解释为DIX的类型字段
      • 0x0800是IPv4协议
      • 0x86DD是IPv6协议
      • 此时DIX帧确定长度基于
        • 尾部12字节的帧间间隔IPG时间,连续传输的两帧之间亦有距离
        • Manchester编码每bit的固定跳变,无跳变则传输完成
  • 数据
    • 0~1500字节
    • 1500字节的长度是历史原因
      • IEEE的长度字段基于这一上界
    • 帧长度最大为8+1518字节
      • 8字节前导码
      • 6字节目的地址
      • 6字节源地址
      • 2字节类型/长度
      • 1500字节数据字段
      • 0字节填充
      • 4字节校验码
  • 填充
    • 0~46字节
    • 如果数据段不足46字节,填充段补足至46字节
      • 换言之,数据段+填充段>=46字节
      • 避免传输时间过短,防止CSMA/CD的冲突信号还没到该站就已经传输完成
    • 帧长度最小为8+64字节
      • 8字节前导码
      • 6字节目的地址
      • 6字节源地址
      • 2字节类型/长度
      • 0字节数据字段
      • 46字节填充
      • 4字节校验码
  • 校验和
    • 4字节
MAC地址

均为6字节

指定目的地址和源地址

  • 目的地址可以是一个地址组
  • 源地址只能是一个站点地址

  • 单播帧:一对一
  • 广播帧:一对局域网上全体
  • 多播帧:一对多

交换式以太网

除了经典以太网以外的包括快速以太网、千兆以太网等等的其他以太网

  • 从万兆以太网开始只支持全双工,无需CSMA/CD

设备

集线器

逻辑上和普通电缆无区别

集线器内站在同一冲突域内

  • 集线器内站共用带宽
  • 集线器内使用CSMA/CD控制

交换机

  • 以前叫网桥

连接LAN,划分冲突域

  • 交换机端口独占带宽

  • 直通式交换:交换机一旦看到帧的目的地址就开始转发,不看校验和
  • 存储转发式交换 :交换机完整收下帧后检查校验和,正确时才发送

泛洪算法

交换机维护一个记录MAC地址、端口号和时间戳的交换表,下电即清空

  • 交换机收到帧后,查看源地址,把源MAC地址和接收端口号存进表
  • 交换机在表中寻找目的地址,进而得出端口号
    • 在表中找到了目的地址
      • 对应发送端口号不是接收端口号,转发帧
      • 对应发送端口号是接收端口号,丢弃帧
    • 在表中没有找到目的地址,除收到帧的端口以外的所有端口都转发帧
      • 一旦有站点收到了信号,就把对应的MAC地址和端口号写进表
        • 后向学习算法
  • 表维护表项更新的时间戳
    • 定期删除过期表项

生成树网桥

网络拓扑结构可能成环,导致泛洪算法不停空转

  • 所有交换机统一一个交换机作为生成树树根
  • 以根为起点,生成最小生成树
  • 所有网桥关闭不属于最小生成树的链路

【2013-408】对于100Mbps的以太网交换机,当输出端口无排队,以直通交换(cut-through switching)方式转发一个以太网帧(不包括前导码)时,引入的转发延迟至少是(B)
A. 0us

B. 0.48us
C. 5.12us
D. 121.44us

不含前导码,只需看6字节目的地址,即48bits

【2014-408】某以太网拓扑及交换机当前转发表如下图所示,主机00-e1-d5-00-23-a1向主机00-e1-d5-00-23-c1发送1个数据帧,主机00-e1-d5-00-23-c1收到该帧后,向主机00-e1-d5-00-23-a1发送1个确认帧,交换机对这两个帧的转发端口分别是(B)

A. {3}和{1}
B. {2,3}和{1}
C. {2,3}和{1,2}

D. {1,2,3}和{1}

VLAN

交换机可以将一个LAN划分为多个VLAN

  • VLAN内可通过交换机广播
    • 广播不能跨VLAN
  • VLAN间用路由器转发

基于端口划分VLAN

交换机维护配置表,记录端口及对应的VLAN

  • 换言之,VLAN通过端口划分
  • 一个端口可能划分到多个VLAN中

基于MAC地址划分VLAN

站点的所属子网不随端口甚至交换机的改变而改变

按MAC地址划分为一些子网

基于IP地址

交换机可以访问到网络层的数据

可跨路由器和局域网扩展VLAN

【2015-408】下列关于交换机的叙述中,正确的是(A)
A. 以太网交换机本质上是一种多端口网桥

B. 通过交换机互连的一组工作站构成一个冲突域

C. 交换机每个端口所连网络构成一个独立的广播域

D. 以太网交换机可实现采用不同网络层协议的网络互联

【2016-408】若主机H2向主机H4发送1个数据帧,主机H4向主机H2立即发送一个确认帧,则除H4外,从物理层上能够收到该确认帧的主机还有(D)。

A. 仅H2
B. 仅H3
C. 仅H1、H2
D. 仅H2、H3

【2020-408】下图所示的网络中,冲突域和广播域的个数分别是(C)

A. 2,2
B. 2,4
C. 4,2
D. 4,4

【2023-912】下列哪种不是VLAN划分方式(C)
A. 基于端口
B. 基于MAC
C. 基于端口号
D. 网络地址

相关文章:

【计网笔记】以太网

经典以太网 总线拓扑 物理层 Manchester编码 数据链路层 MAC子层 MAC帧 DIX格式与IEEE802.3格式 IEEE802.3格式兼容DIX格式 前导码(帧开始定界符SOF) 8字节 前7字节均为0xAA第8字节为0xAB前7字节的Manchester编码将产生稳定方波,用于…...

Java 入门基础篇14 - java面向对象思想以及特性

学习目标: 一、目标 面向对象思想类和对象对象的创建和使用属性和方法封装 开始学习: 二、编程思想 2.1 什么是编程思想 做人有做人的原则,编程也有编程的原则。这些编程的原则,就叫做编程思想。 2.2 面向过程和面向对象 二…...

第15篇:网络架构优化与综合案例分析

目录 引言 15.1 网络性能优化的方法与工具 15.1.1 带宽管理与流量控制 15.1.2 负载均衡 15.1.3 缓存优化 15.2 网络故障的排查与解决 15.2.1 常用的网络故障排查工具 15.2.2 网络故障排查案例 15.3 网络安全架构的综合设计案例 15.3.1 企业网络安全架构的要求 15.3.…...

UI自动化测试实战

补充:Selenium主要用于Web页面的自动化测试,它可以模拟用户的各种操作,如点击、输入、滚动等,来测试网页的功能。而Appium是一个开源的移动端自动化测试工具。 一、自动化测试实战章节 自动化测试流程测试用例编写项目自动化测试…...

东方智者颜廷利:以哲学思想促进世界和谐与无私奉献

【本社讯】在全球化的今天,东方智慧与哲学思想正逐渐成为促进世界和谐与理解的重要力量。近日,祖籍齐鲁大地山东济南的东方智者颜廷利以其深邃的哲学思想和对人类社会的深刻洞察,引起了国际社会的广泛关注。 颜廷利,一位致力于哲学研究与实践的智者,他的思想跨越古今,融合了东…...

基于 springboot vue停车场管理系统 设计与实现

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…...

如何验证ssl私钥和证书是否匹配?

从证书(CRT)文件提取公钥 openssl x509 -in server.crt -pubkey -noout | openssl sha256从证书签名请求(CSR)文件提取公钥 openssl req -in server.csr -pubkey -noout | openssl sha256从私钥(KEY)文件…...

MongoDB的基本操作

🌷数据库准备 🎈Mongoshell 1.在指定目录下创建mongodb文件夹、其子文件log和data以及mongodb.log cd /home/ubuntu mkdir -p mongodb/data mkdir -p mongodb/log touch mongodb/log/mongodb.log 执行mongodb命令启动mongdb服务 mongod --dbpath /h…...

spring mvc后端实现过程

文章目录 一、Spring mvc1、controller1.1、LoginController011.2、LoginController 2、service2.1、LoginService2.1、LoginInimplements 3、dao3.1、LoginMapper3.1、LoginMapper.xml 4、实体类 一、Spring mvc 1、controller 控制器层、处理用户的请求和响应, …...

102005

import os os.environ["CUDA_VISIBLE_DEVICES"] "0" # 设定使用的 GPUimport tensorflow as tf from dataset import generate_data import numpy as np from model import enhancednet# 检查 TensorFlow 是否可以识别 GPU gpus tf.config.list_physica…...

Cisco ACI环境给Leaf配置OOB带外管理IP方法

可以通过GUI 或CLI进行配置 通过CLI更简单,和配置传统交换机差不多, ACI中共有3大组件 APIC 控制器 SPINE 核心 LEAF 接入 下面我们将3种角色的带外IP配置方法都列出来 1 APIC配置带外IP This example shows how to configure out-of-band managemen…...

免费送源码:Java+B/S+MySQL springboot电影推荐系统 计算机毕业设计原创定制

摘 要 随着互联网与移动互联网迅速普及,网络上的电影娱乐信息数量相当庞大,人们对获取感兴趣的电影娱乐信息的需求越来越大,个性化的电影推荐系统成为一个热门。然而电影信息的表示相当复杂,己有的相似度计算方法与推荐算法都各有优势&#…...

数据清洗(脚本)

使用脚本清洗数据时,可以根据具体的数据问题选择编程语言,如Shell、Python、SQL等。这里我以 Python(Pandas库) 和 SQL 为例,演示如何通过脚本进行数据清洗。 1. 使用 Python(Pandas库) 进行数…...

jmeter中发送post请求遇到的问题

用jmeter发送post请求,把请求参数放在Body Data处,参数都写得正确,但没想到结果每次都报错,直接响应结果乱七八糟,改成用Parameters,反而不乱报错了。 上图 请求里如下 另外一些请求也是这样 这个响应结果也是错误的…...

Java中使用protobuf

一、简介 Protocal Buffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化、反序列化。 Protocol Buffers 是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。 Protocol B…...

2020款Macbook Pro A2251无法充电无法开机定位及修复

问题背景 up主有一台2020年的Macbook Pro,带Touch Bar,16G512G,四核I5,型号A2251 应该是一周没充电了,之前还用的好好的,后来有一天出差想带上 打开没电,手头上有个小米的66W快充头&#xff0c…...

Spring Cloud --- 引入Gateway网关

引入Gateway网关 介绍 Spring Cloud Gateway 组件的核心是一系列的过滤器,通过这些过滤器可以将客户端发送的请求转发(路由)到对应的微服务。 Spring Cloud Gateway 是加在整个微服务最前沿的防火墙和代理器,隐藏微服务结点 IP 端口信息,从…...

ESP32-C3实现定时器的启停(Arduino IDE)

1概述 ESP32-C3微控制器有多个定时器,这些定时器可用于各种用途,包括计时、生成PWM信号、测量输入信号的频率等。以下是ESP32-C3上可用的定时器资源: 两个硬件定时器: 定时器0:这是一个通用定时器,通常用于…...

centos升级g++使其支持c++17

centos升级g使其支持c17 升级g的原因现象原因 升级g方法更新镜像源yum升级g版本 总结 升级g的原因 现象 编译最新版本的jsoncpp报一下错误 jsontest.h:87:37: error: ‘hexfloat’ is not a member of ‘std’oss << std::setprecision(16) << std::hexfloat &l…...

Pytest日志收集器配置

前言 在pytest框架中&#xff0c;日志记录&#xff08;logging&#xff09;是一个强大的功能&#xff0c;它允许我们在测试期间记录信息、警告、错误等&#xff0c;从而帮助调试和监控测试进度。 pytest与Python标准库中的logging模块完美集成&#xff0c;因此你可以很容易地在…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲&#xff1a; 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年&#xff0c;数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段&#xff0c;基于数字孪生的水厂可视化平台的…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...