TCP-poorten die u moet kennen. Hoe verschilt TCP in eenvoudige bewoordingen van UDP?

Een poort in computernetwerken is het eindpunt van communicatie in het besturingssysteem. Deze term is ook van toepassing op hardwareapparaten, maar verwijst bij software naar een logische constructie die een specifiek type dienst of proces identificeert. Een poort is altijd gekoppeld aan het IP-adres of het communicatieprotocoltype van de host. Het voltooit de toewijzing van het sessieadres. Voor elk protocol en adres wordt een poort geïdentificeerd met behulp van een 16-bits nummer, ook wel poortnummer genoemd. Vaak worden specifieke poortnummers gebruikt om specifieke diensten te identificeren. Van de enkele duizenden genoemde nummers zijn 1.024 bekende nummers beschermd op grond van een speciale overeenkomst. Ze definiëren specifieke soorten services op de host. Protocollen die voornamelijk poorten gebruiken, worden gebruikt om processen te besturen. Een voorbeeld is het Transmission Control Protocol (TCP) of User Datagram Protocol uit de internetprotocolsuite.

Betekenis

TCP-poorten zijn niet nodig via directe point-to-point-verbindingen waarbij de computers aan elk uiteinde slechts één programma tegelijk kunnen uitvoeren. De behoefte daaraan ontstond nadat deze machines in staat bleken meer dan één programma tegelijk uit te voeren. Ze bevonden zich verbonden met moderne pakketgeschakelde netwerken. In het client-server-architectuurmodel zijn poorten, applicaties en netwerkclients verbonden om de service te initiëren. Ze bieden multiplexdiensten nadat de eerste informatie-uitwisseling is gekoppeld aan een poortnummer. Het wordt vrijgegeven door elk exemplaar van verzoekafhandeling om te schakelen naar een speciale lijn. Er wordt verbinding gemaakt met een specifiek nummer. Hierdoor kunnen extra klanten zonder wachttijd worden bediend.

Details

De UDP- en TCP-protocollen voor gegevensoverdracht worden gebruikt om het bestemmings- en bronpoortnummer in hun segmentheaders aan te geven. Het poortnummer is een niet-ondertekend 16-bits nummer. Dit kan variëren van 0 tot 65535. TCP-poorten kunnen echter niet het getal 0 gebruiken. Voor UDP is de bronpoort niet vereist. Een waarde gelijk aan nul betekent de afwezigheid ervan. Dit proces verbindt invoer- en uitvoerkanalen met behulp van een transportprotocol, poortnummer en IP-adres via een internetaansluiting. Dit proces wordt ook wel binding genoemd. Het maakt het mogelijk om informatie via het netwerk te ontvangen en te verzenden. De netwerksoftware van het besturingssysteem wordt gebruikt om uitgaande gegevens van alle applicatiepoorten naar het netwerk te verzenden. Het stuurt ook binnenkomende netwerkpakketten door door het nummer en het IP-adres te matchen. Er kan slechts één proces aan een specifiek IP-adres en poortcombinatie worden gekoppeld met behulp van hetzelfde transportprotocol. Applicatiecrashes, ook wel conflicten genoemd, treden op wanneer meerdere programma's proberen te communiceren met dezelfde poortnummers op hetzelfde IP-adres en hetzelfde protocol.

Hoe worden ze gebruikt?

Applicaties die gedeelde services implementeren, maken vaak gebruik van een speciaal gereserveerde en bekende lijst met UDP- en TCP-poorten om clientserviceverzoeken te accepteren. Dit proces wordt ook wel luisteren genoemd. Het gaat om het ontvangen van een verzoek van een bekende poort en het tot stand brengen van een back-to-back-gesprek tussen de client en de server met behulp van hetzelfde lokale poortnummer. Andere clients kunnen verbinding blijven maken. Dit is mogelijk omdat een TCP-verbinding wordt geïdentificeerd als een keten die bestaat uit lokale en externe poorten en adressen. Standaard UDP- en TCP-poorten kunnen in overleg worden gedefinieerd onder controle van IANA of de Internet Assigned Numbers Authority. Normaal gesproken gebruiken de kernnetwerkdiensten, met name het World Wide Web, kleine poortnummers, minder dan 1024. Op veel besturingssystemen hebben applicaties speciale privileges nodig om eraan te kunnen binden. Om deze reden worden ze vaak als cruciaal beschouwd voor de werking van IP-netwerken. De eindklant van de verbinding daarentegen heeft de neiging om een ​​groter aantal daarvan te gebruiken, bestemd voor gebruik op korte termijn. Om deze reden bestaan ​​er zogenaamde kortstondige poorten.

Structuur

TCP-poorten worden gecodeerd in de pakketheader van het transportpakket. Ze kunnen gemakkelijk worden geïnterpreteerd, niet alleen door de ontvangende en verzendende pc's, maar ook door andere componenten van de netwerkinfrastructuur. Met name firewalls zijn doorgaans geconfigureerd om onderscheid te maken tussen pakketten op basis van bestemmingspoortnummers en hun bron. Een klassiek voorbeeld hiervan is omleiding. Pogingen om opeenvolgend verbinding te maken met een reeks poorten op dezelfde computer wordt ook wel poortscannen genoemd. Dergelijke procedures worden meestal geassocieerd met kwaadaardige pogingen tot falen of met het feit dat netwerkbeheerders specifiek op zoek zijn naar mogelijke kwetsbaarheden om dergelijke aanvallen te voorkomen. Acties gericht op het openen van een TCP-poort worden geregistreerd en bestuurd met behulp van computers. Deze techniek maakt gebruik van een aantal redundante verbindingen om een ​​ononderbroken communicatie met de server te garanderen.

Voorbeelden van gebruik

Het belangrijkste voorbeeld waarin UDP- en TCP-poorten actief worden gebruikt, is het internetmailsysteem. De server wordt gebruikt om met e-mail te werken. Over het algemeen heeft het twee diensten nodig. De eerste dienst wordt gebruikt voor transport per e-mail en vanaf andere servers. Dit wordt bereikt met behulp van Simple Mail Transfer Protocol (SMTP). De SMTP-servicetoepassing luistert doorgaans op TCP-poortnummer 25 om binnenkomende verzoeken te verwerken. Een andere dienst is POP of IMAP. Ze zijn vereist voor e-mailclienttoepassingen op de machines van gebruikers om e-mailberichten van de server te ontvangen. POP-services luisteren naar nummers op TCP-poort 110. Alle bovenstaande services kunnen op dezelfde hostcomputer worden uitgevoerd. Wanneer dit gebeurt, onderscheidt het poortnummer de dienst die door het externe apparaat wordt aangevraagd. Als het luisterpoortnummer van de server correct is bepaald, wordt deze parameter voor de client bepaald op basis van het dynamische bereik. Clients en server afzonderlijk gebruiken in sommige gevallen specifieke TCP-poorten die in IANA zijn toegewezen. Een goed voorbeeld is DHCP. Hier gebruikt de client in ieder geval UDP 68, en de server UDP 67.

Gebruik in URL's

Soms zijn poortnummers duidelijk zichtbaar op internet of andere uniforme bronzoekers, zoals URL's. HTTP gebruikt standaard TCP-poort 80 en HTTPS gebruikt poort 443. Er zijn ook andere varianten. De URL http://www.example.com:8080/path geeft bijvoorbeeld aan dat de webbrowser verbinding maakt met de 8080 in plaats van met een HTTP-server.

Lijst met UDP- en TCP-poorten

Zoals eerder opgemerkt is de IANA, of door InternetA aangewezen Numbers Authority, verantwoordelijk voor de mondiale coördinatie van DNS-Root, IP-adressering en andere Internet Protocol-bronnen. Deze procedures omvatten het registreren van veelgebruikte poorten voor bekende internetdiensten. Alle poortnummers zijn onderverdeeld in drie bereiken: bekend, geregistreerd en privé of dynamisch. Bekende poorten zijn poorten met nummers van 0 tot en met 1023. Ze worden ook wel systeempoorten genoemd. De eisen voor nieuwe waarden in dit bereik zijn strenger dan voor andere registraties.

Voorbeelden

Voorbeelden van havens op de bekende lijst zijn onder meer:

  • TCP-poort 443 – HTTPS;
  • 21 – Protocol voor bestandsoverdracht;
  • 22- Veilige schaal;
  • 25 – eenvoudig mailoverdrachtprotocol STMP;
  • 53 – domeinnaamsysteem DNS;
  • 119 – Network News Transfer Protocol of NNTP;
  • 80 – Hypertext-overdrachtsprotocol HTTP;
  • 143 – Protocol voor toegang tot internetberichten;
  • 123 – NTP-netwerktijdprotocol;
  • 161 - eenvoudig netwerkbeheerprotocol SNMP.

Geregistreerde poorten moeten nummers hebben van 1024 tot 49151. De Internet Assigned Numbers Authority houdt een officiële lijst bij van alle bekende en geregistreerde bereiken. Frequentie- of dynamische poorten variëren van 29152 tot 65535. Een gebruik van dit bereik is tijdelijke poorten.

Geschiedenis van de schepping

Het concept van poortnummers is ontwikkeld door de vroege makers van ARPANET. Het is ontwikkeld via informele samenwerking tussen softwareauteurs en systeembeheerders. De term ‘poortnummer’ werd toen nog niet gebruikt. De nummerreeks van de externe host was een nummer van 40 bits. De eerste 32 bits leken op het huidige IPv4-adres. De belangrijkste waren de eerste 8 bits. Het minder significante deel van het getal (dit zijn de bits 33 tot en met 40) duidde een object aan met de naam AEN. Het was een prototype van het moderne poortnummer. De oprichting van een socketnummerlijst werd voor het eerst voorgesteld op 26 maart 1972. Netwerkbeheerders moesten vervolgens elk vast nummer beschrijven in termen van netwerkdiensten en de functies ervan. Deze catalogus werd vervolgens in de winter van 1972 gepubliceerd als RFC 433. Het bevatte een lijst met hosts, hun poortnummers en de overeenkomstige functie die in elk knooppunt op het netwerk werd gebruikt. De eerste officiële poortnummerwaarden werden in mei 1972 gedocumenteerd. Tegelijkertijd werd een speciale administratieve functie voor het bijhouden van dit register voorgesteld. De eerste lijst met TCP-poorten bevatte 256 AEN-waarden. Ze waren onderverdeeld in de volgende bereiken:

— van 0 tot 63 – standaardfuncties van het gehele netwerk;

— van 64 naar 127 – hostspecifieke functies;

— van 128 tot 239 – functies gereserveerd voor toekomstig gebruik;

— van 240 tot 255 — elke experimentele functie.

De term AEN verwees in de begindagen van het ARPANET ook naar de naam van de socket die werd gebruikt met het oorspronkelijke verbindingsprotocol en de netwerkbeheerprogrammacomponent, of NCP. In dit geval vertegenwoordigde NCP de voorloper van moderne internetprotocollen die gebruik maken van TCP/IP-poorten.

In computernetwerken is een poort het eindpunt van de communicatie in het besturingssysteem. De term wordt ook gebruikt voor hardwareapparaten, maar in software is het een logische constructie die een specifiek proces of type dienst identificeert.

Een poort is altijd gekoppeld aan een host-IP-adres en -type en voltooit zo de toewijzing van het sessieadres. Het wordt voor elk adres en protocol geïdentificeerd met behulp van een 16-bits nummer, algemeen bekend als het poortnummer. Specifieke poortnummers worden vaak gebruikt om specifieke diensten te identificeren. Van de duizenden genoemde zijn 1024 bekende poortnummers beschermd door conventie om specifieke soorten services op de host te identificeren. Protocollen die voornamelijk poorten gebruiken, worden gebruikt om processen te besturen (zoals Transmission Control Protocol (TCP) en User Datagram Protocol (UDP) uit de internetprotocolsuite).

Betekenis

TCP-poorten zijn niet nodig via directe point-to-point-verbindingen waarbij de computers aan elk uiteinde slechts één programma tegelijk kunnen uitvoeren. Ze werden noodzakelijk toen machines meer dan één programma tegelijk konden uitvoeren en verbonden werden met moderne pakketgeschakelde netwerken. In het client-server-architectuurmodel maken applicaties, poorten en netwerkclients verbinding om de service te initiëren, multiplexdiensten te leveren nadat de initiële communicatie is gekoppeld aan een bekend poortnummer, en deze wordt vrijgegeven door elk verzoekservice-exemplaar naar een speciale lijn te schakelen. Er wordt verbinding gemaakt met een specifiek nummer en hierdoor kunnen extra klanten worden bediend zonder te hoeven wachten.

Details

Protocollen voor gegevensoverdracht - Transmission Control Protocol (TCP) en User Datagram Protocol (UDP) - worden gebruikt om het bestemmingspoortnummer en de bron in hun segmentheaders aan te geven. Het poortnummer is een 16-bit geheel getal zonder teken. Het kan dus in het bereik van 0 tot 65535 liggen.

TCP-poorten kunnen echter niet het getal 0 gebruiken. De bronpoort voor UDP is optioneel en een waarde nul betekent dat deze niet aanwezig is.

Een proces communiceert zijn invoer- of uitvoerkanalen via een internetaansluiting (een soort bestandsdescriptor) met behulp van een transportprotocol, poortnummer en IP-adres. Dit proces staat bekend als binding en maakt het mogelijk gegevens via een netwerk te verzenden en ontvangen.

Het besturingssysteem is verantwoordelijk voor het verzenden van uitgaande gegevens van alle applicatiepoorten naar het netwerk, evenals voor het doorsturen van inkomende netwerkpakketten (door het IP-adres en het nummer in kaart te brengen). Er kan slechts één proces aan een specifiek IP-adres en poortcombinatie worden gekoppeld met behulp van hetzelfde transportprotocol. Veelvoorkomende applicatiecrashes, ook wel poortconflicten genoemd, treden op wanneer meerdere programma's proberen te communiceren met dezelfde poortnummers op hetzelfde IP-adres en hetzelfde protocol.

Hoe worden ze gebruikt?

Applicaties die gedeelde services implementeren, gebruiken vaak een speciaal gereserveerde en bekende lijst met TCP- en UDP-poorten om serviceverzoeken van clients te accepteren. Dit proces staat bekend als luisteren en omvat het ontvangen van een verzoek van een bekende poort en het tot stand brengen van een één-op-één gesprek tussen de server en de client met hetzelfde lokale poortnummer. Andere clients kunnen verbinding blijven maken - dit is mogelijk omdat de TCP-verbinding wordt geïdentificeerd als een keten bestaande uit lokale en externe adressen en poorten. Standaard TCP- en UDP-poorten worden bij overeenkomst bepaald onder controle van de Internet Assigned Numbers Authority (IANA).

De kernnetwerkdiensten (met name WorldWideWeb) hebben de neiging om kleine poortnummers te gebruiken - minder dan 1024. Veel besturingssystemen vereisen speciale privileges voor applicaties om eraan te binden, omdat ze vaak als cruciaal worden beschouwd voor het functioneren van IP-netwerken. Aan de andere kant gebruikt de eindklant van de verbinding er meestal een groot aantal, toegewezen voor gebruik op korte termijn. Daarom zijn er zogenaamde kortstondige poorten.

Structuur

TCP-poorten zijn gecodeerd in de pakketheader van het transportprotocol en kunnen gemakkelijk worden geïnterpreteerd, niet alleen door de verzendende en ontvangende computers, maar ook door andere componenten van de netwerkinfrastructuur. In het bijzonder zijn firewalls doorgaans geconfigureerd om pakketten te onderscheiden op basis van hun bron- of bestemmingspoortnummers. Redirection is hiervan een klassiek voorbeeld.

De gewoonte om op één computer achtereenvolgens verbinding te maken met een reeks poorten, wordt poortscannen genoemd. Dit komt meestal door kwaadwillige verstoringspogingen of door netwerkbeheerders die op zoek zijn naar mogelijke kwetsbaarheden om dergelijke aanvallen te helpen voorkomen.

Activiteiten die zich richten op hoe vaak computers worden gemonitord en vastgelegd. Deze techniek maakt gebruik van een aantal reserveverbindingen om een ​​ononderbroken verbinding met de server te garanderen.

Voorbeelden van gebruik

Het belangrijkste voorbeeld waarbij actief gebruik wordt gemaakt van TCP/UDP-poorten is het internetmailsysteem. De server wordt gebruikt om met e-mail te werken (verzenden en ontvangen) en heeft over het algemeen twee services nodig. De eerste dienst wordt gebruikt voor transport via e-mail en andere servers. Dit wordt bereikt door gebruik te maken van de SMTP-servicetoepassing. Normaal gesproken luistert de SMTP-servicetoepassing naar TCP-poortnummer 25 met het doel binnenkomende verzoeken te verwerken. Een andere dienst is POP (Post Office Protocol) of IMAP (of Internet Message Access Protocol), die vereist is voor e-mailclienttoepassingen op de machines van gebruikers om e-mailberichten van de server te ontvangen. POP-services luisteren naar nummers op TCP-poort 110. De bovenstaande services kunnen beide op dezelfde hostcomputer worden uitgevoerd. Wanneer dit gebeurt, onderscheidt het poortnummer de dienst die door het externe apparaat wordt aangevraagd: de pc van de gebruiker of een andere mailserver.

Hoewel het luisterpoortnummer van de server goed gedefinieerd is (IANA noemt ze bekende poorten), wordt deze clientparameter vaak geselecteerd uit een dynamisch bereik. In sommige gevallen gebruiken clients en server afzonderlijk specifieke TCP-poorten die in IANA zijn toegewezen. Een goed voorbeeld is DHCP, waarbij de client in alle gevallen UDP 68 gebruikt en de server UDP 67.

Gebruik in URL's

Poortnummers zijn soms duidelijk zichtbaar op internet of andere Uniform Resource Locators (URL's). Standaard gebruikt HTTP en HTTPS 443. Er zijn echter ook andere varianten. De URL http://www.example.com:8080/path/ geeft bijvoorbeeld aan dat de webbrowser verbinding maakt met 8080 in plaats van met de HTTP-server.

Lijst met TCP- en UDP-poorten

Zoals opgemerkt is de Internet Assigned Numbers Authority (IANA) verantwoordelijk voor de mondiale coördinatie van DNS-Root, IP-adressering en andere Internet Protocol-bronnen. Dit omvat het loggen van veelgebruikte poortnummers voor bekende internetdiensten.

Poortnummers zijn onderverdeeld in drie bereiken: bekend, geregistreerd en dynamisch of privé. Bekend (ook wel systeem genoemd) zijn de nummers genummerd van 0 tot en met 1023. De eisen voor nieuwe benoemingen in dit bereik zijn strenger dan voor andere registraties.

Bekende voorbeelden

Voorbeelden in deze lijst zijn onder meer:

  • TCP 443-poort: HTTP Secure (HTTPS).
  • 22: Veilige Shell (SSH).
  • 25: Simple Mail Transfer Protocol (SMTP).
  • 53: Domeinnaamsysteem (DNS).
  • 80: Hypertext Transfer Protocol (HTTP).
  • 119: Netwerknieuwsoverdrachtprotocol (NNTP).
  • 123: Netwerktijdprotocol (NTP)..
  • 143: Internet Message Access Protocol (IMAP)
  • 161: Eenvoudig netwerkbeheerprotocol (SNMP)1.
  • 94: Internet Relay-chat (IRC).

Geregistreerde poorten variëren van 1024 tot 49151. IANA houdt een officiële lijst bij van bekende en geregistreerde bereiken. Dynamisch of privé - 49152 tot 65535. Eén gebruik van dit bereik is voor tijdelijke poorten.

Geschiedenis van de schepping

Het concept van een poortnummer is gecreëerd door vroege ARPANET-ontwikkelaars in een informele samenwerking tussen softwareauteurs en systeembeheerders.

De term ‘poortnummer’ werd toen nog niet gebruikt. De nummerreeks voor de externe host was een 40-bits nummer. De eerste 32 bits waren vergelijkbaar met het huidige IPv4-adres, maar de eerste 8 bits waren het meest significant. Het kleinste deel van het getal (bits 33 tot 40) vertegenwoordigde een ander object genaamd AEN. Dit is het prototype van het moderne poortnummer.

Op 26 maart 1972 werd voor het eerst voorgesteld in RFC 322 de oprichting van een socketnummerlijst, waarin werd opgeroepen om elk persistent nummer te beschrijven in termen van zijn functies en netwerkdiensten. Deze map werd vervolgens in december 1972 gepubliceerd in RFC 433 en bevatte een lijst met hosts, hun poortnummers en de overeenkomstige functie die op elk knooppunt in het netwerk werd gebruikt. In mei 1972 werden voor het eerst officiële toewijzingen van poortnummers, netwerkdiensten en een speciale administratieve functie voor het bijhouden van dit register gedocumenteerd.

De eerste TCP-poortlijst had 256 AEN-waarden, die in de volgende bereiken waren onderverdeeld:

  • 0 tot 63: standaardfuncties van het gehele netwerk
  • 64 tot 127: Hostspecifieke functies
  • 128 tot 239: Gereserveerd voor toekomstig gebruik
  • 240 tot 255: elke experimentele functie.

De Telnet-dienst kreeg de eerste officiële toewijzing van de waarde 1. In de begindagen van ARPANET verwees de term AEN ook naar de naam van de socket die werd gebruikt met het oorspronkelijke verbindingsprotocol (MSP) en het netwerkcontroleprogramma (NCP). ) onderdeel. Bovendien was NCP de voorloper van moderne internetprotocollen die gebruik maakten van TCP/IP-poorten.

Het TCP/IP-protocol vormt de basis van het internet, waarmee computers informatie overal ter wereld kunnen verzenden en ontvangen, ongeacht de geografische locatie. Toegang krijgen tot een TCP/IP-computer in een ander land is net zo eenvoudig als toegang krijgen tot een computer in de kamer ernaast. De toegangsprocedure is in beide gevallen identiek, al kan het verbinden met een machine in een ander land enkele milliseconden langer duren. Als gevolg hiervan kunnen burgers van elk land gemakkelijk winkelen op Amazon.com; Door de logische nabijheid wordt de taak van informatiebeveiliging echter ingewikkelder: elke eigenaar van een computer die waar ook ter wereld met internet is verbonden, kan proberen een ongeoorloofde verbinding met een andere machine tot stand te brengen.

Het is de verantwoordelijkheid van IT-professionals om firewalls en systemen te installeren om verdacht verkeer te detecteren. Bij pakketanalyse wordt informatie opgehaald over de bron- en bestemmings-IP-adressen en de betrokken netwerkpoorten. De waarde van netwerkpoorten is niet onderdoen voor IP-adressen; dit zijn de belangrijkste criteria om nuttig verkeer te scheiden van valse en schadelijke berichten die het netwerk binnenkomen en verlaten. Het meeste internetnetwerkverkeer bestaat uit TCP- en UDP-pakketten, die informatie bevatten over de netwerkpoorten die computers gebruiken om verkeer van de ene toepassing naar de andere te routeren. Een voorwaarde voor firewall- en netwerkbeveiliging is dat de beheerder een grondig inzicht heeft in de manier waarop computers en netwerkapparaten deze poorten gebruiken.

Havens bestuderen

Kennis van de basisprincipes van de werking van netwerkpoorten zal nuttig zijn voor elke systeembeheerder. Met een basiskennis van TCP- en UDP-poorten kan een beheerder zelfstandig een defecte netwerktoepassing diagnosticeren of een computer beschermen die toegang heeft tot internet zonder een netwerkingenieur of firewallconsulent te hoeven bellen.

Het eerste deel van dit artikel (bestaande uit twee delen) beschrijft de basisconcepten die nodig zijn om netwerkpoorten te bespreken. De plaats van netwerkpoorten in het algemene netwerkmodel en de rol van netwerkpoorten en NAT (Network Address Translation) firewall in de verbindingen van bedrijfscomputers met internet worden getoond. Ten slotte zullen netwerkpunten worden aangegeven waar het handig is om netwerkverkeer op de overeenkomstige netwerkpoorten te identificeren en te filteren. Deel 2 gaat in op enkele poorten die worden gebruikt door veelgebruikte applicaties en besturingssystemen en introduceert enkele tools voor het vinden van open netwerkpoorten.

Kort overzicht van netwerkprotocollen

TCP/IP is een reeks netwerkprotocollen waarmee computers met elkaar communiceren. De TCP/IP-suite is niets meer dan fragmenten van softwarecode die in het besturingssysteem zijn geïnstalleerd en die toegang tot deze protocollen mogelijk maken. TCP/IP is een standaard, dus TCP/IP-applicaties op een Windows-machine moeten succesvol communiceren met dezelfde applicatie op een UNIX-machine. In de begindagen van netwerken, in 1983, ontwikkelden ingenieurs het zevenlaags OSI-interconnectiemodel om computernetwerkprocessen te beschrijven, van kabel tot applicatie. Het OSI-model bestaat uit fysieke lagen, datalink-, netwerk-, transport-, sessie- en applicatielagen. Beheerders die voortdurend met internet en TCP/IP werken, houden zich primair bezig met de netwerk-, transport- en applicatielagen, maar voor succesvolle diagnostiek is het noodzakelijk om andere lagen te kennen. Ondanks de hoge leeftijd van het OSI-model wordt het nog steeds door veel specialisten gebruikt. Wanneer een netwerkingenieur het bijvoorbeeld heeft over Layer 1- of Layer 2-switches, of een firewallleverancier over Layer 7-besturing, heeft hij het over de lagen die zijn gedefinieerd in het OSI-model.

Dit artikel gaat over netwerkpoorten die zich op laag 4 bevinden: transport. In de TCP/IP-suite worden deze poorten gebruikt door de TCP- en UDP-protocollen. Maar voordat we ingaan op de details van één laag, is het belangrijk om snel te kijken naar de zeven OSI-lagen en de rol die ze spelen in moderne TCP/IP-netwerken.

Lagen 1 en 2: Fysieke kabels en MAC-adressen

Laag 1, fysiek, vertegenwoordigt het daadwerkelijke medium waar het signaal doorheen gaat, zoals koperkabel, glasvezelkabel of radiosignalen (in het geval van Wi-Fi). Laag 2, datalink, beschrijft het dataformaat voor verzending op het fysieke medium. Op Laag 2 worden pakketten georganiseerd in frames en kunnen basisfuncties voor stroomcontrole en foutafhandeling worden geïmplementeerd. De IEEE 802.3-standaard, beter bekend als Ethernet, is de meest gebruikelijke Layer 2-standaard voor moderne lokale netwerken. Een typische netwerkswitch is een Layer 2-apparaat waarmee meerdere computers fysiek verbinding maken en gegevens met elkaar uitwisselen. Soms kunnen twee computers geen verbinding met elkaar maken, ook al lijken de IP-adressen correct te zijn; het probleem kan worden veroorzaakt door fouten in de ARP-cache (Address Resolution Protocol), wat wijst op een probleem op Laag 2. Bovendien kunnen sommige draadloze toegangspunten (Access) optreden. Point, AP) bieden MAC-adresfiltering, waardoor alleen netwerkadapters met een specifiek MAC-adres verbinding kunnen maken met een draadloos AP.

Lagen 3 en 4: IP-adressen en netwerkpoorten

Laag 3, netwerken, ondersteunt routing. Bij TCP/IP wordt routering geïmplementeerd in IP. Het IP-adres van het pakket behoort tot Laag 3. Netwerkrouters zijn Laag 3-apparaten die pakket-IP-adressen analyseren en de pakketten doorsturen naar een andere router of pakketten afleveren bij lokale computers. Als er een verdacht pakket op het netwerk wordt gedetecteerd, is de eerste stap het controleren van het IP-adres van het pakket om de oorsprong van het pakket te bepalen.

Samen met de netwerklaag is laag 4 (transport) een goed startpunt voor het diagnosticeren van netwerkstoringen. Op internet bevat Laag 4 de TCP- en UDP-protocollen en informatie over de netwerkpoort die een pakket aan een specifieke toepassing koppelt. De netwerkstack van een computer gebruikt een TCP- of UDP-netwerkpoortkoppeling met een applicatie om netwerkverkeer naar die applicatie te leiden. TCP-poort 80 is bijvoorbeeld gekoppeld aan een webservertoepassing. Het in kaart brengen van poorten aan applicaties staat bekend als een service.

TCP en UDP zijn verschillend. In wezen biedt TCP een betrouwbare verbinding voor communicatie tussen twee applicaties. Voordat de communicatie kan beginnen, moeten twee applicaties een verbinding tot stand brengen door het driestaps TCP-handshakeproces te voltooien. UDP is meer een ‘fire-and-forget’-aanpak. De betrouwbaarheid van de verbinding voor TCP-toepassingen wordt verzekerd door het protocol, maar de UDP-toepassing moet de betrouwbaarheid van de verbinding onafhankelijk controleren.

De netwerkpoort is een nummer tussen 1 en 65535, gespecificeerd en bekend bij beide applicaties waartussen de communicatie tot stand is gebracht. Een client stuurt bijvoorbeeld doorgaans een niet-gecodeerd verzoek naar een server op een doeladres op TCP-poort 80. Normaal gesproken verzendt een computer een DNS-verzoek naar een DNS-server op een doeladres op UDP-poort 53. De client en server hebben een bron en bestemmings-IP-adres, en de bron- en bestemmingsnetwerkpoort, die kunnen variëren. Historisch gezien worden alle poortnummers onder 1024 "bekende poortnummers" genoemd en zijn ze geregistreerd bij de Internet Assigned Numbers Authority (IANA). Op sommige besturingssystemen kunnen alleen systeemprocessen poorten in dit bereik gebruiken. Bovendien kunnen organisaties de poorten 1024 tot en met 49151 registreren bij IANA om de poort aan hun applicatie te koppelen. Deze registratie biedt een structuur die conflicten helpt voorkomen tussen toepassingen die hetzelfde poortnummer proberen te gebruiken. Over het algemeen is er echter niets dat een toepassing ervan weerhoudt een specifieke poort op te vragen, zolang deze niet door een ander actief programma wordt bezet.

Historisch gezien kon de server luisteren op poorten met een laag nummer, en kon de client een verbinding tot stand brengen op een poort met een hoog nummer (boven 1024). Een webclient kan bijvoorbeeld een verbinding openen met een webserver op doelpoort 80, maar een willekeurig geselecteerde bronpoort koppelen, zoals TCP-poort 1025. Wanneer hij op de client reageert, adresseert de webserver het pakket aan de client met broncode. poort 80 en bestemmingspoort 1025. De combinatie van een IP-adres en poort wordt een socket genoemd en moet uniek zijn op de computer. Om deze reden moet u bij het opzetten van een webserver met twee afzonderlijke websites op dezelfde computer meerdere IP-adressen gebruiken, zoals adres1:80 en adres2:80, of de webserver configureren om op meerdere netwerkpoorten te luisteren, zoals als adres1:80 en adres1:81. Bij sommige webservers kunnen meerdere websites op één poort draaien door een host-header aan te vragen, maar deze functie wordt feitelijk uitgevoerd door de webserverapplicatie op een hogere laag 7.

Toen netwerkmogelijkheden beschikbaar kwamen in besturingssystemen en applicaties, begonnen programmeurs poortnummers hoger dan 1024 te gebruiken zonder alle applicaties bij IANA te registreren. Door op internet naar een netwerkpoort te zoeken, kunt u doorgaans snel informatie vinden over toepassingen die die poort gebruiken. Of u kunt zoeken naar bekende poorten en veel sites vinden met de meest voorkomende poorten.

Bij het blokkeren van netwerktoepassingen op een computer of het oplossen van firewallfouten komt het meeste werk voort uit het classificeren en filteren van Layer 3 IP-adressen en Layer 4-protocollen en netwerkpoorten. Om snel onderscheid te maken tussen legitiem en verdacht verkeer, moet u de 20 meest leren herkennen veelgebruikte in de zakelijke TCP- en UDP-poorten.

Het leren herkennen en vertrouwd raken met netwerkpoorten gaat verder dan het toewijzen van firewallregels. Sommige Microsoft-beveiligingspatches beschrijven bijvoorbeeld hoe u NetBIOS-poorten sluit. Deze maatregel helpt de verspreiding te beperken van wormen die via kwetsbaarheden in het besturingssysteem binnendringen. Weten hoe en waar deze poorten moeten worden gesloten, kan de netwerkbeveiligingsrisico's helpen verminderen terwijl u zich voorbereidt op de implementatie van een kritieke patch.

En meteen door naar niveau 7

Tegenwoordig hoor je zelden meer over Layer 5 (sessie) en Layer 6 (presentatie), maar Layer 7 (applicatie) is een veelbesproken onderwerp onder firewallleveranciers. De nieuwste trend op het gebied van netwerkfirewalls is Layer 7-inspectie, die de technieken beschrijft die worden gebruikt om te analyseren hoe een applicatie samenwerkt met netwerkprotocollen. Door de payload van een netwerkpakket te analyseren, kan een firewall bepalen of het verkeer dat er doorheen gaat legitiem is. Een webverzoek bevat bijvoorbeeld een GET-instructie in een Layer 4-pakket (TCP-poort 80). Als uw firewall Layer 7-functionaliteit heeft, kunt u controleren of de GET-instructie correct is. Een ander voorbeeld is dat veel peer-to-peer (P2P) programma's voor het delen van bestanden poort 80 kunnen kapen. Als gevolg hiervan kan een buitenstaander het programma configureren om een ​​poort van zijn eigen keuze te gebruiken - hoogstwaarschijnlijk een poort die open moet blijven in de poort. een bepaalde firewall. Als de werknemers van een bedrijf toegang tot internet nodig hebben, moet poort 80 worden geopend, maar om legitiem webverkeer te onderscheiden van P2P-verkeer dat door iemand naar poort 80 wordt geleid, moet de firewall laag 7-controle bieden.

Rol van de firewall

Nu we de netwerklagen hebben beschreven, kunnen we verder gaan met het beschrijven van het mechanisme voor communicatie tussen netwerkapplicaties via firewalls, waarbij we speciale aandacht besteden aan de gebruikte netwerkpoorten. In het volgende voorbeeld communiceert de clientbrowser met een webserver aan de andere kant van de firewall, net zoals een bedrijfsmedewerker zou communiceren met een webserver op internet.

De meeste internetfirewalls werken op laag 3 en 4 om inkomend en uitgaand netwerkverkeer te onderzoeken en vervolgens toe te staan ​​of te blokkeren. Over het algemeen schrijft de beheerder toegangscontrolelijsten (ACL's) die de IP-adressen en netwerkpoorten definiëren van verkeer dat wordt geblokkeerd of toegestaan. Om bijvoorbeeld toegang tot het internet te krijgen, moet u een browser starten en deze naar de website verwijzen. De computer initieert een uitgaande verbinding door een reeks IP-pakketten te verzenden, bestaande uit een header en informatie over de payload. De header bevat route-informatie en andere pakketkenmerken. Firewallregels worden vaak geschreven met routeringsinformatie in gedachten en bevatten doorgaans de bron- en bestemmings-IP-adressen (laag 3) en het pakketprotocol (laag 4). Wanneer u op internet surft, behoort het doel-IP-adres toe aan de webserver en zijn het protocol en de bestemmingspoort (standaard) TCP 80. Het bron-IP-adres is het adres van de computer waarmee de gebruiker toegang heeft tot internet, en het bron-IP-adres is het adres van de computer waarmee de gebruiker toegang krijgt tot het web, en de bron poort is meestal een dynamisch toegewezen nummer, groter dan 1024. De nuttige informatie is onafhankelijk van de header en wordt gegenereerd door de gebruikersapplicatie; in dit geval is het een verzoek aan de webserver om een ​​webpagina ter beschikking te stellen.

De firewall analyseert uitgaand verkeer en laat dit toe volgens de firewallregels. Veel bedrijven laten al het uitgaande verkeer van hun netwerk toe. Deze aanpak vereenvoudigt de configuratie en implementatie, maar vermindert de veiligheid vanwege het gebrek aan controle over de gegevens die het netwerk verlaten. Een Trojaans paard kan bijvoorbeeld een computer in een bedrijfsnetwerk infecteren en informatie van die computer naar een andere computer op internet verzenden. Het is zinvol om toegangscontrolelijsten te maken om dergelijke uitgaande informatie te blokkeren.

In tegenstelling tot de uitgaande benadering van veel firewalls, zijn de meeste geconfigureerd om inkomend verkeer te blokkeren. Normaal gesproken laten firewalls inkomend verkeer slechts in twee situaties toe. De eerste is verkeer dat binnenkomt als reactie op een uitgaand verzoek dat eerder door de gebruiker is verzonden. Als u bijvoorbeeld uw browser naar het adres van een webpagina verwijst, staat de firewall toe dat HTML-code en andere componenten van de webpagina het netwerk binnenkomen. In het tweede geval wordt een interne dienst op internet gehost, zoals een mailserver, web- of FTP-site. Het hosten van een dergelijke dienst wordt gewoonlijk poortvertaling of serverpublicatie genoemd. De implementatie van poortvertaling verschilt per firewallleverancier, maar het onderliggende principe is hetzelfde. De beheerder definieert een service, zoals TCP-poort 80 voor de webserver en een back-endserver om de service te hosten. Als pakketten de firewall binnenkomen via de externe interface die overeenkomt met deze service, stuurt het poortvertaalmechanisme ze door naar een specifieke computer in het netwerk die verborgen is achter de firewall. Poortvertaling wordt gebruikt in combinatie met de hieronder beschreven NAT-service.

NAT-basisprincipes

Met NAT kunnen meerdere computers in een bedrijf een kleine openbare IP-adresruimte delen. De DHCP-server van een bedrijf kan een IP-adres toewijzen uit een van de privé, via internet niet-routeerbare IP-adresblokken die zijn gedefinieerd in Request for Comments (RFC) nr. 1918. Meerdere bedrijven kunnen ook dezelfde privé-IP-adresruimte delen. Voorbeelden van privé-IP-subnetten zijn 10.0.0.0/8, 172.16.0.0/12 en 192.168.0.0/16. Internetrouters blokkeren alle pakketten die naar een van de privéadressen zijn gericht. NAT is een firewallfunctie waarmee bedrijven die privé-IP-adressen gebruiken, kunnen communiceren met andere computers op internet. De firewall weet inkomend en uitgaand verkeer te vertalen naar privé interne IP-adressen, zodat elke computer toegang heeft tot internet.

Er zijn twee soorten computer-naar-computer gegevensuitwisseling: datathunders En sessies. Datagram is een bericht waarvoor geen ontvangstbevestiging van de ontvangende partij vereist is, en als een dergelijke bevestiging wel nodig is, moet de geadresseerde zelf een speciaal bericht sturen. Om op deze manier gegevens uit te wisselen, moeten de ontvangende en verzendende partijen zich strikt aan een bepaald protocol houden om verlies van informatie te voorkomen. Elk datagram is een onafhankelijk bericht, en als er meerdere datagrammen op het LAN aanwezig zijn, is de bezorging ervan bij de geadresseerde over het algemeen niet gegarandeerd. In dit geval maakt een datagram meestal deel uit van een bericht, en op de meeste LAN's is de transmissiesnelheid van datagrammen veel hoger dan die van berichten tijdens sessies.

IN sessie er wordt van uitgegaan dat er een logische verbinding ontstaat voor het uitwisselen van berichten tussen computers en de ontvangst van berichten gegarandeerd is. Hoewel datagrammen op elk moment tijdens een sessie kunnen worden verzonden, wordt de sessie beëindigd voordat het bericht wordt verzonden, en moet de sessie worden gesloten wanneer de gegevensuitwisseling is voltooid.

De besturingssystemen van de meeste computers ondersteunen de multiprogrammeermodus, d.w.z. meerdere programma's draaien tegelijkertijd (meerdere processen lopen parallel). Met enige mate van nauwkeurigheid kunnen we zeggen dat het proces de eindbestemming van de boodschap is. Omdat processen echter dynamisch worden gemaakt en beëindigd, beschikt de afzender zelden over voldoende informatie om het proces op een andere computer te identificeren. Daarom wordt het noodzakelijk om de bestemming van gegevens te bepalen op basis van de functies die door de processen worden uitgevoerd, zonder iets te weten over de processen die door deze functies worden geïmplementeerd.

In de praktijk wordt er van uitgegaan dat elke computer, in plaats van een proces als eindbestemming te beschouwen, een reeks bestemmingen heeft die protocolpoorten worden genoemd. Elke poort wordt geïdentificeerd door een positief geheel getal (0 tot 65535). In dit geval biedt het besturingssysteem een ​​communicatiemechanisme dat door processen wordt gebruikt om de poort aan te geven waarop ze draaien of de poort waartoe ze toegang nodig hebben. Normaal gesproken worden poorten gebufferd, en gegevens die bij een bepaalde poort aankomen voordat een proces klaar is om deze te ontvangen, gaan niet verloren: ze worden in de wachtrij geplaatst totdat het proces ze ophaalt.

Om de haventechnologie beter te begrijpen, kunt u zich voorstellen dat u naar een bank gaat om een ​​storting te doen. Om dit te doen, moet u naar een bepaald venster gaan, waar de operator de documenten invult en u een account opent. In dit voorbeeld vertegenwoordigt de bank een computer en zijn de bankoperators programma's die specifiek werk uitvoeren. Maar de vensters zijn de poorten en elk venster in de bank is vaak genummerd (1, 2,3 ...).

Hetzelfde geldt voor poorten. Om met een poort op een andere computer te kunnen communiceren, moet de afzender dus zowel het IP-adres van de ontvangende computer als het poortnummer op de computer kennen. Elk bericht bevat zowel het poortnummer van de computer waaraan het bericht is gericht, als het nummer van de bronpoort van de computer waarnaar het antwoord moet worden verzonden. Hierdoor is het mogelijk om voor elk proces de afzender te antwoorden.

TCP/IP-poorten met de nummers 0 tot en met 1023 zijn bevoorrecht en worden gebruikt door netwerkdiensten, die op hun beurt beheerdersrechten (supergebruikers) hebben. De Windows File and Folder Sharing-service gebruikt bijvoorbeeld poort 139, maar als deze niet op de computer actief is, ontvangt u een foutmelding wanneer u toegang probeert te krijgen tot deze service (dat wil zeggen, deze poort).

TCP/IP-poorten 1023 tot en met 65535 hebben geen privileges en worden door clientprogramma's gebruikt om reacties van servers te ontvangen. De webbrowser van een gebruiker gebruikt bijvoorbeeld bij toegang tot een webserver poort 44587 van zijn computer, maar heeft toegang tot poort 80 van de webserver. Na ontvangst van het verzoek stuurt de webserver een reactie naar poort 44587, die door de webbrowser wordt gebruikt.

UDP-TOEPASSINGEN

UDP ondersteunt ook Trivial File Transfer Protocol (TFTP), Simple Network Management Protocol (SNMP) en Routing Information Protocol (RIP), naast vele andere toepassingen.
TFTP (typisch bestandsoverdrachtprotocol). Het wordt voornamelijk gebruikt voor het kopiëren en installeren van een besturingssysteem op een computer vanaf een bestandsserver,

TFTP. TFTP is een kleinere toepassing dan File Transfer Protocol (FTP). Normaal gesproken wordt TFTP op netwerken gebruikt voor eenvoudige bestandsoverdracht. TFTP beschikt over een eigen mechanisme voor foutcontrole en volgnummering en daarom vereist dit protocol geen aanvullende services op de transportlaag.

SNMP (Simple Network Management Protocol) bewaakt en beheert netwerken en daaraan gekoppelde apparaten, en verzamelt informatie over de netwerkprestaties. SNMP verzendt PDU-berichten waarmee netwerkbeheersoftware apparaten op het netwerk kan controleren.

RIP (Routing Information Protocol) is een intern routeringsprotocol, wat betekent dat het binnen een organisatie wordt gebruikt, maar niet op internet.

TCP-TOEPASSINGEN

TCP ondersteunt ook FTP, Telnet en Simple Mail Transfer Protocol (SMTP), naast vele andere toepassingen.

FTP (File Transfer Protocol) is een volledig functionele toepassing die wordt gebruikt om bestanden te kopiëren met behulp van een actieve clienttoepassing op de ene computer die is gekoppeld aan een FTP-servertoepassing op een andere externe computer. Met deze applicatie kunnen bestanden worden ontvangen en verzonden.

Met Telnet kunt u terminalsessies tot stand brengen met een extern apparaat, meestal een UNIX-host, router of switch. Dit geeft de netwerkbeheerder de mogelijkheid om een ​​netwerkapparaat te beheren alsof het zich in de buurt bevindt, waarbij de seriële poort van de computer wordt gebruikt voor bediening. Het nut van Telnet is beperkt tot systemen die op tekens gebaseerde opdrachtsyntaxis gebruiken. Telnet ondersteunt geen controle over de grafische omgeving van de gebruiker.

SMTP (Simple Mail Transfer Protocol) is een protocol voor e-mailoverdracht voor internet. Het ondersteunt de overdracht van e-mailberichten tussen e-mailclients en e-mailservers.

BEKENDE HAVENS
Bekende poorten worden toegewezen door IANA en variëren van 1023 en lager. Ze worden toegewezen aan applicaties die de kern vormen van internet.

GEREGISTREERDE HAVENS
Geregistreerde poorten worden gecatalogiseerd door de IANA en variëren van 1024 tot 49151. Deze poorten worden gebruikt door gelicentieerde applicaties zoals Lotus Mail.

DYNAMISCH TOEGEWEZEN HAVENS
Dynamisch toegewezen poorten zijn genummerd van 49152 tot 65535. De nummers voor deze poorten worden dynamisch toegewezen voor de duur van een specifieke sessie.