网络设备
终端:最终用户设备
中间设备:连接终端设备和互联网的设备
介质:连接网络设备的媒介
网络特征
可用性:网络实际可用时间/总时间 * 100%
PS:一般企业衡量稳定性都会计算一年里down的时间/一年时间
可靠性:总时间/网络down次数
PS:得到一个时间单位如1h,我们认为每1h机器就会出现故障
QoS:服务质量,控制访问网络资源的时间和方式
网速:带宽和延迟共同决定
数据在一个来回传输所用时间是延迟,带宽越大,延迟越小
抖动原因:先发的数据包后到,解决方案减少延迟,结果就是有杂音
丢包是正常现象,评判标准看丢包率,常规丢包发生于CPU 繁忙,缓存已满,链路丢包
半双工:同一时刻数据只能接收或发送
全双工:同一时刻数据既可以接收也可以发送
冲突域:同一时刻只能接收或发送报文,交换机的每个接口是一个冲突域,所有hub接口是一个冲突域
广播域:路由器的每个接口是一个广播域,路由器收到广播报文后不会继续转发
交换机泛洪条件:1、收到本地广播ffffffff 2、收到未知单播帧
OSI七层模型
OSI是由OSI(国际标准化组织)定义的
| 应用层 |
|---|
| 表示层 |
| 会话层 |
| 传输层 |
| 网络层 |
| 数据链路层 |
| 物理层 |
1层物理层
设备直间的物理连接,主要包括双绞线、光纤(FDDI)、无线
双绞线:两根线绞在一起垂直角度将干扰降到最低,造价便宜,可支持的带宽在100M-40G,传播范围100m,双绞线的8个接口1、2负责发送,3、6负责接收
光纤:分为单模光纤(一束光,价格贵)、多模光纤(多束光,价格低)
直通线:一根线连接设备两端8个接口排序相同(同设备,PC和路由器相当于同设备连接)
交叉线:一根线连接设备两端8个接口排序不同,若相同1、2口同时发送数据会造成冲突(不同设备)
2层数据链路层(14byte)
数据链路层读取整个帧并加上FCS(帧校验序列),主要是接收方校验数据是否正确
mac地址的第8位如果是0代表单播,如果是1代表组播
| 源mac | 目的mac | type |
|---|---|---|
| 6byte | 6byte | 2byte |
- 以太网2(多用于终端与中间设备连接)

- 802.3(多用于中间设备之间互联)
| LLC | SNAP | DNAP | Control |
|---|---|---|---|
| MAC | 源mac(4byte) | 目的mac(4byte) | 长度(2byte) |
LLC层决定上层协议,类似以太网2中的type字段
- tag标签(32bit)
①. (16bit)协议
②. (12bit)vlan-id
③. (3bit)优先级
④. (1bit)令牌环
3层网络层(20byte)
| 源ip | 目的ip | 协议 |
|---|---|---|
| 4byte | 4byte | 1byte |
①. (4bit)version:区别ipv4和ipv6
②. (4bit)报头长度:仅ip报头长度(20byte)
③. (8bit)QOS:标记流量类型,限制网速
④. (16bit)总长度:ip头+传输层头+应用层头+数据
⑤. (16bit)标识:给同一个分片的包标记(每个接口发送一个包不超过1500byte)
⑥. (3bit)标志flag:只有0和1,1代表后续还有报文,0代表后续没有报文
⑦. (13bit)偏移量:切割的起始偏移量(0,1400,2800)
⑧. (8bit)TTL:防止数据形成环路消耗网络资源,最大255
⑨. (8bit)协议:上层协议
⑩. (16bit)校验和:校验ip头部是否正确
11. (32bit)源IP地址
12. (32bit)目的IP地址
13. (0/32bit)option:可选
- type类型
0x0800:IP
0x0806:ARP
0x8100:tag
0x08dd:IPv6
0x8847: mpls
4层传输层(20byte)
情景分析:当我们想在电脑上同时听歌和看小说时,底层tcp启动2个会话实现
特点: 可以对数据进行分段和重组(当发送端的带宽是100M,可接收端的带宽10M),传输服务可以是可靠的,也可以是不可靠的
| 源端口 | 目的端口 |
|---|---|
| 2byte | 2byte |
①. (16bit)源端口
②. (16bit)目的端口
③. (32bit)序列号
④. (32bit)确认号
⑤. (16bit)校验和
⑥. (16bit)窗口大小
⑦. (16bit)紧急指针

①SYN:seq=0(d3.48.ab.c4),ack=空,Flag=SYN
②SYN+ACK:seq=0(9a.c0.f2.79),ack=1(d3.48.ab.c4),Flag=SYN+ACK(本质是ACK包确认收到发起方的SYN + 接收方确认发起方的接收能力SYN)
③ACK:seq=1(d3.48.ab.c4),ack=1(9a.c0.f2.79),Flag=ACK
3次握手成功后,A开始发送真正数据给B
①A——B:seq=1
②B——A:ack=2(B说我想要seq=2的报文‘)
③A——B:seq=2
如果A里缓存3个seq作为一个包,但是B只有接收2分seq的能力,所以B会给A发报文要求重传seq=3的包,并将自己的窗口大小发给A,说明重传原因
- 4次挥手
①:A先发送FIN报文
②:B收到后回复ACK
③:B发送FIN报文
④:A回复ACK报文
②③分两次的原因是,如果B收到报文后,回复ACK确认后,如果还有后续报文继续发送,再发送FIN
- 协议类型
1:ICMP
6:TCP
17:UDP
88:EIGRP
89:OSPF
5层会话层
保证主机之间长时间交换数据,而不是底层连接问题,可以控制数据的传输方向
6层表示层
在发送数据之前将数据转化成接收方可识别的格式,可以实现加密和解密
7层应用层
主要提供与用户交互的应用程序,http协议是面向无连接,不需要确认接收方的接收能力,底层是tcp,已经确保可靠性,所以无需http保证可靠性
PDU(数据传输单位)
①:数据+应用层头+传输层头=段
②:数据+应用层头+传输层头+网络层头=包
③:数据+应用层头+传输层头+网络层头+数据链路层头+FCS=帧
二层转发数据过程

1、A想给B发送数据,交换机先查看源mac是否在mac地址表,不存在将mac和port写入mac地址表,存在的话直接看目的mac是否存在于mac地址表
2、存在,直接单播转发,不存在,发广播泛洪,B和C都会收到泛洪的数据包,C解封装后发现二层mac不是自己,直接丢弃,B解封发现是自己,继续解封到应用层,然后重新封包单播发给A
3、B发给A的数据包经过交换机,同样,交换机看源mac是否在mac地址表,不在加上,在的话直接转发
IP协议
面向连接:先询问接收方是否有接收能力
面向无连接:不关心接收方的接收能力
IP地址组成:网络位+主机位
ABCDE类网络地址
A类:0开头,0-127
B类:10开头,128-191
C类:110开头,192-223
D类:1110开头,224-239,组播地址,不分网络位和主机位
E类:1111开头,240-225,保留做研发
不可用主机
1、0开头的ip,保留使用
2、127开头的ip,环回地址
3、主机位全0的ip,网段
4、主机位全1的ip,定向广播地址
5、32位全1的地址,本地广播,接收所有ip
私有IP
10.0.0.0----10.255.255.255
172.16.0.0----172.31.255.255
192.168.0.0----192.168.255.255
DHCP
①、DHCP Discovery 广播:【源mac:PC mac,目的mac:ffffffff,源ip:0.0.0.0,目的ip:255.255.255.255、udp协议,源port:68,目的port:67】
②、DHCP Offer 单播:【源mac:server的mac,目的mac:PC的mac,源ip:server的ip,目的ip:打算分配给PC的ip,但目前此ip是假的,若收到多个dhcp server的请求,以谁先到就向谁发请求】
③、DHCP request 广播:【源mac:PC mac,目的mac:ffffffff,源ip:0.0.0.0,目的ip:255.255.255.255,报文包含请求的ip/mask,server的ip,目的是让其他也提供dhcp服务但未被采用的server端撤销分配的ip】
④、DHCP ack:server端单播回复
option字段:关机后若还想延用之前的ip,请求server时指定,server查看若未被分出去就将PC指定的传过去
- ICMP报文类型
| type | code | 解析 |
|---|---|---|
| 3 | 0 | 网络不可达 |
| 3 | 1 | 主机不可达 |
| 3 | 2 | 协议不可达 |
| 3 | 3 | 端口不可达 |
| 8 | 0 | request报文 |
| 0 | 0 | icmp reply报文 |
| 11 | 0 | TTL=0 |
traceroute R1——>R3

①、R1发送TTL=1的udp报文dport无限大目的是让应用层无法匹配后丢包,R2收到报文后TTL=0丢弃
②、R2回复R1的icmp报文type=11,code=0,告知TTL超时
③、R1发送TTL=2的udp报文,到达R3因无法匹配应用层,丢弃
④、R3回复R1的icmp被问type=3,code=3,目的端口不可达
…以此类推
CDP && LLDP
cisco设备之间的发现协议,每60s发一次组播,包含自己接口的信息放入邻居表,180s未收到将其从邻居表删除,只适用于物理接口,需要在接口下开启
show cdp neighbor
# 全局下开启
cdp run
# 接口下配置
cdp transmit
cdp receive
多种报文同步时间
VTP报文每5分钟同步一次
RIP报文每30s更新一次,180s没收到认为失效,240s从路由表删除,组播地址:224.0.0.9
router rip
version 2
no auto-summary
network 10.1.1.0
EIGRP报文hello时间5s,hold时间15s
OSPF报文hello时间10s,hold时间40s
LSA报文每1800s同步一次,2400s未收到标记失效,3600s未收到从路由表删除
通配符的0和1可以不是连续的,但在network协议时需要是连续的
分段和分片
TCP分段:将数据分割成小于mtu的大小
IP分片:未经过TCP分段,如UDP就需要分片,会使IP头部只在一个报文里
Telnet
line vty 0 4
transport input telnet # 只允许telnet登录
password amber # telnet本机时要输入密码
login local
密码配置
# 全局模式,show run可查看配置的密码
(no) enable password amber
# 全局模式,show run查看配置的密码是乱码
(no) enable secret amber
# 对所有配置的密码加密
secure password-encryption
SSH
服务器端配置:
• Ip domain-name ccie
• Username amber password cisco
• Crypto key generate rsa moule 1024
• Line vty 0 4
• Transport input ssh
• Login local
客户端以amber身份登录:do ssh -l amber IP地址
ARP

1、A封包:源ip:10.1.1.1,目的ip:20.1.1.2,源mac:A,目的mac:不知道,此时数据层将这个不完整的包缓存,发arp报文
2、ARP报文组成:数据层(源mac:A,目的mac:ffffffff)+ ARP头部(发送者ip:10.1.1.1,发送者mac:A,接收者ip:10.1.1.2(网关ip),接收者mac:全0填充)
3、网关设备收到后将A的ip和mac存到arp表,并单播回复arp包:数据层(源mac:C,目的mac:A)+ arp头(发送者ip:10.1.1.2,发送者mac:C,接收者ip:10.1.1.1,接收者mac:A)
4、A收到C的arp回包后,将C的ip和mac存到arp表
5、show ip arp 查看arp表
代理arp
1、前提是没有配置网关,跨网段,cisco的设备默认开启arp功能,若设备未开启代理arp功能无法通信
2、ARP报文组成:数据层(源mac:A,目的mac:ffffffff)+ ARP头部(发送者ip:10.1.1.1,发送者mac:A,接收者ip:20.1.1.2(非网关ip),接收者mac:全0填充)
3、arp报文到路由器接口C后,路由器拆包后发现接收者ip是20.1.1.2,查询路由表发现这个网段可达,则会回复arp报文,数据层(源mac:C,目的mac:ffffffff)+ ARP头部(发送者ip:20.1.1.2(这里是假的),发送者mac:C,接收者ip:10.1.1.1,接收者mac:A)
4、A收到arp回复报文后将ip20.1.1.2和mac C记录在arp表中
免费arp
在C接口敲no shutdown后,会发送arp报文用来探测IP地址是否冲突,数据层(源mac:C,目的mac:ffffffff)+ ARP头部(发送者ip:10.1.1.2,发送者mac:C,接收者ip:10.1.1.2,接收者mac:全0填充)
路由
C:本地直连网段
S:手工创建的静态路由
L:具体的直连IP
O [110/2] 10.0.0.0/8 00:02:23
协议 [管理距离/度量值] 网段 在路由表存在时间
distance:管理距离,路由器对路由来源的信任程度,不同协议下有效,小的优先
metric:度量值,同一种协议下有效,小的优先
distance=0 :直连
distance=1:静态
distance=90:EIGRP
distance=110:OSPF
distance=120:RIP
路由协议
1、距离矢量:直接将路由通告出去
2、链路状态:每个路由器内有所有路由器的所在位置
3、无类:携带子网掩码
4、有类:不携带子网掩码
静态路由
ip route 10.1.0.0 255.255.0.0 下一跳地址(不是本路由器接口ip地址)
交换机收到数据后首先是拆包
不知道目的mac时,ARP泛红,只有目的pc会单播回复
知道目的mac时,直接转发到目的mac
交换机收到广播数据帧:泛红
收到冲突碎片:丢弃
从一个接口收到数据,又要从该接口发送出去(switch认为该接口接了hub)
路由器接口mac地址的作用

A发的报文:源ip:10.1.1.1,目的ip:20.1.1.1,源mac:A,目的mac:C
C收到报文拆开后发现目的mac不是自己,直接丢弃,只有发现mac地址是自己后,继续向上拆网络层发现ip不是自己,去查路由表,根据下一跳接口,继续封包后发的报文,源ip:10.1.1.1,目的ip:20.1.1.1,源mac:D,目的mac:B
交换机基础
路由器相当于终端,所以交换机与路由器相连的线只能配成access
将2层交换机变成3层交换机,全局ip routing开启路由
在接口下,no switchport,可以配置IP地址
switchport变回2层
开机配置
查看当前系统内存中所有配置命令:show running-config
开机自动加载:copy running-config startup-config下次再启动时会保存上次
删除上次配置:erase startup-config
保存删除操作:write erase
查看版本号:show version
svi接口是3层交换机上虚拟接口,作用类似网关
刚创建完svi接口,不管no shut都是down状态,只有switch收到vlan数据(将某个直连物理接口配置成该vlan),svi接口会自动打开
全局模式:default int s1/0:清空所有在接口s1/0下操作
修改hello时间
ospf修改hello时间:(进程下)ip ospf hello-interval 10
eigrp修改hello时间:(进程下)ip hello-interval eigrp 100 5
指定接口配置
telnet 12.1.1.2 /source-interface loopback 0
Ping 12.1.1.1 source 1.1.1.1
易混淆知识点
本地广播(FF-FF-FF-FF):不能穿过路由器
定向广播:指定去往某个网段,路由器上关闭
NAT配置
R1(config)#ip access-list standard name permit 10.1.1.0 0.0.0.255(先筛选出允许通过的网段)
R1(config)#ip nat inside source list name int e0/1 overload(对外接口)
查看nat匹配 :show ip nat translation
配置console密码
第一次使用路由 交换机的时候,没有初始密码,不能远程登陆,只能采取本地配置,即用console口 通过串口线和计算机连接,来配置,完成远程密码设置后,就可以远程登陆了,另外,忘记密码后,也要借助console口 来重置密码的。
# 一台路由器只有一个console接口(管理接口),需要console线接入管理接口配置设备信息
line console 0
password amber
login
手动删除自动学习到mac
sw#clear mac address-table dynamic vlan 1
显示接口状态,有没有被错误down
sw#show interfaces status
黏贴接口mac,别人无法访问
sw(config)#int e0/2
sw(config-if)#switchport port-security mac-address sticky
sw(config-if)#switchport port-security mac-address FFFFFFF(手工)
常用命令
- 查看mac地址:show run | s Include Ha(mac地址)/ID
- 查看接口带宽:ethern(10) loop(1)serial(64)
Ping 127.0.0.1出问题,网卡坏了
RIP
组播地址:224.0.0.9
组播的方式每30s发送自己的response路由条目,只有开启了rip协议的接口才会受到response,当新接入一台路由器,该路由器发送request报文,其他路由器不用等30s直接回复response,已有路由器只有在重启的时候会发送request,同理其他路由器不用等30s直接回复response
每个配置了rip协议的路由器内所有路由条目都是相同的,当路由器某个接口故障,该路由器自动将该路由条目从路由表删除,但要等30s后才通告出去,可能会形成环路
network宣告
路由器network 10.0.0.0/8 后路由器会将所有包含在这个网段内的接口组播通告出去
关闭自动汇总(no auto)后,路由表内会显示明细路由
防止环路方式
1、触发更新:只有当拓扑结构发生改变时才会触发路由器更新路由条目
2、水平分割:从一个接口收到的通告路由,不会再从该口通告出去
3、最大跳数:最大15
4、毒性反转:当某个接口出现故障时,该路由器会从其他接口通告metric=16,同理其他路由器收到通告后继续向外通告,最终全网可知故障接口不可达
1998

被折叠的 条评论
为什么被折叠?



