计算机网络 day2 物理层-数据链路层-帧-MAC地址 交换机的工作原理

news2024/10/7 12:28:35

目录

物理层(physical layer)

数据链路层(Data link layer)

MAC地址:

网络地址:

帧的格式:

MTU:最大传输单元  max transfer unit  == 1500 (ip add可以查看)

密码加密算法:

如何知道你输入的密码是否正确:

QQ上的秒传功能如何实现?

如何解决重复上传相同的文件?

抓包工具(网络分析工具):csnas(科来) 

下载网址:百度网盘 请输入提取码

字符界面抓包工具(linux):tcpdump

交换机的工作原理:

工作原理:

交换机什么时候会采取广播行为?

交换机接口的工作模式:单工(Simplex)、半双工(Half-duplex)、全双工(Full-Duplex)     

模拟实验:

实验图:


物理层(physical layer)

物理层是计算机网络体系结构中的第一层,它负责传输原始比特流,即将数据转换为电子信号并在网络中传输。物理层的主要任务是确保数据能够在网络中以可靠的方式传送负责处理数据链路层与物理媒介之间的连接和信号传输。

物理层包含以下一些设备和组件:

  1. 网络接口卡(Network Interface Card,NIC):也称为网卡或网络适配器,是连接计算机与网络之间的物理设备。它负责将计算机内部的数据转换为适合在网络中传输的格式。

  2. 集线器(Hub):集线器是一种简单的物理层设备,用于在局域网中传输数据。它接收来自一个端口的数据,并复制到其他所有连接的端口上,将数据广播给所有设备。

  3. 中继器(Repeater):中继器也是一种物理层设备,用于放大、强化和重建信号。它负责扩展网络的传输距离,通过将信号放大使其能够在传输过程中保持强度。

  4. 双绞线(Twisted Pair):双绞线是一种常用的传输介质,用于连接计算机和网络设备。它由多对导线组成,这些导线被绞合在一起,以减少电磁干扰。

  5. 光纤(Fiber Optic):光纤是一种高速传输的传输介质,通过将数据转换为光信号并通过光纤传输。光纤的优点包括高带宽、低延迟和抗电磁干扰性能好。

  6. 物理拓扑设备:物理拓扑设备定义了计算机网络中设备之间的物理连接方式,如总线型拓扑、星型拓扑、环型拓扑等。

这些设备和组件共同构成了物理层,确保了在计算机网络中原始比特流的可靠传输

数据链路层(Data link layer)

数据链路层的功能:

帧 Frame 是一种数据的形式

以太网:Ethernet:局域网  --》是一种比较常见的网络类型

MAC地址:

MAC地址 --》物理地址 --》硬件地址  --》帧的数据格式里使用

一共48位 占6个字节

前24位表示厂商   后24位表示厂商生产的网卡的唯一标识

第8位如果是0 表示是单播地址

第8位如果是1 表示是组播地址

MAC地址不需要去配置,安装好系统就会有,系统会到网卡芯片里去读取MAC地址 

网络地址:

单播地址   UNITCAST         一个人可以接收的地址

组播地址   MULTICAST       一组人可以接收的地址

广播地址   BROADCAST    所有人都可以接收的地址

linux通过 ip add 或者 ifconfig 查看MAC地址

windows里通过cmd中的ipconfig  /all 来查看MAC地址

帧的格式:

目的地址和源地址都是MAC地址:

数据的范围:46~1500

MTU:最大传输单元  max transfer unit  == 1500 (ip add可以查看)

密码加密算法:

密码加密算法:/etc/login.defs里面

如何知道你输入的密码是否正确

输入密码:123456--》 SHA512(123456)--》与shadow里面存储密码的字符串相对比 --》验证密码是否正确

QQ上的秒传功能如何实现?

        QQ上传的时候,QQ会先扫描 --》为什么要扫描?为什么不直接传输就可以了吗

        QQ先扫描这个文件(根据QQ内的hash算法算出一个hash值,然后QQ会将这个hash值与QQ内的hash表里面的hash值相对比,如果相同,说明近期我也在QQ上上传过相同的文件,如果扫描出文件的hash值不存在,则将这个hash值存入QQ内的hash表中),然后在QQ会将它的云端的数据库里的近期上传的文件库里提取出来跟我现在需要上传的文件一样的文件,并且直接发送到我们的QQ聊天中(这样的速度很快,远远快于我直接传输文件的速度),这样就能实现秒传的功能啦。

如何解决重复上传相同的文件?

        大量的重复的文件会消耗大量的空间

        如何知道哪些已经上传了,哪些没有上传?

我们也是利用很QQ相似的操作,使用hash算法确定相同的文件,然后只保存一个文件到云端的库l

抓包工具(网络分析工具):csnas(科来) 

下载网址:百度网盘 请输入提取码

提取码:aaaa 

字符界面抓包工具(linux):tcpdump

安装tcpdump工具

[root@master ~]# yum install tcpdump -y

tcpdump -i ens33 -e  可以查看ens33网卡的MAC地址

-i  指定接口,指定在哪个接口上抓捕数据   interface   一个网卡就是一个接口
     网络适配器就是网卡 

-e 可以查看到mac地址

-v 或者 -vv 可以看到更加多的协议的信息

交换机的工作原理:

2层交换机

交换机里有一个MAC地址表,记录了哪些MAC地址对应了那个接口(交换机的接口)

其中包含: vlan、mac 地址、类型 、接口(端口) port

MAC地址表:

接口                        MAC地址

1                      00-0a-00-aa-bb-cc

2                      00-3a-4f-55-66-77

3                      00-4d-ad-33-44-55

mac地址表默认是保存在内存里面的,停电了会丢失

交换机可以理解为一台带电脑

工作原理:

1、获取帧里的源mac地址,看是否存在于mac地址表中,如果不存在,就添加进去 --》学习mac地址

2、然后查看目的mac地址,是否存在于mac地址表中,如果存在就转发到对应的接口的电脑里,如果不存在,就复制一份数据帧,给除了进来的接口外,其他的所有的接口都转发一份(广播)--》根据目的MAC地址转发数据,在MAC地址表里有,就单播,没有,就广播

交换机什么时候会采取广播行为?

1、目的mac地址在mac地址表里没有的时候

2、目的mac地址是广播地址或者组播地址的时候,也会广播

MAC地址:广播地址 : FF-FF-FF-FF-FF-FF

                   组播地址:01-11-22-33-44-55

通过arp协议来获取其他电脑的MAC地址

arp协议: address Resolution protocol 地址解析协议
      将ip地址解析到对应的mac地址

交换机接口的工作模式:单工(Simplex)、半双工(Half-duplex)、全双工(Full-Duplex)     

电脑一般使用全双工 

网卡的配置:

模拟实验:

使用软件:Cisco Packet Tracer

链接: https://pan.baidu.com/s/1ehZALUgl3pkz-ykhHCpFeA?pwd=aaaa

提取码: aaaa 

实验图:

先连线,然后给电脑配置IP地址。

下图是switch1的MAC地址表:

交换机里有一个mac地址表,包含: vlan、mac 地址、类型 、接口(端口) port

 

当一个接口对应多个mac地址的时候,说明这个接口连接的是一台交换机,交换机上接了很多的电脑,所以有很多的mac地址

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/724997.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【动态规划算法练习】day16

文章目录 一、完全背包1.题目简介2.解题思路3.代码4.运行结果 二、322. 零钱兑换1.题目简介2.解题思路3.代码4.运行结果 三、518. 零钱兑换 II1.题目简介2.解题思路3.代码4.运行结果 四、279. 完全平方数1.题目简介2.解题思路3.代码4.运行结果 总结 一、完全背包 1.题目简介 …

【百日冲大厂】第二十篇,牛客网选择题+编程题 字符串反转+公共子串计算(dp问题)

前言: 大家好,我是良辰丫,第二十篇,牛客网选择题编程题 字符串反转公共子串计算(dp问题).💞💞💞生活就像一只盲盒,藏着意想不到的辛苦,当然也有万般惊喜的可能。不管是次次都如愿以偿…

初学者一步步学习python 学习提纲

当学习Python时,可以按照以下提纲逐步学习: 入门基础 了解Python的历史和应用领域安装Python解释器和开发环境(如Anaconda、IDLE等)学习使用Python的交互式解释器或集成开发环境(IDE)进行简单的代码编写和…

浅谈C++下观察者模式的实现

为什么要有观察者模式 想象一个场景&#xff0c;有一只猫和一群老鼠&#xff0c;当猫出现的时候&#xff0c;每一只老鼠都要逃跑 用最简单的方法实现一个去模拟这一个过程 #include<iostream>class Mouse_1 {public:void CatCome(){std::cout<<"Mouse_1 Ru…

【MyBatis-Plus】DQL编程控制

1&#xff0c;DQL编程控制 增删改查四个操作中&#xff0c;查询是非常重要的也是非常复杂的操作&#xff0c;这块需要我们重点学习下&#xff0c;这节我们主要学习的内容有: 条件查询方式查询投影查询条件设定字段映射与表名映射 1. 条件查询 1. 条件查询的类 MyBatisPlus…

PHP 训练成绩管理系统mysql数据库web结构apache计算机软件工程网页wamp

一、源码特点 PHP 训练成绩管理系统 是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为PHP APACHE&#xff0c;数据库 为mysql5.0&#xff0c;使用php语言开发。 …

css设计表格圆角最简单的方法

代码如下&#xff1a; table {width: 100%;/* border-collapse: collapse; */background-color: #FBFBFB; /* 背景颜色; */border-collapse: separate; /* 让border-radius有效 */border-spacing: 0; /*表格中每个格边距设为0*/border: 1px solid #DFDFDF;/*边框*/border-radi…

软件测试面试简历,三年测试项目经验怎么写?

作为三年左右的测试工程师&#xff0c;简历上有五六个项目经历很正常&#xff0c;那如何设计这几个项目&#xff0c;其实设计好三两个就行&#xff0c;面试官能关注到的也只有最新的三两个&#xff0c;两年前的项目也没有关注的必要啦&#xff0c;所以在这两三个项目中一定要体…

mysql8.0 navicat mysql 2059报错

进入mysql安装目录&#xff1a; 输入用户名密码连接mysql 设置密码 刷新 测试连接&#xff0c;连接成功

如何保障业务稳定性?一文详解蚂蚁业务智能可观测平台BOS

随着业务规模的不断扩大以及AI、云计算、大数据等技术的不断发展&#xff0c;大量的企业希望利用上云来加速其数字化转型&#xff0c;全面提升可靠性、安全性和灵活性&#xff0c;并且降低运营成本。 不过对于大多数企业来说&#xff0c;全面上云是一项颇具难度的挑战。这里面…

阿里图标库中图标的下载使用

一 iconfont-阿里巴巴矢量图标库 进去找到你想要的图标 二 点这个 三 点这个 点这个 新建自己的项目 选择这个点下载 解压出来&#xff0c;除了两个demo不要都添加到你的代码中的文件夹保存 四 main.js中全局导入 import ./xxxx/xxxx/iconfont.css 五 页面使用 <…

2 数据类型

数据类型分为基本数据类型和引用数据类型。 基本数据类型有&#xff1a;byte、int、short、long、float、double、char、boolean。占用多少字节&#xff0c;如下表所示。1个字节是8位。

Java面试题【3】

Java面试题——简答题部分 文章目录 Java面试题——简答题部分1.列举几个常用的集合类并指出特点2.Set里的元素是不能重复的&#xff0c;那么用什么方法来区分重复与否呢&#xff0c;是还是equals()&#xff0c;有何区别&#xff1f;3.请描述线程的生命状态&#xff0c;并描述s…

简单分享下怎么创建一个微信小程序

怎么创建一个微信小程序?三招教你这样做!!微信小程序不会做没关系,看我这篇文章就够啦!!实现0基础到大神的瞬间飞跃不是梦!! 戳下方链接即可直达官网&#xff0c;上千种行业精美模板任君挑选&#xff0c;快一起来试试吧&#xff01;让小程序制作不再困难&#xff01;上千个行业…

吉瑞外买项目

目录 1、软件开发整体介绍 软件开发流程 角色分工 软件环境 2、瑞奇外卖项目介绍 项目介绍 产品原型展示 技术选型 功能架构 角色 3、环境搭建 数据库环境搭建 maven项目搭建 4、后台登录功能开发 需求分析 代码开发 5、后台退出功能开发 第一天 1、软件开发整…

ModaHub魔搭社区:腾讯云定义AI Native向量数据库

大模型时代的到来&#xff0c;拥抱大模型成为企业的刚需。 向量数据库通过把数据向量化然后进行存储和查询&#xff0c;可以极大地提升效率和降低成本。它能解决大模型预训练成本高、没有“长期记忆”、知识更新不足、提示词工程复杂等问题&#xff0c;突破大模型在时间和空间…

12.2 ARM处理器概论

目录 ARM处理器概述 ARM公司概述 ARM的含义 ARM公司 ARM产品系列 早先经典处理器 Cortex-A系列 Cortex-R系列 Cortex-M系列 RISC处理器 RISC处理器&#xff08;精简指令集处理器&#xff09; CISC处理器&#xff08;复杂指令集处理器&#xff09; ARM指令集概述 …

MQTT协议原理介绍及如何使用emqx

MQTT协议原理介绍及如何使用emqx 什么是MQTT协议 MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;协议是一种轻量级的、基于发布/订阅模式的通信协议。它最初由IBM开发&#xff0c;用于在低带宽和不稳定的网络环境中传输小型数据包。MQTT协议被广泛应用于物…

二叉树题目:对称二叉树

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;对称二叉树 出处&#xff1a;101. 对称二叉树 难度 3 级 题目描述 要求 给你一个二叉树的根结点 root \t…

Linux的编译器——gcc/g++(预处理、编译、汇编、链接)

文章目录 一.程序实现的两个环境二.gcc如何完成1.预处理2.编译3.汇编4.链接 三.动态库与静态库对比下二者生成的文件大小 四.gcc常用选项 前言&#xff1a; 本文主要认识与学习Linux环境下常用的编译器——gcc&#xff08;编译C代码&#xff09;/g&#xff08;编译C代码&#x…