Sommige protocollen op de transportlaag in de IP-stack, met name TCP en UDP, maken gebruik van poortnummers (ook wel logische poorten genoemd) om verschillende diensten tussen verschillende systemen en meerdere diensten op eenzelfde systeem te kunnen aanbieden.
Implementatie in de IP-stack
In de IP-stack bevinden TCP- en UDP-datagrams zich strikt genomen op de zogeheten host-to-host layer, die ruwweg correspondeert met de transport- en sessielagen (layer 4 & 5) van het OSI-model. In de IP-header van een IP-packet wordt met een 8-bits protocol identifier (tussen het TTL en het checksum-veld, 67 bits voorbij het begin van de header) aangegeven of het IP-packet een TCP- of UDP-datagram bevat (of een ander protocol zoals VINES).[1][2] Het UDP- of TCP-datagram (bij TCP spreekt men ook wel van een TCP-segment, duidend op een deel van een meerdere segmenten die de datastream vormen), beslaat de payload van het IP-packet, en hebben elk op hun beurt ook weer een header. In zowel de UDP-datagram-header als de TCP-segment-header bevatten de eerste 16 bits de source port (bronpoort), en de daaropvolgende 16 bits de destination port (bestemmingspoort). Na deze 32 bits verschillen de headers aanzienlijk van elkaar.[1][3][4]
Werking
Eén enkele computer kan meerdere sessies tegelijkertijd onderhouden met verschillende andere computers, en zelfs meerdere sessies naar één andere computer. Elke sessie wordt (boven laag 3 van het OSI-model) gekarakteriseerd door de 'protocol identifier' (UDP of TCP), het poortnummer aan de ene zijde van de sessie én het poortnummer aan de andere zijde van de sessie: de bron- en bestemmingspoorten, waarvan het perspectief afhangt van de richting van het datagram of segment. Al deze sessies worden dan via multiplexing door dezelfde netwerkaansluiting gestuurd. Het is dus ook mogelijk dat er tussen twee computers tussen dezelfde bron- en bestemmingspoorten gelijktijdig zowel een UDP- als een TCP-sessie actief is. Dit laatste is bijvoorbeeld gebruikelijk bij het DNS-protocol: queries en replies geschieden meestal via UDP-datagrams, maar indien de hoeveelheid data van de reply op de query meer dan 512 bytes zou bedragen en niet meer in de typische payload size van één UDP-datagram zou 'passen' (bijvoorbeeld – maar niet uitsluitend – bij zone transfers), stuurt de DNS-server deze data terug over een TCP-stream (de TCP-sessie), die geschikter is voor versturen van (relatief) veel data omdat in de IP-stack de TCP-session layer zich ontfermt over lost packets en packets die out of order (in de verkeerde volgorde) arriveren; dit maakt de implementatie/het programmeren van de DNS-software aanmerkelijk eenvoudiger.[5][6][7]
In de TCP- en UDP-headers is een poortnummer een 16 bit-waarde. Er zijn dus in principe 65536 mogelijke TCP- of UDP-poorten. Server of daemon software (of sub-proces daarvan) kan luisteren voor inkomende service requests van een bron (deze bron kan óók dezelfde fysieke of virtuele machine/computer zijn) op een poort die geassocieerd is met de service (netwerkdienst) die door die software geboden wordt, of anderszins bekend is bij de bron om te gebruiken als bestemmingspoort.[8] Dit betekent wachten tot het een aanvraag krijgt op die poort (of anders gezegd, op de socket die aan die poort gebonden is). Vervolgens kan het op deze aanvraag reageren, door het verzenden van een antwoord aan het programma dat de aanvraag heeft gestuurd, via de (socket gebonden aan die) bronpoort die dat programma daarvoor in gebruik heeft op de machine waar de aanvraag vandaan komt. Een webserver werkt op deze manier, met name door te luisteren op TCP-poorten 80 (HTTP) en 443 (HTTPS).
Wanneer een netwerkclient (programma) een service request initieert naar een service (port) op een andere computer of server, wordt op de clientcomputer eerst een source port (bronpoort) gealloceerd uit de daarvoor aangewezen (dynamische) reeks; de client zal – als respons verwacht wordt – op deze poort luisteren voor respons.[9][10] (Op een SNMP-trap-UDP-datagram bijvoorbeeld volgt geen inherente respons in de zin van transport- of sessielaag[11]). De service daemon die een request ontvangt, zal eventuele respons terugsturen naar het source address, gericht aan de source port zoals die in de UDP- of TCP-header naar de service daemon meegestuurd is. Die combinatie van bron- en bestemming-poortnummers (tezamen met bron- en bestemming-IP-adressen) is uniek voor elke sessie. Meerdere, gelijktijdige sessies van dezelfde client naar dezelfde service (poort) op een bepaalde server of computer zullen vanaf verschillende source ports vanaf de client komen, en kunnen zodoende van elkaar onderscheiden worden zodat de datastromen niet verward kunnen raken en/of bij de verkeerde subprocessen terechtkomen. Bij het laden van een webpagina vanaf een webserver bijvoorbeeld, zal de webclient doorgaans een aantal verschillende sessies nagenoeg tegelijk openen richting de webserver om de afzonderlijke delen van een webpagina (waarin meerdere <... src="..."> referenties kunnen zijn opgenomen, zoals voor HTML-frames en afbeeldingen) zo gelijktijdig mogelijk binnen te halen (in plaats van sequentieel).[12]. Dit is veelal efficiënter, zodat alle content van een webpagina sneller laadt en ook visueel beter lijkt te verschijnen, met alle content zoveel mogelijk ineens op de juiste plaats en in de juiste (bedoelde) afmetingen en verhoudingen. Delen van webpagina's die in achtereenvolgende sessies worden ingeladen (of achtereenvolgens in dezelfde of een enkele sessie) kunnen het effect hebben dat gedurende het verschijnen van de pagina, de opmaak en plaats van gedeelten nog verspringen, veranderen van afmeting of lettertypes of stijl.
Poorttypes
Systeempoorten (Engels: system ports): Gaande van 0 tot en met 1023, vaak "well known ports" (bekende poorten) of ook wel "privileged ports" genoemd, worden gebruikt voor fundamentele applicaties en worden toegekend door IANA.[13] Softwareprocessen (services) die deze poorten willen gebruiken om op te luisteren dienen over 'root'-, 'administrator'- of systeemprivileges te beschikken vanuit het perspectief van een multi-userbesturingssysteem.[14]
Gebruikerspoorten (Engels: user ports): Gaande van 1024 tot en met 49151, ook wel "registered ports" (geregistreerde poorten) genoemd, worden gebruikt door applicaties en worden volgens goed gebruik eveneens geregistreerd bij IANA.[13]
Dynamische poorten (Engels: dynamic ports): Gaande van 49152 tot en met 65535, worden dynamisch toegekend voor de duur van een bepaalde sessie en mogen vrij gebruikt worden.[13]
De grenzen van de benoemde poortreeksen zijn formeel door IANA gereserveerd en het gebruik ervan is volgens RFC6335 vooralsnog voorbehouden aan IANA.[13]. In de praktijk wordt lang niet altijd de "Best Current Practice" – zoals die door deze RFC wordt voorgeschreven en aangemoedigd – nageleefd.
Vaak gebruikte poorten
Hieronder volgt een selectie van vaak gebruikte poortnummers en hun service names:[15]
Onder UNIX, POSIX systemen of daarop gelijkende/daaraan conformerende systemen (zoals Cygwin) zijn doorgaans de poortnummers van officiële (door de IANA geregistreerde) services te vinden in de file /etc/services in het file system.[17][18] In hoeverre de lijst met de daarin vermelde systeempoorten compleet en/of up to date is, is veelal afhankelijk van hoe recent het betreffende (besturings)systeem is geüpdatet; updates van de meest gangbare gebruikerspoorten in deze lijst kunnen opgenomen zijn in de systeemupdates, maar het kan ook voorkomen dat gebruikerspoorten en de bijbehorende service names pas in de lijst worden bijgeschreven wanneer de applicatie of service software die gebruikmaakt van deze poorten daadwerkelijk wordt geïnstalleerd (bijvoorbeeld door middel van installatie-scripts, package managers of soms zelfs door een handmatige installatie waarbij de file ook handmatig aangepast moet worden). Dit kan per platform, distributie en/of (applicatie)software sterk verschillen, en men kan er zeker niet van uitgaan dat de services-file op zo'n systeem altijd uitputtend/compleet en recent is.
Alle regels met services en poorten waarin bijvoorbeeld het de protocolnaam http voorkomt (inclusief die waar http deel uitmaakt van de protocolnaam, of waar het genoemd is in het commentaardeel) zijn te vinden met de opdracht:
$ grep -i http /etc/services
# Updated from http://www.iana.org/assignments/port-numbers and other
# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services .
http 80/tcp www # WorldWideWeb HTTP
http 80/udp # HyperText Transfer Protocol
https 443/tcp # http protocol over TLS/SSL
https 443/udp
http-alt 8080/tcp webcache # WWW caching service
http-alt 8080/udp
Zoals bovenstaand voorbeeld laat zien, levert dit ook de comment lines in de file op waar http in genoemd is, die alleen informatief verwijzen naar websites – deze regels hebben echter geen enkele betrekking op poorten of services. Om dit te mijden (bijvoorbeeld voor gebruik in shellscripts), kan een extra regexp filter in de "zoekopdracht" worden opgenomen:
$ grep /etc/services http | grep -v ^#
Dit onderdrukt de output van alle regels die beginnen met het karakter # (de comment lines). Om de zoekopdracht strikt te beperken tot de service names die begínnen met http kan de volgende opdracht gebruikt worden:
$ grep ^http /etc/services
Om te zoeken naar alléén de exacte httpservice name regels, en die met verwante/gelijkende namen uit te sluiten, biedt de volgende opdracht uitkomst:
De quotes om de regular expression zijn hier noodzakelijk door het gebruik van de backslash, die op de command line anders een 'escape-functie' heeft (voorkomt het interpreteren van het erop volgende karakter door de shell in plaats van door het commando). In plaats van de quotes kan daarom ook een dubbele backslash (^http\\s) worden gebruikt; beide varianten geven de bedoelde regexp door aan het grep commando.[19]
Volledigheidshalve nog een voorbeeld om de (regel met de) service name te vinden bij een specifiek poortnummer, in dit voorbeeld poortnummer 80, dus het omgekeerde van de bovenstaande voorbeelden. In de regels worden de poortnummers altijd voorafgegaan door een whitespace (een 'blank character' zoals een spatie of een tab)[20], en altijd direct gevolgd door een forward slash:
$ grep '\s80/' /etc/services
Om een actueel overzicht te verkrijgen van gealloceerde en/of in gebruik zijnde poorten en hun status kan onder deze systemen gebruik gemaakt worden van de commando's (programma's) netstat[21] en (indien beschikbaar) lsof[22].
Software
Een firewall is een programma dat aanvragen die over een netwerk (bijvoorbeeld internet) binnenkomen kan filteren. Op transportlaag-niveau kan deze filtering dan gebeuren door aanvragen met bepaalde poortnummers tegen te houden. Die poorten noemt men dan gesloten.
Er bestaan programma's die scannen welke poorten er 'open staan' (op welke poorten er een service daemon actief luistert) op een machine met een bepaald IP-adres of hele IP-reeksen. Dat gebeurt soms met kwade bedoelingen uitsluitend om te zien of de betreffende computer gekraakt kan worden en dan een potentieel doelwit is (voor hackers). Het kan ook een preventieve controle zijn om te beoordelen in hoeverre een computer te kraken is. Enkele programma's om poorten mee te scannen zijn bijvoorbeeld nmap en nessus. Effectieve firewalls kunnen zulke scans detecteren en latere service requests of zelfs alle verdere packets (van de scannerbron) blokkeren en/of negeren ('droppen').
Hardware
Behalve software bestaat er ook hardware die op TCP/UDP-poort-niveau opereert en/of manipuleert. Zo bestaan er bijvoorbeeld hardwarematige (of dedicated) firewalls (onder meer van Nokia, voorzien van Checkpoint-software), maar ook vrijwel elke industriële en consumenten/SOHO-router heeft functionaliteiten die ingrijpen op poort-niveau. Dan bestaan er voorts nog apparaten met als voornaamste functionaliteit het manipuleren van netwerkverkeer op de transport- en sessielaag, de zogeheten layer-4 switches. Deze worden voornamelijk door Internet Service Providers (ISP's) of instellingen en bedrijven met eigen serverparken ingezet om de belasting (load) van (logische) netwerkdiensten – dus op grond van karakteristieken op laag 4, voornamelijk de TCP/UDP-bestemmingspoort – te verdelen over meerde fysieke systemen (of in elk geval, op laag 3 van het OSI-model te verdelen over meerdere IP-adressen, die dan in de praktijk corresponderen met evenzoveel fysieke servers). Ze worden daarom ook wel load balancers genoemd. Dit verdelen gebeurt meestal middels een round-robin-strategie, maar ook andere strategieën bestaan. Deze layer 4-switches zijn doorgaans zodanig geavanceerd dat ze kunnen detecteren wanneer een van de servers niet meer reageert of functioneert (down is), zodat inkomende service requests dan niet meer naar die server worden gestuurd. Layer 4-switches bieden zo behalve de mogelijkheid om de belasting te verdelen over meerdere machines, ook nog eens redundantie. Ze worden toegepast voor netwerkdiensten als e-mail, usenet en webhosting.
Als een computer, firewall of router Network Address Translation (NAT) toepast, gaat dit vaak hand in hand met Port Address Translation (PAT). NAT wordt vooral toegepast om met meerdere (private) computers (meestal de LAN zijde) of andere apparaten één enkel (public) IP-adres te gebruiken (meestal de WAN zijde). Wanneer twee private clients dezelfde bronpoort(en) gebruiken voor uitgaande UDP- of TCP-packets (vooral wanneer dat naar hetzelfde doeladres en dezelfde service daar), zou dat zonder PAT dataverstrengeling kunnen opleveren: de software of het apparaat dat de NAT verzorgt, kan dan van de responspackets niet terug herleiden welk packet naar welke private client doorgestuurd (geforward) moeten worden. Door het wijzigen van de bronpoort aan de public of WAN-zijde en dit bij te houden, kunnen de juiste terugkomende responspackets worden terugvertaald naar de juiste IP-adressen en poortnummers aan de private of LAN-zijde. Dit geschiedt allemaal door vervangen van de betreffende adressen in de IP-headers en poortnummers in de TCP- en UDP-headers.[23][24] NAT en PAT zijn ook essentieel voor het functioneren van bovengenoemde layer 4-switches. Bij veel routers is het eenvoudig mogelijk een overzicht op te vragen van alle recente en actieve sessies met de bijbehorende adres- en poortvertalingen.
Port Address Translation hoeft niet alleen een noodzakelijke bijkomstigheid van NAT zijn, het kan ook een doel op zichzelf zijn: bepaalde poorten aan de public/WAN-zijde kunnen voor inkomende service requests worden vertaald en doorgestuurd naar specifieke private clients en zo nodig andere poorten aldaar.
↑(en) RFC793Transmission Control Protocol, IETF (Internet Engineering Task Force)
↑(en) RFC1995Incremental Zone Transfer in DNS, IETF, (Internet Engineering Task Force)
↑(en) RFC5936DNS Zone Transfer Protocol (AXFR), IETF, (Internet Engineering Task Force)
↑(en) RFC7766DNS Transport over TCP - Implementation Requirements, IETF, (Internet Engineering Task Force)
↑Remote procedure call (RPC) en Client-To-Client Protocol (CTCP) zijn voorbeelden waarbij de met elkaar communicerende machines of software-processen op een andere manier (op een hogere laag in het OSI-model) kenbaar maken op welke poorten er geluisterd wordt, in plaats van gebruik te maken van Wellknown Services poorten of de geregistreerde gebruikerspoorten
ГородВервикнидерл. Wervik, фр. Wervicq, пикард. Wervi Вид на город с реки Лис (Лейе) Флаг[d] Герб 50°46′47″ с. ш. 3°02′24″ в. д.HGЯO Страна Бельгия Регион Фламандский регион Провинция Западная Фландрия Глава Юро Казье История и география Площадь 43,61 км² Часовой пояс UTC+1...
September kan verwijzen naar: September, de negende maand van het jaar Film September (1984), een Chinese film uit 1984 September (1987), een Amerikaanse dramafilm uit 1987 van Woody Allen September (2003), een Duitse film uit 2003 September Film, een filmdistributiemaatschappij Muziek September (Earth, Wind & Fire), een lied van Earth Wind & Fire September (zangeres), een Zweedse zangeres September (band), een Nederlandse band uit 1970/1971 September (Hurum), een gedicht van de hand ...
Horst-Herzhorn Amt in Duitsland Situering Deelstaat Sleeswijk-Holstein Kreis Steinburg Coördinaten 53°49'1NB, 9°37'1OL Algemeen Oppervlakte 174,52 km² Inwoners (31-12-2020[1]) 15.892 (91 inw./km²) Burgemeester Ernst-Wilhelm Mohrdiek (HWG) Overig Amtsgemeenten 12 Gemeentenr. 01 0 61 5134 Website www.amt-horst-herzhorn.de Locatie van Horst-Herzhorn in Steinburg Portaal Duitsland Het Amt Horst-Herzhorn is een Amt in de Duitse deelstaat Sleeswijk-Holstein. Het wordt gevo...
Este artigo carece de caixa informativa ou a usada não é a mais adequada. Este artigo não cita fontes confiáveis. Ajude a inserir referências. Conteúdo não verificável pode ser removido.—Encontre fontes: ABW • CAPES • Google (N • L • A) (Agosto de 2020) Bandeira de Lierde Lierde é um município belga da província de Flandres Oriental. O município é constituído pelas vilas de Deftinge, Hemelveerdegem, Sint-Maria-Lie...
Filipino TV series or program Maria la del BarrioTitle cardGenreDramaBased onMaría la del Barrioby Inés RodenaWritten by Dexter Hemedez Jimuel dela Cruz Jerome Co Directed by Rory B. Quintos Richard V. Somes Don Cuaresma Starring Erich Gonzales Enchong Dee Opening themePatuloy ang Pangarap by Angeline QuintoPagbigyang Muli by Erik SantosMariang Taga Barrio by ThalíaCountry of originPhilippinesOriginal languageFilipinoNo. of seasons2No. of episodes145ProductionExecutive producers Carlo...
Satrio Tjai (lahir 03 Agustus 1983) adalah salah satu mantan Managing Director Corporate Affairs Rajawali Corpora. Kehidupan Satrio Tjai bekerja di PricewaterhouseCoopers Indonesia sejak 2004. Ia bergabung dengan Grup Rajawali sejak 2009. Pendidikan Universitas Tarumanagara (2000-2004) Universitas Indonesia (2005-2006) Jabatan Assurance Assistant Manager PT PricewaterhouseCoopers Indonesia (2004-2009) KPI and Performance Improvement Manager PT Rajawali Corpora (2009-2010) Personal Assistant t...
Turkey PondsTurkey Pond in October 2019Turkey PondsShow map of New HampshireTurkey PondsShow map of the United StatesLocationMerrimack County, New HampshireCoordinates43°10′31″N 71°35′6″W / 43.17528°N 71.58500°W / 43.17528; -71.58500Primary inflowsTuree Brook; Bela Brook; Ash BrookPrimary outflowsTurkey RiverBasin countriesUnited StatesMax. length2.5 mi (4.0 km)Max. width0.5 mi (0.80 km)Surface area332 acres (134 ha)Average dep...
Marvel Comics fictional character Comics character AnnihilusAnnihilus as depicted in Annihilation #1 (October 2006). Art by Gabriele Dell'Otto.Publication informationPublisherMarvel ComicsFirst appearanceFantastic Four Annual #6 (November 1968)Created byStan LeeJack KirbyIn-story informationSpeciesArthrosianPlace of originThe planet Arthros, in Sector 17A of the Negative ZoneTeam affiliationsAnnihilation WavePartnershipsBlastaarNotable aliasesLord of the Negative Zone, the Living Death that W...
British catalogue retailer Argos LimitedFormerlyArgos Distributors Limited (1972–1999)[1]TypeSubsidiaryIndustryRetailFounded13 November 1972; 51 years ago (1972-11-13)FounderRichard TompkinsHeadquartersMilton Keynes, Buckinghamshire, EnglandNumber of locations883 (2019)[2]Area servedUnited KingdomKey peopleSimon Roberts (CEO)ProductsConsumer goodsRevenue £4.1 billion (2016)[2]Operating income £83.1 million (2016)[2]Number of employees29,76...
Strait separating the Isle of Wight from the mainland of England Solent redirects here. For other uses, see Solent (disambiguation). The SolentSatellite image showing the Solent, separating the Isle of Wight from Great BritainThe SolentThe Solent within the United KingdomLocationEnglish ChannelCoordinates50°47′12″N 1°17′42″W / 50.78667°N 1.29500°W / 50.78667; -1.29500TypeStraitMax. length20 miles (32 km)Max. width5 miles (8.0 km)Min. width1 mile (...
SNMP Название Simple Network Management Protocol Уровень (по модели OSI) Прикладной Семейство UDP Порт/ID 161/UDP,162/UDP Назначение протокола Управление сетевыми устройствами Спецификация RFC 1155, RFC 1212, RFC 1213, RFC 1157, RFC 3411 Основные реализации (клиенты) Встроен во все сетевые ОС Медиафайлы на Викисклад...
2011 song by Big Sean Dance (Ass)Single by Big Sean featuring Nicki Minajfrom the album Finally Famous ReleasedSeptember 20, 2011 (2011-09-20) (radio)October 18, 2011 (2011-10-18)(Remix)Recorded2011GenreHip hopLength3:17 (album version)3:40 (remix)LabelGOOD MusicDef JamSongwriter(s)Sean AndersonOnika MarajMarcos PalaciosErnest ClarkMarlyn BanksAlonzo MillerRick JamesProducer(s)Da InternzBig Sean singles chronology Lay It on Me (2011) Dance (Ass) (2011) Mercy ...
Protected area in Western AustraliaMirima National ParkWestern AustraliaIUCN category II (national park) Kununurra from Mirima National Park lookoutMirima National ParkNearest town or cityKununurraCoordinates15°46′26″S 128°45′49″E / 15.77389°S 128.76361°E / -15.77389; 128.76361Established1982Area20.68 km2 (8.0 sq mi)[1]Managing authoritiesDepartment of Environment and ConservationWebsiteMirima National ParkSee alsoList of protected ar...
King of Northumbria from 634 to 641/42; Christian saint OswaldA 12th-century painting of St Oswald in Durham CathedralBretwaldaReign633–642PredecessorEdwin of NorthumbriaSuccessorOswiuKing of DeiraReign633–642PredecessorOsric of DeiraSuccessorOswiuKing of BerniciaReign634–642PredecessorEanfrith of BerniciaSuccessorOswiuBornc. 604Deira, NorthumbriaDied5 August 641/42 (approximately 37 years old)SpouseKyneburga of WessexIssueŒthelwald of DeiraReligionChristianity Oswald (Old English pron...
This article is about the school in New South Wales. For the theological college in London, see Oak Hill College. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Oakhill College – news · newspapers · books · scholar · JSTOR (February 2008) (Learn how and when to remove this template message) School in Austra...
Grand Prix Eropa 1999 Lomba ke-14 dari 16 dalam Formula Satu musim 1999 Detail perlombaanTanggal 26 September 1999Nama resmi Warsteiner Grand Prix of EuropeLokasi NürburgringNürburg, JermanSirkuit Fasilitas balapan permanenPanjang sirkuit 4.556 km (2.831 mi)Jarak tempuh 66 putaran, 300.696 km (186.852 mi)Rencana jarak tempuh 67 putaran, 305.252 km (189.684 mi)Cuaca Basah/keringPosisi polePembalap Heinz-Harald Frentzen Jordan-Mugen-HondaWaktu 1:19.910Putaran tercepatPembalap Mika Häkkinen M...
Популярный плакат 1930-х годов, изображающий Ганди, вращающего прялку, с подписью «Сосредоточьтесь на прялке и Свадеши». Движение свадеши (бенг. স্বদেশী, хинди स्वदेशी) — одна из форм индийского национально-освободительного движения, подразумевавшая достижен...