# Links > Tutorials >  TCP/IP Tutorial v0.9

## Mick Flemm

Μετά από περίπου 1 χρόνο και εν μέσω των διαφόρων εργασιών που είχα όλο αυτό τον καιρό, τελείωσε το TCP/IP tutorial που σας υποσχέθηκα και έφτασε τις 56 σελίδες. Έχει ακόμα ατέλειες μιας και δεν το είδαν αρκετοί άνθρωποι πριν βγει γι' αυτό και είναι ακόμα στην έκδοση 0.9 και όχι 1.0. Σας παρακαλώ να το δείτε και να κάνετε εγκαίρως τις διορθώσεις σας για να πάει το δυνατό συντομότερο στην έκδοση 1.0. Ακολούθησα κατά γράμμα τα RFCs και δεν πιστεύω ότι λέω σε κανένα σημείο κάτι που δεν ισχύει, αν ωστόσο βρείτε κάτι plz let me know (υποψιάζομαι λίγο το IGMP). Επίσης αν μπορείτε να βοηθίσετε με λίγο καλύτερα σχήματα (δεν είναι το δυνατό μου σημείο) θα σας ήμουν ευγνώμων.

Ελπίζω το tutorial αυτό να βοηθήσει λίγο την κατάσταση στο δίκτυο και να μην την περιπλέξει περισσότερο. Θεωρώ ότι είναι ευθύνη κάθε κομβούχου να κάτσει και να μελετήσει το TCP/IP αν θέλει να λέει ότι παρέχει αξιόπιστες υπηρεσίες κι ότι μπορεί να συμβάλει στην ανάπτυξη του δικτύου. Αν θέλουμε να πάμε μπροστά και το δίκτυο να ξαναβρεί και τον πειραματικό του χαρακτήρα, πρέπει να έχουμε βάσεις και να τις δομούμε. Ελπίζω να συνεχιστεί κι από άλλους η προσπάθεια κι εγώ σε όσο χρόνο μου περισσεύει (που είναι πολύ λίγος) θα προσπαθήσω να γράψω και το δεύτερο μέρος.

Όπως έχω ξαναπεί, δίκτυα που παίζουν υπάρχουν πολλά, δίκτυα για να παίζουμε όχι, παίξτε με το δίκτυο, μάθετε πράγματα, ψαχτείτε. Γι' αυτό το φτιάξαμε το δίκτυο, γι' αυτό πριν 4 χρόνια ξεκίνησε αυτή η προσπάθεια.

Καλή ανάγνωση λοιπόν και περιμένω feedback !!!

----------


## alasondro

Χίλια μπράβο!!!

----------


## argi

Καλή δουλειά ...  ::   ::   ::  

Μια παρατήρηση επί του usability/readability...

Αλλαξε γραμματοσειρά (λιγότερες ουρίτσες... oi times new roman είναι καλές για λογοτεχνία αλλά όχι για τεχνικά κείμενα) και άφησε μεγαλύτερα κενά μεταξύ των γραμμών και των παραγράφων έτσι ώστε το κείμενο να ειναι ευαναγνωστο.

@rg!

----------


## NetTraptor

Excellent! .-

----------


## socrates

Πολύ καλό το tutorial ότι πρέπει για ξεστράβωμα!

Αυτό βέβαια που μου άρεσε περισσότερο ήταν το πνεύμα αυτοδέσμευσης του Νίκου (Θα το φτιάξω το ρημάδι  ::  ). Πάντα τέτοια!

----------


## erasmospunk

Πολύ καλό, thnx  ::

----------


## mbjp

πολυ καλο, ευγε!

----------


## ngia

Πολύ καλή δουλειά Νίκο, καλή ιδέα να βάλεις και το πιο πρακτικό κομμάτι με το wireshark στο τέλος

----------


## Resi

Ευχαριστούμε!!!(ώρα για διάβασμα...)

----------


## kakis

Ευχαριστούμε Νίκο  ::  Πάντα τέτοια!! θα το διαβάσω κι αν ανακαλύψω τίποτα θα σου πώ  ::

----------


## nOiz

Μπράβο Νίκο!  ::

----------


## nicolouris

Μπράβο ρε Νικόλα!!! Ωραίος!!!

----------


## coffeex

Μπράβο Mick Flemm με μια γρήγορη ματιά που του έριξα φαίνεται πάρα πολύ καλό και πάλι μπράβο.

----------


## JS

Πολύ καλή δουλειά ... Εύγε !!!!

----------


## noisyjohn

Ενα απαραίτητο βοήθημα για κάθε awmnνίτη!! Η παρουσίαση subnet, supernet είναι υπέροχη. Θα βοηθήσει πολύ κόσμο. Χίλια εύγε  ::   ::

----------


## Mick Flemm

Να 'στε καλά ρε παιδιά  ::  

Θέλω να είστε αυστηροί στο review σας για να γίνει ακόμα καλύτερο  ::  Ξεψειρίστε το  ::

----------


## NiKoSaEi

Πολυ δυνατό...  ::

----------


## yorgos

εγώ αυτό που βλέπω είναι πολύ σκληρή δουλειά. Μπράβο ρε φίλε!

----------


## aggman

Εγώ δεν βλέπω τίποτα.
Πού είναι το εν λόγω κείμενο;  ::

----------


## Mick Flemm

> Εγώ δεν βλέπω τίποτα.
> Πού είναι το εν λόγω κείμενο;


Το atachment στο πρώτο post (πρέπει να είσαι logged in για να το δεις κα να το κατεβάσεις)

----------


## sokratisg

Με μία γρήγορη ματιά μπορώ να πω ότι είναι πραγματικά πολύ καλό!
Μπράβο!

Το ξεψείρισμα το βράδυ.  ::

----------


## noisyjohn

Ακόμα διαβάζω και συμπληρώνω τις γνωσεις μου , ειδικά με τα βοηθητικά πρωτόκολλα, όσο το διαβάζω τόσο μου αρέσει.

Μία απλή μόνο επισήμανση για τα ports:
Παρ' όλο που είναι άλλο ένα μεγάλο κεφάλαιο, θα βοηθούσε πιστεύω 1 σελίδα χωρίς λεπτομέρειες για το ρόλο τους στην διευθυνσιοδότηση (ίσως πριν την εισαγωγή στα βοηθητικά πρωτόκολλα). Aπo εκεί και πέρα, όπως γράφεις, ο καθένας ας ψάξει.  ::

----------


## Mick Flemm

Τα ports είναι χαρακτηριστικό του επιπέδου μεταφοράς (TCP/UDP) όχι του IP και δεν έχουν σχέση με τη διευθυνσιοδότηση.Ουσιαστικά τα ports είναι το "εσωτερικό τηλέφωνο" για να μιλήσεις με μια συγκεκριμένη εφαρμογή, ξεφεύγει λίγο απ' το scope του tutorial. Το layer 4 θα πάει στο επόμενο μέρος (όταν το γράψω  :: ) Έχεις δίκιο ότι χρειάζεται, όπως χρειάζεται να δούμε τι είναι το session, γιατί το TCP είναι sessionful πρωτόκολλο και το UDP session less, τι είναι το TCP window κλπ κλπ...

----------


## mixio

> Ουσιαστικά τα ports είναι το "εσωτερικό τηλέφωνο" για να μιλήσεις με μια συγκεκριμένη εφαρμογή, ξεφεύγει λίγο απ' το scope του tutorial.


Τρελη δουλεια με μια ματια που του εριξα. 
Να συμπληρωσω λιγο πιο low-level οτι τα ports ειναι στην πραγματικοτητα δεικτες σε καποια θεση της μνημης οπου οι εφαρμογες τους χρησιμοποιουν(τους δεικτες) για να παρουν ή να στειλουν τα δεδομενα σε εκεινο το μερος της μνημης..

----------


## katsaros_m

*Μπράβο* Mick Flemm με μια γρήγορη ματιά που του έριξα εχει ρηξει τρελη δουλεια.

και κατα το σαββοπουλο
<<να χαμε κανα δυο τετιους τρελους>>

----------


## noisyjohn

> ... Το layer 4 θα πάει στο επόμενο μέρος (όταν το γράψω )...


Keep it on !  ::

----------


## tsekg

Πάρα πολυ καλό...μπράβο

----------


## dalex

....

----------


## ulysses

> Το layer 4 θα πάει στο επόμενο μέρος
> 
> 
> Άντε για να ξεστραβωθούν ορισμένοι εδώ μέσα που προπαγανδίζουν ότι αν ανοίξουμε μια σελίδα html με τον firefox ο εχθρός έχει μπει ήδη μέσα... 20 χρόνια ασχολούμαι με το tcp-ip, τέτοιες μπαρούφες πρώτη φορά ακούω!
> 
> Oh tempora, oh mores.


κι αν o firefox τρεχει με admin δικεωματα ( συνηθες στα γουιντοζ ) και στην σελιδα υπαρχη κακοβουλος κοδικας σε javascript/jpeg εικονα (buffer overflow ) ?  ::  
δηκιο εχεις για τους ασχετους που τρομοκρατουντε ευκολα (πουλαει στις μερες μας ο φοβος ) , αλλα δεν ειναι και απιθανο ..........

----------


## dalex

....

----------


## ulysses

με τον κατακλησμο του web 2.0 η javascript εινε νορμα πλεον... για τα jpeg δεν λεω τιποτα , εινε δεδομενα εδω και χρονια
εκτος και αν μπλοκαρης και τις εικονες , οποτε σου βγαζω το καπελο  ::  

εγω μαζι σου ειμαι παντος , μην με παρεξηγης, δεν ειδες σε αλλο νημα που τους εκραξα με τους ιους ??? αλλα ειπαμε , η τρομοκρατια και ο φοβος ΠΟΥΛΑΕΙ  ::

----------


## noisyjohn

για τα επείγοντα, μέχρι να βγεί το tutorial:  ::  



```
TCP and UDP Ports

As you know every computer or device on the Internet must have a unique number assigned to it called the IP address. This IP address is used to recognize your particular computer out of the millions of other computers connected to the Internet. When information is sent over the Internet to your computer how does your computer accept that information? It accepts that information by using TCP or UDP ports.

An easy way to understand ports is to imagine your IP address is a cable box and the ports are the different channels on that cable box. The cable company knows how to send cable to your cable box based upon a unique serial number associated with that box (IP Address), and then you receive the individual shows on different channels (Ports).

Ports work the same way. You have an IP address, and then many ports on that IP address. When I say many, I mean many. You can have a total of 65,535 TCP Ports and another 65,535 UDP ports. When a program on your computer sends or receives data over the Internet it sends that data to an ip address and a specific port on the remote computer, and receives the data on a usually random port on its own computer. If it uses the TCP protocol to send and receive the data then it will connect and bind itself to a TCP port. If it uses the UDP protocol to send and receive data, it will use a UDP port. Figure 1, below, is a represenation of an IP address split into its many TCP and UDP ports. Note that once an application binds itself to a particular port, that port can not be used by any other application. It is first come, first served.

<-- 192.168.1.10 -------->
0 1 	2 	3 	4 	5    65531 	65532 	65533 	65534 	65535
Figure 1. IP address with Ports

This all probably still feels confusing to you, and there is nothing wrong with that, as this is a complicated concept to grasp. Therefore, I will give you an example of how this works in real life so you can have a better understanding. We will use web servers in our example as you all know that a web server is a computer running an application that allows other computers to connect to it and retrieve the web pages stored there.

In order for a web server to accept connections from remote computers, such as yourself, it must bind the web server application to a local port. It will then use this port to listen for and accept connections from remote computers. Web servers typically bind to the TCP port 80, which is what the http protocol uses by default, and then will wait and listen for connections from remote devices. Once a device is connected, it will send the requested web pages to the remote device, and when done disconnect the connection.

On the other hand, if you are the remote user connecting to a web server it would work in reverse. Your web browser would pick a random TCP port from a certain range of port numbers, and attempt to connect to port 80 on the IP address of the web server. When the connection is established, the web browser will send the request for a particular web page and receive it from the web server. Then both computers will disconnect the connection.

Now, what if you wanted to run an FTP server, which is a server that allows you to transfer and receive files from remote computers, on the same web server. FTP servers use TCP ports 20 and 21 to send and receive information, so you won't have any conflicts with the web server running on TCP port 80. Therefore, the FTP server application when it starts will bind itself to TCP ports 20 and 21, and wait for connections in order to send and receive data.
```

από: http://www.bleepingcomputer.com/tutoria ... ial38.html

----------


## katrisk

Πολύ καλή δουλειά Νίκο!!!!!!!!!!!!!!

----------


## thanasisk30

Συγχαρητηρια και απο μενα!!!
Ειναι πραγματικα ενα πολυ καλοδουλεμενο, ευληπτο, ευαναγνωστο, επεξηγηματικο, αναλυτικο και *"παραδειγματικο"* κειμενο!
Διαβαζεται ωσαν να ρουφας πορτοκαλαδα Amita μεσα απο καλαμακι!!

Σιγουρα χρειαζεται προσθεσεις, συμπληρωσεις κλπ κλπ.Εσυ ομως ξερεις.Θα την βρεις την ακρη!  ::  

*Μπραβο* και παλι σε σενα και την ομαδα που σε βοηθησε!

----------


## mike01

Πάρα πολυ καλό...μπράβο

----------

