# Links > Tutorials >  Mini Networking Tutorial...>>

## Mick Flemm

Το παρακάτω το έκανα post αρχικά στο PCM Forum. Δεν είναι και ότι καλύτερο και μπορεί να περιέχει ανακρίβειες/πατάτες (παρακαλώ τους σχετικότερους να διορθώσουν).

===============================================
Επειδή κατά καιρούς έχουν ακουστεί και γραφτεί διάφορα αρθρα για δίκτυα τα οποία είναι σχεδόν πάντα ημιτελή κι επιδεί μέχρι τώρα κανείς στο forum δεν έχει αναφερθεί εκτενώς στα δίκτυα, αποφάσισα να γράψω ένα μικρό tutorial για να μην σας πιάνουν αδιάβαστους, θα προσπαθήσω να το κρατίσω PSS...


Α. ΤΑ LAYERS ή αλιώς το χάος των προτοκόλων...
---------------------------------------------------------------------

Λόγω της πολυπλοκότητας των συστημάτων και των προτοκόλων, τα προτόκολα ομαδοποιήθηκαν ανάλογα με τον ρόλο που έχουν στο δίκτυο σε επίπεδα, τα λεγόμενα OSI Layers. Κάθε επίπεδο περιέχει προτόκολα που κάνουν μια συγκεκριμένη δουλειά, έτσι έχουμε:

Το πρώτο επίπεδο ή αλλιώς bit transfer Layer ή Physical Layer περιέχει προτόκολα για τον τύπο του μέσου (καλώδιο / αέρας / οπτικές ίνες), τον τύπο του σήματος (ηλεκτρικό σήμα / ηλεκτρομαγνητικό σήμα / οπτικό σήμα κλπ) και την σηματοδοσία.

Το δεύτερο ή αλιώς data link Layer χωρίζεται σε δύο υποεπίπεδα, το LLC (Logical Link Control) στο οποίο γίνεται το error coerction, ο έλεγχος της διασύνδεσης κλπ και το MAC (Medium Access Control) στο οποίο υπάρχουν προτόκολα σχετικά με κάποιες διαδικασίες πρόσβασης (ποιός μπορεί να στίλει) και κάνει ένα είδος διευθυνσιοδότησης (η περίφημη MAC Address ανοίκει εκειπέρα).

Το τρίτο επίπεδο ή αλλιώς Network Layer αναλαμβάνει την διευθυνσιοδότηση (εκεί πέρνεις IP Address ή IPX/SPX address), την παράδοση των πακέτων καθώς και τον έλεγχο της παράδοσης των πακέτων.

Το τέταρτο επίπεδο ή Transportation Layer αναλαμβάνει τον έλεγχο των δεδομένων που πάνε κι έρχονται και κάνει κι αυτό error corection (ελέγχει αν τα πακέτα παραδώθηκαν στη σωστή σειρά κι αν κάποιο πακέτο δεν παραδόθηκε το ξαναζητά).

Τέλος το πέμπτο επίπεδο ή αλλιώς Application Layer αναλαμβάνει την επξεργασία των δεδωμένων.

Το παραπάνω είναι το απλοποιημένο OSI Layer Model, μπορείτε στο internet να βρειτε περισσότερα. 

Β. ΓΝΩΣΤΑ ΠΡΟΤΟΚΟΛΑ ΚΑΙ ΣΕ ΠΟΙΟ ΕΠΙΠΕΔΟ ΑΝΟΙΚΟΥΝ
-------------------------------------------------------------------------------------------

Τώρα είμαστε σε θέση να κατατάξουμε κάποια από τα γνωστά μας προτόκολα στα επίπεδα, έτσι π.χ. έχουμε...

ΕΠΙΠΕΔΟ ΠΡΟΤΟΚΟΛΑ

1 BNC, UTP, Dark Fiber

2 ISDN, ADSL, Ethernet, FDDI

3 IP, IPX/SPX,.....

4 TCP, UDP, ICMP, IGMP,....

5 HTTP, FTP, DC, Kazaa, unreal, CS,......

Πάνω κάτω για τα 1,2,5 δεν έχω να πω και πολά, το ζουμί είναι στα επίπεδα 3,4 κι επιδεί το IPX/SPX έχει εκλήψει/δεν θα το συναντήσετε/δεν μας πολυενδιαφέρει/βαριέμαι να γράφω για το IPX/SPX, θα αναφερθώ στο πασίγνωστο IP προτόκολο (ευρέως γνωστό ως TCP/IP) και συγκεκριμένα στο IPv4.

Είπαμε οτι στο 3ο επίπεδο γίνεται η διευθυνσιοδότηση, εκεί δηλαδή πέρνουμε το περίφημο Α.Β.C.D (π.χ. το 195.242.129.105), αυτός ο αριθμός όμως δεν χαρακτιρίζει όπως πολοί νομίζετε τον υπολογιστή, αλλά τη κάρτα δικτύου/modem σας (κοινώς το network interface σας). Ας πούμε λίγα περισσότερα για αυτόν τον αριθμό και τι χαρακτηρίζει...

Γ. ΤΙ ΕΙΝΑΙ H IP ΚΑΙ ΤΑ SUBNETS
------------------------------------------------

H IP Address όπως είπαμε είναι ένας αριθμός για να σας βρίσκουν στο δίκτυο και ποιό συγκεκρημένα να βρίσκουν το network interface σας. Από μόνη της η IP δεν δίνει επαρκείς πληροφορίες για το που βρίσκεστε, απαιτείται ο συνδιασμός της με την subnet mask. Η IP γίνεται λογικό AND με την subnet mask όπως φαίνεται παρακάτω:

IP 192.168.0.20 > 11000000 01101000 00000000 00010100
AND
SM 255.255.255.0 > 11111111 11111111 11111111 00000000
-----------------------------------------------------------------------------------------------
11000000 01101000 00000000 00000000
192 168 0 0

και διεύθυνση που προκύπτει είναι η ίδια για οποιαδίποτε IP μεταξύ 192.168.0.1 και 192.168.0.254 και είναι η διεύθυνση του subnet, υπάρχει και μιά άλλη διεύθυνση που δηλώνει το τέλος του subnet (στην περίπτωσή μας η 192.168.0.255) και ονομάζεται broadcast. Είναι προφανές οτι δεν μπρείτε να δώσετε σε network interface την πρώτη και την τελευταία διεύθυνση του subnet αφού αυτές ορίζουν εύρος διευθύνσεων και όχι συγκεκριμένο interface.

Όσα περισσότερα 1 βρίσκονται στο τελευταίο κομάτι της subnet mask, τόσες λιγότερες IPs έχει το subnet, έτσι π.χ. η IP 192.168.0.1 με subnet mask 255.255.255.192 ανοίκει στο subnet 192.168.0.0 με broadcast 192.168.0.63 το οποίο περιέχει τις IPs 192.168.0.1 - 192.168.0.62 ενώ η IP 192.168.0.1 με subnet mask 255.255.255.248 ανοίκει στο subnet 192.168.0.0 με broadcast 192.168.0.7 και περιέχει τις IPs 192.168.0.1 - 192.168.0.6.

Όταν τα interfaces βρίσκονται στο ίδιο subnet τότε επικοινωνούν μεταξύ τους χωρίς πρόβλημμα με ένα hub ή switch, όταν όμως βρίσκονται σε διαφορετικά subnets τότε ένας δρομολογητής (router) που στην ουσία είναι ο τροχονόμος του δικτύου αναλαμβάνει να μεταβιβάσει το μύνημα στο interface του άλλου subnet. Ο δρομολογητής είναι ένα μηχάνημα (στην ουσία ένας υπολογιστής) με δύο ή περισσότερα interfaces που το καθένα ανοίκει σε διαφορετικό subnet και συνδέεται με άλους routers. Κάθε ένα από τα interfaces του router αποτελεί το gateway του αντίστοιχου subnet, την έξοδο δηλαδή του subnet στο υπόλοιπο δίκτυο. Αν έχετε δει στα windows στις επιλογές TCP/IP για την κάρτα δικτύου σας υπάρχει μαζί με την IP και την subnet mask κι ένα πεδίο στο οποίο βάζετε τον default gateway δηλαδή την IP του router που ανοίκει στο δικό σας subnet.

Όταν λοιπόν είστε π.χ. στο subnet 192.168.0 - 63 και θέλετε να στείλετε σε κάποιο interface που ανοίκει στο 192.168.64 - 71 τότε αρχικά ο υπολογιστής ρωτάει στο δικό σας subnet και αφού δει οτι η IP δεν ανοίκει στο subnet ρωτάει τον default gateway (αν δεν ξέρει ούτε ο default gateway ρωτάει κάποιον άλλο gateway που του έχετε βάλει και ανοίκει στο subnet σας ή τελικά βγάζει host unreachable) ο οποίος αν επικοινωνεί άμεσα με το subnet 192.168.64 - 71 στέλνει την αίτηση κατευθείαν στον παραλήπτη της. Αν ο router δεν επικοινωνεί άμεσα με το subnet τότε το πράγμα είναι ποιό περίπλοκο.

Oi routers που επικοινωνούν μεταξύ τους με δικά τους ειδικά προτόκολα (που ανοίκουν στο επίπεδο 3) κρατάνε μιά λίστα ο καθένας στην οποία καταγράφεται με ποιά subnets επικοινωνούν οι διπλανοί τους (θα καταλάβετε αργότερα πως περίπου γίνεται η δουλειά), έτσι όταν το interface που ανοίκει στο subnet 192.168.0.1 - 64 στίλει σε κάποιο interface που ανοίκει στο 192.168.65 - 71 θα ρωτήσει αρχικά τον default gateway, αυτός όμως δεν θα επικοινωνεί κατευθείαν με το subnet οπότε θα κοιτάξει τη λίστα του και θα δει οτι για να επικοινωνίσει με το subnet πρέπει να στίλει την αίτηση στον τάδε router, ο τάδε router αν δεν ξέρει θα κοιτάξει την λίστα του και θα δει οτι για να μιλίσει με το subnet πρέπει να στίλει στον παράλο router κ.ο.κ. τελικά η αίτηση φτάνει στον παραλήπτη της αφού περάσει μέσα από μιά σειρά από routers κάνει δηλαδή μιά σειρά από hops. Ο μεγιστος αριθμός hops ορίζεται από την τιμή του TTL (Time to Live) που συνήθως το default είναι 128 (δηλαδή αν μετά από 128 routers δεν έχει φτάσει στον προορισμό του, ο router που θα δει TTL = 0 δεν θα το αναμεταδώσει στον επόμενο router), αν δεν υπήρχε το TTL τότε οι αιτήσεις θα ταξιδεύαν ανάμεσα στους routers και κάποια στιγμή το δίκτυο θα κατέρεε.

Δ. H ANATOMIA EΝΟΣ SUBNET
-------------------------------------------
Ήρθε η ώρα λοιπόν να μιλήσουμε για το internet και να ξεφύγουμε από το 192.168.0.χ . Αν παρατητήσατε παραπάνω έγραψα την IP στη μορφή A.B.C.D και δεν το έκανα καταλάθος. Η IP δεν χωρίζεται τυχαία σε τμήματα, κάθε τμήμα ορίζει ένα class. Έτσι το 192.168.0.χ (0 <χ<255) είναι ένα Class-C Subnet ενώ το 192.168.ψ.x (0<χ,ψ<255) είναι ένα Class-B subnet kai το 192.z.ψ.χ (0<z,ψ,χ<255) Class-A.

Είμαστε τώρα στο internet, έχουμε IP 212.104.63.79 και θέλουμε να επικοινωνήσουμε με την IP 195.157.37.64. Όπως οι routers συνδέουν Class-C subnets μεταξύ τους, ενώνουμ και Class-C με Class-B και Class-B με Class-A οπότε η αίτησή μας θα πάει μέσα από routers και θα ακολουθήσει περίπου την εξής διαδρομή:

212.104.63.79 > 212.104.63.χ > 212.104.ψ.χ > 212..z.ψ.χ >195.z.ψ.χ > 195.157.ψ.χ >195.157.37.χ > 195.157.37.64

Την ακριβής διαδρομή που θα ακολουθήσει η αίτηση μπορείτε να την δείτε με το πρόγραμμα traceroute (tracert στα windows στο command prompt) το οποίο στην ουσία παίζει με το TTL (ξεκινάει με TTL = 1 οπότε στον πρώτο router σταματάει η αίτηση και πέρνει απάντηση, μετά βάζει TTL = 2 φτάνει στον δεύτερο router και πέρνει απάντηση κ.ο.κ. μέχρι να φτάσει στον προορισμο).

Ε. ΤΕΛΕΙΩΝΟΝΤΑΣ
--------------------------
Αυτό που βασικά με ενδιαφέρει να καταλάβετε είναι το πως δουλεύουν τα subnets και λιγα πραγματάκια για το τι εστι routing. To internet είναι πραγματικά γεμάτο από tutorials σαν και τούτο οπότε μπορείτε να ψαχτείτε όσο θέλετε (αρκει να σας πω οτι υπάρχουν εναλακτικές διαδρομές routing ανάλογα με το load των links κλπ, trafic shaping, Quality of Service κι άλλα πολά καλούδια που θα σας αρέσουν τα μάλα).

BTW 
Εκτός από το 192.168.0.χ μπορείτε να χρησημοποιήσετε και τα εξής subnets...

10.z.ψ.χ (αυτό το έχουμε εμείς στο AWMN οπότε μην συνδεθείτε με εμάς αν δεν συνενοηθούμε πρώτα)

172.16.χ.χ - 172.31.χ.χ

Οποιαδείποτε άλλη IP χρησημοποιήσετε για το LAN σαςείναι routable IP του Internet και θα φάτε πόρτα (κοινώς δεν θα μπορείτε να μπείτε Internet)

Αυτάαα.....

Νίκος "Mick Flemm" Κοσσυφίδης

----------


## jopa

Κατ' αρχήν ένα ευχαριστώ και ένα μπράβο στον Mick Flemm, για μία ακόμη προσπάθεια ξεστραβώματος όλων των "νέων" στο χώρο των δικτύων.  ::  
Θεωρώ το Tutorial thread, από τα πλέον χρήσιμα του awmn forum και έναν από τους λίγους χώρους που οι "νέοι" νιώθουν άνετα...

Να πω ότι αν και τα περισσότερα θέματα που εξηγεί το tutorial τα κατείχα σε κάποιο βαθμό, μου φάνηκε πολύ καλό ότι ασχολήθηκε λίγο και με το θέμα του routing, για το οποίο δεν έχω βρει τόσο πολλές πηγές στο Internet, όσο για τα υπόλοιπα.
Επειδή στο θέμα το routing νομίζω κολλάει ο περισσότερος κόσμος (συμπεριλαμβονμένου και του εαυτού μου) που διάβαζει μόνος του για δίκτυα, θα χαιρόμουν να δω όποιον γνωρίζει και έχει όρεξη να μας γράψει λίγα περισσότερα. Π.χ. διαβάζοντας μερικά HOWTO για routing σε Linux, δεν μπορώ να καταλάβω σε τι περισσότερο εξυπηρετεί το πακέτο Zebra στον router που προσπαθώ να στήσω εγώ (ένα windows pc μέσα στο σπίτι, ένα linux pc στην ταράτσα και από εκεί σύνδεση στο awmn) για τη δικιά μου σύνδεση στο awmn, απ' ότι για παράδειγμα αν έκανα IPMasq..

Και πάλι thanks και μπράβο στον Mick Flemm!!!  ::

----------


## Mick Flemm

Καταρχάς ευχαριστώ για τα καλά σου λόγια,

Με το IP Masq. (γνωστό και ως ΝΑΤ - Network Address Translation) στην ουσία δίνεις διέξοδο στα interfaces του εσωτερικόυ δικτύου σου (π.χ. 192.168.0.χ) αλλά αποτρέπεις την είσοδο άλλων στο εσωτερικό σου δίκτυο (γι' αυτό και το ΝΑΤ χρησημοποιείται και ως μέθοδος ασφάλησης). Κάτι τέτοιο θα αποτρέπει λοιπόν όσους είναι στο AWMN (10.χ.χ.χ) να βλέπουν τους υπολογιστές σου οπότε δεν θα μπορείς να ανοίξεις κάποιο service σε PC του εσωτερικού σου δικτύου (μπορείς βέβαια να ανοίξεις datapipe ή κάποιον proxy στο 10.χ.χ.χ interface σου και θα είσαι ΟΚ). Φυσικά και το IP Masq είναι μια λύση για την περίπτωση που αναφέρεις, αρκετοί την χρησημοποιούν.

Το θέμα είναι οτι συνήθως το setup αυτό το έχουν οι clients με subnet, οι Clients δηλαδή που έχουν δικό τους εσωτερικό δίκτυο (αλλιώς θα βάζαν dlink επάνω και θα ήταν ΟΚ) ή απλά οι routers που δεν έχουν AP. Το δίκτυό τους αποτελεί μέρος του AWMN και στο Linuxoboxo πρέπει να γίνεται routing (το δικό τους subnet με το subnet του κόμβου). Εκεί η Zebra βολεύει γιατί μας κάνει την δουλειά μας και την κάνει ποιό εύκολα από το να μπλέκαμε με IPTABLES.

Μπορείς βέβαια να κάνεις το Linuxoboxo σου σαν το Dlink, να έχει δηλαδή την ίδια IP το ασύρματο και το ενσύρματο interface κάνοντας bridging τα interfaces στο Linux (αν δεν έχεις βάλει κάποιον από τους Kernels οπυ έχουμε βγάλει εγώ και ο Achille ίσως χρειαστεί να κάνεις recompile για να υποστιρίζει bridging).

----------


## lambrosk

::  Μπραβο Mick Flemm πολυ απλοϊκά και κατανοήτα σε αυτούς που δεν ξέρουν...
Jopa ότι θες απο βιβλιογραφία ρώτα με... 
& Routing βρίσκεται και ότι θές... 
ΑΛλλά αυτά θέλουν υπομονή, διάβασμα και το βασικό, πολύ practice σε πραγματικές συνθήκες!

----------


## socrates

Δεν χρειάζεται να πω καλά λόγια για την δουλειά του Mick... Άξιος για άλλη μια φορά!  ::  

Αλλά και το θέμα του jopa είναι ενδιαφέρον... συμφωνώ ότι πρέπει να μετακινηθεί... και αναμένω τις απαντήσεις που θα δοθούν.

Πίσω στο θέμα τώρα...



> ..., αυτός ο αριθμός όμως δεν χαρακτιρίζει όπως πολοί νομίζετε τον υπολογιστή, αλλά τη κάρτα δικτύου/modem σας (κοινώς το network interface σας). ...


Για την ακρίβεια ο αριθμός που χαρακτηρίζει την κάρτα δικτύου είναι η Media Access Control address, κοινώς MAC η οποία υλοποιείται hard-based και μόνιμα πάνω στην συσκευή. H IP address αντιθέτως θεωρείται soft-based και παρέχει μια μέθοδο ομαδοποίησης συσκευών ανεξάρτητα από την φυσική τους τοποθέτηση. Αυτό φυσικά αποτελεί θεμελιώδες κομμάτι στην υλοποίηση του δικτύου.

----------


## Mick Flemm

Ναι ρε σεις αυτό το έγραψα στο forum του PCM δεν νομίζω εκεί να ξέρουν τι είναι η MAC απλά θα την έχουν ακούσει. Αυτό το έγραψα για να καταλάβουν οτι ένας υπολογιστής μπορεί να έχει πολές IPs, οτι δηλαδή δεν χαρακτηρίζει υπολογιστή αλλά interface.

Όπως πολύ σωστά λες η MAC (Medium Access Control) είναι στην πραγματικότητα ο αριθμός που χαρακτηρίζει το interface και μέσω του ARP (Address Request Protocol) αντιστοιχίζεται η IP στην MAC Address (υπάρχει και το RARP που κάνει ακριβώς το ανάποδο, δηλαδή του δίνεις την MAC και σου δίνει την IP).

Αυτό είναι μια πρώτη γεύση από το σοβαρό tutorial που θα ετοιμάσω για Networking όταν επιστρέψω Κρήτη και έχω στην διάθεσή μου τον Gazofonia  ::  ...

----------


## kpetrop

Καλη η προσπαθεια αλλα ψαξε λιγο πιο πολυ τα Class-X addresses. Το Class B δίκτυο δεν εμπερικλειει τις ΙΡ που γραφεις  ::  . 

Γραψε για CIDR

Το OSI έχει 7 επίπεδα.

Keep up the hard work!

----------


## Mick Flemm

Το απλοποιημένο OSI έχει 5 ;P

Θα το ψάξω για τα Class-x αν και νομίζω οτι έτσι είναι...

----------


## socrates

Το απλοποιημένο OSI model είναι το DoD model. Η διαφορά είναι ότι το δεύτερο ειναι optimized στις TCP/IP συνδέσεις και τα επίπεδα που περιγράφει (4 νομίζω?) έχουν πιο ξεκάθαρους ρόλους.

Εκτός αν είμαι τελείως λάθος!  ::

----------


## Mick Flemm

Εγώ μάλον είμαι λάθος γιατί το έχω μπλέξει το θέμα έτσι όπως το γράφω. Plz παιδιά διορθώστε κι εγώ στο διάβασμα είμαι...

----------


## kpetrop

Η αρχιτεκτονικη με τα 4-5 επιπεδα δεν ειναι απλοποιηση του OSI. Τα επιπεδα της "αντιστοιχουν" σε ομαδες επιπεδων του OSI απλά.

----------


## HdkiLLeR

Ρε παιδιά εντάξει μην το μπλέκουμε τόσο πολύ το θέμα, το OSI έχει 7 επίπεδα πάει και τελείωσε δεν υπάρχει στην ουσία απλοποιημένο γιατί ένα διαφορετικό μοντέλο αναφοράς απλά είναι ένα απλά ένα άλλο μοντέλο! Ο λόγος για τον οποίο πολλές φορές είναι προτιμότερο να παρουσιάζουμε το OSI με λιγότερα επίπεδα είναι γιατί με αυτόν τον τρόπο μοιάζει περισσότερο με το μοντέλο αναφοράς στοίβας TCP/IP. Και τα δύο όμως έχουν τα προβλήματα τους και εάν κάποιος προσπαθήσει να χρησιμοποιήσει ένα από αυτά τα δύο μοντέλα αυτά ξεχωριστά για την μελέτη και περιγραφή ενός δικτύου θα μπλέξει γιατί από την μια η λογική χωρισμού των υπηρεσιών σε κάθε επίπεδο ταιριάζει καλύτερα στο OSI από την άλλη όμως τα πρωτοκόλλα του OSI είναι ανύπαρκτα και αντί αυτού χρησιμοποιούμε την υλοποίηση του TCP/IP(το οποίο όμως δεν χρησιμοποιεί τόσο αυστηρό διαχωρισμό μεταξύ υπηρεσιών/επιπέδων/προτοκολλων)..είναι δηλαδή ένας φαύλος κύκλος. Τις περισσότερες φορές υιοθετούνται υβριδικά μοντέλα για την μελέτη δικτύων ανάλογα με το που θέλουμε να εστιάσουμε την μελέτη αλλά και τις ανάγκες μας. Συνεπώς ο Mick πολύ καλά πιστεύω κατά την γνώμη μου μας έδωσε ένα μοντέλο απο το οποίο απουσιάζουν τα επίπεδα συνόδου και παρουσίασης μιας και δεν χρησιμοποιούνται πουθενά στην πράξη..Στο δικό μας δίκτυο είναι ενσωματωμένα μέσα στα προγράμματα εφαρμογών(ftp clients κλπ...)

----------


## alexanio

Μια μικρή διόρθωση αν επιτρέπεται  :: 

Τα subnets μπορούν να χωριστούν σε πολλαπλάσια του 2 οπότε μπορούν να περιέχουν 4, 8, 16, 32, 64, 128 και 256 διευθύνσεις περιλαμβανομένων και των network ids και broadcast addresses. Όπως καταλαβαίνετε 2άρι subnet δεν μπορεί να υπάρχει γιατί δεν θα υπήρχαν διαθέσιμες ips. Έτσι ο γενικός κανόνας είναι χρήσιμες ips = συνολικές - 2.

Συνεπώς το subnet 255.255.255.192 θα είναι από 192.168.0.0 έως 63 και αυτές που μπορούμε να χρησιμοποιήσουμε από 1 έως 62 και όχι έως 63. Το ίδιο και για τα υπόλοιπα subnets που αναφέρονται ως παράδειγμα. Mick αν τις μετρήσεις θα δεις ότι σε ένα 8άρι έχεις βάλει 9 ips  :: 

Επίσης υπάρχει περιορισμός στον τρόπο με τον οποίο δημιουργούνται τα subnets. Κάθε επόμενο subnet πρέπει να είναι μικρότερο ή ίσο με το προηγούμενο. Δηλαδή αν το πρώτο subnet είναι 4άρι τότε και το επόμενο αναγκαστικά θα είναι 4άρι. Τα subnets όμως μπορούν και αθροίζονται, οπότε το 3ο μπορεί να γίνει 8άρι και το 4ο 16άρι, γιατί 4+4=8 και 8(4+4)+8=16 κ.ο.κ.

Ελπίζω να έγινα κατανοητός  ::

----------


## Mick Flemm

ΑΟΥΤΣ Αυτό ήταν χοντρό (καλά πώς μου ξέφυγε ?), sorry παιδιά, το διόρθωσα, Thnx Alexanio...

Θα έχει κι άλλα λάθη παίδες όποιος βρει κάτι go on...

----------


## JS

> Μια μικρή διόρθωση αν επιτρέπεται 
> 
> Τα subnets μπορούν να χωριστούν σε πολλαπλάσια του 2


Και μια διόρθωση της διόρθωσης (εκτός και αν λέω βλακείες  ::  )
Χωρίζονται σε * δυνάμεις*  του 2 όχι πολλαπλάσια.

2^2=4
2^3=8,...

οι δυνάμεις "0" και "1" δεν υφίστανται σαν subnet όπως είπες  ::

----------


## alexanio

Ναι έχεις δίκιο λάθος διατύπωση, subnets των 6, 12 κλπ ips δεν υπάρχουν.  ::

----------


## nlyk

Μια λεπτομέρεια πρακτικής φύσεως: Θεωρητικά είναι σωστό ότι σε κάθε subnet η πρώτη διεύθυνση (Network Address) και η τελευταία (Broadcast Address) είναι δεσμευμένες και οι υπόλοιπες είναι οι διαθέσιμες για τα interfaces. Δηλ διαθέσιμες ip = range - 2. Αυτό σημαίνει ότι δε μπορούμε να έχουμε subnet /31 γιατί δίνει δύο διευθύνσεις από τις οποίες η πρώτη είναι η Network και η δεύτερη η Broadcast.

Στην πράξη όμως επειδή η Network address χρησιμοποιείται μόνο θεωρητικά για ταυτοποίηση του subnet αντίθετα με την broadcast address η οποία χρησιμοποιείται μέσα στα broadcast πακέτα σαν destination address, η χρήση της Network Address σε interface είναι αποδεκτή και λειτουργεί κανονικά. Έχει δοκιμαστεί και παίζει κανονικά (προσωπικά το χρησιμοποίησα σε CISCO router) και μάλιστα με /31 subnet.

Οπότε στην πράξη χρήσιμες ip = range - 1 (broadcast address)

----------


## Achille

```
iface eth1 inet static
        address 10.47.130.106
        netmask 255.255.255.248
        network 10.47.130.104
        broadcast 10.47.130.111
```



```
[email protected]:/usr/src/awmn/linux-2.4.22awmn2# ping 10.47.130.104
PING 10.47.130.104 (10.47.130.104): 56 data bytes
64 bytes from 10.47.130.106: icmp_seq=0 ttl=64 time=0.7 ms
64 bytes from 10.47.130.105: icmp_seq=0 ttl=64 time=1.4 ms (DUP!)
64 bytes from 10.47.130.106: icmp_seq=1 ttl=64 time=0.4 ms
64 bytes from 10.47.130.105: icmp_seq=1 ttl=64 time=1.0 ms (DUP!)
64 bytes from 10.47.130.106: icmp_seq=2 ttl=64 time=0.4 ms
64 bytes from 10.47.130.105: icmp_seq=2 ttl=64 time=1.1 ms (DUP!)
```

Μια δοκιμή δεν βγάζει ασφαλή συμπεράσματα, ειδικά όταν αντιβαίνει με τη θεωρία. Μην χρησιμοποιείτε ούτε την broadcast, ούτε την network address σε μηχανήματα.

----------


## nlyk

> Μια δοκιμή δεν βγάζει ασφαλή συμπεράσματα, ειδικά όταν αντιβαίνει με τη θεωρία. Μην χρησιμοποιείτε ούτε την broadcast, ούτε την network address σε μηχανήματα.


Σίγουρα όχι τη broadcast.

Τη χρήση της Network Address σε interface μας την έδειξαν από τη CISCO σε εκπαίδευση (CCAI - Cisco Certified Academy Instructor). Τη χρησιμοποιήσαμε σε πολλά test με 25xx και 26xx routers και δεν παρατήρησα ποτέ κάποιο πρόβλημα. Η αλήθεια είναι βέβαια ότι επειδή το παρουσίασαν σαν κάτι κλασικό ψάρωσα και δε μου πέρασε από το μυαλό να ρωτήσω αν αυτό το configuration παίζει γενικά ή το προτείνουν μόνο σε CISCO routers. Μετά την παρατήρησή σου έχω αρχίσει να αμφιβάλλω γιατί θυμήθηκα ότι είχα δει κάπου να υπάρχουν networks που χρησιμοποιούν τη network address σαν broadcast για ιστορικούς λόγους (μπορεί κανείς να δεί σε παλαιά βιβλία για δίκτυα να αναφέρεται ως εναλλακτική broadcast address) οπότε ίσως δεν είναι ασφαλής σε όλες τις περιπτώσεις. Θα προσπαθήσω να επικοινωνήσω με τους εκπαιδευτές και να ρωτήσω λεπτομέρειες. 

Όσον αφορά στο παράδειγμά σου, είχες κάνει configuration κάποιο interface με ip τη network address ή απλά έκανες ping χωρίς να την έχεις χρησιμοποιήσει κάπου; Περίεργο μου φαίνεται το DUP!. Ποια interfaces απαντούν; απο περιέργεια μπορείς να δεις τι MAC έχει το κάθε icmp πακέτο;

----------


## HdkiLLeR

> Όσον αφορά στο παράδειγμά σου, είχες κάνει configuration κάποιο interface με ip τη network address ή απλά έκανες ping χωρίς να την έχεις χρησιμοποιήσει κάπου; Περίεργο μου φαίνεται το DUP!. Ποια interfaces απαντούν; απο περιέργεια μπορείς να δεις τι MAC έχει το κάθε icmp πακέτο;


Στο παραπάνω παράδειγμα το iface έχει την ip .106 ενώ το network address είναι το .104.

----------


## nlyk

Αυτό είδα κι εγώ αλλά επειδή το σενάριο που περιέγραψα ήταν διαφορετικό έλεγα μήπως δοκίμασε να στήσει και άλλο IF με τη Network Address. Πάντως έχω ήδη στήλει email και περιμένω απάντηση για να μου πουν τι ισχύει. 

Το dublication στο μηχάνημα του Αχιλλέα δείχνει ότι η network address στο δίκτυό του συμπεριφέρεται σαν broadcast διεύθυνση (το .105 και το .106 είναι τα μοναδικά up interfaces στο subnet την ώρα του ping :: . Σε Cisco router αν στο configuration του interfcace γράψεις



```
no ip direct-broadcast
```

λύνει το πρόβλημα των dublications και προστατεύει και από σχετικά attacs. Συγνώμη αλλά δεν έχω ακόμη στήσει Zebra ή Quaga και δεν ξέρω πως γίνεται εκεί το σχετικό configuration.

----------


## lambrosk

Εδώ είναι ένα αρχειάκι με τα subnet για γρήγορη επαλήθευση ...
Το έχω φτιάξει και με έχει βοηθήσει ΠΟΛΥ στο subnet resolution!
Στην αρχή μπορει να σας φανεί ακαταλλαβίστικο αλλά να έχετε διαβάσει όλα τα παραπάνω θα καταλάβετε.

----------


## Achille

> Αυτό είδα κι εγώ αλλά επειδή το σενάριο που περιέγραψα ήταν διαφορετικό έλεγα μήπως δοκίμασε να στήσει και άλλο IF με τη Network Address. Πάντως έχω ήδη στήλει email και περιμένω απάντηση για να μου πουν τι ισχύει.


Τα μηχανήματα με Linux απαντούν στην broadcast και network διεύθυνση όταν την pingάρεις, τα Windows όχι.
Γενικώς είναι πολύ πιθανό να μπλέξεις με ένα τέτοιο σενάριο, εκτός και αν έχεις πολύ μικρό subnet και γνωρίζεις τι μηχανήματα θα βάλεις.

Αλλά και πάλι για χρήση στο AWMN έχουμε επαρκές address space ώστε να πρέπει να αποφεύγουμε πάση θυσία τέτοιες αλχημείες  ::

----------


## nlyk

> Αλλά και πάλι για χρήση στο AWMN έχουμε επαρκές address space ώστε να πρέπει να αποφεύγουμε πάση θυσία τέτοιες αλχημείες


Συμφωνώ απολύτως. Όλα τα προηγούμενα ήταν περισσότερο για άσκηση και ενημέρωση.

Μια διευκρίνηση επίσης για το ip direct-broadcast που ανέφερα παραπάνω. Μέσα στο ίδιο subnet νομίζω ότι θα συνεχίσεις να πέρνεις dublication icmp packets (αν κάνεις δηλαδή ping την broadcast διεύθυνση από μηχάνημα που ανήκει στο ίδιο δίκτυο). Το αποτέλεσμα υπάρχει αν κάνεις ping την broadcast διεύθυνση άλλου network όπου έχει γίνει το σχετικό configuration. Εκεί πέρνεις μία απάντηση χωρίς DUP! (αποφεύγονται smurf attacks). Δε το έχω δοκιμάσει αλλά νομίζω ότι είναι έτσι.

----------


## mojiro

εφτιαξα ενα excel ip calculator, διοτι βαρεθηκα να βρίσκω
shareware προγραμματα. ελεος

----------


## argi

Μια μικρή ιστορική αναδρομή (και ουχί διόρθωση...) αλλά πιστευω θα ξεκαθαρίσει κάποιες παρανοήσεις...

Αρχικά είχε χωριστεί το δίκτυο με βάση την εξής λογική

Το class C network είναι το υποδίκτυο που οι ΙΡ του (στο δυαδικό σύστημα) αρχίσουν από "110" δηλαδή στην πράξη είναι όλες οι διεθύνσεις από 192.0.0.x έως 223.255.255.x. Ούσιαστικά τα πρώτα 24 bits δηλώνουν υποδίκτυο και τα υπολοιπα 8 τον host... Υπάρχουν 2^21 = 2097152 C-class υποδικτυα. 

Αντίστοιχα είναι και 
Class A με prefix "000" --> 0.0.0.x - 127.255.255.x 
Class Β με prefix "100" --> 128.0.0.x - 191.255.255.x
Class D --> 224.0.0.0 to 239.255.255.255. (multicast protocols).
Class E -->240.0.0.0 to 255.255.255.255. (δεσμευμένα για μελλοντική χρήση)

Μετά βέβαια και αφου είδαμε ότι αυτό δεν δούλευε τόσο καλά σε θέματα routing οποτε περάσαμε στο CIDR (Classless Inter-Domain Routing) ακριβώς γιατί δεν χρησιμοποιούνταν τα network classes για το routing, που είναι και αυτό που περιέγραφε ο Νίκος...

@rg!

----------


## argi

Νικο πολύ καλή προσπάθεια... μολις μαζέψουμε αρκετα σχόλια και το σουλουπωσουμε λιγάκι μετά κατευθειαν να μπει στο PlugMeIn...

@rg!

----------


## Mick Flemm

LoL που το ξεθάψατε αυτό ? Τέσπα όντως έχει αρκετές πληροφορίες αλλά χρειάζεται πολύ δουλειά για να βγει κάπου. Εν το μεταξύ έχω δώσει στον Ok-Computer τα screenshots για να κάνει το tutorial του Debian Sarge και έχω μισοέτοιμο το kernel tutorial.

----------


## mojiro

για λογαριασμο του Vmanolis εφτιαξα το παρακατω excel, ωστοσο
νομιζω οτι με μικρες αλλαγες ταιριαζει σε όλους. εχω την εντυπωση
οτι ενα παρομιο καπου τριγυρναει... και μαλλον ειναι του mick...

edit:
προσθηκη του ipcalc & ενος window ala mikrotik για την ρυθμιση των ip's

----------


## Mick Flemm

Αυτό τον καιρό δουλεύω πάνω σε ένα ολοκληρωμένο TCP/IP tutorial οπότε αναμείνατε εξελίξεις, θα προσπαθήσω να το κάνω αρκετά πλήρες  ::

----------


## SV1EOD

> Αυτό τον καιρό δουλεύω πάνω σε ένα ολοκληρωμένο TCP/IP tutorial οπότε αναμείνατε εξελίξεις, θα προσπαθήσω να το κάνω αρκετά πλήρες


Έχουμε καμμία εξέλιξη?

----------


## Mick Flemm

Με τα διάφορα flames και το πήγαινε - έλα Αθήνα - Ηράκλειο έχει καθυστερήσει, το tutorial μέχρι στιγμής είναι 14 σελίδες και καλύπτει ιστορικά στοιχεία, τα layers και το IP μέχρι το fragmentation.

----------


## bedazzled

.

----------


## Mick Flemm

U got pm  ::

----------


## ngia

> Με τα διάφορα flames και το πήγαινε - έλα Αθήνα - Ηράκλειο έχει καθυστερήσει, το tutorial μέχρι στιγμής είναι 14 σελίδες και καλύπτει ιστορικά στοιχεία, τα layers και το IP μέχρι το fragmentation.


ε άσε τα flames και πιάσε να γράφεις τότε ... κάθε κατεβατό στο φορουμ είναι και ένα κεφάλαιο στο tutorial  ::

----------


## socrates

> Αρχική Δημοσίευση από Mick Flemm
> 
> Με τα διάφορα flames και το πήγαινε - έλα Αθήνα - Ηράκλειο έχει καθυστερήσει, το tutorial μέχρι στιγμής είναι 14 σελίδες και καλύπτει ιστορικά στοιχεία, τα layers και το IP μέχρι το fragmentation.
> 
> 
> ε άσε τα flames και πιάσε να γράφεις τότε ... κάθε κατεβατό στο φορουμ είναι και ένα κεφάλαιο στο tutorial


+^10

----------


## SV1EOD

> Εμένα πάντως θα με ενδιέφερε να μελετήσω, έστω και το draft.


Και εμένα το ίδιο.

----------


## Mick Flemm

Δεν το έχω παρατήσει, έχει φτάσει στις 17 σελίδες και καλύπτει μέχρι και τα classful δίκτυα, έχω ακόμα ΠΟΛΥ πράμα να βάλω μέσα + θέλει λίγο review γιατί στην αρχή τα μπλέκω αρκετά. Σκέφτομαι για τον λόγο αυτό να το σπάσω σε 3 τμήματα, το πρώτο να είναι για το IP, το δεύτερο για τα ICMP/IGMP και το ARP και το 3ο για τα TCP/UDP. I'll keep u posted...

----------


## SV1EOD

OK και thanks.

----------


## Mick Flemm

42 and counting...

----------


## SV1EOD

Προχώρα(σε θέλει όλη η χώρα εμ.... AWMN ήθελα να πω).

----------


## socrates

Άντε μπράβο να διαβάσουμε κάτι που αξίζει!

----------


## Mick Flemm

Παιδιά τελείωσα σχεδόν το IGMPv1, θα γράψω και για το 2 αλλά το 3 παραείναι πολύπλοκο για να το αναλύσω, μια απλή αναφορά θα κάνω γιατί δεν τη παλεύω  ::  Μετά μένει το ARP που είναι σχετικά απλό και είναι ready  ::

----------


## nicolouris

Μπράβο Μick!!!

----------


## bedazzled

Ελπίζω να το διαβάσουν και όσοι μπερδεύουν τα layers... ή αλλιώς γιατί η quagga ΔΕΝ επηρεάζει το σήμα.  ::

----------


## Mick Flemm

47 and counting, θέλω κάποιον να κάνει review παιδιά γιατί φοβάμαι ότι χάνω τη μπάλα σε κάποια σημεία, θέλω έναν εθελοντή άσχετο κι έναν εθελοντή σχετικό. Ήδη έχω στείλει σε κάποια άτομα αλλά τελικά λόγω υποχρεώσεων δεν κατάφεραν να ανταποκριθούν οπότε το ζητάω και δημόσια, pm me plz...

----------


## Mick Flemm

Τελικά βρήκα λίγο χρόνο σήμερα και τελείωσα και το ARP, το tutorial είναι σχεδόν έτοιμο από πλευράς περιεχομένου (θέλω να βάλω και λίγα παραδείγματα με Ethereal) και μένουν οι διορθώσεις (ορθογραφία/συντακτικό/συνοχή) κλπ. Δυστυχώς δεν προσφέρθηκαν πολλοί να βοηθήσουν οπότε δεν ξέρω πόσο κατανοητό είναι τελικά σε κάποιον άσχετο. Πάντως έχω ακολουθήσει τα RFCs οπότε ότι γράφω μέσα είναι ακριβές.

Ελπίζω να βρω χρόνο να το τελειώσω σύντομα.

Πάντα ισχύει η αναζήτηση εθελοντών για να βοηθήσουν στη συνοχή κλπ με τα σχόλιά τους.

----------


## Mick Flemm

Το tutorial τελείωσε πριν λίγο και το συμαζεύω... Έχω δώσει εδώ και μερικές μέρες ένα pre-final draft στον sotirisk να το κοιτάξει για ορθογραφικά/συντακτικά κλπ λάθη και τον περιμένω, ελπίζω μέχρι το απόγευμα να μου έχει απαντήσει αλλιώς το πολύ μέχρι αύριο θα το βγάλω public γιατί καθυστέρησε αρκετό καιρό...  ::

----------

