Pirms sÄkam Å”odienas video pamÄcÄ«bu, es vÄlos pateikties visiem, kas veicinÄja mana kursa popularitÄti pakalpojumÄ YouTube. Kad es to sÄku apmÄram pirms 8 mÄneÅ”iem, es negaidÄ«ju Å”Ädus panÄkumus - Å”odien manas nodarbÄ«bas ir skatÄ«juÅ”ies 312724 11208 cilvÄki, man ir 7 6 abonenti. Es nekad nebiju sapÅojis, ka Å”is pazemÄ«gais sÄkums sasniegs tik augstumus. Bet netÄrÄsim laiku un Ä·ersimies pie Å”odienas nodarbÄ«bas. Å odien mÄs aizpildÄ«sim nepilnÄ«bas, kas radÄs pÄdÄjÄs 3 video nodarbÄ«bÄs. Lai gan Å”odien ir tikai 3. diena, XNUMX. diena tika sadalÄ«ta XNUMX video nodarbÄ«bÄs, tÄpÄc Å”odien reÄli skatÄ«sies astoto video nodarbÄ«bu.
Å odien mÄs apskatÄ«sim 3 svarÄ«gas tÄmas: DHCP, TCP transportu un visbiežÄk sastopamos portu numurus. MÄs jau runÄjÄm par IP adresÄm, un viens no svarÄ«gÄkajiem faktoriem IP adreses konfigurÄcijÄ ir DHCP.
DHCP apzÄ«mÄ Dynamic Host Configuration Protocol, un tas ir protokols, kas palÄ«dz dinamiski konfigurÄt saimniekdatora IP adreses. TÄtad mÄs visi esam redzÄjuÅ”i Å”o logu. NoklikŔķinot uz opcijas āAutomÄtiski iegÅ«t IP adresiā, dators meklÄ DHCP serveri, kas ir konfigurÄts tajÄ paÅ”Ä apakÅ”tÄ«klÄ, un nosÅ«ta dažÄdas IP adreses paketes un pieprasÄ«jumus. DHCP protokolam ir 6 ziÅojumi, no kuriem 4 ir svarÄ«gi IP adreses pieŔķirÅ”anai.
Pirmais ziÅojums ir DHCP DISCOVERY ziÅojums. DHCP atklÄÅ”anas ziÅojums ir lÄ«dzÄ«gs sveiciena ziÅojumam. Kad tÄ«klam pievienojas jauna ierÄ«ce, tÄ jautÄ, vai tÄ«klÄ ir DHCP serveris.
SlaidÄ redzamais izskatÄs kÄ apraides pieprasÄ«jums, kurÄ ierÄ«ce sazinÄs ar visÄm tÄ«kla ierÄ«cÄm, meklÄjot DHCP serveri. KÄ jau teicu, Å”is ir apraides pieprasÄ«jums, tÄpÄc visas tÄ«klÄ esoÅ”Äs ierÄ«ces var to dzirdÄt.
Ja tÄ«klÄ ir DHCP serveris, tas nosÅ«ta paketi ā DHCP PIEDÄVÄJUMU piedÄvÄjumu. PiedÄvÄjums nozÄ«mÄ, ka DHCP serveris, atbildot uz atklÄÅ”anas pieprasÄ«jumu, nosÅ«ta klientam konfigurÄciju, lÅ«dzot klientam pieÅemt noteiktu IP adresi.
DHCP serveris rezervÄ IP adresi, Å”ajÄ gadÄ«jumÄ 192.168.1.2, to nenodroÅ”ina, bet gan rezervÄ Å”o adresi ierÄ«cei. TajÄ paÅ”Ä laikÄ piedÄvÄjuma pakotnÄ ir sava DHCP servera IP adrese.
Ja Å”ajÄ tÄ«klÄ ir vairÄk nekÄ viens DHCP serveris, cits DHCP serveris, saÅemot klienta apraides pieprasÄ«jumu, tam piedÄvÄtu arÄ« savu IP adresi, piemÄram, 192.168.1.50. Nav ierasts, ka vienÄ tÄ«klÄ ir konfigurÄti divi dažÄdi DHCP serveri, taÄu dažreiz tas notiek. TÄtad, kad klientam tiek nosÅ«tÄ«ts DHCP piedÄvÄjums, tas saÅem 2 DHCP piedÄvÄjumus un tagad ir jÄizlemj, kuru DHCP piedÄvÄjumu tas vÄlas pieÅemt.
PieÅemsim, ka klients pieÅem pirmo pieteikumu. Tas nozÄ«mÄ, ka klients nosÅ«ta DHCP REQUEST pieprasÄ«jumu, kas burtiski saka: "Es piekrÄ«tu DHCP servera 192.168.1.2 piedÄvÄtajai IP adresei 192.168.1.1."
SaÅemot pieprasÄ«jumu, 192.168.1.1 DHCP serveris atbild "labi, es to atzÄ«stu", tas ir, tas apstiprina pieprasÄ«jumu un nosÅ«ta Å”o DHCP ACK klientam. Bet mÄs atceramies, ka cits DHCP serveris klientam ir rezervÄjis IP adresi 1.50. Kad tas saÅems klienta apraides pieprasÄ«jumu, tas uzzinÄs par kļūmi un ievietos Å”o IP adresi atpakaļ pÅ«lÄ, lai varÄtu to pieŔķirt citam klientam, ja tas saÅems citu pieprasÄ«jumu.
Å ie ir 4 kritiskie ziÅojumi, ar kuriem DHCP apmainÄs, pieŔķirot IP adreses. TÄlÄk DHCP ir vÄl 2 informÄcijas ziÅojumi. Klients izdod informatÄ«vo ziÅojumu, ja tas prasa vairÄk informÄcijas, nekÄ tas tika saÅemts DHCP PIEDÄVÄJUMA klauzulÄ otrajÄ solÄ«. Ja serveris DHCP piedÄvÄjumÄ nesniedza pietiekami daudz informÄcijas vai klientam ir nepiecieÅ”ama plaÅ”Äka informÄcija nekÄ piedÄvÄjuma paketÄ, tas pieprasa papildu DHCP informÄciju. Ir vÄl viens ziÅojums, ko klients nosÅ«ta serverim - tas ir DHCP RELEASE. Tas informÄ, ka klients vÄlas atbrÄ«vot savu esoÅ”o IP adresi.
TomÄr visbiežÄk notiek tÄ, ka lietotÄjs atvienojas no tÄ«kla, pirms klients ir paspÄjis nosÅ«tÄ«t serverim DHCP RELEASE. Tas notiek, kad izslÄdzat datoru, ko mÄs darÄm. Å ajÄ gadÄ«jumÄ tÄ«kla klientam vai datoram vienkÄrÅ”i nav laika informÄt serveri, lai atbrÄ«votu izmantoto adresi, tÄpÄc DHCP RELEASE nav obligÄts solis. Lai iegÅ«tu IP adresi, jÄveic Å”Ädas darbÄ«bas: DHCP atklÄÅ”ana, DHCP piedÄvÄjums, DHCP pieprasÄ«jums un DHCP rokasspiediens.
VienÄ no nÄkamajÄm nodarbÄ«bÄm es jums pastÄstÄ«Å”u, kÄ mÄs konfigurÄjam DHCP serveri, veidojot DNCP pÅ«lu. Ar apvienoÅ”anu mÄs domÄjam, ka jÅ«s sakÄt serverim pieŔķirt IP adreses diapazonÄ no 192.168.1.1 lÄ«dz 192.168.1.254. TÄdÄjÄdi DHCP serveris izveidos pÅ«lu, izvietos tajÄ 254 IP adreses un tikai no Ŕī pÅ«la varÄs pieŔķirt adreses klientiem tÄ«klÄ. TÄtad tas ir kaut kas lÄ«dzÄ«gs administratÄ«vam iestatÄ«jumam, ko lietotÄjs var veikt.
Tagad apskatÄ«sim TCP pÄrraidi. Es nezinu, vai jÅ«s esat pazÄ«stams ar attÄlÄ redzamo "telefonu", bet bÄrnÄ«bÄ mÄs izmantojÄm Ŕīs skÄrda kannas, kas savienotas ar auklu, lai sarunÄtos savÄ starpÄ.
DiemžÄl mÅ«sdienu paaudze nevar atļauties Å”Ädu āgreznÄ«buā. Es domÄju, ka Å”odien bÄrni ir pie televizora no viena gada vecuma, viÅi spÄlÄ PSP, un varbÅ«t tas ir diskutabls, bet es domÄju, ka mums bija vislabÄkÄ bÄrnÄ«ba, mÄs gÄjÄm ÄrÄ un spÄlÄjÄm spÄles, un mÅ«sdienu bÄrnus nevar atraut no dÄ«vÄna. .
Manam dÄlam ir tikai gads, un es jau redzu, ka viÅÅ” ir atkarÄ«gs no iPad, es domÄju, ka viÅÅ” vÄl ir ļoti mazs, bet es domÄju, ka mÅ«sdienu bÄrni jau piedzimst, zinot, kÄ rÄ«koties ar elektroniskajiem sÄ«krÄ«kiem. TÄtad, es gribÄju teikt, ka bÄrnÄ«bÄ, kad mÄs spÄlÄjÄm, mÄs veidojÄm caurumus skÄrda bundžÄs, un, kad mÄs tÄs sasÄjÄm ar auklu un kaut ko teicÄm vienÄ bundžÄ, tad otrÄ galÄ cilvÄks dzirdÄja, ko runÄ. viÅam, vienkÄrÅ”i pieliekot kannu pie auss . TÄtad tas ir ļoti lÄ«dzÄ«gs tÄ«kla savienojumam.
MÅ«sdienÄs pat TCP pÄrsÅ«tÄ«Å”anai ir jÄbÅ«t savienojumam, kas jÄizveido pirms faktiskÄs datu pÄrsÅ«tÄ«Å”anas. KÄ mÄs runÄjÄm iepriekÅ”ÄjÄs nodarbÄ«bÄs, TCP ir uz savienojumu orientÄta pÄrraide, savukÄrt UDP ir uz savienojumu orientÄta pÄrraide. Var teikt, ka UDP ir vieta, kur es metu bumbu, un tas ir atkarÄ«gs no jums, vai varat to noÄ·ert. NeatkarÄ«gi no tÄ, vai tu esi gatavs to darÄ«t vai nÄ, tÄ nav mana problÄma, es viÅu vienkÄrÅ”i pametÄ«Å”u.
TCP vairÄk atgÄdina, ka tu sarunÄjies ar puisi un jau iepriekÅ” brÄ«dinÄsi, ka metÄ«si bumbu, tÄpÄc tu izveido saikni, un tad tu met bumbu tÄ, lai tavs partneris, visticamÄk, bÅ«tu gatavs to noÄ·ert. TÄtad TCP faktiski izveido savienojumu un pÄc tam sÄk veikt faktisko pÄrraidi.
ApskatÄ«sim, kÄ tas rada Å”Ädu savienojumu. Å is protokols savienojuma izveidoÅ”anai izmanto trÄ«svirzienu rokasspiedienu. Tas nav ļoti tehnisks termins, taÄu to jau sen izmanto, lai aprakstÄ«tu TCP savienojumu. SÅ«tÄ«tÄja ierÄ«ce ierosina trÄ«svirzienu rokasspiedienu, klients nosÅ«ta serverim paketi ar SYN karogu.
PieÅemsim, ka meitene priekÅ”plÄnÄ, kuras seju mÄs redzam, ir ierÄ«ce A, un meitene fonÄ, kuras seja nav redzama, ir ierÄ«ce B. Meitene A nosÅ«ta SYN paketi meitenei B, un viÅa saka: "Lieliski, kurÅ”- tad viÅÅ” vÄlas ar mani sazinÄties. TÄtad, man jÄatbild, ka esmu gatavs sazinÄties!ā KÄ to izdarÄ«t? Var vienkÄrÅ”i nosÅ«tÄ«t atpakaļ citu SYN paketi un pÄc tam ACK, kas norÄda uz sÄkotnÄjÄs SYN paketes saÅemÅ”anu. Bet tÄ vietÄ, lai nosÅ«tÄ«tu ACK atseviŔķi, serveris veido kopÄ«gu paketi, kas satur SYN un ACK, un pÄrsÅ«ta to tÄ«klÄ.
TÄtad Å”ajÄ brÄ«dÄ« ierÄ«ce A ir nosÅ«tÄ«jusi SYN paketi un saÅÄmusi atpakaļ SYN/ACK paketi. Tagad ierÄ«cei A ir jÄnosÅ«ta ierÄ«cei B ACK pakete, tas ir, jÄapstiprina, ka tÄ ir saÅÄmusi piekriÅ”anu no ierÄ«ces B, lai izveidotu sakarus. TÄdÄjÄdi abas ierÄ«ces saÅÄma SYN un ACK paketes, un tagad mÄs varam teikt, ka savienojums ir izveidots, tas ir, ir pabeigts 3 pakÄpju rokasspiediens, izmantojot TCP protokolu.
TÄlÄk mÄs aplÅ«kosim TCP logu tehnoloÄ£iju. VienkÄrÅ”i sakot, tÄ ir metode, ko izmanto TCP/IP, lai apspriestu sÅ«tÄ«tÄja un saÅÄmÄja iespÄjas.
PieÅemsim, ka sistÄmÄ Windows mÄs cenÅ”amies pÄrsÅ«tÄ«t lielu failu, piemÄram, 2 GB lielu, no viena diska uz citu. PaÅ”Ä pÄrsÅ«tÄ«Å”anas sÄkumÄ sistÄma mÅ«s informÄs, ka failu pÄrsÅ«tÄ«Å”ana prasÄ«s aptuveni 1 gadu. Bet pÄc dažÄm sekundÄm sistÄma izlabosies un sacÄ«s: "Ak, pagaidiet, es domÄju, ka tas prasÄ«s apmÄram 6 mÄneÅ”us, nevis gadu." Paies vÄl nedaudz laika, un sistÄma Windows teiks: "Es domÄju, ka es varÄtu pÄrsÅ«tÄ«t failu 1 mÄneÅ”a laikÄ." Tam sekos ziÅojums ā1 dienaā, ā6 stundasā, ā3 stundasā, ā1 stundaā, ā20 minÅ«tesā, ā10 minÅ«tesā, ā3 minÅ«tesā. Faktiski viss failu pÄrsÅ«tÄ«Å”anas process aizÅems tikai 3 minÅ«tes. KÄ tas notika? SÄkotnÄji, kad jÅ«su ierÄ«ce mÄÄ£ina sazinÄties ar citu ierÄ«ci, tÄ nosÅ«ta vienu paketi un gaida apstiprinÄjumu. Ja ierÄ«ce ilgi gaida apstiprinÄjumu, tÄ domÄ: "ja man bÅ«s jÄpÄrsÅ«ta 2 GB datu ar Å”Ädu Ätrumu, tas prasÄ«s apmÄram 2 gadus." PÄc kÄda laika jÅ«su ierÄ«ce saÅem ACK un domÄ: āLabi, es nosÅ«tÄ«ju vienu paketi un saÅÄmu ACK, tÄpÄc adresÄts var saÅemt 1 paketi. Tagad es mÄÄ£inÄÅ”u viÅam nosÅ«tÄ«t 10 paciÅas, nevis vienu. SÅ«tÄ«tÄjs nosÅ«ta 10 paketes un pÄc kÄda laika saÅem ACK apstiprinÄjumu no saÅÄmÄja ierÄ«ces, kas nozÄ«mÄ, ka adresÄts gaida nÄkamo, 11. paketi. SÅ«tÄ«tÄjs domÄ: āLieliski, tÄ kÄ adresÄts apstrÄdÄja 10 paciÅas uzreiz, tad tagad mÄÄ£inÄÅ”u viÅam nosÅ«tÄ«t 100 paciÅu vietÄ desmit.ā ViÅÅ” nosÅ«ta 100 paciÅas, un saÅÄmÄjs atbild, ka ir tÄs saÅÄmis un tagad gaida 101 paciÅu. TÄdÄjÄdi laika gaitÄ palielinÄs pÄrsÅ«tÄ«to pakeÅ”u skaits.
TÄpÄc jÅ«s novÄrojat strauju failu kopÄÅ”anas laika samazinÄÅ”anos, salÄ«dzinot ar sÄkotnÄji norÄdÄ«to ā tas ir saistÄ«ts ar palielinÄtu spÄju pÄrsÅ«tÄ«t lielu datu apjomu. TomÄr pienÄk brÄ«dis, kad turpmÄka pÄrraides apjoma palielinÄÅ”ana kļūst neiespÄjama. PieÅemsim, ka jÅ«s nosÅ«tÄ«jÄt 10000 9000 pakeÅ”u, bet uztvÄrÄja ierÄ«ces buferis var pieÅemt tikai 9000. Å ajÄ gadÄ«jumÄ uztvÄrÄjs nosÅ«ta ACK ar ziÅojumu: "Es esmu saÅÄmis 9001 pakeÅ”u un tagad esmu gatavs saÅemt 9000." No tÄ sÅ«tÄ«tÄjs secina, ka saÅemoÅ”Äs ierÄ«ces bufera ietilpÄ«ba ir tikai 9000, kas nozÄ«mÄ, ka turpmÄk es sÅ«tÄ«Å”u ne vairÄk kÄ 9000 paketes vienÄ reizÄ. Å ajÄ gadÄ«jumÄ sÅ«tÄ«tÄjs Ätri aprÄÄ·ina laiku, kas viÅam bÅ«s nepiecieÅ”ams, lai pÄrsÅ«tÄ«tu atlikuÅ”o datu apjomu 3 pakeÅ”u daļÄs, un dod XNUMX minÅ«tes. Å Ä«s trÄ«s minÅ«tes ir faktiskais pÄrraides laiks. TieÅ”i to dara TCP Windowing.
Å is ir viens no tiem trafika ierobežoÅ”anas mehÄnismiem, kurÄ sÅ«tÄ«tÄja ierÄ«ce galu galÄ saprot, kÄda ir faktiskÄ tÄ«kla jauda. Jums varÄtu rasties jautÄjums, kÄpÄc viÅi nevar iepriekÅ” vienoties par to, kÄda ir uztveroÅ”Äs ierÄ«ces jauda? Fakts ir tÄds, ka tas tehniski nav iespÄjams, jo tÄ«klÄ ir dažÄda veida ierÄ«ces. PieÅemsim, ka jums ir iPad un tam ir atŔķirÄ«gs datu pÄrsÅ«tÄ«Å”anas/uztvÄrÄja Ätrums nekÄ iPhone, jums var bÅ«t dažÄda veida tÄlruÅi vai varbÅ«t jums ir ļoti vecs dators. TÄpÄc katram ir atŔķirÄ«gs tÄ«kla joslas platums.
TÄpÄc tika izstrÄdÄta TCP Windowing tehnoloÄ£ija, kad datu pÄrraide sÄkas ar mazu Ätrumu vai ar minimÄla pakeÅ”u skaita pÄrraidi, pakÄpeniski palielinot trafika āloguā. JÅ«s nosÅ«tÄt vienu paketi, 5 paketes, 10 paketes, 1000 paketes, 10000 XNUMX pakeÅ”u un lÄnÄm verat to logu arvien vairÄk un vairÄk, lÄ«dz āatvÄrÅ”anaā sasniedz maksimÄlo iespÄjamo nosÅ«tÄ«tÄs trafika apjomu noteiktÄ laika periodÄ. TÄdÄjÄdi logu veidoÅ”anas jÄdziens ir daļa no TCP protokola darbÄ«bas.
TÄlÄk mÄs apskatÄ«sim visbiežÄk sastopamos portu numurus. KlasiskÄ situÄcija ir tad, kad jums ir 1 galvenais serveris, iespÄjams, datu centrs. Tas ietver failu serveri, tÄ«mekļa serveri, pasta serveri un DHCP serveri. Tagad, ja kÄds no klienta datoriem sazinÄs ar datu centru, kas atrodas attÄla vidÅ«, tas sÄks sÅ«tÄ«t failu servera trafiku uz klienta ierÄ«cÄm. Å Ä« trafika tiek parÄdÄ«ta sarkanÄ krÄsÄ un tiks pÄrsÅ«tÄ«ta uz noteiktu portu konkrÄtai lietojumprogrammai no konkrÄta servera.
KÄ serveris zinÄja, kur vajadzÄtu virzÄ«ties noteiktai trafikai? ViÅÅ” to uzzina no mÄrÄ·a porta numura. Ja paskatÄs uz rÄmi, jÅ«s redzÄsit, ka katrÄ datu pÄrsÅ«tÄ«Å”anÄ ir minÄts galamÄrÄ·a porta numurs un avota porta numurs. JÅ«s varat redzÄt, ka zilÄ un sarkanÄ trafika un zilÄ trafika ir tÄ«mekļa servera trafika, abi tiek novirzÄ«ti uz vienu un to paÅ”u fizisko serveri, kurÄ ir instalÄti dažÄdi serveri. Ja tas ir datu centrs, tad tas izmanto virtuÄlos serverus. TÄtad, kÄ viÅi zinÄja, ka sarkanajai satiksmei bija jÄatgriežas uz kreiso klÄpjdatoru ar Å”o IP adresi? ViÅi to zina, pateicoties portu numuriem. Ja atsaucaties uz Wikipedia rakstu āTCP un UDP portu sarakstsā, jÅ«s redzÄsit, ka tajÄ ir uzskaitÄ«ti visi standarta portu numuri.
Ritinot Å”o lapu uz leju, jÅ«s varat redzÄt, cik liels ir Å”is saraksts. TajÄ ir aptuveni 61 000 skaitļu. Portu numuri no 1 lÄ«dz 1024 ir pazÄ«stami kÄ visizplatÄ«tÄkie portu numuri. PiemÄram, ports 21/TCP ir paredzÄts ftp komandu nosÅ«tÄ«Å”anai, 22. ports ir paredzÄts ssh, ports 23 ir Telnet, tas ir, neÅ”ifrÄtu ziÅojumu sÅ«tÄ«Å”anai. Ä»oti populÄrais ports 80 pÄrsÅ«ta datus, izmantojot HTTP, savukÄrt ports 443 pÄrnÄsÄ Å”ifrÄtus datus, izmantojot HTTPS, kas ir lÄ«dzÄ«gs HTTP droÅ”ajai versijai.
Daži porti ir paredzÄti gan TCP, gan UDP, un daži veic dažÄdus uzdevumus atkarÄ«bÄ no tÄ, vai savienojums ir TCP vai UDP. TÄtad oficiÄli TCP ports 80 tiek izmantots HTTP, bet neoficiÄli UDP ports 80 tiek izmantots HTTP, bet saskaÅÄ ar citu HTTP protokolu - QUIC.
TÄpÄc portu numuri TCP ne vienmÄr ir paredzÄti, lai veiktu to paÅ”u, ko UDP. Å is saraksts nav jÄiemÄcÄs no galvas, to nav iespÄjams atcerÄties, taÄu ir jÄzina daži populÄri un visizplatÄ«tÄkie portu numuri. KÄ jau teicu, dažÄm no Ŕīm pieslÄgvietÄm ir oficiÄls mÄrÄ·is, kas ir aprakstÄ«ts standartos, un dažÄm ir neoficiÄls mÄrÄ·is, kÄ tas ir Chromium gadÄ«jumÄ.
TÄtad Å”ajÄ tabulÄ ir uzskaitÄ«ti visi izplatÄ«tie portu numuri, un Å”ie numuri tiek izmantoti, lai nosÅ«tÄ«tu un saÅemtu trafiku, izmantojot noteiktas lietojumprogrammas.
Tagad apskatÄ«sim, kÄ dati pÄrvietojas tÄ«klÄ, pamatojoties uz mums zinÄmo mazo informÄciju. PieÅemsim, ka dators 10.1.1.10 vÄlas sazinÄties ar Å”o datoru vai serveri, kura adrese ir 30.1.1.10. Zem katras ierÄ«ces IP adreses ir tÄs MAC adrese. Es sniedzu piemÄru MAC adresei, kurÄ ir tikai pÄdÄjÄs 4 rakstzÄ«mes, bet praksÄ tas ir 48 bitu heksadecimÄlais skaitlis ar 12 rakstzÄ«mÄm. TÄ kÄ katrs no Å”iem cipariem sastÄv no 4 bitiem, 12 heksadecimÄlie cipari apzÄ«mÄ 48 bitu skaitli.
KÄ zinÄms, ja Ŕī ierÄ«ce vÄlas sazinÄties ar Å”o serveri, vispirms ir jÄveic 3-virzienu rokasspiediena pirmais solis, tas ir, SYN paketes nosÅ«tÄ«Å”ana. Kad Å”is pieprasÄ«jums tiks veikts, dators 10.1.1.10 norÄdÄ«s avota porta numuru, ko Windows izveido dinamiski. Windows nejauÅ”i izvÄlas porta numuru no 1 lÄ«dz 65,000 1. Bet tÄ kÄ sÄkuma skaitļi diapazonÄ no 1024 lÄ«dz 25000 ir plaÅ”i zinÄmi, Å”ajÄ gadÄ«jumÄ sistÄma Åems vÄrÄ skaitļus, kas ir lielÄki par 25113 XNUMX, un izveidos nejauÅ”u avota portu, piemÄram, numuru XNUMX.
PÄc tam sistÄma paketei pievienos mÄrÄ·a portu, Å”ajÄ gadÄ«jumÄ tas ir 21. ports, jo lietojumprogramma, kas mÄÄ£ina izveidot savienojumu ar Å”o FTP serveri, zina, ka tai ir jÄnosÅ«ta FTP trafiks.
PÄc tam mÅ«su dators saka: "Labi, mana IP adrese ir 10.1.1.10, un man jÄsazinÄs ar IP adresi 30.1.1.10." Abas Ŕīs adreses ir iekļautas arÄ« paketÄ, lai izveidotu SYN pieprasÄ«jumu, un Ŕī pakete nemainÄ«sies lÄ«dz savienojuma beigÄm.
Es vÄlos, lai jÅ«s no Ŕī videoklipa saprastu, kÄ dati tiek pÄrvietoti tÄ«klÄ. Kad mÅ«su dators, kas nosÅ«ta pieprasÄ«jumu, redz avota IP adresi un galamÄrÄ·a IP adresi, tas saprot, ka galamÄrÄ·a adrese nav Å”ajÄ lokÄlajÄ tÄ«klÄ. Es aizmirsu pateikt, ka tÄs visas ir /24 IP adreses. TÄtad, ja paskatÄs uz /24 IP adresÄm, jÅ«s sapratÄ«sit, ka datori 10.1.1.10 un 30.1.1.10 neatrodas vienÄ tÄ«klÄ. TÄdÄjÄdi dators, kas nosÅ«ta pieprasÄ«jumu, saprot, ka, lai pamestu Å”o tÄ«klu, tam ir jÄsazinÄs ar 10.1.1.1 vÄrteju, kas ir konfigurÄta vienÄ no marÅ”rutÄtÄja saskarnÄm. Tas zina, ka tam vajadzÄtu doties uz 10.1.1.1, un zina savu MAC adresi 1111, bet nezina vÄrtejas 10.1.1.1 MAC adresi. Ko viÅÅ” dara? Tas nosÅ«ta apraides ARP pieprasÄ«jumu, ko saÅems visas tÄ«klÄ esoÅ”Äs ierÄ«ces, bet uz to atbildÄs tikai marÅ”rutÄtÄjs ar IP adresi 10.1.1.1.
MarÅ”rutÄtÄjs atbildÄs ar savu AAAA MAC adresi, un Å”ajÄ rÄmÄ« tiks ievietota arÄ« gan avota, gan galamÄrÄ·a MAC adrese. Kad kadrs ir gatavs, pirms tÄ«kla atstÄÅ”anas tiks veikta CRC datu integritÄtes pÄrbaude, kas ir algoritms kontrolsummas atraÅ”anai kļūdu noteikÅ”anai.
CikliskÄ atlaiÅ”ana CRC nozÄ«mÄ, ka viss Å”is kadrs, no SYN lÄ«dz pÄdÄjai MAC adresei, tiek palaists caur jaukÅ”anas algoritmu, piemÄram, MD5, kÄ rezultÄtÄ tiek iegÅ«ta jaukÅ”anas vÄrtÄ«ba. JaucÄjvÄrtÄ«ba jeb MD5 kontrolsumma tiek novietota kadra sÄkumÄ.
Es to apzÄ«mÄju ar FCS/CRC, jo FCS ir Frame Check Sequence, Äetru baitu CRC vÄrtÄ«ba. Daži cilvÄki izmanto apzÄ«mÄjumu FCS, bet daži izmanto apzÄ«mÄjumu CRC, tÄpÄc es vienkÄrÅ”i iekļÄvu abus apzÄ«mÄjumus. Bet bÅ«tÄ«bÄ tÄ ir tikai hash vÄrtÄ«ba. Tas ir nepiecieÅ”ams, lai pÄrliecinÄtos, ka visos tÄ«klÄ saÅemtajos datos nav kļūdu. TÄpÄc, kad Å”is kadrs sasniedz marÅ”rutÄtÄju, pirmais, ko marÅ”rutÄtÄjs darÄ«s, ir pats aprÄÄ·inÄt kontrolsummu un salÄ«dzinÄt to ar FCS vai CRC vÄrtÄ«bu, ko satur saÅemtais kadrs. TÄdÄ veidÄ viÅÅ” var pÄrbaudÄ«t, vai tÄ«klÄ saÅemtajos datos nav kļūdu, pÄc tam viÅÅ” no kadra noÅems kontrolsummu.
PÄc tam marÅ”rutÄtÄjs apskatÄ«s MAC adresi un sacÄ«s: āLabi, MAC adrese AAAA nozÄ«mÄ, ka rÄmis ir adresÄts manā un izdzÄsÄ«s to kadra daļu, kurÄ ir MAC adreses.
Apskatot galamÄrÄ·a IP adresi 30.1.1.10, viÅÅ” sapratÄ«s, ka Ŕī pakete nav adresÄta viÅam un tai jÄiet tÄlÄk caur marÅ”rutÄtÄju.
Tagad marÅ”rutÄtÄjs ādomÄā, ka tam jÄredz, kur atrodas tÄ«kls ar adresi 30.1.1.10. MÄs vÄl neesam apskatÄ«juÅ”i visu marÅ”rutÄÅ”anas jÄdzienu, taÄu mÄs zinÄm, ka marÅ”rutÄtÄjiem ir marÅ”rutÄÅ”anas tabula. Å ajÄ tabulÄ ir ieraksts tÄ«klam ar adresi 30.1.1.0. KÄ jÅ«s atceraties, Ŕī nav resursdatora IP adrese, bet gan tÄ«kla identifikators. MarÅ”rutÄtÄjs ādomÄsā, ka tas var sasniegt adresi 30.1.1.0/24, izmantojot marÅ”rutÄtÄju 20.1.1.2.
JÅ«s varat jautÄt, kÄ viÅÅ” to zina? VienkÄrÅ”i paturiet prÄtÄ, ka tas to uzzinÄs vai nu no marÅ”rutÄÅ”anas protokoliem, vai no jÅ«su iestatÄ«jumiem, ja jÅ«s kÄ administrators esat konfigurÄjis statisku marÅ”rutu. Bet jebkurÄ gadÄ«jumÄ Å”Ä« marÅ”rutÄtÄja marÅ”rutÄÅ”anas tabulÄ ir pareizs ieraksts, tÄpÄc tas zina, ka tai ir jÄnosÅ«ta Ŕī pakete uz 20.1.1.2. PieÅemot, ka marÅ”rutÄtÄjs jau zina mÄrÄ·a MAC adresi, mÄs vienkÄrÅ”i turpinÄsim pÄrsÅ«tÄ«t paketi. Ja viÅÅ” nezina Å”o adresi, viÅÅ” atkal sÄks ARP, saÅems marÅ”rutÄtÄja MAC adresi 20.1.1.2, un kadra nosÅ«tÄ«Å”anas process turpinÄsies vÄlreiz.
TÄtad mÄs pieÅemam, ka tas jau zina MAC adresi, tad mums bÅ«s BBB avota MAC adrese un CCC mÄrÄ·a MAC adrese. MarÅ”rutÄtÄjs atkal aprÄÄ·ina FCS/CRC un ievieto to kadra sÄkumÄ.
PÄc tam tas nosÅ«ta Å”o kadru tÄ«klÄ, kadrs sasniedz marÅ”rutÄtÄju 20.1.12, pÄrbauda kontrolsummu, pÄrliecinÄs, ka dati nav bojÄti, un izdzÄÅ” FCS/CRC. PÄc tam tas "saÄ«sina" MAC adreses, apskata galamÄrÄ·i un redz, ka tas ir 30.1.1.10. ViÅÅ” zina, ka Ŕī adrese ir savienota ar viÅa saskarni. Tas pats kadru veidoÅ”anas process tiek atkÄrtots, marÅ”rutÄtÄjs pievieno avota un galamÄrÄ·a MAC adreses vÄrtÄ«bas, veic jaukÅ”anu, pievieno jaucÄju rÄmim un nosÅ«ta to tÄ«klÄ.
MÅ«su serveris, beidzot saÅÄmis tam adresÄto SYN pieprasÄ«jumu, pÄrbauda hash kontrolsummu un, ja paketÄ nav kļūdu, tas dzÄÅ” hash. Tad viÅÅ” noÅem MAC adreses, apskata IP adresi un saprot, ka Ŕī pakete ir adresÄta viÅam.
PÄc tam tas saÄ«sina ar OSI modeļa treÅ”o slÄni saistÄ«tÄs IP adreses un aplÅ«ko portu numurus.
ViÅÅ” redz portu 21, kas nozÄ«mÄ FTP trafiku, redz SYN un tÄpÄc saprot, ka kÄds mÄÄ£ina ar viÅu sazinÄties.
Tagad, pamatojoties uz to, ko uzzinÄjÄm par rokasspiedienu, serveris 30.1.1.10 izveidos SYN/ACK paketi un nosÅ«tÄ«s to atpakaļ uz datoru 10.1.1.10. SaÅemot Å”o paketi, ierÄ«ce 10.1.1.10 izveidos ACK, izlaidÄ«s to caur tÄ«klu tÄpat kÄ SYN paketi, un pÄc tam, kad serveris saÅems ACK, savienojums tiks izveidots.
Viena lieta, kas jums jÄzina, ir tÄ, ka tas viss notiek mazÄk nekÄ sekundÄ. Tas ir ļoti, ļoti Ätrs process, kuru mÄÄ£inÄju piebremzÄt, lai tev viss bÅ«tu skaidrs.
Ceru, ka Å”ajÄ apmÄcÄ«bÄ apgÅ«tais noderÄs. Ja jums ir kÄdi jautÄjumi, lÅ«dzu, rakstiet man uz [e-pasts aizsargÄts] vai atstÄjiet jautÄjumus zem Ŕī video.
SÄkot ar nÄkamo nodarbÄ«bu, no YouTube atlasÄ«Å”u 3 interesantÄkos jautÄjumus, kurus apskatÄ«Å”u katra video beigÄs. No Ŕī brīža man bÅ«s sadaļa "PopulÄrÄkie jautÄjumi", tÄpÄc es ievietoÅ”u jautÄjumu kopÄ ar jÅ«su vÄrdu un atbildÄÅ”u uz to tieÅ”raidÄ. Es domÄju, ka tas nÄks par labu.
Paldies, ka palikÄt kopÄ ar mums. Vai jums patÄ«k mÅ«su raksti? Vai vÄlaties redzÄt interesantÄku saturu? Atbalsti mÅ«s, pasÅ«tot vai iesakot draugiem, 30% atlaide Habr lietotÄjiem unikÄlam sÄkuma lÄ«meÅa serveru analogam, ko mÄs jums izgudrojÄm:
VPS (KVM) E5-2650 v4 (6 kodoli) 10GB DDR4 240GB SSD 1Gbps bez maksas lÄ«dz vasarai maksÄjot par seÅ”u mÄneÅ”u periodu, var pasÅ«tÄ«t
Dell R730xd 2 reizes lÄtÄk? Tikai Å”eit
Avots: www.habr.com