Infrastructura Re Elei: 3.1. Cartela de Re Ea
Infrastructura Re Elei: 3.1. Cartela de Re Ea
Infrastructura re elei
Clien ii, serverele, imprimantele, bazele de date rela ionale, dispozitivele de interconectare formeaz
componentele unei re ele locale. Acestea realizeaz încapsularea i decapsularea datelor pentru a- i
îndeplini toate sarcinile (transmitere mail-uri, editare texte, scanare, acces la baze de date). Continu m
prezentarea tehnologiilor prin prisma modelului OSI.
3.1. Cartela de re ea
NIC (Network
Interface Card) este o
plac cu circuite ce
permite comunicarea în
re ea de la i c tre un
computer. Denumit i
adaptor LAN, ea se
monteaz într-un slot de
extensie sau folosind un
port al pl cii de baz
având un port prin care se realizeaz conectarea în re ea a computerului.
Similar altor dispozitive hardware, cartela de re ea are nevoie de un driver prin care s poat fi
controlat . în cazul în care cartela este plug&play, resursele sunt configurate în mod automat
simplificându-se instalarea. în general, orice cartel de re ea îndepline te urm toarele func ii:
• preg te te datele pentru a putea fi transmise printr-un mediu;
• transmite datele;
• controleaz fluxul datelor de la PC la mediul de transmisie.
Prin re ea datele circul în serie (un bit o dat ), în timp ce în interiorul calculatorului circul în
paralel (16, 32 sau 64 bi i o dat , în func ie de bus-ul sistemului). Prin urmare, cartela de re ea trebuie
s converteasc datele care circul în interiorul PC-ului în format serial.
Pl cile de re ea prezint uneori op iuni configurabile care trebuie setatea pentru buna
func ionare a placii de re ea:
- Intreruperea (IRQ)
- Adresa portului I/O (de intrare ie ire) de baz
- Adresa de memorie de baz
Aceste elemente sunt atribuite i gestionate automat de sistemul de operare Windows pentru
pl cile care suport setarea software a acestor componente.
IRQ – reprezint linia de cerere a întreruperii prin intermediul c reia placa de re ea (sau orice
alt dispozitiv ata at calculatorului) solicit întreruperea sau un alt serviciu microprocesorului
Portul I/O de baz – specific un canal prin care informa ia circul între dispozitivele
hardware ale [Link] este vazut de UC ca o adres . Fiecare dispozitiv trebuie s aib o
alt adres de port I/O de baz . Adresele de port sunt reprezentate de obicei în format hexazecimal.
Adresa de memorie de baza – este o adres care identific în memoria RAM a calculatorului
o zon tampon (buffer) în care sunt memorate temporar cadrele (datele) primite sau transmise de placa
de re ea. Pentru acest parametru trebuie selectat o zon care nu mai este folosit i de alte
dispozitive.
Dup configurarea corect a acestor parametrii (care se face de obicei automat), sistemul de
operare solicit instalarea unui driver, care este o rutin software special scris pentru un anumit tip
de plac (pt. un anumit tip de chip-set folosit pe plac ). Aceast rutin asigur comunicarea între
sistemul de operare i dispozitivul ata at (placa de re ea). Din acest motiv driverele sunt scrise pentru
un anumit sistem de operare i pentru un anumit tip de plac de re ea. Anumite sisteme de operare
ofer drivere standard pentru anumite dispozitive standard ata ate calculatorului.
3.2. Medii de transmisie
Dac PC-ul este dotat cu o NIC, nu înseamn c avem i o re ea. Ca i în cazul telefonului, mai este
nevoie de un element prin care PC-ul nostru s poat fi legat la re ea. în aceast categorie intr mediile
de transmisie. Vom face în continuare o prezentare a principalelor medii de transmisie în func ie de
gradul lor de utilizare în practic .
Unshielded Twisted-Pair (UTP)
Acest mediu de transmisie este format din patru perechi de fire, izolate
între ele. Prin torsadarea perechilor de fire apare efectul de anulare, efect
ce limiteaz degradarea semnalelor din cauza interferen elor magnetice
sau radio. UTP-ul este un cablu u or de instalat (are un diametru de
aproximativ 0,4 cm) i mult mai ieftin decât alte tipuri de cabluri. De i
este considerat cel mai rapid mediu de transmisie bazat pe cupru, este mai
vulnerabil în fa a zgomotelor electrice în compara ie cu alte categorii de cabluri.
Conectorul standard folosit în cazul acestui cablu este RJ-45, asem n tor cu cel de la firul telefonic.
Fibra optic
Tip cablu Utilizare
1
Categoria 1 - 22 sau 24 AWG Telefonie
Categoria 2 - 22 sau 24 AWG Transfer date pîn la 4Mbps
Categoria 3-24 AWG Transfer date pîn la 10 Mbps
Categoria 4-24 AWG Transfer date pîn la 20 Mbps
Categoria 5 - 22 sau 24 AWG Transfer date pîn la 100 Mbps
Fibra optic este mediul care asigur transmiterea
luminii, modulat la o anumit frecven . Comparativ cu
alte medii de transmisie, fibra optic este cea mai
costisitoare, dar nu este susceptibil la interferen e
electromagnetice, asigur rate de transfer mult mai
ridicate decât celelalte categorii de medii si ofera o
securitate maxima a transmisiei.
Cablul fibr optic const în dou fibre de sticl
îmbr cate separat într-un înveli de plastic (materialul se
nume te Kevlar). Cele dou fibre formeaz inima acestui mediu de transmisie, sticla din care sunt
realizate având un grad ridicat de refrac ie.
Cablul coaxial
Cablul coaxial (coax) const dintr-un înveli protector care
îmbrac dou elemente conductoare: un fir de cupru îmbr cat într-un
material izolator i o folie metalic (sau o plas ) ce ac ioneaz ca al
doilea fir din circuit. Acest al doilea element este folosit pentru a
reduce interferen ele externe. Este cablul cu cea mai bun ecranare.
Conectorul folosit de acest tip de cablu se nume te BNC (Bayone-
Neill-Concelman).
Shielded Twisted-Pair (STP)
Cablul shielded twisted-pair (STP) combin trei tehnici legate de transmisia datelor: shielding
(protejarea), cancellation (anularea) i twisted (torsadarea) firelor.
Cablul STP de 100 ohm folosit în re elele Ethernet ofer rezisten
atât la interferen ele electromagnetice, cât i la cele radio, f r a fi un
cablu prea gros. Înveli ul protector folosit în cablul de 150 ohm nu
face parte din circuit a a cum se întîmpl în cazul cablului coaxial.
Chiar dac este mai scump decât UTP (Unshielded Twisted-Pair),
cablul STP ofer protec ie împotriva tuturor tipurilor de interferen e.
Spre deosebire de cablul coaxial, înveli ul protector nu face parte din
circuitul electric. O conectare incorect face ca înveli ul protector s
ac ioneze ca o anten , absorbind semnalele electrice din cablurile aflate în vecin tate.
Wireless
Aceasta categorie include mai
multe tehnologii, insa elementul comun
este ca datele se transmit fata folositea
firelor. Tehnologiile folosite includ:
infrarosu (IrDA), bluetooth, radio.
Raspandirea cea mai mare o au
dispozitivele radio specificate de
standardele 802.11 cu toate versiunile
acestuia (a,b,g).
Prin prisma standardelor IEEE
802.3, Ethernetul folose te doar câteva din
standardele existente în materie de cabluri: 10Base5,10Base2, 10BaseT, 10BaseF, 100BaseF. Nota ia
anterioar înseamn c re eaua folose te o anumit l ime de band , utilizeaz semnalizarea în banda
de baz i poate suporta segmente de diferite lungimi pe diferite medii de transmisie. Vom face o
prezentare sintetizat a acestor standarde.
Standard Mediul fizic L ime de Lungime Topologie fizic Topologie
band segment logic
10Base2 Coaxial sub ire 10Mbps 185 metri Bus Bus
10BaseT UTP categoria 5 10Mbps 100 metri Star/Extended star Bus
10BaseFL Fibr optic multimod 10Mbps 2000 metri Star Bus
100BaseTX UPT categoria 5 100Mbps 100 metri Star Bus
100BaseFX Fibr optic multimod 100Mbps 2000 metri Star Bus
1000BaseT UTP categoria 5 1000Mbps 100 metri Star bus
Repetorul
Telegrafia, telefonia (mai ales cea mobil )
folosesc repetoare de semnal pentru a
asigura transmiterea informa iilor la
distan e foarte mari.
Repetorul are rolul de a copia biti
individuali între segmente de cablu
diferite, si nu interpreteaza cadrele pe care le receptioneaza, si reprezinta cea mai simpla si ieftina
metoda de extindere a unei retele locale. Pe masura ce semnalul traverseaza cablul, el se degradeaza si
este distorsionat. Acest proces poarta numele de [Link] sunt utilizate în general pentru
a extinde lungimea cablului acolo unde este nevoie
Bridge
Bridge sau punte functioneaza pe principiul ca fiecare nod de retea are propria adresa fizica.
Puntea interconecteaza retele LAN de acelasi tip sau de tipuri diferite.
Un bridge se foloseste în situatiile urmatoare:
- extinderea fizica a unei retele LAN;
- interconectarea retelelor locale ce utilizeaza tehnici de control al accesului la mediu diferite.
Unitatea
Desi performantele sunt mai bune decat ale repetoarelor, la introducerea acestor dispozitive in retelele
de calculatoare este introdusa o anumita latenta. Aceasta este datorata timpului de interpretate a
frame-urilor si de luare a deciziilor in legatura cu oprirea sau transmiterea lor care trec prin dispozitiv
Switch-ul
Menirea acestui dispozitiv este Sistem 1 Sistem 2
de a concentra conectivitatea realizata Aplicatie Aplicatie
de bridge-uri, garantând în acela i timp Prezentare Prezentare
l imea de band . Switch-ul este un Sesiune Sesiune
Transport Transport
dispozitiv ce combin conectivitatea
Retea Retea
unui hub cu posibilitatea regulariz rii
Legatura de date Switch (Bridge) Legatura de date
traficului pentru fiecare port facuta de
Fizic Fizic Fizic
bridge. Ca manier de lucru, el comut
pachetele de pe porturile transmi toare c tre cele destinatare, asigurând fiec rui port l imea de band
maxim a re elei. Aceast comutare a pachetelor se face pe baza adresei MAC (adresa placii de retea),
ceea ce face din switch un dispozitiv de nivel 2.
Router
Simbolul routerului descrie foarte Sistem 1 Sistem 2
bine cele dou func ii ale sale: selec ia c ii Aplicatie Aplicatie
de transmitere a informa iilor i comutarea Prezentare Prezentare
pachetelor c tre cea mai bun rut . Sesiune Sesiune
Fizic, routerele se prezint sub o Transport Transport
mul ime de forme, în func ie de model i de Retea Router Retea
produc tor. Componentele principale ale Legatura de date Legatura de date Legatura de date
routerului sunt interfe ele prin care re eaua Fizic Fizic Fizic
proprietar se conecteaz la alte segmente de re ea. Din acest motiv el este considerat un dispozitiv
inter-re ele.
Scopul routerului este s examineze pachetele recep ionate, s aleag cea mai bun cale de
transmitere a acestora i, în final, s le transfere c tre portul corespunz tor. Pentru re elele mari, el
reprezint cel mai important dispozitiv prin care se regleaz traficul re elei. Deciziile routerului, în
ceea ce prive te selectarea c ii de rutare, se iau pe baza informa iilor de la nivelul 3 (adresele de
re ea), motiv pentru care sunt considerate echipamente de nivel 3. De asemenea, ele asigur
conectivitate pentru diferitele tehnologii ale nivelului 2 : Ethernet, Token Ring, FDDI.
4. Nivelul leg tur date
Nivelul 1 joac un rol important în comunica ia dintre calculatoare, dar efortul s u singular nu
este de ajuns. Fiecare dintre func iile nivelului 1 are propriile limit ri, dar acestea sunt eliminate prin
ceea ce se întîmpl la nivelul 2. The Institute of Electrical and Electronic Engineers (IEEE) este
organiza ia profesional care a definit standardele aplicabile în domeniul re elelor de calculatoare:
• 802.1- modul de interconectare în re ea;
• 802.2- controlul leg turii logice (LLC);
• 802.3- re ele LAN cu acces multiplu i cu detectarea purt toarei i a coliziunilor CSMA / CD, sau
re elele Ethernet;
• 802.4- re ele LAN cu transfer de jeton pe magistral (Token Bus);
• 802.5- re ele LAN cu transfer de jeton în inel (Token Ring);
• 802.6- re ele metropolitane (MAN);
• 802.11-re ele f r fir (wireless);
• 802.12-re ele LAN cu prioritate la cerere.
Conform standardului Ethernet, o re ea local este compus din noduri i medii de interconectare.
Nodurile pot fi împ r ite în dou categorii:
• Data terminal equipment (DTE) - sunt echipamentele care func ioneaz ca surs sau destina ie a
cadrelor transmise prin re ea. Cel mai adesea, în aceast categorie intr PC-urile.
• Data communication equipment (DCE) - sunt dispozitive intermediare care recep ioneaz i
transmit cadrele prin re ea. Se includ în aceast categorie hub-
urile, switch-urile, routerele, NIC-urile sau modem-urile.
În timp ce modelul OSI reprezint teoria care a stat la baza
dezvolt rii re elelor, standardele IEEE au ap rut în momentul
în care problemele practice trebuiau rezolvate. Chiar dac
modelul OSI este folosit în continuare, când se vorbe te de
nivelul 2, se au în vedere i cele dou noi componente ap rute
în timp: LLC i MAC :
• Media Access Control (MAC) - realizeaz tranzi ia în jos,
c tre mediul fizic de transmisie.
• Logical Link Control (LLC) - realizeaz tranzi ia în sus,
c tre nivelul re ea.
Subnivelul LLC este independent de tehnologia folosit , în
timp ce MAC este dependent de tehnologia folosit .
Subnivelul LLC a fost introdus de c tre IEEE din nevoia de a asigura independen a tehnologic
a unora dintre func iile nivelului leg tur date. Oarecum inconsistent în serviciile pe care le ofer
protocoalelor de la nivelul re ea, subnivelul LLC comunic cu tehnologiile specifice nivelurilor
dinaintea sa. LLC preia datele protocolului re ea i le adaug mai multe informa ii de control pentru a
transmite pachetele IP c tre destina ie. Pachetul IP astfel reîmpachetat este transmis subnivelului MAC
unde urmeaz a fi încapsulat.
In momentul de fata, standardul pentru conectarea de dispozitive periferice este PCI, toate
calculatoarele prezentand acest tip de conectori. Nu intotdeauna a fost insa asa. Voi descrie, in ordine
cronologica, care au fost standardele care au precedat sau au concurat cu PCI, deoarece pentru a-i
intelege avantajele cel mai usor mod de prezentare este cel comparativ.
CompactPCI: Standard elaborat de PCI Industrial Computer Manufacturers Group (PICMG) pentru
placi destinate aplicatiilor industriale. Standardul este diferit in multe aspecte fata de PCI, atat prin
conectorul care are si pini si socket, cat si prin design-ul ce permite introducerea si scoaterea placilor
prin panouri frontale. Standardul este orientat atat pentru aplicatii industriale , militare si de preluare
date in timp real, cat si pentru utilizarea in comunicatiile de mare viteza, cum ar fi routere, deoarece
permite hot-plugging (conecterea/deconecterea componentelor in timp de sistemul in care sunt
introduse functioneaza)
AGP (Advanced Graphics Port) este o extensie a standardului PCI care nu este compatibila cu acesta,
permitand placilor grafice sa acceseze memoria direct, precum si o functionare la 66MHz (uneori
chiar mai mult). Poate transfera de 2x, 4x sau 8x ori mai multe date decat PCI in acelasi interval de
timp.
Standardul PCI
PCI (Peripheral Component Interconnect) este un bus capabil sa functioneze la 33MHz pe 32 de biti si
la 66MHz pe 64 de biti. Deja au aparut dispozitive care folosesc extensia acestuia, PCI-X care este
capabil sa functioneze la 133MHz. Ne vom orienta in prezentare mai mult la aspecte de I/O decat la
prezentarea standardului, aspecte care pot ajuta la proiectarea unor placi de dezvoltare PCI. Trebuie
retinut ca datorita frecventei de lucru marite fata de ISA, placile PCI au cerinte de design mult mai
stricte, deci sunt mai greu de reallizat corect.
Bus-ul PCI trateaza toate transferurile ca fiind burst. Fiecare ciclu incepe cu o etapa de
adresare urmata de una sau mai multe etape de transfer de date. Etapele de transfer de date pot sa se
repete la infinit daca nu ar exista un mecanism de temporizare care controleaza timpul cat dispozitivil
PCI poate detine controlul asupra bus-ului. Acest timer este setat de CPU ca parte integranta a
spatiului de configurare PCI. Fiecare dispozitiv are propriul timer. Aceleasi linii sunt folosite pentru
date si adrese. Acest lucru este facut pentru a micsora numarul de pini necesari portului.
Liniile de comanda (C/BE3 pana la C/BE0) indica tipul transferului pe bus in timpul etapei de
adresare:
C/BE Tip Comanda
0000 Interrupt Acknowledge
0001 Special Cycle
0010 I/O Read
0011 I/O Write
0100 reserved
0101 reserved
0110 Memory Read
0111 Memory Write
1000 reserved
1001 reserved
1010 Configuration Read
1011 Configuration Write
1100 Multiple Memory Read
1101 Dual Address Cycle
1110 Memory-Read Line
1111 Memory Write and Invalidate
Tipurile de transfer de baza sunt I/O, memorie si configurare.
Scheme de sincronizare a semnalelor sunt reprezentate mai jos
Ciclu de transfer PCI cu 4 faze de date, fara stari de astepatare, data transferata pe frontul
pozitiv (01) al semnalului de ceas:
Ciclu de transfer PCI cu stari de asteptare. Data e transferata pe frontul pozitiv al ceasului in
A,B si C.
Descrierea ciclilor:
Interrupt Acknowledge (0000)
Controlerul de intreruperi recunoaste automat si reactioneaza la comanda INTA (interrupt
acknowledge). In faza de date, transfera vectorul de intreruperi catre liniile A/D.
Special Cycle (0001)
AD15-AD0 Descriere
0x0000 Processor Shutdown
0x0001 Processor Halt
0x0002 Cod specific x86
0x0003 la 0xFFFF Reservat
I/O Read (0010) and I/O Write (0011)
Operatii de I/O ale dispozitivului. Linile AD contin o adresa pe un octet. (AD0 siAD1 trebuie
decodate). I/O pentru portul PCI trebuie sa fie pe 8 sau 16 biti. PCI permite adresrea unui spatiu de
adrese de 32 biti. Totusi, pe calculatoarele care suporta ISA/EISA, spatiul I/O este limitat la 16 biti
pentru a mentine compatibilitatea. (ISA decodeaza doar 10 biti inferiori de adrese, deci datele se
duplica in memorie in spatiul pe 16 biti!) . Spatiul de configurare PCI poate fi accesat prin porturile
0x0CF8 (Adresa) si 0x0CFC (Data). Portul de adresa trebuie insa scris primul.
Memory Read (0110) and Memory Write (0111)
Operatie de scriere/citire in spatiul de configurare al dispozitivului PCI, de lungime 256 octeti. AD0 si
AD1 contin 0, AD2-7 contin adresele de dimensiune double word, AD8-10 sunt folosite pentru
selectie dispozitiv ce da semnale necorespunzatoare (eronate), iar liniile AD ramase nu sunt folosite.
Sub denumerea generica de RTL8139 se ascunde o intreaga familie de chip-uri destinate placilor de
retea. Daca in urma cu 2-3 ani placile de retea se construiau pentru ISA, avand dimensiuni mari datorita
componentelor hardware auxiliare necesare functionarii si configurarii, astazi piata se orienteaza spre integrare
si standardizare. In acest sens, aproape toate functiile sunt incluse in chipset, iar compatibilitatea cu standardul
plug-and-play asigura modificarea din software a diferitelor configuratii.
Realtek a urmat aceasta cale pentru toata familia RTL8139 dupa cum se vede in tabelul urmator:
Pentru a reduce costurile,au mai fost implementate: suport pentru boot-are prin retea (pentru a permete
instalarea de statii de lucru fara hard-disk), au fost implementate moduri de operare suplimentare fata de cele
standardizate pentru a permite migrarea unei retele vechi de la 10Mbps catre 100Mbps (sau 200Mbps in modul
full duplex), anumiti pini au functii multiple, etc.
Datorita vitezelor mari de transfer si pentru a reduce la maxim numarul erorilor, se va implementa
chipsetul pe o placa cu filtre bune pentru zgomot si inteferante EMI/EMC atat dinspre exterior, cat si de la
componentele proprii (oscilator) catre bus sau alte periferice.
Asezarea optima in placa de retea este prezentata in urmatoarea schema:
Aici se doresc L1 si L2 cat mai mici, dar trebuie sa se tina cont ca traseele pentru Tx si Rx trebuie sa fie
aproximativ de aceeasi lungime si cat posibil simetrice.
Intr-o eventuala proiectare trebuie sa se ia in considerare faptul ca chipset-ul opereaza optim la 3,3 V,
insa este tolerant la I/O de 5V.
Schemele tipice pentru realizarea unui sistem centrat pe acest chipset, si care sa fie conectat la
magistrala de date printr-un port PCI sunt prezentate in anexa A.
Aplicatie folosind accesarea directa a intreruperilor
si a spatiului de memorie al chip-ului RTL8139
Calea de transmisie a lui RTL8139 foloseste 4 seturi de registri denumiti „descriptor”. Fiecare din ei
are o adresa I/O fixa, si sunt folositi pe rand. In momentul cand un descriptor este scris, operatia PCI incepe sa
transfere pachete in stiva FIFO din memoria specificata de acel descriptor. Stiva FIFO de transmisie are 2ko si
contine datele ce vor fi transmise. Pe masura ce nivelul de transmisie este atins (dimensiunea pachetului) datele
sunt transmise, Valoarea pragului e si ea specificata de descriptor.
Un descriptor are doi registri componenti: TSAD0-3 care contine adresa de inceput a transmisiei si
TSD0-3 care indica starea transmisiei.
Simbolic :
BOOLEAN
PacketOK(PPACKETHEADER pPktHdr)
{
BOOLEAN BadPacket = pPktHdr->RUNT ||
pPktHdr->LONG ||
pPktHdr->CRC ||
pPktHdr->FAE;
if( ( !BadPacket ) && ( pPktHdr->ROK ) )
{
if ( (pPktHdr->PacketLength > RX_MAX_PACKET_LENGTH ) || (pPktHdr->PacketLength <RX_MIN_PACKET_LENGTH ) )
{return(FALSE);}
PacketReceivedGood++;
ByteReceived += pPktHdr->PacketLength;
return TRUE ;
}
else
{ return FALSE; }
}
BOOLEAN RxInterruptHandler()
{
unsigned char TmpCMD;
unsigned int PktLength;
unsigned char *pIncomePacket, *RxReadPtr;
PPACKETHEADER pPacketHeader;
while (TRUE)
{
TmpCMD = inportb(IOBase + CR);
if (TmpCMD & CR_BUFE)
{ break;}
do
{
RxReadPtr = RxBuffer + RxReadPtrOffset;
pPacketHeader = (PPACKETHEADER) RxReadPtr;
pIncomePacket = RxReadPtr + 4;
PktLength = pPacketHeader->PacketLength; //aceasta lungime include CRC
if ( PacketOK( pPacketHeader ) )
{
if ( (RxReadPtrOffset + PktLength) > RX_BUFFER_SIZE )
{ //sare la sfarsitul lui RxBuffer
memcpy( RxBuffer + RX_BUFFER_SIZE ,RxBuffer,
(RxReadPtrOffset + PktLength - RX_BUFFER_SIZE) );
}
//copiaza pachetul aici
CopyPacket(pIncomePacket,PktLength - 4);//nu copia 4 octeti CRC
//update pt pointerul de citire RxReadPtrOffset
RxReadPtrOffset = (RxReadPtrOffset + PktLength + 4 + 3) & RX_READ_POINTER_MASK;
//4:pt lungime header (PktLength include 4 octeti CRC)
//3:pt aliniere dword
outport( IOBase + CAPR, RxReadPtrOffset - 0x10); //-4:evitare overflow
}
else
{ // ResetRx();
break;
}
TmpCMD = inportb(IOBase + CR);
} while (!(TmpCMD & CR_BUFE));
}
return (TRUE); //final
}