RE PFE 逻辑结构及物理结构浅析t
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
juniper 路由器逻辑及物理结构分析
作者: Jason Lee jasonlee@
版权: 引用及转载 请标明作者
Junipser Network Router 逻辑上分为RE 与 PFE
+--------+ +--------+
| RE +--------+ PFE |
+--------+ +--------+
RE 主要是负责用户操作的管理 CLI 以及路由协议的运行的
RE的作用:
1.运行各类路由协议。
2.生成路由表
3.由路由表生成 master routering table(MRT)
4.由 MRT 生成转发表 并下发到PFE上
RE的组成:
RE 基于一块 intel PCI mother board (其上面有cpu 与内存)
在内存中存储了, 路由表, 转发表, link-state Datebase, 以及运行junos 所需的内存。
除内存外 还有一块CF卡 和一个硬盘, CF卡上存储了 junos software 以及配置文件
在硬盘上存储了: junos的备份系统, log 文件, debug 信息 以及用户上传的文件。
PFE (Packet Forwarding Engine) 主要负责报文的转发
PFE的组成:
PFE 主要包含了3部分 分别是 PIC (Physical Interface Card), FPC(Flexible PIC Concentrator), SCB(Switching Control Board)
其逻辑结构为:
PFE
+--------------------------------------------------------------------------------+
| +----------------------------------------------------------------------------+ |
| | | |
| | | |
| | +----------+ +---------------+ +----------------+ | |
| | | PIC | | FPC | | SCB | | |
| | | | | | | | | |
| | | +------+ +------------+ +------------+ +---------+ | | |
| | | |PIC | | | +----------+ | | | DBM ASIC| | | |
| | | |I/O M | | | |I/O M ASIC| | | +---------+ | | |
| | | |ASIC | | | +----------+ | | | | |
| | | +------+ | | | | +---------+ | | |
| | | | | | | | IP ASIC| | | |
| | | | | | | +---------+ | | |
| | | | | | | | | |
| | +----------+ +---------------+ +----------------+ | |
| | | |
| +----------------------------------------------------------------------------+ |
+-----------------------------------
---------------------------------------------+
下面分别介绍下各个板卡以及ASIC的作用
1.PIC
接口卡,可以识别各类的传输媒体例如 以太,ATM, SONET 等等. 在PIC 每个接口都有一个 PIC I/O Manager ASIC
用来识别媒体类型 以及检查二层的帧错误,并生成链路层的警报。所有报文的进站出站都最终由PIC完成。
2.FPC
FPC用来连接SCB与PIC 在FPC上有一个I/O Manager ASIC, 其作用为:
a.检查二层三层包头的完整性
b.如果通过检查, 则去掉二层包头, 并分成64-byte的单元 J-cel.
c.I/O manager Asic 将jcell 发送到 DBM Asic上由它存储到共享内存里.
d.将需要出站的报文排队,更改ttl并添加二层头将报文发给PIC I/O Asic 从而将报文发送出去.
3.SCB
在SCB上有两种ASIC 分别是 DBM ASIC(Distributed Buffer Manager ASIC)和 IP ASIC(Internet Processor ASIC)
a.DBM ASIC:
在每一个SCB上都有两个 DBM ASIC 分别管理进站流量和出站流量. 这两个asic都会给报文分配存储空间.
Inbound DBM ASIC 收到 I/O Manager ASIC 发过来的J-cell 后会产生一个 notification cell, 其中包括了
source/destination address, S/D port, inbound interface, Qos setting, TTL, 等信息。并将该 notification cell
发送给 IP ASIC。
Outbound SCB ASIC, 当IP Asic查询完路由表后会生成一个result cell 其中包括了next-hop 信息, 当outbound vscb asic
收到result cell 后就能确定应从那个interface出去,从而确定了FPC, 这时候将result cell 发给spc 排队等候发送。
b.IP ASIC:
IP asic 是PFE的核心组件,RE 生成的转发表会下发到 SCB的 SSRAM 中,IP asic 会根据notification cell
去访问转发表 进行路由查找 从而确定 下一跳, 当完成查找后会将 next-hop 信息放入 notification cell 中 这时候
notification cell 就变成了result cell。
IP asic 还可以执行policy 以及防火墙的包过滤等功能。
简述了一些基本的组件后看下 unicast Package 是如何在PFE上转发的:
----------------------------------------------------------------------------------------------------------------------------------------------------------------
| |
| Control Board |
| +---------------------------+ Perform:
|
| + Internet Processor | e notification cell |
| + | to look up forwarding table |
| + ASIC | 2.get the next-hop and creat Result Cell |
| +---------------------------+ |
| +---------------+ ^ | +---------+ |
| | notification | | | | Result | |
| | cell | | | | cell | |
| +---------------+ | | +---------+ |
| [6] | V [7] |
| +-------------------------------->+ +----------------------------->+ |
| ^ | |
| | | |
| | | |
| | | +---------+ |
| | | | Result | |
| | | | cell | |
| | | +---------+ |
| | +---------+
| |
| | | J-cell | V |
| ----------------- | | ----------------- Perform: |
| | Inbound | +---------+ [11] | outbound | e Result cell |
| | Distributed |-------------------------->+ +--------------->| Distributed | to examin the out interface |
| | Buffer | | ^ | Buffer | 2.send result cell to I/O asic |
| | Manager ASIC | | | <--------------| Manager ASIC | for queuing and trasmission |
| ----------------- | | [10] ----------------- |
| / Perform: | | \ |
| / 1.create | | \ |
| +---------+ / notification cell | | \ |
| | J-cell | / 2.transmit Not-cell | | \ [8] |
| | | / to IP ASIC | | \ |
| +---------+ / 3.store the J-cell |[4] | V +---------+ |
| / to memory pool | | | | Result | |
| ^ [3] | | | | cell | |
| | | | | +---------+ |
| | | | | |
| | | | | |
-------------------|--------------------------------------------|---------------------|---------------------------------|---------------------------------------
| | | |
| | | |
-------------------|--------------------------------------------|---------------------|---------------------------------|---------------------------------------
| | | | | |
| FPC | | +---------+ | | |
| | [5] | | J-cell | | | |
| | | | | | | |
| | | +---------+ | | |
| | | | | |
| | V | V |
| ------------------ Perform: +--------------------------+ ------------------ Perform: |
| | Inbound I/O | 1.verifi the integrity | Shared memory on FPC | | Inbound I/O | 1.queues the result cell |
| | Manager ASIC | of L2&L3 header | | | Manager ASIC | 2.when reach the head |
| ------------------ 2.Remoce L2 header | | ------------------ request the J-cell from|
| ^ [2] 3.Segments to 64 byte J-cell +--------------------------+ | Outbund DBM ASIC |
| +---------+ | 4.Send J-cell to DBM ASIC +---------+ | 3.wh
en the outgoing j-cel|
| | inbound | | |outbound | | [9] arrive change TTL and |
| | package | | | package | | add the L2 header |
| +---------+ | +---------+ | |
| | | |
-------------------|------------------------------------------------------------------------------------------------------|-------------------------------------
| |
| |
-------------------|------------------------------------------------------------------------------------------------------|-------------------------------------
| | | |
| PIC | | [12] |
| | Perform: | |
| | 1.L2 error checking V |
| ------------------ 2.transmits the package ------------------ |
| | inbound PIC | to I/O Manage ASIC | outbound PIC | |
| | Manager ASIC | | Manager ASIC | |
| ------------------ ------------------ |
| ^ [1] | |
| | |
|
| | | |
-------------------|-------------------------------------------------------------------------------------------------------|------------------------------------
| |
+---------+ | +---------+ |
| inbound | | |outbound | |
| package | | | package | |
+---------+ +---------+ V
[1] 进站报文上送到 PIC I/O Manager ASIC 检查链路层错误, 没错则上送到FPC卡上的 I/O Manage ASIC上
[2] I/O Manager ASIC 检查L2 L3的包头完整性,然后去掉L2 header 封装成64 byte的J-cell 上送给 DBM ASIC
[3] [4] [5] DBM ASIC 为接受到得J-cell 指定存储空间,并通知FPC 上的 I/O manager ASIC 来存贮 J-cell 到共享内存中
[6] J-cell 存储后 DBM ASIC 会将事先用j-cell 生成的notification cell 发送到 IP Asic 上
[7] IP ASIC 通过 notification cell 进行路由查找,生成 result cell 其中加入了 next-hop信息
[8] Outbound DBM ASIC 将Rsult cell 发送到FPC 的I/O manager asic上 排队等待发送
[9] 当排到时 I/O M ASIC 向DBM ASIC 申请 j-cell 发送
[10] [11] DBM ASIC 从共享内存中拷贝一份 j-cell 并发送给 I/O M ASIC
[12] I/O M ASIC 将j-cell 修改TTL值 并加上L2 header 通过PIC I/O Manager ASIC 发送出去