Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Wie funktioniert NAPT (https://www.delphipraxis.net/78765-wie-funktioniert-napt.html)

Delphi Star 10. Okt 2006 21:10


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---------

Muetze1 10. Okt 2006 21:28

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 hier geschaut?

Delphi Star 10. Okt 2006 21:31

Re: Wie funktioniert NAPT
 
NPAT -->> NAPT
Ein kleiner Buchstabendreher.

Tubos 10. Okt 2006 21:48

Re: Wie funktioniert NAPT
 
Es gibt kein spezielles Protokoll.

Der PC sendet an den Router beispielsweise folgende Anfrage:
Code:
Absender-IP: 192.168.0.2
Empfänger-IP: 81.209.184.99 (delphipraxis.net)

Absenderport: 12345 (beliebig)
Empfängerport: 80
Der Router ändert das folgendermaßen um:
Code:
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
Bei eingehenden Paketen wird der Vorgang umgekehrt.
Alles klar?

Delphi Star 11. Okt 2006 13:44

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.

ste_ett 11. Okt 2006 14:19

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. :)

Tubos 11. Okt 2006 14:36

Re: Wie funktioniert NAPT
 
Zitat:

Wie kommen den die Pakete zum Router und woher weiß dieser wohin damit?
Als Empfänger-IP-Adresse wird zwar die IP der Webseite angegeben, aber als MAC-Adresse wird die MAC des Routers angegeben - und nicht die Broadcastadresse. Ich muss also ste_ett widersprechen.
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:

Wenn im Header die Adresse des Pakets, die entgülitige Empfänger-IP stehen würde kommt es ja nie zum Router.
Doch, es kommt zum Router. Schickst du das Paket über einen Switch oder einen Hub (sind beides Layer-2-Geräte!), dann werten diese nur die MAC aus. Dass die Empfänger-IP nicht der Router-IP entspricht, ist ihnen völlig egal.

edit:
Der Unterschied zwischen IP und MAC ist dir bekannt, oder?
IP setzt auf MAC auf.

Delphi Star 11. Okt 2006 15:14

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?

ste_ett 12. Okt 2006 09:10

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.

Delphi Star 12. Okt 2006 13:32

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 04:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz