前段时间考完了JNCIE。但是工作环境中J的设备较少,为了避免遗忘。特此将一些知识点和实验记录下来。
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处理。