host host sockets demultiplexing segments socket socket application

  • Slides: 46
Download presentation

Πολύπλεξη/αποπολύπλεξη Πολύπλεξη στον αποστέλλων host: Αποπολύπλεξη στον λαμβάνων host: Μαζεύοντας δεδομένα από πολλαπλά sockets,

Πολύπλεξη/αποπολύπλεξη Πολύπλεξη στον αποστέλλων host: Αποπολύπλεξη στον λαμβάνων host: Μαζεύοντας δεδομένα από πολλαπλά sockets, προσθέτοντας επικεφαλίδα (που αργότερα χρησιμοποιείται για demultiplexing) Μεταφέροντας τα segments που έχουν ληφθεί στο σωστό socket = socket application transport network link (multiplexing/demultiplexing) = process P 3 P 1 application transport network P 2 P 4 application transport network link physical host 1 physical host 2 physical host 3 Επίπεδο μεταφοράς 6

Aποπολύπλεξη χωρίς σύνδεση (συνέχεια) Datagram. Socket server. Socket = new Datagram. Socket(6428); P 2

Aποπολύπλεξη χωρίς σύνδεση (συνέχεια) Datagram. Socket server. Socket = new Datagram. Socket(6428); P 2 SP: 6428 DP: 9157 SP: 6428 DP: 5775 SP: 9157 client IP: A P 1 P 3 DP: 6428 server IP: C SP: 5775 DP: 6428 Client IP: B Η θύρα πηγής (SP) παρέχει “διεύθυνση επιστροφής” Επίπεδο μεταφοράς 9

Αποπολύπλεξη με σύνδεση (συνέχεια) P 1 P 4 P 5 P 2 P 6

Αποπολύπλεξη με σύνδεση (συνέχεια) P 1 P 4 P 5 P 2 P 6 P 1 P 3 SP: 5775 DP: 80 S-IP: B D-IP: C client IP: A SP: 9157 DP: 80 S-IP: A D-IP: C SP: 9157 server IP: C DP: 80 S-IP: B D-IP: C Client IP: B Επίπεδο μεταφοράς 11

Αποπολύπλεξη με σύνδεση: Threaded Web Server P 1 P 2 P 4 P 1

Αποπολύπλεξη με σύνδεση: Threaded Web Server P 1 P 2 P 4 P 1 P 3 SP: 5775 DP: 80 S-IP: B D-IP: C client IP: A SP: 9157 DP: 80 S-IP: A D-IP: C SP: 9157 server IP: C DP: 80 S-IP: B D-IP: C Client IP: B Επίπεδο μεταφοράς 12

TCP Connection Management (cont) Κύκλος ζωής TCP server Κύκλος ζωής TCP client Επίπεδο μεταφοράς

TCP Connection Management (cont) Κύκλος ζωής TCP server Κύκλος ζωής TCP client Επίπεδο μεταφοράς 29

Παράδειγμα εγκαθίδρυσης TCP σύνδεσης 09: 23: 33. 042318 IP 128. 2. 222. 198. 3123

Παράδειγμα εγκαθίδρυσης TCP σύνδεσης 09: 23: 33. 042318 IP 128. 2. 222. 198. 3123 > 192. 216. 219. 96. 80: S 4019802004: 4019802004(0) win 65535 <mss 1260, nop, sack. OK> (DF) 09: 23: 33. 118329 IP 192. 216. 219. 96. 80 > 128. 2. 222. 198. 3123: S 3428951569: 3428951569(0) ack 4019802005 win 5840 <mss 1460, nop, sack. OK> (DF) 09: 23: 33. 118405 IP 128. 2. 222. 198. 3123 > 192. 216. 219. 96. 80: . ack 3428951570 win 65535 (DF) r Client SYN m Seq. C: Seq. #4019802004, window 65535, max. seg. 1260 r Server SYN-ACK+SYN m m λαμβάνει: #4019802005 (= Seq. C+1) Seq. S: Seq. #3428951569, window 5840, max. seg. 1460 r Client SYN-ACK m λαμβάνει: #3428951570 (= Seq. S+1) Επίπεδο μεταφοράς 30

Διάγραμμα κατάστασηςTCP: εγκαθίδρυσης σύνδεσης Client CLOSED Server passive OPEN CLOSE delete TCB create TCB

Διάγραμμα κατάστασηςTCP: εγκαθίδρυσης σύνδεσης Client CLOSED Server passive OPEN CLOSE delete TCB create TCB CLOSE delete TCB LISTEN SYN RCVD rcv SYN snd SYN ACK rcv SYN snd ACK SEND snd SYN SENT Rcv SYN, ACK rcv ACK of SYN CLOSE Send FIN active OPEN create TCB Snd SYN Snd ACK ESTAB Επίπεδο μεταφοράς 31

Παράδειγμα κλεισίματος TCP σύνδεσης 09: 54: 17. 585396 IP 128. 2. 222. 198. 4474

Παράδειγμα κλεισίματος TCP σύνδεσης 09: 54: 17. 585396 IP 128. 2. 222. 198. 4474 > 128. 2. 210. 194. 6616: F 1489294581: 1489294581(0) ack 1909787689 win 65434 (DF) 09: 54: 17. 585732 IP 128. 2. 210. 194. 6616 > 128. 2. 222. 198. 4474: F 1909787689: 1909787689(0) ack 1489294582 win 5840 (DF) 09: 54: 17. 585764 IP 128. 2. 222. 198. 4474 > 128. 2. 210. 194. 6616: . ack 1909787690 win 65434 (DF) r Session m Echo client on 128. 2. 222. 198, server on 128. 2. 210. 194 r Client FIN m Seq. C: 1489294581 r Server ACK + FIN m m Ack: 1489294582 (= Seq. C+1) Seq. S: 1909787689 r Client ACK m Ack: 1909787690 (= Seq. S+1) Επίπεδο μεταφοράς 33

Διάγραμμα κατάστασης: Κλείσιμο σύνδεσης CLOSE send FIN WAIT-1 ACK FIN WAIT-2 Active Close ESTAB

Διάγραμμα κατάστασης: Κλείσιμο σύνδεσης CLOSE send FIN WAIT-1 ACK FIN WAIT-2 Active Close ESTAB CLOSE send FIN rcv FIN Passive Close send ACK CLOSE WAIT rcv FIN snd ACK CLOSE snd FIN rcv FIN+ACK snd ACK CLOSING LAST-ACK rcv ACK of FIN rcv FIN snd ACK TIME WAIT rcv ACK of FIN Timeout=2 msl delete TCB CLOSED Επίπεδο μεταφοράς 34

Έλεγχος ροής με παράθυρο: αποστέλουσσα πλευρά Packet Sent Source Port Dest. Port Packet Received

Έλεγχος ροής με παράθυρο: αποστέλουσσα πλευρά Packet Sent Source Port Dest. Port Packet Received Source Port Dest. Port Sequence Number Acknowledgment HL/Flags Window D. Checksum Urgent Pointer Options… Options. . . App write επιβεβαιωμένα σταλμέναsent πρόκειται Εκτός παραθύρου να σταλούν Επίπεδο μεταφοράς 39