Sari la conținut
ELFORUM - Forumul electronistilor

Retele de calculatore - INETRNT la nivel de ASM !


Gerula

Postări Recomandate

Plecam de la ideia sa stim cum functioneaza o poarta logica AND, XOR,.. sau un astabil ca celula elemetara RAM. Ca exista un program counter care indica unde se afla in RAM urmatoare instructiune ce va fi incarca in procesor si executata. Ca instructiunea asta e de fapt un numar care ajunge pe decodor si se comanda ce operati logice se fac intre bitii oranzilor. Dar nu stiu exact ce stringuri trimite calculatorul pe NET ce primeste , ce sunt de fapt acele servere de pe care primeste date, unde se afla ele.Ce sunt alea "sloturi" ala placii de reta. Care e protocolul de comunicare in sesul ce valori sau variiatii ale tensiunii e considerat "1" logic ?Ce e de fapt ala IP / DNS . Ce face calculatorul c acel numar pe care-l numim IP.

Link spre comentariu
  • Răspunsuri 6
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • Gerula

    3

  • pisoiu

    2

  • MifTy

    1

Top autori în acest subiect

De ce nu incerci en.wikipedia.org ? Sunt acolo raspunsuri destul de complete, din cate le-am vazut eu. Daca ai intrebari mai specifice, probabil vei primi raspunsuri concise, insa sa ceri sa iti descrie cineva tot ce se intampla de la nivel ethernet pana la nivel HTTP, o sa fie cam mult de scris.O scurta descriere o sa incerc eu:In mare, transportul informatiei se face pe layere de comunicare. Cel mai de jos nivel, interfata intre date si mediul fizic poate fi Ethernet (conexiune RJ45), PPP (conexiune modem), sau mixturi PPPoE (conexiune CATV), etc. De acolo in sus porneste cavalcada layerelor. Layerele de jos au rol de asigurare a integritatii/securitatii datelor, si fiecare din ele are cate un anumit specific sau arie de aplicare. Spre exemplu, ICMP-ul e folosit pentru diagnoza (vestitul ping). IP-ul e un layer de transport de date de la un punct la altul, iar componentele de adresare sunt adresa IP sursa si destinatie, precum si porturile sursa si destinatie. Deasupra IP-ului se afla TCPul sau UDPul. TCP e conceput ca un protocol reliable de transport, el asigura confirmarea receptiei pachetelor la peer. Protocolul UDP e pe acelasi nivel cu TCPul insa nu garanteaza livrarea datelor. Peste ele sunt layere de aplicatie, cum ar fi HTTP (transport www), FTP (...), SCP, TELNET, etc. Asta e doar o mica parte din ce se intampla pe acolo.../pisoiu

Link spre comentariu

Multumesc pentru raspuns, dar eu vreau ca sa-mi dati exemple de programe/ structuri in ASSEMBLER care sa acceseze NETul.Considerati ca tot ce se gaseti pe NET la un prin search il stiu, dar eu vreu sa aflu exact cum se acceseaza acele sloturi, adicaa. Sunt regeistrii de 8 biti - ma rog , nu stiub. Se afla fizic pe placa de retea pe integratul XXXXXc. Procesorul ii adreseaza prin magistrala de 32 biti cu iesire pe pinii ABCDd. .........Si nu imi doresc sa aud: "La ce-ti trebuie ?"Ca raspusul inevitabil este : "La nimic !"Dar nu ar fi superinteresant sa iti faci un montaj care sa aiba componenta un procesor Pentium ?Eu am un Pentium vechi foarte bun, dar pe care nu-l mai folosec, fiind batran moral. Merge si arata impecabil.Acum imi serveste pentru a face experimete...

Link spre comentariu

Nu te intreb la ce iti trebuie, aia e problema ta.

Eu am lucrat mai demult la un embedded web server. In esenta era un montaj cu un procesor pe 8 biti, conectat la ethernet si care gazduia un server de web. Putea fi accesat (daca era conectat la o retea locala) cu orice browser (http://192.168.x.x/) de unde se incarca o pagina web si un script java (care insa nu l-am scris eu). Acel script, genera niste butoane in browser, si daca le actionai, trimiteau pe un alt port TCP inspre server o comanda care eu o recunosteam si generam anumite actiuni (pusi pini de iesire intr-o anumita stare, etc.). Dpdv hardware, interfata avea un procesor Scenix (acum Ubicom) SX52, asemanator cu PIC-urile. Era un RISC. Interfata ethernet era un CS8900A. La capitolul chipuri de interfata ethernet este o problema. Majoritatea chipseturilor sunt proiectate pentru conectare la bus-uri de 32 biti cum e PCI-ul si de aceea e extrem de greu sa controlezi astfel de chipuri cu un procesor pe 8 biti. De aceea trebuiesc folosite interfete ethernet care sa poata fi controlate pe 8 biti, cum e CS8900A sau RTL8019AS.

Acuma hai sa descriu cam in ce consta softul.

La nivel ethernet, datele sunt transmise pachetizat, in format serial. Un pachet standard poate avea maxim ~1,5kbytes. Pachetul e adresabil, contine o adresa sursa, o adresa destinatie, preambul de sincronizare, si camp de verificare CRC. Toata procedura de impachetare a datelor, de transmisie, timinguri, sincronizare la receptie, generare si verificare de CRC e implementata direct in controllerul ethernet, tu nu ai treaba cu asta. Trebuie doar sa ii spui ce date sa trimita, si sa il verifici din cand in cand daca a primit vreun pachet valid, si sa il procesezi.

E, acuma modul de asezare a layerelor de comunicare e cam in felul urmator. Un layer inferior alcatuieste un pachet folosind niste informatii de control (in cazul layerului ethernet e vorba de MAC sursa, MAC destinatie, tip frame, payload si CRC). La receptia unui pachet ethernet, daca layer-ul ethernet (care e cel mai jos) considera ca payloadul e ok , atunci taie jos toate datele de control si paseaza catre layerul superior doar payload-ul. Acel layer superior are la randul lui un anumit format. Urmatorul dupa ethernet este IP-ul. In payload-ul de ethernet exista un pachet IP, care contine o adresa IP sursa, o adresa IP destinatie, alte informatii (TTL, TOS, flaguri, lungime...) si la sfarsit un payload, de data aceasta payload-ul de IP. Mai departe, daca layerul de IP considera payloadul de IP corect, il paseaza mai departe unui layer superior, sa zicem TCP-ului. El la randul lui are informatii de control, care daca le considera corecte, le taie jos si paseaza mai departe catre un layer superior payload-ul de TCP. Daca insa vrei sa transmiti un pachet, trebuie sa parcurgi toata calea inversa, de la layer de aplicatie pana la layer ethernet. Aici mai exista cateva concepte care trebuiesc intelese. Pe acelasi nivel de layere pot exista mai multe protocoale, diferentierea lor se face prin anumite flaguri de control. De ex. layerele IP si ICMP sunt pe acelasi nivel. IP e folosit pentru transport de date catre layere superioare, iar ICMP e folosit pentru diagnoza (aplicatia ping). Deasupra exista TCP si UDP, cele mai des folosite, care ambele sunt pe acelasi nivel, insa comportamentul lor e diferit. Peste ele, pe acelasi nivel se situeaza HTTP, FTP, SCP, TELNET, care deja sunt layere de aplicatie. Mai exista niste detalii, anume nu orice pachet care vine pe cablul ethernet e musai sa ajunga la layerele superioare. Poate sa fie un pachet de ping si el se opreste in layerul ICMP. Poate sa fie un pachet de SYN sau de ACK si el se opreste in TCP. De asemenea, pachetele generate catre ethernet pot sa fie generate atat de catre layerele de aplicatie, cat si de layere intermediare. De ex. TCPul genereaza multe pachete de control, fara interventia aplicatiei.

In mare cam asta se intampla, daca vrei sa stii toate detaliile trebuie sa citesti si sa intelegi pana la ultima virgula toate standardele care definesc protocoalele utilizate (vestitele RFC-uri). Tot ceea ce inseamna layer mai sus de ethernet trebuie implementat in procesor, fie in ASM fie in C. Sper ca te-am lamurit.

 

/pisoiu

Link spre comentariu

Plecam de la ideia sa stim cum functioneaza o poarta logica AND, XOR,.. sau un astabil ca celula elemetara RAM.

Putin offtopic:

Circuit basculant astabil este cel care oscileaza de la sine intre 0 si 1.

Memoria RAM poate contine circuite basculante bistabile, adica circuite care stau sau in 0 sau in 1, depinde cum le pui. Odata ce la fixezi pe 0 sau pe unu ele raman in acea stare (memoreaza) pana le schimbi iar. Astabilul trece de la el putere ba in 0 ba in 1, apoi iar in 0 iar in 1 si asa mai departe. Deci memoria este un circuit basculant bistabil, nu astabil.

 

Te rog sa nu iei in nume de rau daca vreau sa clarific diferenta dintre circuit basculant astabil si circuit basculant bistabil. Incepatorii vor aprecia clarificarile.

 

In afara de cele 2 de mai sus mai exista si circuit basculant monostabil. Asta de obicei are o stare stabila, 1 sau 0, care vrei tu. Daca ii dai un impuls pe intrare isi schimba starea, dupa care revine de la sine in starea lui stabila, cea dinaintea impulsului. Ca exemplu orice temporizator este un circuit basculant monostabil.

 

In concluzie circuitele basculante sunt de 3 feluri:

- astabile, cele care isi schimba periodic starea de la 0 la 1 apoi iar 0 si asa mai departe, de la ele putere, fara interventie din afara, de exemplu un oscilator dreptunghiular sau un semnalizator auto este un circuit basculant astabil

- bistabile, cele pe care le pui tu in starea 0 sau 1 si asa raman (memoreaza) pana intervii din nou asupra lor ca sa le schimbi starea, de exemplu o celula de memorie statica este un circuit basculant bistabil

- monostabile, cele care in mod normal au o stare stabila, indiferent ca este 0 sau 1. Daca intervii asupra lor, ele isi schimba starea pentru o perioada de timp, pe urma revin iar la starea lor normala si asa incremenesc pana la urmatoarea interventie asupra lor, de exemplu un temporizator este un circuit basculant monostabil

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări