Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • OS
  • Dobro poznate luke. Kako se TCP i UDP razlikuju jednostavnim jezikom

Dobro poznate luke. Kako se TCP i UDP razlikuju jednostavnim jezikom

U računarskim mrežama, port je krajnja tačka komunikacije u operativnom sistemu. Termin se takođe koristi za hardverske uređaje, ali u softveru je to logička konstrukcija koja identifikuje određeni proces ili vrstu usluge.

Port je uvijek povezan sa IP adresom i tipom domaćina i na taj način završava dodjelu adrese sesije. Identificira se za svaku adresu i protokol sa 16-bitnim brojem, poznatim kao broj porta. Određeni brojevi portova se često koriste za identifikaciju specifičnih usluga. Od hiljada navedenih, 1024 dobro poznata broja portova zaštićena su konvencijom za identifikaciju specifičnih tipova usluga na hostu. Protokoli koji prvenstveno koriste portove koriste se za kontrolu procesa (na primjer, Protokol kontrole prijenosa (TCP) i Protokol korisničkih datagrama (UDP) iz paketa internetskih protokola).

Značenje

TCP portovi nisu potrebni za direktne veze od tačke do tačke gde računari na svakom kraju mogu pokrenuti samo jedan program u isto vreme. Postali su neophodni nakon što su mašine bile u mogućnosti da izvršavaju više od jednog programa istovremeno i bile povezane na moderne mreže sa komutacijom paketa. U modelu klijent-server arhitekture, aplikacije, portovi i mrežni klijenti se povezuju kako bi pokrenuli uslugu, pružili usluge multipleksiranja nakon što je početna komunikacija povezana s poznatim brojem porta, a oslobađa se prebacivanjem svake instance usluge zahtjeva na namjensku liniju. Povezivanje se vrši na određeni broj, a zahvaljujući tome, dodatni korisnici mogu biti uslužni bez čekanja.

Detalji

Protokol kontrole prijenosa (TCP) i protokol korisničkih datagrama (UDP) se koriste za specificiranje broja odredišnog porta i izvora u njihovim zaglavljima segmenta. Broj porta je nepredpisani 16-bitni cijeli broj. Dakle, može se kretati od 0 do 65535.

Međutim, TCP portovi ne mogu koristiti broj 0. Izvorni port za UDP je opcionalan, a vrijednost nula znači nikakav.

Proces povezuje svoje ulazne ili izlazne kanale preko internet utičnice (tip deskriptora datoteke) koristeći transportni protokol, broj porta i IP adresu. Ovaj proces je poznat kao povezivanje i omogućava slanje i primanje podataka preko mreže.

Operativni sistem je odgovoran za prijenos odlaznih podataka sa svih portova aplikacije na mrežu, kao i za prosljeđivanje dolaznih mrežnih paketa (poklapanjem IP adrese i broja). Samo jedan proces se može vezati za određenu IP adresu i kombinaciju porta koristeći isti transportni protokol. Uobičajeni padovi aplikacija, koji se ponekad nazivaju sukobi portova, nastaju kada više programa pokušava komunicirati s istim brojevima porta na istoj IP adresi koristeći isti protokol.

Kako se koriste

Uobičajene uslužne aplikacije često koriste posebno rezerviranu i dobro poznatu listu TCP i UDP portova za primanje zahtjeva za uslugu od klijenata. Ovaj proces je poznat kao slušanje i uključuje primanje zahtjeva sa dobro poznatog porta i uspostavljanje razgovora jedan na jedan između servera i klijenta koristeći isti lokalni broj porta. Drugi klijenti mogu nastaviti da se povezuju — to je moguće jer je TCP veza identificirana kao lanac lokalnih i udaljenih adresa i portova. Standardni TCP i UDP portovi su definirani sporazumom koji nadgleda Internet Assigned Numbers Authority (IANA).

Osnovne mrežne usluge (prvenstveno WorldWideWeb) imaju tendenciju da koriste male brojeve portova — manje od 1024. Mnogi operativni sistemi zahtijevaju posebne privilegije da bi se aplikacije vezale za njih jer se često smatraju kritičnim za funkcionisanje IP mreža. S druge strane, krajnji klijent veze obično koristi veliki broj njih, dodijeljenih za kratkoročno korištenje, pa postoje takozvani efemerni portovi.

Struktura

TCP portovi su kodirani u zaglavlju paketa transportnog protokola i mogu se lako interpretirati ne samo od strane računara koji šalje i prima, već i od drugih komponenti mrežne infrastrukture. Konkretno, zaštitni zidovi su obično konfigurisani da razlikuju pakete na osnovu brojeva njihovog izvornog ili odredišnog porta. Preusmjeravanje je klasičan primjer ovoga.

Praksa pokušaja da se serijski povežete na niz portova na istom računaru je poznata kao njihovo skeniranje. To je obično zbog pokušaja zlonamjernog kvara ili administratori mreže traže moguće ranjivosti kako bi spriječili takve napade.

Radnje usmjerene na to koliko često se računari nadziru i snimaju. Ova tehnika koristi niz redundantnih veza kako bi se osigurala neprekidna veza sa serverom.

Primjeri korištenja

Najvažniji primjer gdje se TCP/UDP portovi aktivno koriste je sistem internetske pošte. Server se koristi za rukovanje e-poštom (slanje i primanje), a generalno su mu potrebne dvije usluge. Prvi servis se koristi za transport putem e-pošte i sa drugih servera. Ovo se postiže korištenjem. Obično aplikacija SMTP servisa sluša na TCP portu 25 kako bi obradila dolazne zahtjeve. Druga usluga je POP (all-post Office Protocol) ili IMAP (ili Internet Message Access Protocol), koji je neophodan da bi klijentske aplikacije u e-pošti na računarima korisnika primale e-poruke sa servera. POP usluga osluškuje brojeve na TCP portu 110. Gore navedene usluge mogu se izvoditi na istom host računaru. Kada se to dogodi, broj porta razlikuje uslugu koju traži udaljeni uređaj - korisnički računar ili neki drugi mail server.

Iako je broj porta za slušanje servera dobro definiran (IANA ih naziva dobro poznatim portovima), ova postavka klijenta se često bira iz dinamičkog raspona. U nekim slučajevima, klijenti i server zasebno koriste specifične IANA dodijeljene TCP portove. Dobar primjer je DHCP, gdje klijent koristi UDP 68 u svim slučajevima, a server koristi UDP 67.

Upotreba u URL-ovima

Brojevi portova su ponekad jasno vidljivi na Internetu ili drugim uniformnim lokatorima resursa (URL). Prema zadanim postavkama, HTTP koristi i HTTPS je 443. Međutim, postoje i druge varijacije. Na primjer, URL http://www.example.com:8080/path/ označava da se web pretraživač povezuje na 8080 umjesto na HTTP server.

Lista TCP i UDP portova

Kao što je navedeno, Internet Assigned Numbers Authority (IANA) je odgovorna za globalnu koordinaciju DNS-Root-a, IP adresiranja i drugih resursa Internet protokola. Ovo uključuje registraciju najčešće korištenih brojeva portova za dobro poznate internetske usluge.

Brojevi portova podijeljeni su u tri raspona: dobro poznati, registrirani i dinamički ili privatni. Dobro poznati (takođe poznati kao sistemski) su numerisani od 0 do 1023. Zahtevi za nove zadatke u ovom opsegu su stroži nego za druge registracije.

Dobro poznati primjeri

Primjeri na ovoj listi uključuju:

  • TCP port 443: HTTP siguran (HTTPS).
  • 22: Secure Shell (SSH).
  • 25: Simple Mail Transfer Protocol (SMTP).
  • 53: Sistem imena domena (DNS).
  • 80: Protokol za prijenos hiperteksta (HTTP)
  • 119: Network News Transfer Protocol (NNTP).
  • 123: Protokol mrežnog vremena (NTP) ..
  • 143: Internet Message Access Protocol (IMAP)
  • 161: Jednostavni protokol upravljanja mrežom (SNMP) 1.
  • 94: Internet Relay Chat (IRC).

Registrirani portovi su označeni brojevima od 1024 do 49151. IANA održava službenu listu poznatih i registriranih raspona. Dinamički ili privatni - 49152 do 65535. Jedan slučaj upotrebe za ovaj raspon je za privremene portove.

Istorija stvaranja

Koncept broja porta kreirali su rani ARPANET programeri kroz neformalnu saradnju između autora softvera i administratora sistema.

Termin "broj porta" u to vrijeme još nije bio u upotrebi. Brojčani niz za udaljeni host bio je 40-bitni broj. Prva 32 bita bila su slična današnjoj IPv4 adresi, s tim da je prvih 8 bita najznačajnije. Najmanji značajan dio broja (bitovi 33 do 40) označava drugi objekat koji se zove AEN. Ovo je prototip modernog broja porta.

Dana 26. marta 1972. godine, stvaranje imenika brojeva utičnica je prvi put predloženo u RFC 322. koji je pozvao na opisivanje svakog postojanog broja u smislu njegovih funkcija i mrežnih usluga. Ovaj direktorij je naknadno objavljen u RFC 433 u decembru 1972. i uključivao je listu hostova, njihove brojeve portova i odgovarajuću funkciju koja se koristi na svakom čvoru na mreži. U maju 1972. godine po prvi put su dokumentovane službene dodjele lučkih brojeva, mrežnih usluga i predložena je posebna administrativna funkcija za vođenje ovog registra.

Prva lista TCP portova imala je 256 AEN vrijednosti, koje su podijeljene u sljedeće raspone:

  • 0 do 63: standardne funkcije cijele mreže
  • 64 do 127: Specifične karakteristike hosta
  • 128 do 239: Rezervirano za buduću upotrebu
  • 240 do 255: Bilo koja eksperimentalna karakteristika.

Telnetu je prvi put zvanično dodeljena vrednost 1. U ranim danima ARPANET-a, AEN je takođe bio naziv utičnice koja se koristila sa originalnim protokolom za povezivanje (MSP) i komponentom programa za upravljanje mrežom (NCP). Međutim, NCP je bio preteča modernih Internet protokola koji koriste TCP/IP portove.

Izvori: Wikipedia, Microsoft, portscan.ru

Kako da znam koji su portovi otvoreni na mom računaru?

  1. Za Windows: Start → "cmd" → Pokreni kao administrator → "netstat -bn"
  2. U antivirusnom programu kao što je Avast, moguće je vidjeti aktivne portove u Firewall-u: Alati -> Vatrozid -> Mrežne veze.

Također korisne netstat komande:

Da biste prikazali i Ethernet statistiku i statistiku za sve protokole, otkucajte sljedeću naredbu:

netstat -e -s

Da biste prikazali statistiku samo za TCP i UDP protokole, unesite sljedeću naredbu:

netstat -s -p tcp udp

Za prikaz aktivnih TCP veza i ID-ova procesa svakih 5 sekundi, upišite sljedeću naredbu:

nbtstat -o 5

Da biste prikazali aktivne TCP veze i ID-ove procesa koristeći numerički oblik, unesite sljedeću naredbu:

nbtstat -n -o

Sljedeće vrijednosti statusa važe za TCP utičnice:

ZATVORENO Zatvoreno. Utičnica nije u upotrebi.
SLUŠAJ (SLUŠANJE) Čekaju se dolazne veze.
SYN_SENT Aktivno pokušava uspostaviti vezu.
SYN_RECEIVED U toku je početna sinhronizacija veze.
ESTABLISHED Veza je uspostavljena.
CLOSE_WAIT Dalji kraj je isključen; čekati da se utičnica zatvori.
FIN_WAIT_1 Utičnica je zatvorena; prekidanje veze.
ZATVARANJE Utičnica je zatvorena, a zatim je udaljena strana isključena; Čeka se potvrda.
LAST_ACK Daljinska strana je isključena, a zatim je utičnica zatvorena; Čeka se potvrda.
FIN_WAIT_2 Utičnica je zatvorena; čekajući da se udaljena strana isključi.
TIME_WAIT Utičnica je zatvorena, ali čeka pakete koji su još uvijek na mreži za obradu.

Lista najčešće korišćenih portova

Pozdrav svima, danas ću vam reći po čemu se TCP protokol razlikuje od UDP-a. Protokoli transportnog sloja koji slijede IP u hijerarhiji koriste se za prijenos podataka između procesa aplikacije u mrežnim čvorovima. Paket podataka primljen sa jednog računara na drugi putem interneta mora se preneti u proces obrade, i to upravo za određenu svrhu. Transportni sloj preuzima odgovornost za ovo. Na ovom sloju postoje dva glavna protokola - TCP i UDP.

Šta znači TCP i UDP

TCP- transportni protokol za prenos podataka u TCP/IP mrežama, koji preliminarno uspostavlja vezu sa mrežom.

UDP- transportni protokol koji prenosi poruke datagrama bez potrebe za uspostavljanjem veze u IP mreži.

Dozvolite mi da vas podsjetim da oba protokola funkcionišu na transportnom sloju OSI ili TCP/IP modela, a razumijevanje po čemu se razlikuju je veoma važno.

Razlika između TCP i UDP protokola

Razlika između TCP-a i UDP-a je takozvana “garancija isporuke”. TCP zahteva odgovor od klijenta kome je isporučen paket podataka, potvrdu isporuke, a za to mu je potrebna unapred uspostavljena veza. Takođe, TCP se smatra pouzdanim, dok je UDP čak dobio naziv „nepouzdani datagram protokol. TCP eliminiše gubitak podataka, dupliciranje i miješanje paketa, kašnjenja. UDP radi sve ovo i ne treba mu konekcija za rad. Procesi koji prenose podatke preko UDP-a moraju se zadovoljiti primljenim, čak i onima sa gubicima. TCP kontroliše zagušenje veze, UDP ne kontroliše ništa osim integriteta primljenih datagrama.

S druge strane, zbog takve neselektivnosti i nedostatka kontrole, UDP dosta brže dostavlja pakete podataka (datagrame), pa se za aplikacije koje su dizajnirane za veliki propusni opseg i brzu razmjenu, UDP može smatrati optimalnim protokolom. Tu spadaju mrežne i pretraživačke igre, kao i streaming video gledaoci i aplikacije za video komunikaciju (ili govor): od gubitka paketa, potpunog ili djelomičnog, ništa se ne mijenja, ne morate ponavljati zahtjev, ali je preuzimanje mnogo brže. TCP protokol, kao pouzdaniji, uspješno se koristi čak iu programima za poštu, omogućavajući vam kontrolu ne samo prometa, već i dužine poruke i brzine razmjene prometa.

Pogledajmo glavne razlike između tcp-a i udp-a.

  1. TCP garantuje isporuku paketa podataka nepromenjenu, sekvencijsku i bez gubitaka, UDP ne garantuje ništa.
  2. TCP broji pakete u tranzitu, ali UDP ne
  3. TCP radi u full duplex modu, u jednom paketu možete poslati informaciju i potvrditi prijem prethodnog paketa.
  4. TCP zahteva unapred uspostavljenu vezu, UDP ne zahteva vezu, to je samo tok podataka.
  5. UDP obezbeđuje brže brzine prenosa podataka.
  6. TCP je pouzdaniji i ima kontrolu nad komunikacijskim procesom.
  7. UDP je poželjniji za programe koji puštaju striming video, video telefon i telefoniju, mrežne igre.
  8. UPD ne sadrži funkcije oporavka podataka

Primjeri UDP aplikacija, na primjer, prenose DNS zone u Active Directory, gdje pouzdanost nije potrebna. Vrlo često vole postavljati takva pitanja na intervjuima, pa je vrlo važno znati razlike između tcp i udp.

TCP i UDP zaglavlja

Pogledajmo kako izgledaju zaglavlja dva transportna protokola, budući da i ovdje postoje kardinalne razlike.

UDP zaglavlje

  • 16-bitni izvorni port> Određivanje izvornog porta za UDP je opciono. Ako se koristi ovo polje, prijemnik može poslati odgovor na ovaj port.
  • 16-bitni odredišni port> Broj odredišnog porta
  • 16-bitna UDP dužina> Dužina poruke uključujući zaglavlje i podatke.
  • 16-bitni kontrolni zbroj> Kontrolna suma zaglavlja i podataka za verifikaciju

TCP zaglavlje

  • 16-bitni izvorni port> Broj izvornog porta
  • 16-bitni odredišni port> Broj odredišnog porta
  • 32-bitni sekvencijalni broj> Sekvencijalni broj generiše izvor i koristi ga odredište za preuređivanje paketa za kreiranje originalne poruke i slanje potvrde izvoru.
  • 32-bitni broj potvrde> Ako je ACK bit kontrolnog polja postavljen, ovo polje sadrži sljedeći očekivani redni broj.
  • 4-bitna dužina zaglavlja> Informacije o početku paketa podataka.
  • rezerva> Rezervisana za buduću upotrebu.
  • 16-bitna kontrolna suma> Kontrolna suma zaglavlja i podataka; određuje da li je paket oštećen.
  • 16-bitni indikator hitnosti> U ovom polju, ciljni uređaj prima informacije o hitnosti podataka.
  • Parametri> Opcione vrijednosti koje su specificirane ako je potrebno.

Veličina prozora vam omogućava da uštedite promet, uzmite u obzir kada je njegova vrijednost 1, ovdje za svaki poslani odgovor pošiljalac čeka potvrdu, nije sasvim racionalno.

Sa veličinom prozora od 3, pošiljalac već šalje 3 okvira, a očekuje od 4, što znači da ima sva tri okvira, +1.

Nadam se da sada imate ideju o razlikama između tcp udp protokola.

TCP/IP je temelj Interneta, preko kojeg računari šalju i primaju informacije sa bilo kojeg mjesta u svijetu, bez obzira na geografsku lokaciju. Pristup TCP/IP računaru u drugoj zemlji je jednostavan kao i pristup računaru u susednoj prostoriji. Procedura pristupa je identična u oba slučaja, iako može potrajati nekoliko milisekundi duže da se povežete na mašinu u drugoj zemlji. Kao rezultat toga, građani bilo koje zemlje mogu lako kupovati na Amazon.com; Međutim, zbog logične blizine, zadatak zaštite informacija postaje složeniji: svaki vlasnik računara povezanog na Internet bilo gdje u svijetu može pokušati uspostaviti neovlaštenu vezu s bilo kojom drugom mašinom.

Odgovornost IT stručnjaka je da instalira firewall i sisteme za otkrivanje sumnjivog saobraćaja. Analiza paketa izdvaja informacije o izvornoj i odredišnoj IP adresi i uključenim mrežnim portovima. Vrijednost mrežnih portova nije inferiorna u odnosu na IP adrese; ovo su najvažniji kriterijumi za odvajanje korisnog saobraćaja od lažnih i štetnih poruka koje ulaze i izlaze iz mreže. Većina internet saobraćaja se sastoji od TCP i UDP paketa, koji sadrže informacije o mrežnim portovima koje računari koriste za usmeravanje saobraćaja od jedne aplikacije do druge. Preduslov za siguran zaštitni zid i mrežu je da administrator ima temeljno razumijevanje o tome kako računari i mrežni uređaji koriste ove portove.

Istraživanje luka

Poznavanje osnovnih principa mrežnih portova dobro će doći svakom administratoru sistema. Sa osnovnim znanjem o TCP i UDP portovima, administrator može dijagnosticirati neispravnu mrežnu aplikaciju ili zaštititi računar za pristup Internetu bez pozivanja mrežnog inženjera ili konsultanta za firewall.

Prvi dio ovog članka (koji se sastoji od dva dijela) opisuje osnovne koncepte potrebne za razmatranje mrežnih portova. Prikazaće se mesto mrežnih portova u ukupnom mrežnom modelu i uloga mrežnih portova i NAT (Network Address Translation) zaštitnih zidova u povezivanju računara kompanije sa Internetom. Konačno, bit će naznačene mrežne točke gdje je zgodno identificirati i filtrirati mrežni promet na odgovarajućim mrežnim portovima. Drugi dio ispituje neke od portova koje koriste uobičajene aplikacije i operativni sistemi i uvodi neke alate za pronalaženje otvorenih portova na mreži.

Kratak pregled mrežnih protokola

TCP/IP je skup mrežnih protokola preko kojih računari međusobno komuniciraju. Skup TCP / IP nije ništa drugo do fragmenti programskog koda instaliranog u operativnom sistemu i koji omogućava pristup ovim protokolima. TCP/IP je standard, tako da TCP/IP aplikacije na Windows mašini moraju uspešno komunicirati sa sličnom aplikacijom na UNIX mašini. U prvim danima umrežavanja, 1983. godine, inženjeri su razvili sedmoslojni OSI model interoperabilnosti kako bi opisali kako računari komuniciraju preko mreža, od kabla do aplikacije. OSI model se sastoji od fizičkog, podatkovnog linka, mreže, transporta, predstavljanja podataka sesije i slojeva aplikacije. Internet i TCP/IP administratori se prvenstveno bave slojevima mreže, transporta i aplikacije, ali postoje i drugi slojevi koji moraju biti poznati za uspješnu dijagnozu. Unatoč znatnoj starosti OSI modela, mnogi stručnjaci ga još uvijek koriste. Na primjer, kada mrežni inženjer govori o prekidačima Layer 1 ili Layer 2, a dobavljač zaštitnog zida govori o kontroli nivoa 7, oni se odnose na slojeve definirane u OSI modelu.

Ovaj članak opisuje mrežne portove koji se nalaze na sloju 4 - transport. U TCP/IP skupu, ove portove koriste TCP i UDP protokoli. Ali prije nego što pređemo na detaljan opis jednog sloja, potrebno je ukratko upoznati se sa sedam OSI slojeva i ulogom koju oni igraju u modernim TCP/IP mrežama.

Slojevi 1 i 2: fizički kablovi i MAC adrese

Sloj 1, fizički, predstavlja stvarni medij u kojem se signal širi - na primjer, bakarni kabel, optički kabel ili radio signale (u slučaju Wi-Fi). Sloj 2, veza podataka, opisuje format podataka za prijenos preko fizičkog medija. Na sloju 2, paketi su organizovani u okvire i može se implementirati osnovna kontrola toka i rukovanje greškama. IEEE 802.3 standard, poznatiji kao Ethernet, najčešći je standard Layer 2 za moderne LAN mreže. Tipičan mrežni prekidač je uređaj sloja 2 koji fizički povezuje više računara i međusobno komunicira. Ponekad se dva računara ne mogu povezati jedan s drugim iako se čini da su IP adrese ispravne: problem može biti zbog grešaka u kešu protokola za rješavanje adrese (ARP), što ukazuje na problem nivoa 2. Osim toga, neke bežične pristupne tačke ( Pristupna tačka, AP) omogućava filtriranje MAC adrese kako bi se omogućilo samo mrežnim adapterima sa određenom MAC adresom da se povežu na bežični AP.

Slojevi 3 i 4: IP adrese i mrežni portovi

Sloj 3, umrežen, podržava rutiranje. U TCP/IP, rutiranje je implementirano u IP. IP adresa paketa pripada sloju 3. Mrežni ruteri su uređaji sloja 3 koji analiziraju IP adrese paketa i prosleđuju pakete drugom ruteru ili isporučuju pakete lokalnim računarima. Ako se sumnjivi paket pronađe na mreži, prvi korak je provjera IP adrese paketa kako bi se ustanovilo odakle paket potiče.

Zajedno sa mrežnim slojem, sloj 4 (transport) je dobra polazna tačka za dijagnosticiranje mrežnih problema. Na Internetu, sloj 4 sadrži TCP i UDP protokole i informacije o mrežnim portovima koji povezuju paket sa određenom aplikacijom. Mrežni stog računara koristi asocijaciju TCP ili UDP mrežnog porta s aplikacijom za usmjeravanje mrežnog prometa na tu aplikaciju. Na primjer, TCP port 80 je povezan sa aplikacijom Web servera. Ovo mapiranje porta do aplikacije poznato je kao usluga.

TCP i UDP su različiti. U osnovi, TCP pruža pouzdanu vezu za razmjenu podataka između dvije aplikacije. Prije razmjene podataka, dvije aplikacije moraju uspostaviti komunikaciju dovršavanjem procesa TCP rukovanja u tri koraka. UDP je više pristup požaru i zaboravu. Pouzdanost komunikacije za TCP aplikacije je osigurana protokolom, a UDP aplikacija mora samostalno provjeriti pouzdanost veze.

Mrežni port je broj od 1 do 65535 koji je specificiran i poznat objema aplikacijama između kojih komuniciraju. Na primjer, klijent obično šalje nešifrirani zahtjev serveru na ciljnoj adresi na TCP portu 80. Obično računar šalje DNS upit DNS serveru na ciljnoj adresi na UDP portu 53. Klijent i server imaju izvor i odredišnu IP adresu, kao i izvorni i odredišni mrežni port, koji mogu biti različiti. Istorijski gledano, svi brojevi portova ispod 1024 nazivani su "dobro poznati brojevi portova" i registrovani su kod Internet Assigned Numbers Authority (IANA). Na nekim operativnim sistemima, samo sistemski procesi mogu koristiti portove u ovom opsegu. Osim toga, organizacije mogu registrirati portove od 1024 do 49151 kod IANA-e kako bi vezali port za svoju aplikaciju. Ova registracija pruža strukturu koja pomaže u izbjegavanju sukoba između aplikacija koje žele koristiti isti broj porta. Međutim, općenito, ništa ne sprječava aplikaciju da zatraži određeni port ako nije zauzet drugim aktivnim programom.

Istorijski gledano, server može slušati na portovima s malim brojem, a klijent može pokrenuti vezu sa porta visokog broja (iznad 1024). Na primjer, Web klijent može otvoriti vezu sa Web serverom na odredišnom portu 80, ali pridružiti proizvoljan izvorni port, kao što je TCP port 1025. Kao odgovor na klijenta, Web server adresira paket klijentu sa izvorom port 80 i odredišni port 1025. Kombinacija IP adrese i porta naziva se utičnica i mora biti jedinstvena na računaru. Iz tog razloga, kada postavljate Web server sa dve odvojene veb lokacije na istom računaru, morate koristiti više IP adresa, kao što su adresa 1: 80 i adresa 2: 80, ili konfigurisati Web server da sluša na više mrežnih portova, kao što je kao adresa 1: 80 i adresa 1: 81. Neki web serveri dozvoljavaju višestrukim web lokacijama da rade na jednom portu tražeći zaglavlje hosta, ali u stvarnosti ovu funkciju obavlja aplikacija web servera na višem nivou 7.

Kako su mrežne funkcije postale dostupne u operativnim sistemima i aplikacijama, programeri su počeli koristiti portove iznad 1024, bez registracije svih aplikacija kod IANA-e. Pretraživanjem interneta za bilo koji mrežni port, obično možete brzo pronaći informacije o aplikacijama koje koriste taj port. Alternativno, možete pretraživati ​​dobro poznate portove i pronaći mnoge web stranice koje navode najčešće portove.

Prilikom blokiranja mrežnih aplikacija na računaru ili popravljanja nedostataka u firewall-u, većina posla se obavlja klasifikacijom i filtriranjem IP adresa sloja 3 i protokola i mrežnih portova sloja 4. TCP i UDP portovi.

Poznavanje i upoznavanje sa mrežnim portovima nije ograničeno na dodeljivanje pravila firewall-u. Na primjer, neke Microsoft sigurnosne ispravke opisuju kako zatvoriti NetBIOS portove. Ova mjera pomaže da se ograniči širenje "crva" koji prodiru u ranjivosti operativnog sistema. Znajući kako i gdje zatvoriti ove portove, možete ublažiti prijetnju vašoj mreži dok se pripremate za implementaciju kritične zakrpe.

I pravo na nivo 7

Rijetko je čuti za sloj 5 (sesija) i sloj 6 (prezentacija) ovih dana, ali sloj 7 (aplikacija) je vruća tema među dobavljačima firewall-a. Najnoviji trend u razvoju mrežnih zaštitnih zidova je kontrola sloja 7, koja opisuje metode koje se koriste za analizu rada aplikacije sa mrežnim protokolima. Analizom korisnih informacija mrežnog paketa, zaštitni zid može utvrditi legitimnost saobraćaja koji prolazi kroz njega. Na primjer, web zahtjev sadrži naredbu GET unutar paketa sloja 4 (TCP port 80). Ako vaš zaštitni zid implementira karakteristike sloja 7, možete potvrditi GET naredbu. Drugi primjer je da mnogi peer-to-peer (P2P) programi za dijeljenje datoteka mogu oteti port 80. Kao rezultat toga, neovlaštena osoba može konfigurirati program da koristi port po svom izboru - najvjerovatnije port koji bi trebao ostati otvoren na firewall. Port 80 treba da se otvori ako zaposlenima kompanije treba pristup Internetu, ali da bi se razlikovao legitimni Web saobraćaj od P2P saobraćaja koji je neko usmerio na port 80, zaštitni zid mora da obezbedi kontrolu nivoa 7.

Uloga zaštitnog zida

Nakon što opišete mrežne slojeve, možete prijeći na opisivanje mehanizma komunikacije između mrežnih aplikacija putem zaštitnih zidova, obraćajući posebnu pažnju na korištene mrežne portove. U sledećem primeru, klijentski pretraživač komunicira sa Web serverom na drugoj strani zaštitnog zida, slično kao da zaposleni u kompaniji pristupa Web serveru na Internetu.

Većina Internet zaštitnih zidova radi na slojevima 3 i 4 kako bi pregledali, a zatim dozvolili ili blokirali ulazni i odlazni mrežni promet. Generalno, administrator kreira liste kontrole pristupa (ACL) koje definišu IP adrese i mrežne portove saobraćaja koji će biti blokirani ili dozvoljeni. Na primjer, da biste pristupili Webu, pokrećete pretraživač i usmjeravate ga na web stranicu. Računar pokreće odlaznu vezu slanjem niza IP paketa koji se sastoje od zaglavlja i korisnog opterećenja. Zaglavlje sadrži informacije o ruti i druge atribute paketa. Pravila zaštitnog zida se često formulišu imajući u vidu informacije o ruti i obično sadrže izvornu i odredišnu IP adresu (sloj 3) i protokol za pakete (sloj 4). Kada pretražujete Web, odredišna IP adresa pripada Web serveru, a protokol i odredišni port (podrazumevano) su TCP 80. Izvorna IP adresa je adresa računara sa kojeg korisnik surfuje Webom, a izvorna IP adresa port je obično dinamički dodijeljen broj veći od 1024. Korisne informacije su nezavisne od zaglavlja i generira ih korisnička aplikacija; u ovom slučaju, to je zahtjev Web serveru da obezbijedi web stranicu.

Firewall analizira odlazni promet i dozvoljava ga u skladu sa pravilima zaštitnog zida. Mnoge kompanije dozvoljavaju sav odlazni saobraćaj sa svoje mreže. Ovaj pristup pojednostavljuje konfiguraciju i implementaciju, ali nema kontrolu nad podacima koji napuštaju mrežu, što ugrožava sigurnost. Na primjer, trojanski konj može zaraziti računar na mreži preduzeća i poslati informacije sa tog računara na drugi računar na Internetu. Ima smisla kreirati ACL-ove za blokiranje takvih odlaznih informacija.

Za razliku od izlaznog pristupa koji koriste mnogi zaštitni zidovi, većina je konfigurirana da blokira ulazni promet. Obično zaštitni zidovi dozvoljavaju ulazni saobraćaj samo u dva slučaja. Prvi je promet koji dolazi kao odgovor na odlazni zahtjev koji je prethodno poslao korisnik. Na primjer, ako navedete adresu web stranice u pretraživaču, zaštitni zid dozvoljava HTML-u i drugim komponentama web stranice da prođu kroz mrežu. Drugi je hostovanje interne usluge na Internetu, kao što je server pošte, veb lokacija ili FTP lokacija. Hostovanje takve usluge obično se naziva prevođenje porta ili objavljivanje servera. Implementacija prevođenja portova razlikuje se od jednog dobavljača firewall-a do drugog, ali osnovni princip je isti. Administrator definiše uslugu kao što je TCP port 80 za Web server i interni server za hostovanje usluge. Ako paketi ulaze u zaštitni zid preko eksternog interfejsa koji odgovara ovoj usluzi, mehanizam za prevođenje portova ih prosleđuje na određeni računar na mreži, skriven iza zaštitnog zida. Prevođenje porta se koristi zajedno sa NAT uslugom opisanom u nastavku.

NAT Basics

NAT omogućava da više računara u kompaniji dijele mali javni IP adresni prostor. DHCP server kompanije može dodijeliti IP adresu iz jednog od blokova privatnih IP adresa koje se ne usmjeravaju na Internetu definirane u zahtjevu za komentare (RFC) # 1918. Više kompanija također može dijeliti isti privatni prostor IP adresa. Primjeri privatnih IP podmreža su 10.0.0.0/8, 172.16.0.0/12 i 192.168.0.0/16. Internet ruteri blokiraju sve pakete usmjerene na jednu od privatnih adresa. NAT je funkcija zaštitnog zida koja omogućava kompanijama koje koriste privatne IP adrese da komuniciraju sa drugim računarima na Internetu. Firewall zna kako da emituje ulazni i odlazni saobraćaj za privatne interne IP adrese tako da svaki računar može pristupiti Internetu.

Na sl. 1 prikazuje osnovni dijagram NAT veze između klijenta i web servera. U fazi 1, promet usmjeren na Internet sa računara na korporativnoj mreži ulazi u interni interfejs zaštitnog zida. Firewall prima paket i pravi unos u tabelu praćenja veze, koja upravlja prevođenjem adresa. Firewall zatim zamjenjuje privatnu izvornu adresu paketa svojom vanjskom javnom IP adresom i šalje paket na odredište na Internetu (korak 2). Odredišni računar prima paket i šalje odgovor zaštitnom zidu (korak 3). Po prijemu ovog paketa, zaštitni zid traži pošiljaoca originalnog paketa u tabeli praćenja veze, zamjenjuje odredišnu IP adresu odgovarajućom privatnom IP adresom i prosljeđuje paket izvornom računaru (korak 4). Pošto zaštitni zid šalje pakete u ime svih internih računara, on menja originalni mrežni port, a ove informacije se pohranjuju u tabeli praćenja veze zaštitnog zida. Ovo je neophodno kako bi odlazne utičnice bile jedinstvene.

Važno je razumjeti kako NAT funkcionira jer NAT mijenja IP adresu i mrežne portove prometnih paketa. Ovo razumijevanje pomaže u dijagnosticiranju grešaka. Na primjer, postaje jasno zašto isti promet može imati različite IP adrese i mrežne portove na vanjskim i internim sučeljima firewall-a.

Prvo temelj, pa struktura

Razumijevanje osnovnih principa umrežavanja sa strane aplikacije, zaštitnog zida i porta je bitno za više od samo mrežnih inženjera. Danas je računarski sistem koji nije povezan na mrežu rijedak, a čak i sistem administratorima je mnogo lakše riješiti svoje probleme razumijevanjem barem osnova korištenja mrežnih portova za komunikaciju aplikacija preko Interneta.

U drugom dijelu članka razmotrit ćemo alat za otkrivanje aplikacija na mreži analizom uključenih mrežnih portova. Za pronalaženje aplikacija koje otvaraju portove za slušanje i koje su dostupne preko mreže, računar se provjerava preko mreže (provjera portova) i lokalno (skeniranje hosta). Osim toga, gledanjem dnevnika zaštitnog zida, možete ispitati mrežni promet koji prelazi granicu mreže i pogledati različite mrežne portove koje koriste Windows i UNIX aplikacije.

Port u računarskim mrežama je krajnja tačka komunikacije u OS-u. Ovaj termin se takođe odnosi na hardverske uređaje, ali u softveru se odnosi na logičku konstrukciju koja identifikuje određenu vrstu usluge ili procesa. Port je uvijek povezan s IP adresom hosta ili tipom komunikacijskog protokola. Završava dodjelu adrese sesije. Port je identifikovan za svaki protokol i adresu pomoću 16-bitnog broja, takođe poznatog kao broj porta. Često se specifični brojevi portova koriste za identifikaciju određenih usluga. Od nekoliko hiljada navedenih, 1.024 poznata broja zaštićena su posebnim ugovorom. Oni definiraju specifične vrste usluga na hostu. Protokoli koji uglavnom koriste portove koriste se za kontrolu procesa. Primjer je TCP protokol kontrole prijenosa ili protokol korisničkih datagrama paketa internetskih protokola.

Značenje

TCP portovi nisu potrebni za direktne veze od tačke do tačke, gde računari mogu pokrenuti samo jedan po jedan program na svakom kraju. Potreba za njima pojavila se nakon što su ove mašine mogle da izvršavaju više od jednog programa u isto vreme. Na kraju su bili povezani na moderne mreže sa komutacijom paketa. U modelu arhitekture klijent-server, svi portovi, aplikacije i mrežni klijenti su povezani za pokretanje usluge. Oni pružaju usluge multipleksiranja nakon što je početna razmjena informacija povezana s brojem porta. Oslobađa se prebacivanjem svake instance zahtjeva za servisiranje na namjensku liniju. Povezivanje na određeni broj se vrši. Ovo omogućava opsluživanje dodatnih kupaca bez čekanja.

Detalji

UDP i TCP se koriste za određivanje broja odredišnog porta i izvora u njihovim zaglavljima segmenta. Broj porta je nepredpisani 16-bitni broj. Može se kretati od 0 do 65535. TCP portovi, međutim, ne mogu koristiti broj 0. Za UDP, izvorni port je opcionalan. Vrijednost jednaka nuli znači da je odsutna. Ovaj proces povezuje ulazne ili izlazne kanale koristeći transportni protokol, broj porta i IP adresu preko internet utičnice. Ovaj proces je poznat i kao povezivanje. Omogućava primanje i prijenos informacija preko mreže. Mrežni softver operativnog sistema koristi se za slanje odlaznih podataka sa svih portova aplikacije u mrežu. Takođe preusmjerava dolazne mrežne pakete odgovarajućim brojevima i IP adresama. Samo jedan proces može biti vezan za određenu IP adresu i kombinaciju porta koristeći isti transportni protokol. Greške aplikacije, koje se nazivaju i sukobi, nastaju kada više programa pokušava komunicirati sa istim brojevima porta na istoj IP adresi koristeći isti protokol.

Kako se primjenjuju

Prilično je uobičajeno da aplikacije koje implementiraju uobičajene usluge koriste posebno rezerviranu i dobro poznatu listu UDP i TCP portova za primanje zahtjeva klijentskih usluga. Ovaj proces je poznat i kao prisluškivanje. To uključuje primanje zahtjeva sa dobro poznatog porta i uspostavljanje dijaloga između klijenta i servera jedan prema drugom koristeći isti lokalni broj porta. Drugi klijenti mogu nastaviti da se povezuju. Ovo je moguće jer je TCP veza identificirana kao lanac lokalnih i udaljenih portova i adresa. Standardni UDP i TCP portovi se mogu definirati sporazumom koji nadgleda IANA ili Internet Assigned Numbers Authority. Tipično, jezgro mrežnih usluga, prvenstveno World Wide Web, koristi male brojeve portova, manje od 1024. U mnogim operativnim sistemima, aplikacije zahtijevaju posebne privilegije da se vežu za njih. Iz tog razloga, često se smatraju ključnim za rad IP mreža. S druge strane, krajnji klijent veze ima tendenciju da ih koristi više, odvojeno za kratkoročnu upotrebu. Iz tog razloga postoje takozvani efemerni portovi.

Struktura

TCP portovi su kodirani u zaglavlju paketa transportnog paketa. Oni se mogu lako interpretirati ne samo od strane računara za prijem i odašiljanje, već i od drugih komponenti mrežne infrastrukture. Posebno su zaštitni zidovi obično konfigurisani da razlikuju pakete na osnovu brojeva odredišnog porta i njihovog izvora. Klasičan primjer za to je preusmjeravanje. Pokušaji povezivanja niza portova na istom računaru poznati su i kao njihovo skeniranje. Takve procedure obično uključuju ili pokušaje zlonamjernog kvara ili činjenicu da mrežni administratori posebno traže moguće ranjivosti kako bi spriječili takve napade. Radnje koje imaju za cilj otvaranje TCP porta se snimaju i nadziru od strane računara. Ova tehnika koristi brojne redundantne veze kako bi se osigurala neprekidna komunikacija sa serverom.

Primjeri korištenja

Glavni primjer u kojem se aktivno koriste UDP i TCP portovi je sistem internetske pošte. Server se koristi za rad sa e-poštom. Generalno, trebaju mu dvije usluge. Prva usluga se koristi za transport putem e-pošte i sa drugih servera. Ovo se postiže korišćenjem jednostavnog protokola za prenos pošte (SMTP). Aplikacija SMTP usluge obično sluša TCP port 25 kako bi obrađivala dolazne zahtjeve. Druga usluga je POP ili IMAP. Potrebni su za klijentske aplikacije u e-pošti na mašinama korisnika kako bi primali e-poruke sa servera. POP servisi osluškuju brojeve sa TCP porta 110. Sve gore navedene usluge mogu raditi na istom host računaru. Broj porta, kada se to dogodi, razlikuje uslugu koju zahtijeva udaljeni uređaj. Ako je broj porta za slušanje servera definiran ispravno, ovaj parametar za klijenta se određuje iz dinamičkog raspona. Klijenti i server odvojeno u nekim slučajevima koriste specifične TCP portove koje dodjeljuje IANA. DHCP je dobar primjer. Ovdje klijent ionako koristi UDP 68, a server koristi UDP 67.

Upotreba u URL-ovima

Ponekad su brojevi portova jasno vidljivi na Internetu ili na drugim uniformnim lokatorima resursa kao što su URL-ovi. HTTP podrazumevano je TCP port 80, a HTTPS podrazumevani port 443. Postoje i druge varijacije. Na primjer, URL http://www.example.com:8080/path označava da se web pretraživač povezuje na 8080 umjesto na HTTP server.

Lista UDP i TCP portova

Kao što je ranije navedeno, IANA, ili InternetA potpisano tijelo za brojeve, odgovorno je za globalnu koordinaciju DNS-Root-a, IP adresiranja i drugih resursa Internet protokola. Ove procedure uključuju registraciju često korištenih portova za dobro poznate internetske usluge. Svi brojevi portova podijeljeni su u tri raspona: dobro poznati, registrirani i privatni ili dinamički. Dobro poznati portovi su oni sa brojevima od 0 do 1023. Nazivaju se i sistemskim portovima. Zahtjevi za nove vrijednosti u ovom rasponu su stroži nego za druge registracije.

Primjeri

Primjeri portova na listi poznatih portova uključuju:

  • TCP 443 port - HTTPS;
  • 21 - Protokol za prijenos datoteka;
  • 22- Secure Shell;
  • 25 - Simple Mail Transfer Protocol STMP;
  • 53 - Sistem imena domena DNS;
  • 119 - Network News Transfer Protocol ili NNTP;
  • 80 - HTTP protokol za prijenos hiperteksta;
  • 143 - Internet Message Access Protocol;
  • 123 - NTP mrežni vremenski protokol;
  • 161 je jednostavan protokol za upravljanje mrežom SNMP.

Registrovani portovi su nužno numerisani od 1024 do 49151. Autoritet za dodijeljene brojeve na Internetu održava zvaničnu listu svih poznatih i registrovanih opsega. Frekvencijski ili dinamički portovi su u rasponu od 29152 do 65535. Privremeni portovi su jedna upotreba za ovaj raspon.

Istorija stvaranja

Koncept brojeva portova razvili su rani kreatori ARPANET-a. Razvijen je kroz neformalnu saradnju između autora softvera i administratora sistema. Termin "broj porta" tada se još nije koristio. Broj udaljenog hosta bio je 40-bitni broj. Prva 32 bita ličila su na današnju IPv4 adresu. Najznačajniji su bili prvih 8 bita. Manje značajan dio broja (ovo su bitovi od 33 do 40) označava objekat koji se zove AEN. Bio je to prototip modernog broja porta. Kreiranje imenika brojeva soketa prvi put je predloženo 26. marta 1972. godine. Mrežni administratori su zatim ohrabreni da opišu svaki stalni broj u smislu mrežnih usluga i njegovih funkcija. Ovaj direktorij je naknadno objavljen u RFC 433 u zimu 1972. Sadržao je listu hostova, njihove brojeve portova i odgovarajuću funkciju koju koristi svaki čvor na mreži. Zvanični brojevi luka prvi put su dokumentovani u maju 1972. Istovremeno je predložena posebna administrativna funkcija za vođenje ovog registra. Prva lista TCP portova uključivala je 256 AEN vrijednosti, podijeljenih u sljedeće raspone:

- od 0 do 63 - standardne funkcije cijele mreže;

- od 64 do 127 - funkcije specifične za domaćin;

- od 128 do 239 - funkcije rezervirane za buduću upotrebu;

- od 240 do 255 - bilo koja eksperimentalna funkcija.

U ranim danima ARPANET-a, AEN se takođe pozivao na ime utičnice koje se koristilo sa originalnim protokolom povezivanja i komponentom programa za kontrolu mreže, ili NCP. U ovom slučaju, NCP je bio preteča modernih Internet protokola koji koriste TCP/IP portove.

Top srodni članci

Luka Protokol Opis
1 20 FTP podaci File Transfer Protocol - protokol za prijenos datoteka. Port za podatke.
2 21 FTP kontrola File Transfer Protocol - protokol za prijenos datoteka. Luka za timove.
3 22 SSH Secure Shell je "sigurna ljuska". Protokol upravljanja udaljenim operativnim sistemom.
4 23 telnet TERMINALNA MREŽA. Protokol za implementaciju tekstualnog interfejsa preko mreže.
5 25 SMTP Simple Mail Transfer Protocol je jednostavan protokol za prijenos pošte.
6 42 WINS Windows Internet Name Service. Servis za mapiranje NetBIOS imena računara na IP adrese domaćina.
7 43 Ko je "Ko je". Protokol za dobijanje registracijskih podataka o vlasnicima imena domena i IP adresa.
8 53 DNS Sistem imena domena - sistem imena domena.
9 67 DHCP Dynamic Host Configuration Protocol - protokol za dinamičku konfiguraciju hosta. Dobivanje dinamičke IP adrese.
10 69 TFTP Trivial File Transfer Protocol je jednostavan protokol za prijenos datoteka.
11 80 HTTP / Web HyperText Transfer Protocol - Protokol za prijenos hiperteksta.
12 110 POP3 Post Office Protocol Version 3 - protokol za prijem e-pošte, verzija 3.
13 115 SFTP SSH protokol za prijenos datoteka. Protokol za siguran prijenos podataka.
14 123 NTP Mrežni protokol vremena. Protokol za sinhronizaciju unutrašnjeg sata računara.
15 137 NetBIOS Mrežni osnovni ulazno/izlazni sistem. Protokol za pružanje mrežnih ulaznih/izlaznih operacija. Usluga imena.
16 138 NetBIOS Mrežni osnovni ulazno/izlazni sistem. Protokol za pružanje mrežnih ulaznih/izlaznih operacija. Usluga veze.
17 139 NetBIOS Mrežni osnovni ulazno/izlazni sistem. Protokol za pružanje mrežnih ulaznih/izlaznih operacija. Usluga sesije.
18 143 IMAP Internet Message Access Protocol. Protokol sloja aplikacije za pristup e-pošti.
19 161 SNMP Simple Network Management Protocol je jednostavan protokol za upravljanje mrežom. Upravljanje uređajima.
20 179 BGP Border Gateway Protocol Protokol dinamičkog usmjeravanja.
21 443 HTTPS HyperText Transfer Protocol Secure) je HTTP protokol koji podržava enkripciju.
22 445 SMB Server Message Block. Protokol za daljinski pristup datotekama, štampačima i mrežnim resursima.
23 514 Syslog Sistemski dnevnik. Protokol za slanje i registraciju poruka o tekućim sistemskim događajima.
24 515 LPD Line Printer Daemon. Protokol daljinskog štampanja na štampaču.
25 993 IMAP SSL IMAP protokol koji podržava SSL enkripciju.
26 995 POP3 SSL POP3 protokol koji podržava SSL enkripciju.
27 1080 ČARAPE SOCKet Secure. Protokol za dobijanje sigurnog anonimnog pristupa.
28 1194 OpenVPN Implementacija tehnologije virtuelne privatne mreže (VPN) otvorenog koda.
29 1433 MSSQL Microsoft SQL Server je sistem za upravljanje bazom podataka. Bazni pristupni port.
30 1702 L2TP (IPsec) Protokol za podršku virtuelne privatne mreže. Kao i set protokola za osiguranje zaštite podataka.
31 1723 PPTP Protokol tunela za sigurnu vezu sa serverom od tačke do tačke.
32 3128 Proxy Trenutno, port često koriste proxy serveri.
33 3268 LDAP Lightweight Directory Access Protocol - lagani protokol pristupa direktoriju (usluga imenika).
34 3306 MySQL Pristup MySQL bazama podataka.
35 3389 RDP Protokol udaljene radne površine - Protokol udaljene radne površine za Windows.
36 5432 PostgreSQL Pristup PostgreSQL bazama podataka.
37 5060 SIP Protokol za uspostavljanje sesije i prijenos multimedijalnih sadržaja.
38 5900 VNC Virtual Network Computing je sistem za daljinski pristup radnoj površini računara.
39 5938 TeamViewer TeamViewer je sistem za daljinsko upravljanje računarom i razmjenu podataka.
40 8080 HTTP / Web Alternativni port za HTTP protokol. Ponekad ga koriste proxy serveri.
41 10000 NDMP Popularni port: Webmin, SIP Voice, VPN IPSec preko TCP-a.
42 20000 DNP