Junos Device Architecture

Home » Blog » Configuration Template » Juniper » Junos Device Architecture

Junos Device Architecture

06.02 2024 | by massimiliano

Come regola generale Juniper condivide la stessa architettura attraverso un sistema di Control-Plane e Forwarding-Plane a volte separato via hardware […]



Come regola generale Juniper condivide la stessa architettura attraverso un sistema di Control-Plane e Forwarding-Plane a volte separato via hardware (ad esempio nella M-series multiservices edge router: from M5 to M320, M7i) ed a volte via software (ad esempio nella J-series i quali possono essere utilizzati in HA chassis cluster J2320, J2350, J4350 e J6350).

Control Plane è riferito come Routing Engine (RE)

Data Plane è riferito come Packet Forwarding Engine (PFE)

RE ha come funzione quello di gestione del PFE; questo significa il controllo delle funzionalità software devices, impostare via CLI le operazioni di configurazione, provvede a meccanismi di troubleshooting e mantiene le diverse tabelle di routing (L3) e forwarding (L2) dove quest’ultima poi è indirizzata verso il piano di PFE che provvede alla trasmissione dei pacchetti in esso transitante verso il corretto next-hop.

Junos è il sistema operativo del Juniper devices e lavora su base Free-BSD Kernel (sistema operativo di tipo Berkeley Software Distribution su base Unix,in grado di gestire dischi, memoria, sicurezza ed altro per architetture Intel, AMD64, IA-64, UltraSPARC, PowerPC, etc..)

I processi software presenti sono tutti indipendenti tra loro in modo che qualsiasi problema possa esistere in uno di essi, questo non possa interagire con gli altri.Attraverso il comando

show system processes è possibile vedere una lista completa.

Di seguito un’esempio per il processo SNMP che prende informazioni dai vari processi per interface, chassis e routing table.

La modalità più comune di configurazione in un Juniper devices è la CLI (Command Line Interface); altre modalità possono essere la web-GUI chiamata jweb.

La CLI ha due opzioni:

Operational: per la parte di troubleshooting e monitoraggio del software Junos

Configuration: per la parte di configurazione di ogni componente quale interfacce, protocolli layer 2, protocolli layer 3, policies, etc

L’accesso al devices è possibile via telnet, ssh, console, https, ed il nodo si presente per la versione CLI  con un prompt di login; una username ed una password consente il corretto accesso.

login: root

password: no password

!

root@% cli

root@> 

La modalità di configurazione viene permessa attraverso il comando edit oppure configure

root@user >  configure or edit

root@user #

Tutti i devices Junos hanno necessità di una configurazione iniziale (di default) per il root authentication ed anche per l’hostname, system time, access type (ssh, telnet)

root# edit

root# set system root-authentication plain-text-password

    New password: <minimo 6 caratteri>

    Retype new password: <minimo 6 caratteri>

root# commit and-quit

commit complete

!

root# edit system

root# set host-name ROUTER1

root@ROUTER1# set time-zone Europe/Rome oppure set time-zone GMT+1

root@ROUTER1# set boot-server <ip_address_NTP boot_server>

root@ROUTER1# set server <ip_address_NTP_server>

Nota:

Il boot-server viene usato per settare il timer locale ad un boot time in modo da garantire che sia abbastanza vicino per sincronizzarsi al server NTP configurato (di default se la differenza tra l’orologio locale e l’orologio del server NTP è maggiore di 128 msec, i timer si sincronizzano lentamente; in caso di > 1000 sec gli orologi non si sincronizzano)

Servizi di Accesso:

root@ROUTER1# edit system

root@ROUTER1# set services telnet connection-limit 5

root@ROUTER1# set services ssh connection-limit 5

!

Creazione Account:

root@ROUTER1# edit system login

root@ROUTER1# set user massimiliano class ADMIN authentication plain-text-password

  New password: <minimo 6 caratteri>

  Retype new password: <minimo 6 caratteri>

!

root@ROUTER1# set class ADMIN permission all

In configuration mode è possibile inserire una determinata configurazione attraverso il comando set ed applicarla al device con il comando commit. Esempio:

root@user # set system hostname R1

Ci sono molte possibilità prima di salvare la configurazione attraverso il comando commit, come ad esempio:

root@R1# commit ?

Possible completions:

<[Enter]>              Execute this command

and-quit              Quit configuration mode if commit succeeds

at                         Time at which to activate configuration changes

check                  Check correctness of syntax; do not apply changes

comment            Message to write to commit log

confirmed           Automatically rollback if not confirmed

|                           Pipe through a command

[edit]

Il pipe è una funzionalità abbastanza utile per filtrare la visione di una specifica configurazione attraverso il comando show.

root@R1> show configuration | ?

Possible completions:

compare             Compare configuration changes with prior version

count                  Count occurrences

display               Show additional kinds of information

except                Show only text that does not match a pattern

find                     Search for first occurrence of pattern

hold                    Hold text without exiting the –More– prompt

last                     Display end of output only

match                 Show only text that matches a pattern

no-more             Don’t paginate output

request               Make system-level requests

resolve               Resolve IP addresses

save                    Save output text to file

trim                     Trim specified number of columns from start of line

JUNOS INTERFACE

Le interfacce in Junos sono generalmente cosi rappresentate:

fxp0: è una interfaccia di management OOB di tipo ethernet; può essere utilizzata anche per trasmettere messaggi di syslog o snmp-traps.

Questa interfaccia è una nontransit interface, il che significa che attraverso questa porta non è consentito un passaggio di traffico né in ingresso né in uscita via una qualsiasi porta LAN/WAN.

fxp1: è una interfaccia internal di tipo fastethernet o gigabitethernet tra la RE e la PFE e può essere utile nei casi di troubleshooting per problemi legati al device.

lo0: questa è una interfaccia logica di loopback ed è possibile creare n interface di loopback per differenti motivazione e sotto differenti routing-instances.

sp: questa interfaccia è impiegata per funzionalità quali NAT, IPsec e stateful firewalls.

pimd: questa interfaccia ha un link-level type PIM-Decapsulator e permette un ad un multicast rendezvous point di processare PIM register messages.

pime: questa interfaccia ha un link-level type PIM-Encapsulator ed è impiegata in multicast per creare un unicast PIM register message da trasmettere al RP.

ipip: questa interfaccia ha un link-level type IP-over-IP encapsulation per la creazione di tunnelling IP-in-IP.

dsc: questa è una interfaccia discard ed è impiegata per scartare pacchetti; può essere usata per creare un choke-point per attacchi di tipo DDoS (Denial of Service).

tap: questa interfaccia ha un link-level type Interface-Specific ed è utilizzata per il monitoraggio del sistema FreeBSD.

Tutte le versioni Junos applicano una logica per definire la tipologia e la posizione di una interfaccia; in generale questa logica fa riferimento alla sequenza MM-F/P/T

MM = media type

F = chassis slot number

P = PIC slot number

T = port number

Vediamo ora di chiarire meglio i suddetti punti.

Media Type:

ae: aggregate ethernet definito in IEEE802.3ad.

at: ATM interface ed è abilitata a trasmettere fixed 53-byte cells; di solito utilizzata per ATM over DSL connections.

br: interfaccia utilizzata per ISDN.

e1: standard interface over copper rate 2.048 Mbps (Europe)

e3: standard interface over copper rate 34.368 Mbps (Europe)

t1: standard physical layer interface over digital signal level-1 rate 1.544 Mbps (North-America)

t3: standard physical layer interface over digital signal level-3 rate 44.736 Mbps (North-America)

fe: standard fast-ethernet interface 100 Mbps

ge: standard gigabit-ethernet interface 1 Gbps

xe: standard tengigabit-ethernet interface 10 Gbps

se: standard serial interface EIA530, V35, X21

ct1: standard channelized splitting interface into 24 DSO channels

JUNOS CHASSIS HARDWARE

Chassis slot number and PIC slot number:

Il prossimo passo per la interfaccia è la lettera F (vedi sopra) che rappresenta lo chassis slot number rappresentato da un Flexible PIC concentrator (FPC) e la sua posizione, a seconda del modello device, può avere una collocazione fisica all’interno dello chassis orizzontale o verticale.

La parte di PIC slot number rappresentata dalla lettera P, ed è appunto il numero di slot presente all’interno di una FPC ed in generale inizia con zero e finisce con tre.

In caso di posizione verticale dell’FPC la numerazione parte dall’alto con il numero 0 verso il basso con il numero 3, in caso di posizione orizzontale la numerazione parte da destra con il numer 0 e prosegue verso sinistra sino al numero finale 3.

Port number:

L’ultima parte della convenzione è rappresentata dalla lettera T ed indica appunto il numero di porta stessa; il numero di porta dipende anche qui dalla posizione dei componenti FPC/PIC e dal modello di versione del device Juniper.

Esempio

ge-0/0/0 dove:

ge = media-type;

primo 0/ = FPC slot

secondo 0/ = PIC slot

terzo 0 = numero di porta

ge-0/0/0.0

infine il .0 alla fine della convenzione rappresenta una unit ed è possibile avere diverse unit per interface

La modalità di show fpc-slot pic-status è rappresentato dal seguente output command cli:

root@R1> show chassis fpc pic-status

root@R1> show chassis pic pic-slot 0 fpc-slot 1

root@R1> show chassis hardware

Esempio di configurazione hardware T1600 Juniper

Torna in alto