Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Server mit mehreren Nezwerkkarten: Verbindung wählen??? (https://www.delphipraxis.net/141463-server-mit-mehreren-nezwerkkarten-verbindung-waehlen.html)

romber 9. Okt 2009 12:45


Server mit mehreren Nezwerkkarten: Verbindung wählen???
 
Ein Server verfügt über zwei Netzwerkadapter. Sagen wir, ich möchte mit IdHTTP auf eine Webseite zugreifen. Kann irgendwie bestimmen, welcher der beiden Adapter benutzt werden soll?

mkinzler 9. Okt 2009 12:56

Re: Server mit mehreren Nezwerkkarten: Verbindung wählen???
 
Es wird der Standard-Gateway verwendet

MaBuSE 9. Okt 2009 13:06

Re: Server mit mehreren Nezwerkkarten: Verbindung wählen???
 
Zitat:

Zitat von mkinzler
Es wird der Standard-Gateway verwendet

Jein ;-)

ruf mal in der Shell folgenden Befehl auf:

Code:
route PRINT
Hier kannst Du sehen welche Adresse auf welche Netzwerkkarte gerouted wird.

Mit route bekommst Du einen Hilfetext angezeigt. Dort steht wie Du das Routing ändern kannst.

Code:
C:\>route

Manipuliert die Netzwerkroutingtabellen.

ROUTE [-f] [-p] [Befehl [Ziel]
                [MASK Netzmaske] [Gateway] [METRIC Anzahl] [IF Schnittstelle]

  -f           Löscht alle Gatewayeinträge in Routingtabellen.
                Wird der Parameter mit einem der Befehle verwendet, werden
                die Tabellen vor der Befehlsausführung gelöscht.
  -p           Wird der Parameter mit dem "ADD"-Befehl verwendet, wird
                eine Route unabhängig von Neustarts des Systems verwendet.
                Standardmäßig ist diese Funktion deaktiviert, wenn das
                System neu gestartet wird. Dies wird ignoriert für alle
                anderen Befehle, die beständige Routen beeinflussen.
                Diese Funktion wird von Windows 95 nicht unterstützt.
  Befehl       Auswahlmöglichkeiten:
                  PRINT    Druckt eine Route
                  ADD      Fügt eine Route hinzu
                  DELETE   Löscht eine Route
                  CHANGE   Ändert eine bestehende Route
  Ziel         Gibt den Host an.
  MASK         Gibt an, dass der folgende Parameter ein Netzwerkwert ist.
  Netzmaske    Gibt einen Wert für eine Subnetzmaske für den Routeneintrag
                an. Ohne Angabe wird die Standardeinstellung
                255.255.255.255 verwendet.
  Gateway      Gibt ein Gateway an.
  Schnittstelle Schnittstellennummer der angegebenen Route.
  METRIC       Gibt den Anzahl/Kosten-Wert für das Ziel an.

Alle symbolischen Namen, die für das Ziel verwendet werden, werden in
der Datei der Netzwerkdatenbank NETWORKS angezeigt. Symbolische Namen
für Gateway finden Sie in der Datei der Hostnamendatenbank HOSTS.

Bei den Befehlen PRINT und DELETE können Platzhalter für Ziel und
Gateway verwendet werden, (Platzhalter werden durch "*" angegeben),
oder Sie können auf die Angabe des Gatewayparameters verzichten.

Falls Ziel "*" or "?" enthält, wird es als Shellmuster bearbeitet und es
werden nur übereinstimmende Zielrouten gedruckt. Der Platzhalter "*" wird
mit jeder Zeichenkette überprüft, und "?" wird mit jedem Zeichen überprüft.
Beispiele: 157.*.1, 157.*, 127.*, *224*.
Diagnoseanmerkung:
   Eine ungültige MASK erzeugt einen Fehler unter folgender Bedingung :
   (DEST & MASK) != DEST.
   Beispiel> route ADD 157.0.0.0 MASK 155.0.0.0 157.55.80.1
             Die Route konnte nicht hinzugefügt werden: Der angegebene
             Maskenparameter ist ungültig.
(Destination & Mask) != Destination.


Beispiele:

    > route PRINT
    > route ADD 157.0.0.0 MASK 255.0.0.0  157.55.80.1 METRIC 3 IF 2
                    Ziel^      ^Maske    ^Gateway    Metric^    ^
                                                     Schnittstelle^
      Sollte "IF" nicht angegeben sein, wird versucht die beste
      Schnittstelle für das angegebene Gateway zu finden.
    > route PRINT
    > route PRINT 157*          .... Zeigt passende Adressen mit 157* an.
    > route CHANGE 157.0.0.0 MASK 255.0.0.0 157.55.80.5 METRIC 2 IF 2

      CHANGE wird nur zum Ändern des Gateways und/oder des Metrikwert
             verwendet.
    > route PRINT
    > route DELETE 157.0.0.0
    > route PRINT

[edit]Das gilt ab WinNT, also nicht für Win9x ;-)[/edit]

romber 9. Okt 2009 14:11

Re: Server mit mehreren Nezwerkkarten: Verbindung wählen???
 
Vielen Dank für die schnelle Reaktionen!

Das mit dem "route"-Befehl habe ich auch schon gelesen. Doch mir fällt nicht ein, wie ich das in meinem Fall anwenden kann.

Ich habe einen Server mit zwei Netzwerkkarten drin mit jeweils 100 Mbit Anbindung. Dann habe ich mein Programm, dass praktisch aus zwei Teile (Threads) besteht. Das erste Teil greift sehr intensiv auf eine kostenpflichtige Web-Schnittstelle zu und nutzt einen erheblichen Teil der Bandbreite. Das zweite Teil analysiert die Daten und leitet diese an eine andere Schnittstelle weiter. Das benötigt auch jede menge Bandbreite und ich habe bemerkt, dass die sich beide Prozesse gegenseitig "bremsen". Dann habe ich mit gedacht, wenn ich ja sowieso zwei Netzwerkadapter habe, dass ich auch beide belasten kann, indem ich bestimme, welche Adapter für welche Anfragen genutzt wird. Geht das überhaupt?

Dax 9. Okt 2009 14:16

Re: Server mit mehreren Nezwerkkarten: Verbindung wählen???
 
Natürlich geht das. Indy sollte eine Möglichkeit bieten, einen Client/Server an eine bestimmte IP-Adresse zu binden - dort trägst du einfach die Adressen der entsprechenden Karten ein. Wenn es das aber nicht gibt.. Tja, dann hast du Pech gehabt :(

romber 9. Okt 2009 15:12

Re: Server mit mehreren Nezwerkkarten: Verbindung wählen???
 
Für IdHTTP habe ich keine entsprechende Eigenschaften gefunden. Weiss jemand, wie das mit Indy funktioniert?

romber 10. Okt 2009 11:44

Re: Server mit mehreren Nezwerkkarten: Verbindung wählen???
 
Keine Ideen?

Torpedo 10. Okt 2009 11:50

Re: Server mit mehreren Nezwerkkarten: Verbindung wählen???
 
Wenn du keine Lösung findest, kannst du dich vielleicht rückwärts verbinden. Auf dem Server läuft dann nicht der Client, sondern der Server und du verbindest dich dann über das Netz der richtigen Netzwerkkarte damit.

RWarnecke 10. Okt 2009 12:16

Re: Server mit mehreren Nezwerkkarten: Verbindung wählen???
 
Hallo,

Du kannst es eigentlich nur über das Routing lösen. Sind beide Adressen im Internet ? Wenn ja, da wird es schwierig. Sollte aber eine Adresse bei Dir lokal im Netzwerk sein, so könntest das Routing für eine Netzwerkkarte so einstellen, dass Sie nur lokale Adressen erreicht.

SirThornberry 10. Okt 2009 12:36

Re: Server mit mehreren Nezwerkkarten: Verbindung wählen???
 
@RWarnecke: auch wenn beide Adressen (damit meine ich nicht die IP) im Internet sind kann man das über das Routing lösen. Man braucht einfach nur mit dem Befehl route die IP Adresse auf die entsprechende Schnittstelle legen.
Wenn beide Adressen jedoch die gleiche IP haben dann sollte es unmöglich werden dies über verschiedene Schnittstellen zu routen.

@romber: Hast du nur 2 Netzwerkkarten oder hängt auch an beiden Netzwerkkarten eine eigene Internetanbindung? Denn ich bezweifel das du einen Geschwindigkeitsvorteil haben wirst wenn letzendlich beide Netzwerkkarten über die gleiche Internetverbindung gehen (außer du hast recht langsame Netzwerkkarten und die Geschwindigkeit deines Internets übersteigt die der Netzwerkkarten)


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:33 Uhr.
Seite 1 von 2  1 2      

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