交换机的转发原理:
当一个数据包来到交换机后,交换机首先会记录,记录接口和收到的数据包中的源 MAC地址——MAC地址表,之后在进行转发,转发过程中会查看数据包中的目标 MAC地址,如果目标在MAC地址表中有记录则直接根据MAC地址表记录的信息进行 转发,如果没有记录,则会洪范
洪范:
从除了接收到的交换机接口以外,向其他所有接口均转发一份。
IP地址:
网络之间互联的协议也就是为计算机网络相互连接进行通信而设计的协议
IP地址=网络地址+主机地址或IP地址=网络地址+子网地址+主机地址
Ip地址共32位,4字节。
Ip地址分为两部分,主机标识和网络标识
IP地址的类型:
私有地址—本地唯一性 免费使用
公网地址
IP地址被分为5类: A类地址1—126子网掩码为8
B类地址128—191子网掩码为16
C类地址192—223子网掩码为24
D类地址224—239组播地址
E类地址240—255保留使用
子网掩码:
子网掩码—32位二进制构成
必须由连续的0和连续的1构成
端口号:
二进制构成,16位二进制构成,0-65535,65536个
静态端口号,动态端口号
0-1023知名端口号,
著名端口号,标定了特定的服务。
HTTP:80
HTTPS:HTTP+SSL:443
Tenet:23
OSI七层参考模型
应用层,表示层,会话层,传输层,网络层,数据链路层,物理层
网络通讯模型:
应用层 数据报文
传输层 数据段 TCP,UDP
MTU—最大传输单元,默认情况下规定的大小
数据链路层最大不能超过1500字节
MSS—最大段长度—传输层分段后的数据大小
——1460字节=MTU-IP报头-TCP报头
网络层 数据包 IP协议
数据链路层 数据帧 以太网协议
物理层 比特流
ARP(地址解析协议):
同一网段的主机需要知道对方的MAC地址才能进行通信。
在OSI模型中ARP协议属于链路层;而在tcp/ip模型中,属于网络层
根据IP地址去获取mac地址(arp -a可以查看arp缓存表)
ARP表:记录着主机的ip地址到mac地址的映射关系。
正向ARP:已知目标IP获取目标MAC
反向ARP:根据原设备MAC地址获取目标IP地址
免费ARP:利用正向ARP的原理请求自己的IP,目的
Http协议--- 超文本传输协议
-- 也是一个典型的C/S架构的协议,我们需要访问网站的设备就充当的是HTTP客户端的角色,而提供网页服务的web服务器就充当的是HTTP服务器的角色。HTTP协议传输层是基于TCP协议来进行工作的,使用的端口号是80端口。
URL
URL即统一资源定位符,用来唯一地标识万维网中的某一个文档,URL由协议、主机和端口(默认为80)以及文件名三部分构成。如下:
常用的http方法有哪些?
GET:用于请求访问已经被url(统一资源标识符)识别的资源,可以通过url传参给服务器
POST用于传输信息给服务器,主要功能包含文件内容,保存到对应uri位置。:
PUT:传输文件,报文主体中包含文件内容,保存到对应uri位置。
HEAD:获得报文首部,与GET方法类似,只是不返回报文主体,一般用于验证uri是否有效。
DELETE:删除文件,与PUT方法相反,删除对应uri位置的文件。
OPTIONS:查询相应uri支持的http方法。
GET和POST方法的区别:
get重点从服务器上获取资源,post重点在向服务器发送数据;
get传输数据是通过url请求,post则是通过http的post机制,将字段与对应值封存在请求实体中发送给服务器。
get传输的数据量小,因为受url长度的限制,但效率较高,post可以传输大量数据,所以上传文件时只能用post方式。
get只支持ASCII字符,post支持标准字符,可以传中文字符。
常见的http相应状态码:
200:请求被正常处理
204:请求被受理但没有资源可以返回
301:永久性重定向
302:临时性重定向
304:发送附带条件的请求时,条件不满足时返回,与重定向无关
400:请求报文语法有误,服务器无法识别
401;请求需要认证
403:请求的资源被禁止访问
404:服务器无法找到对应资源
500:服务器内部错误
503:服务器正忙
UDP非面向链接的,不可靠的。协议号:7
TCP(传输控制协议):协议号:6
是一种面向连接的、可靠的、基于字节流的传输层通信协议。在简化的计算机网络osi模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。
确认,重传,排序,流控
分段
tcp三次握手:
第一次握手:建立连接时,客户端向服务器端发送一个syn包,等待服务器的确认
第二次握手:服务器收到了客户端发送的syn包,并要确认客户端发送的syn包,于是服务器自己也发送一个syn包(syn+ack)发送给客户端。
第三次握手:客户端收到服务器所发送的确认包,并回复确认包ack+1发回服务器,完成三次握手,此时双方开始传送数据。
Tcp四次挥手:
1.tcp客户端发送一个fin包,用来关闭客户端到服务器的数据传送。
2.服务器收到fin包,回复一个ack包,确认序号为收到的序号加1.和syn一样,一个fin将占用一个序号。
3.服务器关闭客户端的连接,发送一个fin给客户端。
4.客户端发回ack报文进行确认,并将确认序号设置为收到序号+1.
DHCP—动态主机配置协议
应用层协议
UDP进行传输—67 68
C/S架构的一种协议
C-client—客户端—想要通过DHCP获取地址的设备 68
S-server—服务端—下发地址的设备 67
DHCP租期
24H—一天
T1时间—默认租期的50% —12H
—单播request 请求包—客户端-服务端
T2时间—默认租期的87.5%—21H—广播
续租的行为
DHCP —NAK报文
DHCP—客户机放弃使用IP地址时,使用relize报文—释放IP
静态路由
路由器的转发原理:
路由表
当一个数据包来到路由器,路由器将基于数据包中的目标IP地址,查询自身的路由表,如果路由表中有相应的记录则无条件根据路由表进行转发,如果路由表中没有记录,则直接丢弃
1.环回接口
作用:模拟一个网段,属于逻辑接口,并不真实存在。
2.子网汇总
当路由器去访问多个连续的子网,并且这些子网具备相同的下一跳,那么就可以进行汇总
加快网络的收敛
节省配置合理的地址规划,可以尽量减少黑洞的产生
- 黑洞路由
如果网络中包含实际不存在的网段,并且我们做了手工汇总,就会导致某些流量有去无回,浪费链路资源
- 缺省路由
代表所有IP都会访问互联网
5.空接口——NULL 0
黑洞路由器
做法,在黑洞路由器上配置一条去往汇总网段的路由指向空接口
最长掩码匹配原则
6.浮动静态路由
更改路由优先级数值,优先级数值越大,优先级越大
RIP动态路由
链路状态路由协议
—OSPF,传递拓扑信息
距离矢量型路由协议
——RIP,EIGRP—传递路由表(传递路由表中的路由信息)
RIP的邻居
—设备运行了RIP,设备是相邻的,可以通过指令网段传递RIP的数据包
RIP实际上只需要传递两个参数——目标网段 cost
COST—动态路由协议用来选路的参数
RIP的选路只看跳数—经过路由器的数量
不同路由协议之间比较开销是没有意义的
不同动态路由的选路比较优先级
RIP默认的优先级为100
OSPF默认的优先级为10
静态路由的优先级默认为60—华为体系制定的标准
RIP传递的路由信息COST=本地路由表中开销值+1
RIP的数据包
request—请求包
response包—应答包
RIP只能主类宣告
RIP的计时器
周期更新计时器—30S
失效计时器—180S
垃圾回收计时器—120S
当180S失效时间到之后,路由器首先会把该网段信息,从自身路由表中删除,同时会启动垃圾回收计时器,
将该网段的信息发送给自身的邻居,同时会携带cost为16,侧面表示这个网段不可达
RIP想要彻底删除一条路由信息,需要经过300S的周期
RIP设计了工作半径——15跳
16跳认为不可达
发布路由
激活接口—只有宣告的接口才能正常首发RIP的数据包
RIP的环路问题
异步更新
解决环路问题的方法
16跳触发更新
水平分割
当路由器从一个接口接收到某条路由之后在更新时将不在发送该路由信息
毒性逆转
当路由器从一个接口接收到某条路由之后在更新时将发送该路由信息,但是会携带cost值,并将COST置为16
华为默认开启水平分割
如果两种机制都启动,那么将按照毒性逆转的逻辑去执行
OSPF
OSPF V1 V2—ipv4
OSPF V3—ipv6
1. RIP和OSPF都是无类别的动态路由协议,可以进行汇总和子网划分
2. 都是使用组播发送数据包
——RIP 224.0.0.9 OSPF 224.0.0.5 224.0.0.6
3. 都支持等开销负载均衡
结构化部署——区域划分
AS—自治系统
ABR—区域边界路由器-----接口
必须同时属于两个区域
OSPF设计了区域ID—area ID—32位二进制构成—由点分十进制来表示
骨干区域—只能位区域0,area 0=0.0.0.0
DR---指定路由器(指的是接口)
DR和其他广播域内所有的路由器均建立邻接关系
BDR---备份指定路由器—和其他所有路由器都处于邻接状态
DRother—一个广播域,除了DR和BDR的其他路由器才处于邻居状态。
会选择广播域中RID最大的作为DR,RID次大的成为BDR,剩余设备为Drother
DR和BDR的选举是非抢占的
选举时间最大是死亡时间
OSPF—区域划分的规则
1.必须存在ABR—必须存在一个路由器同时属于多个区域,可以存在多个ABR起到备份的作用,必须存在接口属于区域0
2.OSPF区域划分必须按照星型结构进行划分
RID —用来区分和标识不同的OSPF路由器的身份
32位二进制构成
1.唯一性
2.格式统一按照IP地址的格式去执行
设备获取RID的方式
1.手工配置
2.自动生成
如果路由器配置了环回地址,那么他会选择环回地址中数值最大的作为自身的RID,如果路由器没有环回地址,则会选择接口IP地址数值最大的作为自身的RID
OSPF 数据包
RIP由两种数据包
Hello包
用来周期性的发现建立和保活邻居关系
Hello时间——10S发送一次
Dead time—死亡时间—默认等于四倍的hello时间—40S
OSPF在某些特殊网络环境下会出现每30s发送一次hello包的情况。
DBD包—数据库描述包
LSDB数据库—用来存储LSA(拓扑信息)
LSR包—链路状态请求包
用来请求我没有的LSA信息
LSU包—链路状态更新包
真正携带LSA信息的数据包
LSACK包—链路状态确认包
OSPF状态机
TWO-way—双向通讯状态—标志着邻居关系的建立
条件匹配—只有条件匹配成功的设备,才能进入下一个状态,如果条件匹配失败则停留在邻居关系,并通过Hello包每10S进行保活。
主从关系的选举—选举标准看RID的大小
错开发送数据包
FUll状态—标志着邻接关系的建立
只有邻接状态才真正共享LSA信息
OSPF的工作过程
建立邻居关系----启动配置完成后,OSPF将将本地所有运行了OSPF协议的接口,以组播 224.0.0.5(目标IP)周期性的发送hello包(10s),hello包中将携带自己本地的RID,邻居接收到对端的RID将会把这些信息存储在邻居表。
条件匹配:如果条件匹配成功则进入下一个状态,如果匹配失败则,停留在邻居关系。需要用hello包进行周期保活。
建立邻接关系:进行主从关系的选举,首先采用未携带真正数据(真正LSA摘要)的DBD包
进行选举----对比RID,RID大的作为主设备,后续将由主设备优先共享自己的数据库摘要信息,同时也将由主设备先共享自己的LSA信息。之后使用LSR/LSU/LSACK获取本地未知的LSA信息,完成了本地lsdb的建立----形成本地链路数据库表。
完成收敛:基于自己本地的链路状态数据库,依靠OSPF算法形成有向图---最终计算得出路由----加载到自己本地的路由表中。
收敛完成后,将使用hello包周期保活,每30min进行周期更新,LSA有关。
VLAN交换机技术
VLAN—
虚拟局域网
LAN—局域网
MAN—城域网
WAN—广域网
1.一个VLAN相当于是一个广播域
VLAN—通过路由器和交换机协同工作后,将原本的一个广播域逻辑上,拆分为多个虚拟的广播域。
VID—VLAN ID------用来区分和标识不同的VLAN(广播域)
二进制构成,12位二进制构成 4096个 1-4094,其中0和4095一般作为保留,不允许配置。
一层VLAN/物理VLAN
将VLAN和MAC地址进行绑定,从而实现VLAN的划分
—2层VLAN因为以太网帧中存在类型字段,所以可以根据不同的IP流量(IPV4/IPV6),映射对应的VLAN,从而实现VLAN的划分
—3层VLAN携带标签的数据帧—因为原本的以太网帧结构没有插入VID的位置,所以IEEE研发了一款新的帧结构(802.1Q帧),在源MAC和类型字段中级插入了4字节的字段,这个字段包含(VID),我们把这种携带VLAN标签的帧结构成为TAG帧(802.1Q帧)
ACL—访问控制列表
配置了ACL的网络设备根据事先制定号的规则,然后对经过该设备的流量按照对应的规则进行匹配,对匹配上的流量执行相应的动作
ACL的功能:
访问控制
允许Permit
拒绝deny
抓取流量:ACL只匹配流量,至于具体的动作将和其他协议或者一些服务联合起来使用
ACL访问控制列表的匹配原则——
自上而下,逐一匹配,一旦匹配上则不在向下匹配
华为默认ACL列表末尾隐含一条允许所有的指令(不做处理)
思科默认ACL列表末尾隐含一条拒绝所有的指令
ACL的分类:
基础的ACL:
仅关注数据包中的源IP地址
2000-2999
高级ACL:
除了关注数据包中的源IP地址之外,还会关注数据包中的标
IP,端口号等等。
3000-3999
用户自定义的ACL:
ACL的调用:路由器的接口,并且ACL的调用需要区分流量的流向(流入或策略或者流出)