Juniper总结
阅读原文时间:2023年07月10日阅读:2

Juniper的路由器分为两个部分——RE和PFE。不过貌似大部分路由器都分为这两个部分。。。。

Routing Engine:

当密码授权通过之后,用户就进入了RoutingEngine中,在其中可以进行软件升级,配置,ping,telnet等操作。这是逻辑存储JunOS的位置,路由器通过Routing Engine操作各种路由协议,比对各个路由之后选出最佳路由。然后将最佳路由装载进ForwardingTable,并将Forwarding Table拷贝进Packet Forwarding Engine,在PacketForwarding Engine中的转发表才可以真正转发用户数据。

包括组件:

Routing Engine2:存在于M系列路由器中,333MHz处理器和768MB内存,80MB的flash存储和6.4GB的硬盘。M40包括LS 120 外部存储硬盘,其他型号为可移除的PCMCIA闪存卡作为外部存储。

Routing Engine3:存在于T系列路由器中(T320,T640),最新的JunOS可以让M系列路由器也加载该引擎。660MHz的处理器,2GB内存,128MB内部flash,30GB硬盘,可移除PCMCIA闪存卡作为外部存储。

Routing Engine中的内存是用来存储路由表,转发表,链路状态数据库和操作系统内存的。

内部的flash存储了JunOS的操作系统和configuration file,

硬盘是用来存储,JunOS的备份,日志文件,debug信息和用户文件的

JunOS适用于全系列的RoutingEngine,不需要因为Routing Engine更换而换JunOS

Packet Forwarding Engine

负责转发数据,包含一系列的ASIC,加速数据转发。与Routing Engine比,不智能

主要部件:

PIC(Physical interface card),FlexiblePIC concentrator, switchingcontrol board

每个部件上都有IBM制造的ASIC

Switching control board(FEB,SSB,SCB,SFM,MMB) 包含了一个PPC CPU,64MB的内存,但是不会参与包转发。×××AM中8MB(16MB)包含了转发表——8MB有45万条转发条目。Switching control board上的internet processorASIC进行路由查找,上面还有一个ASIC会进行包存储的内存管理

Flexible PIC concentrator:连接PIC和SCB,其中有个PPC的CPU,64MB内存跑一个嵌入式系统,不参加数据转发,但是FPC上有个ASIC会和出站和进站的数据包互动

PCI:在FPC上有4个独立的PIC.

在JunOS中包括以下几个daemon:

1、routingprotocol daemon(rpd):控制路由协议,包括了协议信息,路由表更新和路由策略。

2、Device ControlDaemon(dcd):配置和维护路由器接口所用,控制了接口的物理和逻辑属性

3、ManagementDaemon(mgd): 控制了用户进入路由器。CLI就是一个MGD的客户端

4、ChassisDaemon(chassisd):控制了路由器本身的属性,比如midplane,FPC等

5、PacketForwarding Engine Daemon(PFED):联系routing engine和packet forwarding engine的进程。

JunOS包括的软件:

jkernel:包括了基本的JUNOS组件

jbase:和jkernel相比,包括了一些附加软件

jroute:包括了在routingengine上操作的软件,如单播协议,组播协议,MPLS等。还包括了一些daemons,如mgd

jpfe:包含了控制PacketForwarding Engine的嵌入式系统。

jdocs:包括了完全的JUNOS软件文档集

jcrypto:包括了IPSec和SSH

jbundle:包括了以上所有软件

JUNOS软件命名:

File list jbundle*

/var/home/user/jbundle-5.2R1.4-domestic-signed.tgz

5.2为主版本号

R代表公开发行(A——alpha version,B——Beta,I——internal or test)

1.4——releaseversion

domestic——包括jcrypto

signed——可以使用MD5

软件升级:

Show version brief

Request system software addjbundle-5.3R2.4-domestic-signed.tgz(新的软件名称)

启动顺序:

可移除存储(做灾备,会还原到出厂环境)——>内部flash——>硬盘(先要用requst system snapshot来做镜像,会有警告信息)——>systemhalt

CLI

有两个模式:

Operation mode:相当于enable,登录路由器后首先进入该模式, >表示。

Configuration mode:相当于config terminal

有补全功能——tab或空格

帮助:?

快捷键:

Ctrl+P:上一条命令

Ctrl+N:下一条命令

Ctril+B:命令提示符向左移一位

Ctrl+F:向右移一位

Esc+B:向左移一个单词

Esc+F:向右移一个单词

Ctrl+A:移到行首

Ctrl+E:移到行尾

Ctrl+W:删除左边的一个单词

Ctrl+X:删除整行

Ctrl+L:整行变红

可以用|符来做更多的操作

Count

display

Except

Find

Hold

Match

No-more

Resolve

Save

Trim

Show interfaces terse 查看路由器上的逻辑接口

Show interfaces terse | match inet 查看接口IP地址

Show interfaces terse | match inet |count 看有几个接口有IP地址

当show命令输出过多,显示--More时,可以按h键,输入命令

/键位查找。

Configuration Mode

输入configure进入该模式

Run

相当于cisco中的do,run showinterfaces ter

Run show route

Edit 模式

用来修改Juniper的各项参数。树状列表如下所示

如需要编辑bgp,则在顶部菜单输入

Edit protocols bgp

或edit protocols , 然后 edit bgp.

如需返回上层菜单,则输入up,如需返回顶部,则输入top。

改变值,用命令set. 如设置系统名:

Edit system

Set host-name XX

或set system host-name XX.

然后用show查看,show system

用delete命令来删除配置。

Delete system host-name XX.

CandidateConfiguration:

当配置改变时,不会马上生效,因为改变的是cadidateconfiguration。需要用commit来确认配置之后,才能生效

用show | compare可以查看现在运行的configuration和candidate configuration的区别。

+说明在candidateconfiguration但不在active configuration

-说明在candidateconfig中将其删除了

保存和读取配置

在top下:save comm(comm为文件名)

Load comm来读取文件。

load overrid comm 覆盖现有配置

load merge comm 把现在的配置和comm合并

Show | find ospf

Load merge terminal,然后将其他路由器上的配置粘帖上去,然后按ctrl+D,保存配置

Commit

只有在输入commit之后,配置才能生效。当输入commit之后,JunOS首先检查语法和逻辑错误,比如应用策略却没有创建这个策略。如果没有错误,路由器应用该配置文件并且搭建该配置所需的环境。最后保存。

Commit and-quit 退出配置模式,如果commit成功

Commit at 在某时执行commit

Commit check 只做检查操作,不应用commit

Commit confirmed 如果没确认,自动回滚——>相当于rollback 1, commit

Commit synchronize 在所有的RE上同步commit

恢复

JunOS一共能保存9个文件供恢复使用。

当前使用的配置文件为juniper.conf,最近一次更改的为juniper.conf.1.gz

Commit 发现配置不对

Rollback 1

Commit 再次确认配置

JUNOS上的存储目录

/config 在内部flash上,保存JUNOS的active configuration(juniper.conf)和回退文件1,2,3

/var/db/config 在路由器的内部硬盘中,包括了回退文件4-9

/var/temp 在内部硬盘中,由守护进程启动失败后释放的一些文件,用来分析

/var/log 在内部硬盘内,由路由器的日志功能和追踪(traceoption)功能释放的文件

/var/home 在内部硬盘上,包含了登录用户的文件夹,其内有各种junos软件命令

/altroot 在内部硬盘上,有拷贝自flash上的root文件结构,用于灾难恢复。

/altconfig 在内部硬盘上,有/config的拷贝(从flash中的拷贝),做灾难恢复用。

RE的冗余

M20,M40e,M160支持RE的冗余,一个为主,一个为备。

默认情况下,当主REdown掉,备份RE不会自动切换为主,需要配置。

Set chassis redundancy failover on-loss-of-keealives

Set chassis redundancy keepalive-time 30默认20s之后切换

PFE组件

PIC I/O Manager ASIC——数据帧校验,负责将报文移动到传输介质

I/O Manager ASIC——对二三层头部完整性信息校验,如果有效,将报文分成定长64字节的J-cell,并发送给DBM ASIC

Distributed Buffer Manager ASIC——InboundASIC中收到J-cell,生成通知信元,发给Internet Processor ASIC,并将J-cell通过I/O manager ASIC放到每个FPC的共享内存池中。

Internet Processor ASIC——将通知信元通过查询转发表转换成结果信元,告知outbound distributed buffer manager ASIC如何处理J-cell。再将J-cell发到outboundI/O manager ASIC中,再发到outbound PIC I/O manager ASIC上,完成数据转发。

单播包流程:

多播包流程:

只有一点不同,结果信元检查后有多个出口,会将包复制成多分,发到出口出去。

列外流量:

发到RE的流量,一般是路由器维护自身进程的流量,如ICMP,PING,TELNET,SSH,包含IP OPTION字段的流量,回复目标不可达信息的流量等。

总结

RE:操纵路由并构成路由转发表,将其复制一份到PFE,

PFE:实现数据的真正转发

JunOS软件存储在内部flash,内部硬盘,可移除闪存中。启动顺序:可移除闪存——>内部flash——>内部硬盘

知道commit,rollback,save,load的用法

知道ASIC在PFE中的作用,四种ASIC:PICI/O Manager ASIC,I/O Manager ASIC,DistributedBuffer Manager ASIC,Internet Processor ASIC

简述数据包在PFE中的流程:

接口收到一个数据包,I/OManager 将其分解成J-cell,DistributedBuffer Manager ASIC 将该包储存到共享内存池中,Internet ProcessorASIC完成路由查找并将结果发送给Distributed Buffer ManagerASIC,DBMA将J-cell转发给出站I/Omanager ASIC。在经过队列调整后,I/O manager ASIC从共享内存池中收到J-cell,并将其重组,然后发到出站PICI/O Manager ASIC

例外流量:路由器维护自身进程的,或者一些测试流量,终止于路由器本身。控制面板的CPU会转发这些流量,不会经由PFE处理。