![]() |
Wie funktioniert NAPT
Wie genau funktioniert das Routen über NAPT :?:
Die PCs fordern vom Router eine Verbindung zum Internet an, dieser weißt ihnen irgend einen Port auf der Seite des Internets zu. z.B. PC1 = 5000, PC2 = 5001 usw. Darüber findet dann die Kommunikation statt. Aber wie genau sieht die Verbindung zwischen den PCs und dem Router aus? Läuft das über einen bestimmten Port, mit einem speziellen Protokoll? Kennt vielleicht jemand eine gute Dokumentation darüber? Ich habe zwar bei Recherchen schon einiges über NAPT gefunden, allerdings überhaupt nichts über die Kommunikation zwischen den PCs und dem Router. PC1--------- .................| PC2--------- ---- Router ------Internet .................| PC3--------- |
Re: Wie funktioniert NPAT
NPAT? Ich kenne nur NAT oder auch NAPT, aber NPAT? Nie gehört. Kannst du mir mal bitte erklären was du meinst? Ansonsten schonmal
![]() |
Re: Wie funktioniert NAPT
NPAT -->> NAPT
Ein kleiner Buchstabendreher. |
Re: Wie funktioniert NAPT
Es gibt kein spezielles Protokoll.
Der PC sendet an den Router beispielsweise folgende Anfrage:
Code:
Der Router ändert das folgendermaßen um:
Absender-IP: 192.168.0.2
Empfänger-IP: 81.209.184.99 (delphipraxis.net) Absenderport: 12345 (beliebig) Empfängerport: 80
Code:
Bei eingehenden Paketen wird der Vorgang umgekehrt.
Absender-IP: 81.223.64.56 (meine momentane öffentliche IP)
Empfänger-IP: 81.209.184.99 (delphipraxis.net) Absenderport: 54321 (beliebig) Empfängerport: 80 Alles klar? |
Re: Wie funktioniert NAPT
Das ist mir schon klar, aber wie funktioniert das genau?
Wie kommen den die Pakete zum Router und woher weiß dieser wohin damit? Also auf dem Router läuft ein DNS-Server. Dieser prüft nach Anfrage eines PC, die IP von irgend eine Adresse. Liegt sie im lokalen Netz, schickt der PC es ganz normal los. Ansonsten wird es an den Router geschickt, der das dann mit einem veränderten Absender-Port im Header weiterschickt. Aber wie genau kommt es zum Router? Wenn im Header die Adresse des Pakets, die entgülitige Empfänger-IP stehen würde kommt es ja nie zum Router. Aber wenn die Adresse des Routers dort steht, weiß dieser doch nicht wohin damit. |
Re: Wie funktioniert NAPT
Der PC sendet, sofern ein Paket nicht an eine IP-Adresse in seinem Subnezt gehen soll (über eine binäre Verknüpfung mit seiner eigenen IP-Adresse kennt der PC seine Subnetz-Adresse, so kann er vergleichen), per MAC-Adressen-Broadcast raus und trägt seine und die Ziel-IP-Adresse in den Header des IP-Teils des Paketes ein.
Zum Router wird also einfach der MAC-Adressen-Broadcast genutzt. :) |
Re: Wie funktioniert NAPT
Zitat:
Diesen Sachverhalt habe ich mir nicht aus den Fingern gesogen, sondern gestern Abend mit Ethereal und einem Webbrowser ausprobiert. Wohlgemerkt trifft das nicht auf Netze zu, die eine andere Layer-2-Technologie verwenden. Lokale Netze, die nicht auf MAC basieren, sind aber sehr selten. Zitat:
edit: Der Unterschied zwischen IP und MAC ist dir bekannt, oder? IP setzt auf MAC auf. |
Re: Wie funktioniert NAPT
Interessant. Danke :thumb:
Werden die Pakete auf einen bestimmten Port geschickt und dann weitergeleitet, oder werden alle Ports darauf überwacht, ob ein Paket ankommt bei dem Mac und IP nicht stimmen :?: Beim weiterleiten wird für jede angeforderte Verbindung auf Seiten des Routers ein neuer Port geöffnet, oder? |
Re: Wie funktioniert NAPT
Die Pakete werden nicht an einen bestimmten Port geschickt, da die Ports erst auf einer höheren Schicht benutzt werden.
Dein PC prüft als erstes die MAC-Adresse. Stimmt diese überein oder ist die angegebene Adresse die MAC-Broadcast-Adresse, wird die IP-Adresse geprüft. Stimmt diese über ein oder ist es die IP-Broadcast-Adresse, wird das Paket an die nächste Schicht weitergegeben. Hier kommt es dann auf den Port an, wie damit weiter verfahren wird. |
Re: Wie funktioniert NAPT
Kommt man mit Delphi irgendwie an die Pakete :?:
Geht das möglicherweiße mit WinPcap? Kann man mit WinPcap auch Pakete senden, oder ist das auf einem anderen Weg möglich? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz