交换机 & 路由基础
以太网帧结构
Ethernet II帧结构
-
Ethernet_II帧类型值大于等于1536(0×0600)
-
以太网帧结构的长度在64-1518字节之间
帧各字段说明
-
目的MAC地址(DMAC):接收方的MAC地址
-
源MAC地址(SMAC):发送方的MAC地址
-
上层协议类型(Type):用于识别上层协议,为上层提供服务,0x0800 的帧代表IP协议帧 ;0x0806 的帧代表ARP协议帧
-
数据字段(Data):是网络层数据。最小长度为:46字节,最大长度为:1500字节
-
循环冗余检验字段(FCS):错误检测机制
交换机基础
交换机工作原理
- 当交换机收到一个数据帧后
-
首先学习帧中的源MAC地址来形成MAC地址表。
-
检查帧中的MAC地址,并匹配MAC地址表
-
如果表中有匹配项 ,则单播 转发
-
如果表中无匹配项 ,则除接收端口外,广播 转发
- MAC地址表的老化时间默认为:300秒(可修改)
交换机数据转发过程
未学习需要条目过程
主机11给主机33发送一个数据帧:目标地址:33,源地址:11
- 主机11先把数据发送到交换机A,交换机A在接收到数据帧后,执行以下操作
① 交换机A查找MAC地址表
② 交换机A学习 主机11的MAC地址和端口号
③ 交换A向其他所有端口发送广播
- 交换机A的MAC地址表为
- 交换机A向其他所有端口发送广播
- 交换机B在接收到数据帧后,执行以下操作
① 交换机B查看MAC地址表
② 交换机B学习 源MAC地址和端口号
③ 交换机B向所有端口广播
-
主机22在接收到数据帧后,查看数据包的目标MAC地址不是自己,丟弃数据帧
-
交换机B的MAC地址表:
- 交换机B向其他所有端口发送广播
-
主机33接收到数据帧
-
主机44接收到数据帧,发现目标MAC地址不是自己,丟弃数据帧
在这个过程中,交换机的MAC地址表中没有需要的条目 。因此,交换机通过广播 的方式,转发了数据帧。
已学习需要条目过程
主机44要给主机11发送一个数据帧:目标地址:11 ,源地址:44
- 主机44先把数据发送到交换机B,交换机B接收到数据帧后,执行以下操作
-
交换机B学习 源MAC地址和端口号
-
交换机B査看MAC地址表,根据MAC地址表中的条目,单播 转发数据到端口3
- 交换机B将数据帧单播转发到端口3,交换机A在接收到数据帧后,执行以下操
-
交换机A学习 源MAC地址和端口号
-
交换机A査看MAC地址表,根据MAC地址表中的条目,单播 转发数据到端口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要发送数据包给主机4.1,因为IP地址不在同一网段 ,主机会将数据包发送给本网段的网关路由器A
-
路由器A接收到数据包,查看数据包IP首部中的目标IP地址 ,再查找自己的路由表 。数据包的目标IP地址是4.1,属于4.0网段,路由器A在路由表中查到4.0网段转发的接口是S0接口 。于是,路由器A将数据包从S0接口转发出去
- 网络中的毎个路由器都是按这样的步骤去转发数据,直到到达了路由器B,用同样的转发方法,从E0口转发出去,4.1主机接收到这个数据包
路由表
-
路由表概述
-
路由器中维护的路由条目的集合
-
路由器根据路由表做路径选择
-
路由表的形成
-
直连网段:配置IP地址→端口处于UP状态→形成直连路由
-
非直连网段:对于非直连的网段,需要静态路由或动态路由 ,将网段添加到路由表 中
静态路由
-
由管理员手工配置 的,是单向 的,缺乏灵活性
-
数据包如果要到达非直连网络 需要在路由表中填加条目,静态路由需要手动填加路由条目
静态路由的配置:
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地址表 ” 转发数据 |
路由选择,路由转发 | 硬件转发 |