28 octombrie 2011

CRC is back!

Despre calculul CRC am mai scris si aici.
Dar de data asta am calculat mult mai explicit (babeste);


Pe scurt, avem doua programe numite Generator si Verifier (~ Sender si Receiver din foto)
* Generatorul ia ca input, de la tastatura, un sir de biti de m caractere numit "Data" si un sir de biti de (n+1) caractere, numit Divisor. Sirul de biti este simulat in C++ cu un string ale carui valori sunt 1 si 0 (dar nefacandu-se verificarea inputului);
* Lui Data i se ataseaza n biti de 0, si se "imparte" la Divisor (important, divizorul trebuie sa aiba primul si ultimul bit de 1).
* Impartirea nu este una normala ci una numita "Modulo 2 Division" (link) de unde ne intereseaza restul, care devine CRC. Am implementat-o pur si simplu babeste, asa cum se face pe hartie (dar asta nu inseamna ca e si usor de inteles...);
* Datei initiale i se va atasa acest CRC, servit ca output intr-un fisier, alaturi de Divisor, pe randul doi. Asta este ceea ce face Generator;
* Verifier ia din acelasi fisier Data si Divisor si le imparte unul la altul (in acelasi mod);
* Daca restul este 0, datele au fost transmise corect de la "sender" la "receiver", altfel exista erori.
* Pentru simularea erorii, intervine programul Alter, care intrand in fisierul scris de Generator, inverseaza random un bit din Data (oricare dar nu cel mai semnificativ); daca se ruleaza Verifier, rezultatul va fi eroare.

Programele se pot descarca de aici.

20 octombrie 2011

Concepte de baza in IOS-ul routerelor


Pornind de la aceasta configuratie:

* Informatii despre versiunea de IOS, viteza procesorului, dimensiunea NVRAM, nr si tipul interfetelor existente:

in dynagen:
start Penny
telnet Penny

in Penny:
enable
show version
show running-config

* Configurarea routerelor cu nume si adresa ip (ex. pt Penny):
configure terminal
hostname Penny
interface 1/0
ip address 191.105.157.1 255.255.255.0
no shutdown

* Salvarea configuratiei curente:
copy running-config startup-config

* Configurarea unui echipament pt a putea fi accesat prin telnet, cu username si parola. Parola de enable sa fie secreta si salvata ca md5.
configure terminal
enable secret parola
username bumblebee password bumble

* Configurarea unui banner (mesaj de intampinare)
configure terminal
banner motd * Entering router... * &

* Afisare toate pachetele primite de router in timp real
debug ip packet
configure terminal
do ping google.com

12 octombrie 2011

Dynamips / Dynagen in Ubuntu

Dynagen este un emulator folosit pentru simularea mai profunda/reala a unor retele conectate prin routere Cisco.

INSTALARE DYNAMIPS/DYNAGEN IN UBUNTU:

sudo apt-get install dynamips
sudo apt-get install dynagen

Presupunem ca vrem sa implementam aceasta topologie:

La scrierea fiecarui fisier de configurare, trebuie sa rulam imaginea reala de IOS (sistemul de operare al routerelor Cisco), care se poate descarca de aici (daca aveti cont pe curs.cs) sau de aici (torrent). Binarul trebuie inclus la "image".

FISIER DE CONFIGURARE:

[localhost]

[[3640]]

image = /home/anna/Desktop/c3640-js.bin

ram = 160

[[router R1]]

model = 3640

slot0 = NM-4E

slot1 = NM-4T

E0/0 = R3 E0/0

E0/1 = s1 1

[[router R3]]

model = 3640

slot0 = NM-4E

E0/0 = R1 E0/0

E0/1 = R4 E0/0

E0/2 = R5 E0/0

E0/3 = R2 E0/0

[[router R2]]

model = 3640

slot1 = NM-4T

slot0 = NM-1E

E0/0 = R3 E0/3

[[router R5]]

model = 3640

slot1 = NM-4T

slot0 = NM-1E

E0/0 = R3 E0/2

[[router R4]]

model = 3640

slot0 = NM-4E

slot1 = NM-4T

E0/0 = R3 E0/1

E0/1 = s1 2

[[ETHSW s1]]

1 = access 1

2 = access 2

Acest fisier trebuie sa aiba extensia .net
RULARE

In consola:

dynamips -H 7200 &
dynagen task.net

In continuare se poate afisa configuratia creata:

list

Pentru fiecare router, modelul ales este 3640.

Slot0 si slot1 exprima prima cifra din notatia E0/x (Ethernet slot 0, portul x) sau S1/y (serial slot 1, port y).

Tipurile sloturilor pot fi: NM-4E (Ethernet cu 4 porturi), NM-4T (seriala cu 4 porturi), NM-1E (Ethernet cu un port), etc.

Pentru interfetele unui router, se asigneaza routerul la care se face conexiunea si interfata acestuia, iar in cazul unui switch legaturilor li se asigneaza tipul lor (access) si VLAN-ul (1,2).

06 septembrie 2011

Cursuri online la Stanford

Incepand cu data de 10 Octombrie, Stanford organizeaza cursuri
online de Inteligenta Artificiala, Invatare Automata si Baze de date.

Inscrierea este gratuita. Aceasta editie a cursului este inca
experimentala, dar vor exista prezentari online si teme de casa.
Durata este de 10 saptamani, va exista un examen partial si unul final.
La absolvire, se va obtine un statement of achievement.

Linkuri pentru informatii suplimentare & aplicare:


19 august 2011

Cursuri de assembler

Cursuri foarte bune, cu explicatii detaliate, ca la prosti (recunosc ca am avut revelatii citindu-le)

Recomandare: AICI