通讯
用户机向服务器发起申请,服务器回应申请,也就是信息的传递
用户经常向服务器申请进入web网站
web:网页、超文本,包含除了文本文件以外的东西,如图片、视频、声音
通讯的第一步——将人类的抽象语言转换为二进制——转化为电信号-----------(数据转换)
数字信号(低脉冲0高脉冲1)
由cpu处理电信号
由一个应用程序接收参数和指令,将参数和指令按编码表转换为对应编码(转换为二进制)
若是编码格式不同,则会出现乱码现象
OSI参考模型和TCP/IP协议簇
对于整个互联网而言指定了统一的标准——OSI/RM参考模型
部分著名端口号
mac地址为以太网下独有的地址
封装
DHCP
动态主机配置协议 C/S架构 客户端/服务器模式
UDP 传输层,数据传输不太可靠 端口号 67 服务器
端口号 68 客户端
DHCP客户机分配IP地址流程
客户机广播发送discover包,接收到此包的服务器发送offer包
客户机广播发送request请求包,向所有服务器表明可用某个服务器分配的某个IP地址
发送此IP地址的服务器发送ack请求包,确定客户机可以使用IP地址
dhcp-discover包
dhcp-offer包(报文)
dhcp-request请求包
dhcp-ack请求包
交换机的转发原理
当一个数据包来到交换机,交换机会把数据包中的源mac地址和端口号记录到自身的mac地址表中,转发时,在自身的MAC表中查找是否有对应地址,找到对应地址则转发,没找到则洪泛
洪泛:向除了此数据包的源地址外的所有接口转发一份此数据包
ARP
地址转换协议 寻找目标Ip地址的mac地址
在跨网段通讯的情况下,寻找网关的MAC地址
网络位相同则是同网段,网络位不同则是跨网段转发
pc1发送一个ARP包,寻找网关,数据包中的dmac 全F
网关发送一个应答ARP包,我是网关,MAC地址如下,接口如下,smac 网关MAC地址 ,dmac pc1端mac
也就是说,arp包的功能为:广播发送我是192.168.1.2,我的mac地址为xxx,谁是192.168.1.1,你的mac地址为多少?单播回复我是192.168.1.1,我的mac地址为xxx,你找到我的端口号为0/0/1(回复前,会在自身arp地址表中记下对方的ip和mac)
当自身不是此包寻找的ip地址时,仅将广播发送的ip和mac地址做记录,不发送回复
免费arp
加入网段时向网关发送一个免费arp包,介绍自己的地址。当网络中有地址与自己相同时,重新获取一个新的地址
网络类型和VPN
以太网
MAC为以太网独有的地址,以太网络为BMA型网络,多节点
支持以太网协议的传输介质:网线、光纤、无线、同轴电缆
频分技术:将不同的数据用不同的频率发送,多个频率可以在同一根介质上同时发送(网线双绞线)
P2P网络
p2p网络不需要使用mac地址和ip地址,网络中只能存在两台设备,不需要区分身份
支持点到点协议(p2p协议)的传输介质:串线
前期的带宽为64kb,为了增加带宽,给串线加了几根铜丝
T1标准 北美:1.544Mbps
E1标准 欧洲:2.048Mbps
但是为了确认两台设备是连通的,要使用ip协议来ping通,所以实际上使用时依旧要配置IP地址
二层协议的改变不会影响其他层次的协议,降低了层次之间的关联性
ppp过程
1. 链路协商阶段
2. 认证
3. NCP协商---网络协议协商阶段(根据网络层协议的不同NCP协议就会存在一个对应的NPC协议)
GER,MGER
VPN
私网与私网之间无法直接相互通信,使用nat
ger
为了连接上两个私有网络,使用gre在边界机器上建立一条逻辑路线,多封装一层ip地址,使得他们都能连接上公网
使用gre所多封装的一层ip地址,可以通过此层封装的源ip和目标ip跳转到公网所连接的目标中
配置内网的网段
[r1]interface LoopBack 0
[r1-LoopBack0]ip address 192.168.1.1 24
[r1-LoopBack0]q
配置连接公网的网关
[r1]interface GigabitEthernet 0/0/0
[r1-GigabitEthernet0/0/0]ip address 12.0.0.1 24
[r1-GigabitEthernet0/0/0]q
配置缺省路由
[r1]ip route-static 0.0.0.0 0 12.0.0.2
配置逻辑线路上的虚拟端口
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ip address 192.168.3.1 24
配置虚拟端口应用的协议——gre
[r1-Tunnel0/0/0]tunnel-protocol gre
配置源地址
[r1-Tunnel0/0/0]source 12.0.0.1
配置目标地址
[r1-Tunnel0/0/0]destination 23.0.0.2
[r1-Tunnel0/0/0]q
将对应的下一跳写入路由表中
[r1]ip route-static 192.168.2.0 24 192.168.3.2
[isp]interface GigabitEthernet 0/0/0
[isp-GigabitEthernet0/0/0]ip address 12.0.0.2 24
[isp-GigabitEthernet0/0/0]q
[isp]interface GigabitEthernet 0/0/1
[isp-GigabitEthernet0/0/1]ip address 23.0.0.1 24
配置内网的网段
[r3]interface LoopBack 0
[r3-LoopBack0]ip address 192.168.2.1 24
[r3-LoopBack0]q
配置连接公网的网关
[r3]interface GigabitEthernet 0/0/0
[r3-GigabitEthernet0/0/0]ip address 23.0.0.2 24
[r3-GigabitEthernet0/0/0]q
配置缺省路由
[r3]ip route-static 0.0.0.0 0 23.0.0.1
配置逻辑线路上的虚拟端口
[r3]interface Tunnel 0/0/0
[r3-Tunnel0/0/0]ip address 192.168.3.2 24
配置虚拟端口应用的协议——gre
[r3-Tunnel0/0/0]tunnel-protocol gre
配置源地址
[r3-Tunnel0/0/0]source 23.0.0.2
配置目标地址
[r3-Tunnel0/0/0]destination 12.0.0.1
[r3-Tunnel0/0/0]q
将对应的下一跳写入路由表中
[r3]ip route-static 192.168.1.0 24 192.168.3.1
mger
MGRE:中心-分支 和C/S架构一样 在多节点的vpn网络下选择一台边界路由器成为中心(nhs)
中心的隧道地址必须固定,中心联系公网的地址也必须固定
只需要让分支告诉中心他对应的公网地址,建立一条隧道,中心就能形成一张路由表
nhs:下一跳解析,负责接收分支汇报的信息----分支隧道接口配置的ip和隧道接口的物理地址
当分支(不同的内网)想要互相访问时,通过nhs访问路由表即可找到对应的地址
OSPF
OSPF:开放式的最短路径优先协议
共享LSA(拓扑信息),每30min更新一次
每个运行此协议的节点把周围的节点公布,形成一张拓扑图
依靠SPF算法计算出路由
适应中大型的网络环境,也可以用在中小型的网络环境中
RIP:距离矢量路由协议
共享路由表
选择路径时通过跳数来判断
16跳限制,传递范围在15台路由器中,只适用于小型网络环境中
有两个问题 1不能广播,只能伪广播
2使用水平分割时,不能获得发出的信息
动态路由协议
运行同一款动态路由协议的路由器,通过沟通协商,最终得出的路由信息
- 占用资源少
- 收敛速度快 收敛:把未知网段加载到路由表的过程
- 选路优
动态协议的划分
按照范围划分:外部网关协议---FGP BGP
内部网关协议---IGP---OSPF RIP ISIS EIGRP
按照协议特点划分:有类别的动态路由协议---在传递路由信息时不携带子网掩码
(只有RIPv1,它采用广播的方式传递数据包)
无类别的动态路由协议---在传递路由信息时不携带子网掩码
(IGP,使用组播发送自身的数据包)
组播地址
RIP---224.0.0.9
OSPF---224.0.0.5 224.0.0.6
区域划分
将区域划分后的OSPF网络称为多区域OSPF网络
将没有进行区域划分称为单区域OSPF网络
display ospf peer
此命令用于查看邻居表
标准的区域划分要求
- 区域之间必须存在ABR设备
- 区域划分必须按照星形拓扑结构部署
ABR设备
ABR区域边界路由器,同时属于两个或两个以上区域的设备,将这些区域与主干区域连接起来,其中一个连接的区域必须是主干区域
骨干区域
OSPF的中间区域,区域ID必须是0.0.0.0(area 0)
OSPF数据包
1----hello包
周期性的发现建立和保活邻居关系
周期保活
LSA
链路状态通告
具体的每一条的拓扑或路由信息
计时器
hello时间:默认为10s
Dead-time死亡时间:默认是四倍的hello时间
RID
运行了OSPF路由器设备为了区分和标识不同的路由器身份设计的路由器编号
本质是32位二进制,用点分十进制表示
获取方式
手工配置 由工程师配置,IP不能重复
自动生成 设备会选择自身环回接口数值最大的作为自身的RID
如果设备没有配置环回会选择接口IP地址数值最大的作为RID
2-----DBD包
3----LSR包
链路状态请求包
用于向邻居请求完整的LSA
只会请求自己没有的
类型
type1 Router LSA
type2 Network LSA
4----LSU
链路状态更新包
包含完整的LSA信息,用于回复LSR包。当路由器感知到周围节点产生变动时,会泛洪发送LSU包
5----LSACK
链路状态确认包
用于确认LSU,包含所要确认的LSA头部信息
OSPF状态机
建立邻居关系的过程
down状态:
协议未启动,机器未激活时为down状态,激活后切换到init状态
init状态:
接收到hello包后,将对方录入自己的邻居表里,并回复hello报文
2-way状态:
自身发出hello包后,对方回复的hello报文里含有自身的RID,进入2-way
回复含有对方RID的hello报文,使对方也进入2-way状态
此状态表示邻居关系的成功建立
条件匹配
(2-way状态后)条件匹配成功的路由器才可以进入下面的状态,如果条件匹配失败则停留在邻居状态,仅使用hello包进行周期保活
在一个广播域中需要选择一台路由器(DR)和剩下所有路由器建立邻接关系,同时需要选择一台备份设备,充当DR的备份,当DR设备出现故障需要行使DR的工作。
DR和BDR的选举规则
先比较参选接口优先级,默认1,取最大的。为0的不参与
若优先级相同,比较参选设备的RID数值,取最大的
Exstart 预启动
主从关系的选举
一个大型网络中不能让所有设备同时共享所有的LSA信息,所以要进行主从关系的选举
比较设备的RID大小,RID数值大为主,成为主设备,优先进入下一个状态
进行比较的报文为DBD,其中不含有真正的LSA信息
Exchange 准交换
使用携带真正的LSA的DBD包传递信息
Loading 加载
共享LSA,完成后回复ACK
Full
本地的链路状态数据库建立完成,生成本地链路数据库表。
OSPF的配置
[r1]ospf 1 router-id 1.1.1.1---启动协议进程(进程号一致即可),建议手工指定设备的RID
[r1-ospf-1]area 0--创建区域--
[r1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255 --宣告(范围宣告)--利用反掩码(和掩码的规则相反,掩码为0的部分反掩码就为1,掩码为1的部分反掩码就为0)
[r1-ospf-1-area-0.0.0.0]network 12.0.0.1 0.0.0.0---精确宣告,相当于利用了反掩码的规则直接锁死一个IP地址(仅宣告接口对应的IP地址)
[r2]display ospf peer brief --查看OSPF邻居简表
[r2-GigabitEthernet0/0/0]ospf mtu-enable --OSPF协议默认是不进行接口MTU检测的,如果想要开启该功能需要手工配置。
[r2]display ospf peer---查看ospf邻居表详细信息
[r2]display ospf peer---查看ospf邻居表详细信息
当网络结构发生了变化(新增或者断开一些网段),OSPF会直接进行触发更新发生LSU数据包。
[Huawei-GigabitEthernet0/0/0]ospf dr-priority 10---修改接口DR选举优先级,数值大的作为DR设备
OSPF的数据报文
所有OSPF报文均携带公共头部信息
hello报文
DBD报文
LSR--链路请求报文
LSU报文
LSA个数
LSA内容
显性回复ACK,以LSA的形式回复
OSPF--LSACK的确认,是对每一条请求的LSA进行确认
OSPF的接口网络类型
网络类型: P2P 点到点
MA 多点接入网络
BMA 广播形式多点接入网络
NBMA 非广播性多点接入网络
OSPF接口工作在不同的网络环境下工作方式有所区别
<r2>display ospf interface GigabitEthernet 0/0/0 --查看OSPF接口网络类型的命令
OSPF
真实网络环境
|
OSPF
对应的接口网络类型和特点
|
BMA
(以 太网)
|
类型:
Broadcast
特点:需要
进行
DR
和
BDR
的选举,
Timers: Hello 10 , Dead 40
|
P2P
点到点网络
|
Type: P2P
:特点:不需要进行
DR
和
BDR
的选举(条
件匹配),
Timers: Hello 10 , Dead 40
|
环回接口
|
虚拟接口,实际不会涉及数据包的收发,环回接口
COST
=0
|
MGRE
|
隧道环境类型:
OSPF
中默认识别隧道接口的ospf接 口类型为P2P,导致只能存在两台设备,在MGRE环境下,必须修改接口的工作方式使隧道接口可用
识别多台设备
|
人为设计的接口网络类型
|
接口网络类型:
P2MP
,特点不需要进行
DR
和BDR
的选举,
Hello 30 , Dead 120
|
NBMA
(帧中继)
|
Timers: Hello 30 , Dead 120
|
[r2-ospf-1]bandwidth-reference --修改OSPF参考带宽的指令
OSPF在MEGR环境下的问题
1.只有中心获取到了一个分支的hello报文,分支之间没有获取到任何hello报文
[r1-Tunnel0/0/0]nhrp entry multicast dynamic
2.中心开启伪广播之后,中心和一个分支建立了邻接关 系,但是分支之间没有信息,其次有一个分支只和中心保持init状态
[r1-Tunnel0/0/0]ospf network-type broadcast--需要修改OSPF协议在mGRE隧道接口下的默认接口网络类型为 broadcast.
3.如果中心和分支的DR和bdr认知不一致会导致网络中一些由DR设备发送的LSA信息残缺,导致没有办法获取到完整的路由信息。
解决方法1:[r2-Tunnel0/0/0]ospf dr-priority 0--解决方法就是让分支设备放弃选
举DR和BDR
解决方法2:[r1-Tunnel0/0/0]ospf dr-priority 10--让中心的设备接口DR选举优先
级为最高。
[r2-LoopBack0]ospf network-type broadcastAttempt
只有在NBMA环境下才会出现,等待对端也指定发送的对象在NBMA环境下
因为不支持组播报文,所以即使宣告了OSPF接口,接口依然没有办法发送
hello(224.0.0.5是一个组播报文),所以必须手工指定建立邻居的对象IP地址
[Huawei-ospf-1]peer 12.0.0.2 --指定建邻的设备IP地址,双方都需要指定