Deci, să ne uităm la un exemplu mai complet.
În acest exemplu, gazda A inițiază o sesiune cu portul sursă de 1024 într-un port destinație de 23,
cu alte cuvinte telnet.
Host A trimite 10 octeți de date și un număr de secvență inițial de 10.
Gazdă B recunoaște primirea celor 10 octeți prin trimiterea unui număr de
confirmare înapoi la A din 11.
Gazdă B în acest exemplu, stabilește și numărul secvenței inițiale la 5.
Rețineți, de asemenea, că numerele porturilor sunt inversate portul sursă pentru traficul de la B la A este de 23, iar portul de destinație este 1024.
În acest exemplu, deoarece folosim o fereastră de alunecare, A
poate trimite, de exemplu, 250 de octeți de date.
Observați că numărul de ordine este incrementat la 260.
În exemplele anterioare, am folosit numere ușoare dimensiunea ferestrei de 1
sau dimensiunea ferestrei de 3, dar rețineți că în realitate dimensiunile ferestrei sunt setate
la cantitatea de date care pot fi transmise în octeți.
Deci, acest lucru nu poate fi la fel de ușor de citit ca secvențele de 1, 2 și 3.
primirea datelor până la secvența 5 și, prin urmare, confirmarea numărului de ordine 6.
Porturile sursă se schimbă din nou, astfel
încât portul sursă este 1024 iar portul de destinație este 23.
Acum, gazda B recunoaște pentru numărul de ordine 261 amintesc A trimite 10 octeți și
250 octeți, deci cu alte cuvinte 260 octeți
de date.
B trimite numărul de secvență 6 și din nou numerele porturilor sunt inversate.
Este foarte important să înțelegeți cum funcționează porturile sursă și
de destinație Deci, pe această notă nu este nimic mai bun decât să vă arătați exemplul lumii reale folosind Wireshark.
Deci, voi capta traficul în rețeaua
mea și apoi voi merge la Google, de exemplu. com cu browserul meu web.
Mă voi întoarce la Wireshark și voi opri capturarea, aici este un exemplu de interogare DNS.
Avem gazdă 10. 0. 0. 1 care este
mașina mea un laptop Dell, interogând serverul DNS.
La nivelul 2, puteți vedea că sursa este mașina mea Dell care merge la ruterul meu Cisco.
Acesta este un cadru Ethernet 2 și vă rugăm să rețineți câmpul de tip.
La nivelul 2, după cum sa menționat, câmpul de tip specifică protocolul la nivelul 3.
În acest caz, 0x0800 în hexazecimal specifică faptul că protocolul stratului 3 este IPv4.
La nivelul 3 puteți vedea adresa IP sursă și adresa IP de destinație.
PC-ul meu și serverul DNS, puteți vedea că acesta este IPv4 puteți vedea lungimea
antetului este de 20 de octeți.
DSCP sau Puncte de coduri de servicii diferențiate nu este utilizat în
acest exemplu de notificare ECN care are legătură cu notificarea explicită a
congestionării am menționat acest lucru pe scurt când vorbim despre antetul TCP. 42 Ceea ce aș vrea să vedeți aici este faptul că se observă că protocolul la
nivelul 4 este UDP care are valori în hexazecimal, deci 11 în hexazecimal este egal cu 17 numărul de protocol
încă o dată pentru UDP este de 17.
Deci, la nivelul 4, putem vedea că este utilizat User Datagram Protocol sau UDP.
Portul sursă este 62249, cu alte cuvinte, un port dinamic sau efemeră mergând
la un port destinație de 53 cu alte cuvinte DNS.
Putem vedea din nou numerele portului și deschizând interogarea DNS, putem vedea
că a fost o interogare, căutând o adresă gazdă specifică.
Aici avem un răspuns DNS de la serverul DNS la gazda mea.
Deci, încă o dată, foarte repede la nivelul 2 puteți vedea câmpul de
tip denotă protocolul la nivelul 3.
La nivelul 3, câmpul protocol, ne spune ce protocol este utilizat la nivelul 4 Aici
este o altă interogare DNS de la gazda mea la serverul DNS.
Și dacă deschidem informațiile despre interogarea DNS, puteți vedea că
este o interogare pentru Google. com și este o
interogare gazdă, notificare tip A, serverul DNS răspunde și observați în răspuns,
ne dă adresa IP a Google. com Acum, aici este
strângerea de mână în trei direcții între mașina mea și Google.
Observați că sursa este 10. 0. 0. 1
și destinația este această adresă IP care este Google.
Observați că portul sursă este 58313 destinații este de 80 cu alte cuvinte, deschid o conexiune web la un server web.
Dacă deschideți acest lucru, puteți vedea din nou numerele de port sursă și de destinație,
dar observați aici indicatorul care este setat este SYN.
Deci, deschizând-o astfel încât să puteți vedea că
toate celelalte steaguri sau biții sunt setate la 0, cu excepția
bițiului SYN și deschiderea pe care o puteți vedea, încercăm să configuram o conexiune la server, așa că avem o
cerere de stabilire a conexiunii mesaj către server.
Nu sunt setate alte steaguri. Observați că dimensiunea inițială a ferestrei
este 8192 și deschizând opțiunile, puteți vedea că MSS sau Maximum Segment Size este setată la 1460 octeți.
Răspunsul de la Google la mașina mea de la nivelul 4 arată că portul sursă este de 80, iar
portul de destinație este 58313.
Deschizând acest lucru, remarcați steagurile care sunt setate sunt SYN ACK, deci este oa doua
parte a strânsei mâinilor în trei direcții.
Observați că bitul de confirmare este setat și că bitul de
sincronizare este setat astfel încât să poată vedea că este o confirmare a conexiunii de la Google.
Observați că cererea de dimensiune a ferestrei este 5720 și dacă deschidem opțiunea de opțiuni aici, dimensiunea
maximă a segmentului este 1430.
Privind la ultima parte a anunțului cu privire la
strângerea mâinilor în trei direcții, mașina mea
vorbind cu Google deschizând TCP, puteți vedea că steagurile care sunt setate sunt doar bitul de confirmare și dimensiunea ferestrei cerută 64350 85 și privind la
analiza de confirmare a confirmării secvenței că aceasta este
o confirmare.
Revenind la primul pas al mișcării în trei direcții,
observați că numărul secvenței inițiale de la mașina mea la Google este setat la 0.
Dacă mergeți la antetul TCP actual, observați numărul de ordine 0.
Google răspunde ca un număr de ordine 0 și confirmarea de 1.
După cum puteți vedea și aici.
Așa că ne informează, următorul segment pe care se așteaptă să îl primească este segmentul 1.
Recunoașterea noastră față de ele, trimitem numărul secvenței 1 și
recunoaștem numărul secvenței 1.
Așa am discutat.
Mai târziu, când se primește notificarea HTTP, primim informații de la
Google către mașina noastră despre TCP-ul și observați aici,
acesta este un segment TCP al unității de date protocol reasamblate.
Cu alte cuvinte, acesta este un fragment.
Privind la TCP, putem vedea sursele HTTP, iar destinația este numărul de port.
Cu alte cuvinte, Google trimite semnale
de trafic către noi că numărul
secvenței este 2861, următorul număr de secvență este 3798,
iar numărul de confirmare este 944.
astfel încât următorul număr de secvențe amintiți este 3798 mergând
la următoarea parte a
notei de captură numărul de ordine aici este 3798 iar următorul număr secvențial este 5228.
Și observați că există o confirmare de la mașina noastră
la Google spunând că ne așteptăm să primim 5228.
Apoi, următoarea captură pe care o puteți vedea cu numărul de ordine
5228, a fost trimisă de Google către noi.
Următorul număr de secvență este 6658, care este următoarea piesă primită.
Notă 6658 este numărul de ordine primit. 114 Gazda noastră recunoaște că a primit acest
lucru și a spus că următorul bit de date pe care trebuie să-l primești
este 7894 mergând la următoarea captură, puteți vedea că numărul de ordine este ceea ce Google ne-a trimis.
Acum, fără să te mai plictisesc, sper
că această captura vă va oferi o scurtă privire asupra faptului
ce se întâmplă de fapt pe fir.
wirehark își amintește o aplicație gratuită pe care o puteți descărca doar caută pe internet acum
vă sugerez să
capturați un anumit trafic pe mașina dvs., astfel
încât să puteți vedea de fapt ce se întâmplă în spatele terenului.
Deci, ce am acoperit?
În această secțiune, ne uităm la cele 2 protocoale principale care locuiesc la nivelul 4.
Protocolul UDP sau User Datagram Protocol și TCP sau Protocolul de control al transmisiei.
Am explicat numerele porturilor și numerele porturilor care vor fi folosite în scenariile în care se află.
Am explicat strângerea de mână în trei
direcții pe care am explicat-o și am explicat numerele de secvențe.
Mulțumim pentru vizionare!