Απορίες γύρω από το Internet Protocol Suite (TCP/IP)

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Καλησπέρα!

Γνωρίζει κανείς ποια είναι η διαφορά όταν κάνω ping στο interface του Η/Υ (δηλ. στην τοπική διεύθυνση IP) σε σχέση με ping στην διεύθυνση loopback αυτού (127.0.0.1);

Ευχαριστώ. :)


[Σημείωση] Το εν λόγω θέμα αφορά όλη την TCP/IP σουίτα και διαχωρίστηκε από αυτό το θέμα που αφορά καθημερινά προβλήματα σε στήσιμο τοπικών δικτύων.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

Bill

Επιφανές μέλος

Ο Bill αυτή τη στιγμή δεν είναι συνδεδεμένος. Έχει γράψει 10,408 μηνύματα.
Στο loopback ουσιαστικά κάνεις εικονικό ping, μέσω software.Το δίκτυο δηλαδή είναι σαν να βρίσκεται υλοποιημένο στο pc που βρίσκεσαι.
Όταν κάνεις ping στην ip διεύθυνση, αυτό γίνεται μέσω του πραγματικού δικτύου (του ip δικτύου σου).
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

gademis

Τιμώμενο Μέλος

Ο Δημήτρης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 46 ετών και επαγγέλεται Η.Μ.Μ.Υ.. Έχει γράψει 1,634 μηνύματα.
Ο loopback adapter είναι καθαρά softwarικό πράμα, φαντάσου μια ιδεατή κάρτα δικτύου που υπάρχει πάντα και έχει μόνο αυτή τη διεύθυνση. Ακόμα και αν δεν έχεις φυσική κάρτα δικτύου θα μπορέσεις να χτυπήσεις το loopback. Όταν κάνεις ping την ip address σου τεστάρεται ουσιαστικά το interface που το έχει. Τα πακέτα βγαίνουν από την κάρτα δικτύου, πάνε στο switch το οποίο βλέπει τη διεύθυνση προορισμού και τα στέλνει πίσω. Αν υπάρχει πχ οποιοδήποτε πρόβλημα στον tranciever πχ δεν πρόκειται να μπορέσεις να χτυπήσεις την ip της κάρτας αυτής, ενώ το 127.0.0.1 παίζει πάντα.
Αυτή η διαφορά είναι και ο λόγος ύπαρξης του loopback adapter. Πες ότι έχεις μια εφαρμογή client server, έστω ένα web server που τον βλέπεις από το ίδιο το μηχάνημά σου. Αν δεν είχες loopback adapter θα έπρεπε υποχρεωτικά να τον δεις μέσα από την κάρτα δικτύου σου, έχοντας περιορισμό στο Bandwidth και ανάγκη να τη βάλεις πάνω σε switch ακόμα και αν είσαι μόνος σου για να δουλέψει. Θυμάμαι τον εαυτό μου να συρματώνει μισό ethernet cable με τα transmit και recieve βραχυκυκλωμένα για να κάνω εφαρμογή που δεν έπαιζε με το loopback (γιατί δούλευε πάνω στην κάρτα δικτύου κατ ευθείαν) να παίξει χωρίς switch.

edit: Bill δεν την είδα την απάντησή σου, δεν είδα ότι έχει αλλη σελίδα, soz
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Ευχαριστώ παιδιά! :)
Έχω κι αυτό το σχήμα, δεν ξέρω πόσο ευσταθεί...

View attachment 5250

Αν όντως ισχύει, η διαφορά είναι ότι:

  • Όταν κάνω ping κατευθείαν τον localhost, το πακέτο πηγαίνει απευθείας στο loopback driver.
  • Όταν κάνω ping στην IP του PC μου, πηγαίνει πρώτα στο ethernet driver, τσεκάρει ότι είναι unicast και μετά το στέλνει στον loopback driver κι αυτό, έτσι;
Και στις δύο περιπτώσεις πάντως δεν πρέπει να φεύγουν πακέτα απ' το PC.



Και δεύτερη ερώτηση : όταν θέλω να στείλω ένα IP πακέτο που ξεπερνά το MTU του subnet που είμαι, με set το "Don't Fragmet" flag, τότε αυτό δεν θα φύγει καν, αλλά θα απορριφθεί πριν περάσει στο δίκτυο, right?
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Τελευταία επεξεργασία:

gademis

Τιμώμενο Μέλος

Ο Δημήτρης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 46 ετών και επαγγέλεται Η.Μ.Μ.Υ.. Έχει γράψει 1,634 μηνύματα.
1)
Όχι στη 2η περίπτωση νομίζω με σοβαρή βεβαιότητα (θα κάνω και μια ερώτηση ένα κολλητό δικτυα) ότι δεν το στέλνει στο loopback αλλά το στέλνει από το ethernet, μπιστάει στο switch και σου έρχεται απάντηση. Την απόφαση από ποιο interface θα βγει την παίρνει από το routing table που υπό φυσιολογικές συνθήκες το φτιαχνουν μόνα τους τα windows αλλα μπορείς να το δείς / αλλάξεις με τις εντολές route <xxxx> (route print πχ στο δείχνει).

2) Δεν ήξερα καν οτι το subnet ηταν MTU aware. Πάντα υπέθετα οτι ή υποστήριζε ή όχι η θύρα σου jambo frames και πάντα βγαίναν αν μπορούσε να τα βγάλει.. απο εκεί και πέρα έπρεπε να κάνουν κουπί τα ενδιάμεσα στοιχεία και ο παραλήπτης. Δεν εχω ασχοληθεί ιδιαιτέρα με το θέμα πάντως οπότε δεν ξέρω τι γίνεται. Αμα βρεις άκρη ρίξε κανα Link κι εδω.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Έχω φάει το google για λινκς, αλλιώς δεν θα ρώταγα. :P
[Πέρα από αυτό για το (1)]

Αυτό που έχω δει πάντως είναι ότι και στις 3 περιπτώσεις (ping localhost, ping <OWN_IP>, IP_PACKET_SIZE > MTU) δεν "φεύγει" κάποιο πακέτο απ' το PC προς το τοπικό LAN.

Και ναι, στο route print για το <OWN_IP> χρησιμοποιεί ως gate το localhost. Άρα μάλλον γι' αυτό το λόγο στο παραπάνω σχήμα υπάρχει το "Προορισμός IP = Τοπική διεύθυνση IP?" >> "loopback driver"
Αλλά ναι, αν έχουμε και τη γνώμη ενός ειδήμονα ακόμα καλύτερα.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

gademis

Τιμώμενο Μέλος

Ο Δημήτρης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 46 ετών και επαγγέλεται Η.Μ.Μ.Υ.. Έχει γράψει 1,634 μηνύματα.
Με ένα print route και στο δικό μου μηχάνημα είδα ότι είναι βαλμένο το ip μου να μην βγαίνει απο το ethernet αλλα απο το loopback οποτε εκανα λάθος σε αυτό (πιθανών παλιότερη εκδοση των windows να μη το κανει η δεν θυμάμαι καλα τι εκανα και ηθελε switch στο ethernet για να παίξει). Το οποίο σημαίνει επίσης ότι αν το αλλάξεις αυτό και βάλεις στο local ip την κάρτα δικτύου gateway θα έχει τη συμπεριφορά που σου λέω όταν το pingαρεις (και το ίδιο μπορείς να κάνεις και αν θες να βγαίνουν απο την κάρτα τα πακέτα προς το 127). Οπότε (αν δεν λέω πάλι μπούρδες) η απάντηση είναι "εξ ορισμού δεν βγαίνει τιποτα, αλλα μπορείς να το βάλεις να κάνει ο,τι θέλεις". Τι θέλεις να κανεις; Θελεις να βγαίνει η να μη βγαίνει;
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Τι θέλεις να κανεις; Θελεις να βγαίνει η να μη βγαίνει;

Τίποτα δεν θέλω να κάνω, απλά θέλω να καταγράψω αν βγαίνει ή όχι και γιατί... στα πλαίσια ενός project.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

gademis

Τιμώμενο Μέλος

Ο Δημήτρης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 46 ετών και επαγγέλεται Η.Μ.Μ.Υ.. Έχει γράψει 1,634 μηνύματα.
Τίποτα δεν θέλω να κάνω, απλά θέλω να καταγράψω αν βγαίνει ή όχι και γιατί... στα πλαίσια ενός project.
Ωραία, γιατι μπορεί να μη βγαίνει. Πήγα να σβύσω το route και δεν εσβυνε. Μετά βρήκα ένα thread που έλεγε ότι δέ σβύνει.. Αν πράγματι ισχύει αυτό τότε δεν βγαίνει επειδή είναι hardcoded το routing table να το οδηγεί στο Loopback, αλλά δεν υπάρχει λόγος να πρέπει να γίνεται αυτό (θα σηκώσω linux virtual machine κάπου να το δοκιμάσω αν το linux το κάνει).
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Ερωτήσεων συνέχεια... :hmm:

Όταν εγώ ζητάω πρόσβαση σε υπολογιστή εντός του τοπικού δικτύου μου, δηλαδή μπορώ να επικοινωνήσω απευθείας μαζί του, τότε στέλνεται broadcast αίτημα ARP σε όλο το subnet για την MAC του, καταχωρείται η MAC του στο arp table και έπειτα πραγματοποιείται η επικοινωνία. Πχ σε ping, πρώτα στέλνεται το ARP request, παίρνω το ARP reply κι ύστερα το ICMP packet τύπου Echo request.

Όταν εγώ κάνω ping σε υπολογιστή εκτός του τοπικού δικτύου μου, βλέπω ότι στέλνεται το ICMP packet στο default gateway μου, γιατί η IP είναι εκτός δικτύου. Το router μου (εν προκειμένω είναι το default gateway) κρατάει ένα δικό του ARP table με άλλα routers του εν λόγω υποδικτύου στο οποίο είναι;
Ποιος δηλαδή στέλνει εν τέλει το ARP packet που θα πάει στον υπολογιστή που ζητάω πρόσβαση; Το default gateway του τοπικού δικτύου του θα στείλει ένα broadcast στο εν λόγω subnet;

Πώς γίνεται και δεν βρίσκω τίποτα στο google, απορώ...
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

gademis

Τιμώμενο Μέλος

Ο Δημήτρης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 46 ετών και επαγγέλεται Η.Μ.Μ.Υ.. Έχει γράψει 1,634 μηνύματα.
https://www.tildefrugal.net/tech/arp.php
https://www.juniper.net/techpubs/software/erx/erx50x/swconfig-routing-vol1/html/ip-config8.html
Όπως το έχω καταλάβει...
Έστω ένα δικτυάκι στο σπίτι μου κι ένα στο σπίτι σου, και έχουμε 2-3 υπολογιστές ο καθένας. Έχουμε από ένα router με τη lan port στο δικτυάκι του ο καθένας και τη (εστω ethernet για ευκολία) wan port στο καλώδιο που πάει απο την πολυκατοικία μου στην πολυκατοικία σου (για να επικοινωνούμε και να απλώνουμε και τα σεντόνια).
Έχουμε τρία ethernet δίκτυα, το δικό μου τοπικό και το δικό σου τοπικό, στα οποία μετέχουν εκτός από τα pcια μας και οι lan ports των routers. To 3o είναι μεταξύ των 2 wan πορτών των routers. Κάθε τέτοιο δίκτυο έχει και το δικό του subnet όσον αφορά ip διευθύνσεις.
Από εδώ
The Address Resolution Protocol is a low level request and answer protocol that is communicated on the media access level of the underlying network. For Ethernet systems, an ARP message is the payload of Ethernet packets. ARP therefore operates only across the local link that a host is connected to.

Οπότε ο δικός μου router κρατάει ένα arp table για τη Lan port όπου έχει τις διευθύνσεις του lan μου και ένα για τη wan port οπού έχει τις διευθύνσεις για το "wan" δίκτυο-απλώστρα (έχει δηλαδή μόνο τη διεύθυνσή της wan port του δικού σου router).
Pingάρω ενα pc σου εγώ. Είναι σε άλλο subnet οπότε το ICMP κινάει για το default gateway του subnet μου. Αν δεν έχω MAC για το IP της lan port του router μου θα κάνει το pc μου ARP probe φωνάζοντας σε όλο το ethernet δικτυό μου αλλά όχι παραπέρα όποιον έχει ip την ip του lan port μου να απαντήσει. Έτσι μαθαίνω το mac του lan port.

To router κανει routing σε ip επίπεδο, ξέρει βάση του ip από ποια πόρτα και σε ποια ip του ενδιάμεσου δικτύου να στείλει τα πράγματα (άστα να πάνε πως παίζει αυτό γενικά, αλλά στην περίπτωσή μας είναι απλά τα πράγματα). Πάλι όποιος router μιλήσει πρώτος θα κάνει arp-probe την wan-ip του άλλου.
Ο δικός σου router θα προωθήσει το Packet στη δική σου lan router port η οποία θα κάνει arp-probe την ip του pcιου σου πριν σου στείλει το ping.

Τα routerακια που έχουμε για dsl τώρα δεν έχουν ethernet αλλά atm wan ports οπότε εκεί υποθέτω ότι χρησιμοποιούν αντίστοιχη παραλλαγή του arp για atm. Επίσης τα περισσότερα routerακια κανουν και nat που προσθέτει τις αλλαγές στα πακέτα στην όλη διαδικασία.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Κάτι εξειδικευμένο. 8)

Κατά το three-way handshake για το establishment μιας TCP σύνδεσης, το PC 'A' προτείνει ένα MSS 'A' και το PC 'B' αντιπροτείνει ένα δικό του MSS 'B'. Ποιο τελικά συμφωνείται; Αυτό που αντιπροτείνει ο δεύτερος ή το μικρότερο εκ των δύο; :hmm:
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Γιώργος

Τιμώμενο Μέλος

Ο Γιώργος αυτή τη στιγμή δεν είναι συνδεδεμένος. Μας γράφει απο Ελβετία (Ευρώπη). Έχει γράψει 30,791 μηνύματα.
Και κάτι πιο εύκολο. :whistle:

Τι συμβαίνει όταν ένα site έχει πολλές διευθύνσεις IP; Να υποθέσω ότι το site είναι hosted σε πολλαπλούς servers;
"Τραβάνε" από την ίδια database συνήθως ή έχουν την ίδια database στον σκληρό τους; :hmm:
Όταν εγώ πληκτρολογώ πχ το www.cnn.com (που έχει 6 IPs!), έχω ίσες πιθανότητες να εξυπηρετηθώ από τον οποιονδήποτε;


Αντίστροφα, γίνεται (φαντάζομαι ναι) δύο site να έχουν την ίδια IP, έτσι; And that means ότι είναι hosted στον ίδιο server, έτσι; Πώς τότε, εφόσον με IP κινούμαι στο internet, συνδέομαι στο σωστό site και όχι στο άλλο; :hmm:
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

gademis

Τιμώμενο Μέλος

Ο Δημήτρης αυτή τη στιγμή δεν είναι συνδεδεμένος. Είναι 46 ετών και επαγγέλεται Η.Μ.Μ.Υ.. Έχει γράψει 1,634 μηνύματα.
Για τις πολλές ips: Αυτό που ξέρω πως δουλεύει είναι ότι έχεις το url πχ cnn.com και έχεις πιθανότητα να εξυπηρετηθείς από έναν οποιονδήποτε server. Αν δεν κρατάει state το μηχανημα (δηλαδή δεν "ξέρει" ποιος είσαι η έχει session) παιζει όλο το site έτσι. Αν πρέπει να ξέρει τότε η αρχική σελίδα σε κάνει redirect σε ένα αντίγραφο του site με διαφορετικό url (πχ ww1.cnn.com για τη μια, ww2.cnn.com για την αλλη) και μετά όλα τα links είναι ip specific. Σιγουρα υπάρχει και άλλος τρόπος να το κάνεις αυτό χωρίς να έχεις ww1 ww2 που δεν τον ξέρω όμως, γιατι το έβλεπα παλιά αυτο πολύ και τώρα τα περισσότερα sites δεν το έχουν.

Το 2ο, δηλαδή ένας server για 2 domains παίζει λόγω της απαιτησης του HTTP 1.1 να δίνει μαζί με κάθε HTTP request και το url. Έτσι όταν το αίτημά σου φτάσει στον apache απέναντι το κάνει parse και βλέπει ποιό url προσπαθώντας να προσπελάσεις έφτανες σε αυτόν και σου δίνει τα δεδομένα απο το αντίστοιχο domain.
 

Σημείωση: Το μήνυμα αυτό γράφτηκε 14 χρόνια πριν. Ο συντάκτης του πιθανόν να έχει αλλάξει απόψεις έκτοτε.

Χρήστες Βρείτε παρόμοια

  • Τα παρακάτω 0 μέλη και 1 επισκέπτες διαβάζουν μαζί με εσάς αυτό το θέμα:
    Tα παρακάτω 0 μέλη διάβασαν αυτό το θέμα:
  • Φορτώνει...
Top