以太网帧结构

Ethernet II帧结构

  • Ethernet_II帧类型值大于等于1536(0×0600)

  • 以太网帧结构的长度在64-1518字节之间

帧各字段说明

  1. 目的MAC地址(DMAC):接收方的MAC地址

  2. 源MAC地址(SMAC):发送方的MAC地址

  3. 上层协议类型(Type):用于识别上层协议,为上层提供服务,0x0800 的帧代表IP协议帧0x0806 的帧代表ARP协议帧

  4. 数据字段(Data):是网络层数据。最小长度为:46字节,最大长度为:1500字节

  5. 循环冗余检验字段(FCS):错误检测机制

交换机基础

交换机工作原理

  • 当交换机收到一个数据帧后
  1. 首先学习帧中的源MAC地址来形成MAC地址表。

  2. 检查帧中的MAC地址,并匹配MAC地址表

  • 如果表中有匹配项 ,则单播 转发

  • 如果表中无匹配项 ,则除接收端口外,广播 转发

  1. MAC地址表的老化时间默认为:300秒(可修改)

交换机数据转发过程

未学习需要条目过程

主机11给主机33发送一个数据帧:目标地址:33,源地址:11

  1. 主机11先把数据发送到交换机A,交换机A在接收到数据帧后,执行以下操作

① 交换机A查找MAC地址表

② 交换机A学习 主机11的MAC地址和端口号

③ 交换A向其他所有端口发送广播

  • 交换机A的MAC地址表为

  1. 交换机A向其他所有端口发送广播
  • 交换机B在接收到数据帧后,执行以下操作

① 交换机B查看MAC地址表

② 交换机B学习 源MAC地址和端口号

③ 交换机B向所有端口广播

  • 主机22在接收到数据帧后,查看数据包的目标MAC地址不是自己,丟弃数据帧

  • 交换机B的MAC地址表:

  1. 交换机B向其他所有端口发送广播
  • 主机33接收到数据帧

  • 主机44接收到数据帧,发现目标MAC地址不是自己,丟弃数据帧

在这个过程中,交换机的MAC地址表中没有需要的条目 。因此,交换机通过广播 的方式,转发了数据帧。

已学习需要条目过程

主机44要给主机11发送一个数据帧:目标地址:11源地址:44

  1. 主机44先把数据发送到交换机B,交换机B接收到数据帧后,执行以下操作
  • 交换机B学习 源MAC地址和端口号

  • 交换机B査看MAC地址表,根据MAC地址表中的条目,单播 转发数据到端口3

  1. 交换机B将数据帧单播转发到端口3,交换机A在接收到数据帧后,执行以下操
  • 交换机A学习 源MAC地址和端口号

  • 交换机A査看MAC地址表,根据MAC地址表中的条目,单播 转发数据到端口1

  1. 交换机A将数据帧单播转发到端口1,主机11收到数据帧

交换机最终形成的MAC地址表:

在这个过程中,交换机的MAC地址表中已经学到了需要的条目 ,交换机通过单播 的方式,转发了数据帧

交换机转发原理总结

交换机工作模式及命令

交换机基本工作模式

1. 用户模式:可以**查看** 交换机的基本信息,但**不能修改** 配置

switch>

2. 特权模式:可以**査看** 所有配置,但**不能修改** 配置,可以做**测试、保存、初始化** 等操作

switch>enable
switch# 3. 全局配置模式:**可以修改** 配置,且全局生效,提供影响整个系统运行的命令 switch# configure terminal
switch(config)# 4. 普通接口配置模式:修改配置,仅对该端口生效
switch(config)# interface f0/1
switch(config-if)# 5. console接口模式:修改配置,仅对console接口生效
switch# configure terminal
switch(config)# line console 0
switch(config-line)#

交换机的基本配置

1. 配置主机名

Switch(config)#hostname icq

2. 设置登录密码
icq(config)# line console 0 #进入控制台状态
icq(config-line)# password icq #设置登录口令为icq
icq(config-line)# login #允许登录
icq(config-line)# exit 3. 保存配置
icq> enable
icq# write
Building configuration ...
OK 4. 重启设备
icq> enable
icq# reload
Proceed with reload? [confirm]y 5. 设置用户特权密码
icq> enable
icq# configure terminal
icq(config)# enable password密码 (明文密码)
icq(config)# enable secret密码 (密文)
icq(config)# exit
icq# write 6. 查看mac缓存表:
icq# show mac-address-table 7. 查看接口状态列表
icq# show ip int brief 8. 手工关闭接口
icq(config)# int f0/0
icq(config-if)# shutdown
icq(config-if)# exit 9. 手工开启接口:
icq(config)# int f0/1
icq(config-if)# no shutdown
icq(config-if)# exit 10. 删除配置
1.在哪配置的,就在哪里删除
2.命令前加:no空格
3.原命令中有参数,并且具有唯一性,则删除时不需要加参 icq# configure terminal
icq(config)# hostname test1
test1(config)# no hostname
Switch(config)# 11. 清除/初始化配置
Switch> enable
Switch# erase startup-config

路由器基础

路由介绍

  • 跨越从源主机到目标主机的一个互联网络来转发数据包的过程

路由器的工作原理

主机1.1要发送数据到主机4.1

  1. 主机1.1要发送数据包给主机4.1,因为IP地址不在同一网段 ,主机会将数据包发送给本网段的网关路由器A

  2. 路由器A接收到数据包,查看数据包IP首部中的目标IP地址 ,再查找自己的路由表 。数据包的目标IP地址是4.1,属于4.0网段,路由器A在路由表中查到4.0网段转发的接口是S0接口 。于是,路由器A将数据包从S0接口转发出去

  1. 网络中的毎个路由器都是按这样的步骤去转发数据,直到到达了路由器B,用同样的转发方法,从E0口转发出去,4.1主机接收到这个数据包

路由表

  • 路由表概述

  • 路由器中维护的路由条目的集合

  • 路由器根据路由表做路径选择

  • 路由表的形成

  1. 直连网段:配置IP地址→端口处于UP状态→形成直连路由

  2. 非直连网段:对于非直连的网段,需要静态路由或动态路由 ,将网段添加到路由表

静态路由

  • 由管理员手工配置 的,是单向 的,缺乏灵活性

  • 数据包如果要到达非直连网络 需要在路由表中填加条目,静态路由需要手动填加路由条目

静态路由的配置:
Router(config)# ip route目标网段子网掩码 下一跳IP

动态路由

  • 什么是动态路由

  • 基于某种路由协议实现

  • 动态路由不需要自己手工写路由,路由器之间能够自己相互学习

  • 动态路由特点

  • 减少了管理任务

  • 占用了网络带宽

1. 启动RIP进行
Router(config)# router rip 2. 宣告主网络号
Router(config-router)# network network-numbe 3. 查看路由表
Router# show ip route 4. 查看路由协议的配置
Router# show ip protocols
Router#configure terminal
nter contiguration commands, one per line. End with CNTL/
Router(config)# route rip
Router (config-router)#version 2
Router(config-router)#network 10.1.1.0 #这里可以声明你想通信的所有网段
louter(config-router)#network 20.1.1.0
Router(config-router)*exit
Router(config)#exit
Router#

默认路由

  • 当路由器在路由表中找不到目标网络 的路由条目时,路由器把请求转发到默认路由接口

  • 默认路由可以匹配所有网段 ,但是其优先级最低

  • 当目标地址既匹配静态路由又匹配默认路由时,优选静态路由条目对应端口进行转发。当静态路由失效时,才匹配默认路由,根据默认路由进行转发

默认路由的配置:
Router(config)# ip route 0.0.0.0 0.0.0.0
0.0.0.0是下一跳IP,代表任何网络

交换与路由的对比

路由 交换
工作在网络层 工作在数据链路层
根据 “路由表 ” 转发数据 根据 “MAC地址表 ” 转发数据
路由选择,路由转发 硬件转发

交换机 & 路由基础的更多相关文章

  1. 一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器

    一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字 ...

  2. react router @4 和 vue路由 详解(一)vue路由基础和使用

    完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 1.vue路由基础和使用 a.大概目录 我这里建了一个router文件夹,文件夹下有in ...

  3. django第三天(路由基础和路由分配)

    路由基础 url(正则路径,视图函数地址,默认关键字参数,路由别名) 路由由上而下匹配, ""可以匹配任意路由 "^$"来匹配"/" url ...

  4. HCIA-Datacom 2.1 实验一:IPv4编址及IPv4路由基础实验

    实验目的 掌握接口IPv4地址的配置方法 理解LoopBack接口的作用与含义 理解直连路由的产生原则 掌握静态路由的配置方法并理解其生效的条件 掌握通过PING工具测试网络层联通性 掌握 ...

  5. laravel路由基础

    基础: 所有的laravel路由都定义在 app/Http/routes.php 这个文件里,会被框架自带加载.简单的路由会接受一个URI和一个Closure类. Route::get('foo', ...

  6. Linux 虚拟机上安装linux系统 (ip:子网掩码,网关,dns,交换机,路由知识回顾)

    一 安装虚拟机 二 虚拟机上配置好在安装linux系统 三 知识回顾 交换机:主机在局域网内的身份是MAC地址(可以通过[交换机广播:交换机通过被动学习来建立一张“接口号”和“MAC地址”的对照表]或 ...

  7. Go 语言中的 Http 路由基础

    最近在写一些 Go 语言的 Web 应用,因为 Go 语言中的 Web 应用和 Python 中的不太一样,具体的区别应该和语言的动态性是有所联系的,同时,也和语言的内置库支持有所联系,所以这就导致了 ...

  8. Vue-router路由基础总结(一)

    一.安装 npm下载:npm install vue-router 如果在一个模块化工程中使用它,必须要通过 Vue.use() 明确地安装路由功能:在你的文件夹下的 src 文件夹下的 main.j ...

  9. React路由-基础篇

    React-Router-DOM ReactRouter网址, 安装 -npmjs找到react-router-dom -yarn add react-router-dom 基本使用方法 1.创建一个 ...

随机推荐

  1. MYSQL分页 limit 太慢优化

    limit分页原理 当我们翻到最后几页时,查询的sql通常是:select * from table where column=xxx order by xxx limit 1000000,20.查询 ...

  2. centos7.5 部署 lopendap

    一.LDAP究竟是什么? LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了 ...

  3. 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 百篇博客分析OpenHarmony源码 | v67.01

    百篇博客系列篇.本篇为: v67.xx 鸿蒙内核源码分析(字符设备篇) | 字节为单位读写的设备 | 51.c.h.o 文件系统相关篇为: v62.xx 鸿蒙内核源码分析(文件概念篇) | 为什么说一 ...

  4. 鸿蒙内核源码分析(用栈方式篇) | 程序运行场地谁提供的 | 百篇博客分析OpenHarmony源码 | v20.04

    百篇博客系列篇.本篇为: v20.xx 鸿蒙内核源码分析(用栈方式篇) | 程序运行场地谁提供的 | 51.c.h .o 精读内核源码就绕不过汇编语言,鸿蒙内核有6个汇编文件,读不懂它们就真的很难理解 ...

  5. CF605E-Intergalaxy Trips【期望dp】

    正题 题目链接:https://www.luogu.com.cn/problem/CF605E 题目大意 给出\(n\)个点的一张完全有向图,每一天\(i\)到\(j\)的路径有\(p_{i,j}\) ...

  6. Redis核心原理与实践--散列类型与字典结构实现原理

    Redis散列类型可以存储一组无序的键值对,它特别适用于存储一个对象数据. > HSET fruit name apple price 7.6 origin china 3 > HGET ...

  7. 被校园网限速限流的日子 | 路由代理ipv6访问的操作手册

    一 前 言 你是否还在为校园网的收费而小心翼翼?你是否还在为网速不够快而影响科研进程? 你是否还在为处理舍友关系而费经心思? 你是否还在为不能给舍友提供价值而苦恼? 那么,叶子团队或许能够帮助到你解决 ...

  8. 阿里:MySQL数据库规范

    阿里:MySQL数据库规范 简介:基于阿里数据库设计规范扩展而来 设计规范 1.[推荐]字段允许适当冗余,以提高查询性能,但必须考虑数据一致.冗余字段应遵循: 不是频繁修改的字段. 不是 varcha ...

  9. FastAPI小项目实战:电影列表(Vue3 + FastAPI)

    假期过半, FastAPI + Vue3项目实战 视频也算录完了,尽管项目简单(2张表 共7个接口 4个页面) 起因 在6月底的时候开始录制了FastAPI官方文档中的新手教程部分(实际还没有官网文档 ...

  10. vue-devtools 安装

    vue火了很久了,但是一直赶不上时代步伐的我今天才开始学,首先,根据vue官网介绍,推荐安装Vue Devtools.它允许你在一个更友好的界面中审查和调试 Vue 应用. 首先,将vue-devto ...