SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Tutorium #2
                       15.03. bzw. 22.03.




       c.deckert@me.com | twitter.com/cdeckert
Bei dieser Ausarbeitung handelt es sich um keine offizielle Lösung
  des Lehrstuhls. Dies sind nur Lösungsansätze, welche keinen
     Anspruch auf Korrektheit oder Vollständigkeit erheben.
tr.im/wifotut
Agenda

• Sockets (Aufgabe 1)
• TCP/UDP (Aufgabe 2)
• Schichtenmodell (Aufgabe 3)
1a Fragestellung


• Was ist ein Port?
1a Lösung
• Ein Port ist ein Teil einer Adresse, der
  Datensegmente einem Netzwerkprotokoll
  zuordnet.
• Dieses Konzept ist beispielsweise in TCP
  und UDP vorgesehen, um Protokolle auf
  den höheren Schichten des OSI-Modells zu
  adressieren.
• Ein Port ist auch ein prozessspezifisches
  Softwarekonstrukt, das einen
  Kommunikationsendpunkt zur Verfügung
  stellt.
1b Fragestellung


• Was ist ein Socket?
1b Lösung
• Ein Socket  ist ein Software-Modul mit
  dessen Hilfe sich ein Computerprogramm
  mit einem Rechnernetz verbinden und dort
  mit anderen Programmen Daten
  austauschen kann.
• Die Kommunikation über Sockets erfolgt in
  der Regel bidirektional, d.h. über das Socket
  können Daten sowohl empfangen als auch
  gesendet werden.
1b Lösung

• Sockets werden auch verwendet, um
  zwischen Programmen auf demselben
  Computer Daten auszutauschen
  (Interprozesskommunikation).
1c Aufgabenstellung

• Gegeben sei eine Socket-API mit den
  folgenden (alphabetisch sortierten)
  Funktionen:
• Accept, bind, close, connect, listen, read,
  socket, write
1c Lösung              read()
Client           Server
                               bind()

                             accept()

                               connect()

                          socket()
                                     write()

                           write()
                                           close()

                                listen()

                                     socket()

                                close()

                                      read()
1c Lösung                read()
Client           Server
                                 bind()
                 socket()
                               accept()

                                 connect()

                            socket()
                                       write()

                             write()
                                             close()

                                  listen()



                                  close()

                                        read()
1c Lösung               read()
 Client            Server
                                  bind()
socket()           socket()
                                accept()

                                  connect()



                                        write()

                              write()
                                             close()

                                  listen()



                                  close()

                                         read()
1c Lösung               read()
 Client            Server
                                  bind()
socket()           socket()
                                accept()

                                  connect()



                                        write()

                              write()
                                             close()

                                  listen()



                                  close()

                                         read()
1c Lösung               read()
 Client             Server
                                   bind()
socket()            socket()
                                 accept()




                                         write()
connect()                      write()
                                              close()

                                   listen()



                                   close()

                                          read()
1c Lösung               read()
 Client             Server


socket()            socket()
                                 accept()

                     bind()



                                         write()
connect()                      write()
                                              close()

                                   listen()



                                   close()

                                          read()
1c Lösung               read()
 Client             Server


socket()            socket()
                                 accept()

                     bind()


                    listen()
                                         write()
connect()                      write()
                                             close()




                                   close()

                                          read()
1c Lösung               read()
 Client             Server


socket()            socket()
                                 accept()

                     bind()


                    listen()
                                         write()
connect()                      write()
                                             close()




                                   close()

                                          read()
1c Lösung               read()
 Client             Server


socket()            socket()


                     bind()


                    listen()
                                         write()
connect()           accept()   write()
                                             close()




                                   close()

                                          read()
1c Lösung               read()
 Client             Server


socket()            socket()


                     bind()


                    listen()


connect()           accept()   write()
                                             close()

 write()



                                   close()

                                         read()
1c Lösung               read()
 Client             Server


socket()            socket()


                     bind()


                    listen()


connect()           accept()   write()
                                             close()

 write()



                                   close()

                                         read()
1c Lösung               read()
 Client             Server


socket()            socket()


                     bind()


                    listen()


connect()           accept()   write()
                                             close()

 write()             read()



                                   close()
1c Lösung          read()
 Client             Server


socket()            socket()


                     bind()


                    listen()


connect()           accept()
                                         close()

 write()             read()


                    write()
                               close()
1c Lösung          read()
 Client             Server


socket()            socket()


                     bind()


                    listen()


connect()           accept()
                                         close()

 write()             read()


                    write()
                               close()
1c Lösung
 Client             Server


socket()            socket()


                     bind()


                    listen()


connect()           accept()
                                         close()

 write()             read()


 read()             write()
                               close()
1c Lösung
 Client             Server


socket()            socket()


                     bind()


                    listen()


connect()           accept()
                               close()

 write()             read()


 read()             write()


 close()
1c Lösung
 Client             Server


socket()            socket()


                     bind()


                    listen()


connect()           accept()


 write()             read()


 read()             write()


 close()            close()
1d Fragestellung

• Entwickeln Sie ein Server- und ein Client-
  Programm in Java. Wenn der Client dem
  Server den String “deutsch“ schickt, soll der
  Server mit dem String “hallo“ antworten.
  Wenn der Client dem Server den String
  “english” schickt, soll der der Server mit
  “hello“ antworten.
1d Lösung


• Demo
2a Fragestellung


• Würden Sie für ein Peer-to-Peer Filesharing
  System TCP oder UDP verwenden?
2a Lösung

• TCP, primär wg. Fehlerbehandlung, sonst
  gibt es korrupte Daten.
• Besonders ärgerlich, wenn man ein paar
  Stunden lang was Großes gesaugt hat.
2b Fragestellung


• Würden Sie für ein IPTV System TCP oder
  UDP verwenden?
2b Lösung
• UDP.
• Fernsehen ist eine Echtzeitanwendung. Ist
  wie Videostreaming (angesprochen in
  Vorlesung/Übung): wenn die korrekten
  Daten erneut gesendet und angekommen
  sind, kann ich sie schon nicht mehr
  gebrauchen.
2c Fragestellung


• Würden Sie für ein Voice-over-IP System
  TCP oder UDP verwenden? Begründen Sie
  Ihre Antwort.
2c Lösung


• UDP. Ist Audio-Streaming, also ähnlich wie
  bei b)
2d Aufgabenstellung


• Würden Sie für ein Instant Messaging
  System TCP oder UDP verwenden?
2d Lösung

• TCP. Man will nicht, dass Nachrichten
  verloren gehen, und ist durchaus bereit ein
  paar 100ms auf die Retransmission zu
  warten. Man will die Nachrichten zwar
  schnell, es ist aber nicht wirklich Echtzeit,
  wie beim Streaming.
2e Fragestellung

• Geben Sie jeweils zwei Beispiele aus der
  realen Welt (also nicht aus dem Internet)
  für verbindungsorientierte und
  verbindungslose Kommunikation.
2e Lösung
2e Lösung

• Brief
2e Lösung

• Brief
 • nicht-verbindungsorientiert
2e Lösung

• Brief
 • nicht-verbindungsorientiert
2e Lösung

• Brief
 • nicht-verbindungsorientiert

• Telefonieren
2e Lösung

• Brief
 • nicht-verbindungsorientiert

• Telefonieren
 • verbindungsorientiert
3 Aufgabenstellung
• Ordnen Sie die folgenden Protokolle den
  Schichten des ISO/OSI Modelles zu,
  beschreiben Sie kurz die Aufgaben des
  Protokolls und begründen Sie Ihre
  Zuordnung:
• Ethernet, DNS, SMTP, SNMP, IP, ICMP, UDP,
  FTP.
3 Lösung

• Ethernet: Schicht 1–2
• Schicht 1: Bitübertragung (10BASE-T,
  100BASE-TX, 1000BASE-T)
• Schicht 2: Austausch von Datenframes (IEEE
  802.3)
3 Lösung

• SMTP: Simple Mail Transfer Protocol,
  Schicht 7
• Schicht 7: Klassisches
  Anwendungsprotokoll.
3 Lösung
• DNS: Domain Name System, Schicht 5
• Schicht 7: Baut eine UDP–Verbindung mit
  einem Nameserver auf, um zum
  angefragten Namen die IP Adresse zu
  erfahren. Setzt auf Schicht 4 auf, passt aber
  weder in Session noch Presentation rein,
  also auch 7.
3 Lösung

• SNMP: Simple Network Management
  Protocol, Schicht 7
• Schicht 7: UDP Verbindungen mit anderen
  Netzwerkgeräten, um Wartungsfunktionen
  zu realisieren.
3 Lösung
• ICMP: Internet Control Message
  Protocol, Schicht 3
• Schicht 3: Integraler Teil von IP. Wird primär
  verwendet um Fehlermeldungen zu senden
  (z.B. Router kann nicht gefunden werden).
  Wird selten auch von der
  Anwendungsschicht her genutzt, z.B. bei
  Ping oder tracert.
3 Lösung


• UDP: User Datagram Protocol, Schicht 4
• Schicht 4: Ablieferung von Paketen an ein
  spezifisches Programm.
3 Lösung

• IP: Internet–Protokoll, Schicht 3
• Schicht 3: Es realisiert den Datenaustausch
  zwischen Hosts über das lokale Netzwerk
  hinaus. Daher offensichtlich
  Internetworking -> 3.
3 Lösung

• FTP: File Transfer Protocol, Schicht 7
• Schicht 7: Klassisches
  Anwendungsprotokoll. Übertragen von
  Dateien.

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (20)

Silvia presentació
Silvia presentacióSilvia presentació
Silvia presentació
 
Getit Uml Methodik
Getit Uml MethodikGetit Uml Methodik
Getit Uml Methodik
 
Dulce refugio m.i.
Dulce refugio   m.i.Dulce refugio   m.i.
Dulce refugio m.i.
 
Una navidad Anunciada
Una navidad AnunciadaUna navidad Anunciada
Una navidad Anunciada
 
EveZ
EveZEveZ
EveZ
 
Finland winter
Finland winterFinland winter
Finland winter
 
Presentacion 3
Presentacion 3Presentacion 3
Presentacion 3
 
Kostenfunktion 3a
Kostenfunktion 3aKostenfunktion 3a
Kostenfunktion 3a
 
Who are you
Who are youWho are you
Who are you
 
Referenz: Prozess HLK Maerkisches werk von Tobol Controls
Referenz: Prozess HLK Maerkisches werk von Tobol Controls Referenz: Prozess HLK Maerkisches werk von Tobol Controls
Referenz: Prozess HLK Maerkisches werk von Tobol Controls
 
Roessle pres
Roessle presRoessle pres
Roessle pres
 
Nudos De Pesca
Nudos De PescaNudos De Pesca
Nudos De Pesca
 
Celula
CelulaCelula
Celula
 
Eröffnung: der erste Internetbrunnen der Welt im Pengland Mainz
Eröffnung: der erste Internetbrunnen der Welt im Pengland MainzEröffnung: der erste Internetbrunnen der Welt im Pengland Mainz
Eröffnung: der erste Internetbrunnen der Welt im Pengland Mainz
 
Presentación de power point 2007
Presentación de power point 2007Presentación de power point 2007
Presentación de power point 2007
 
Tarea 2 seminario
Tarea 2 seminarioTarea 2 seminario
Tarea 2 seminario
 
Aparato digestivo
Aparato digestivoAparato digestivo
Aparato digestivo
 
10. dios me dio la iglesia
10. dios me dio la iglesia10. dios me dio la iglesia
10. dios me dio la iglesia
 
Diseno curricular por competencias mu 2010
Diseno curricular por competencias mu 2010Diseno curricular por competencias mu 2010
Diseno curricular por competencias mu 2010
 
Silvia presentacion
Silvia presentacionSilvia presentacion
Silvia presentacion
 

Mehr von guest6b8b65

Mehr von guest6b8b65 (6)

Tutorium 4
Tutorium 4Tutorium 4
Tutorium 4
 
Tutorium 4
Tutorium 4Tutorium 4
Tutorium 4
 
Tutorium 4
Tutorium 4Tutorium 4
Tutorium 4
 
Tutorium 2
Tutorium 2Tutorium 2
Tutorium 2
 
Tutorium 1 Wirtschaftsinformatik
Tutorium 1 WirtschaftsinformatikTutorium 1 Wirtschaftsinformatik
Tutorium 1 Wirtschaftsinformatik
 
Tutorium 1
Tutorium 1Tutorium 1
Tutorium 1
 

Tutorium 2 Wirtschaftsinformatik 2

  • 1. Tutorium #2 15.03. bzw. 22.03. c.deckert@me.com | twitter.com/cdeckert Bei dieser Ausarbeitung handelt es sich um keine offizielle Lösung des Lehrstuhls. Dies sind nur Lösungsansätze, welche keinen Anspruch auf Korrektheit oder Vollständigkeit erheben.
  • 3. Agenda • Sockets (Aufgabe 1) • TCP/UDP (Aufgabe 2) • Schichtenmodell (Aufgabe 3)
  • 4. 1a Fragestellung • Was ist ein Port?
  • 5. 1a Lösung • Ein Port ist ein Teil einer Adresse, der Datensegmente einem Netzwerkprotokoll zuordnet. • Dieses Konzept ist beispielsweise in TCP und UDP vorgesehen, um Protokolle auf den höheren Schichten des OSI-Modells zu adressieren. • Ein Port ist auch ein prozessspezifisches Softwarekonstrukt, das einen Kommunikationsendpunkt zur Verfügung stellt.
  • 6. 1b Fragestellung • Was ist ein Socket?
  • 7. 1b Lösung • Ein Socket ist ein Software-Modul mit dessen Hilfe sich ein Computerprogramm mit einem Rechnernetz verbinden und dort mit anderen Programmen Daten austauschen kann. • Die Kommunikation über Sockets erfolgt in der Regel bidirektional, d.h. über das Socket können Daten sowohl empfangen als auch gesendet werden.
  • 8. 1b Lösung • Sockets werden auch verwendet, um zwischen Programmen auf demselben Computer Daten auszutauschen (Interprozesskommunikation).
  • 9. 1c Aufgabenstellung • Gegeben sei eine Socket-API mit den folgenden (alphabetisch sortierten) Funktionen: • Accept, bind, close, connect, listen, read, socket, write
  • 10. 1c Lösung read() Client Server bind() accept() connect() socket() write() write() close() listen() socket() close() read()
  • 11. 1c Lösung read() Client Server bind() socket() accept() connect() socket() write() write() close() listen() close() read()
  • 12. 1c Lösung read() Client Server bind() socket() socket() accept() connect() write() write() close() listen() close() read()
  • 13. 1c Lösung read() Client Server bind() socket() socket() accept() connect() write() write() close() listen() close() read()
  • 14. 1c Lösung read() Client Server bind() socket() socket() accept() write() connect() write() close() listen() close() read()
  • 15. 1c Lösung read() Client Server socket() socket() accept() bind() write() connect() write() close() listen() close() read()
  • 16. 1c Lösung read() Client Server socket() socket() accept() bind() listen() write() connect() write() close() close() read()
  • 17. 1c Lösung read() Client Server socket() socket() accept() bind() listen() write() connect() write() close() close() read()
  • 18. 1c Lösung read() Client Server socket() socket() bind() listen() write() connect() accept() write() close() close() read()
  • 19. 1c Lösung read() Client Server socket() socket() bind() listen() connect() accept() write() close() write() close() read()
  • 20. 1c Lösung read() Client Server socket() socket() bind() listen() connect() accept() write() close() write() close() read()
  • 21. 1c Lösung read() Client Server socket() socket() bind() listen() connect() accept() write() close() write() read() close()
  • 22. 1c Lösung read() Client Server socket() socket() bind() listen() connect() accept() close() write() read() write() close()
  • 23. 1c Lösung read() Client Server socket() socket() bind() listen() connect() accept() close() write() read() write() close()
  • 24. 1c Lösung Client Server socket() socket() bind() listen() connect() accept() close() write() read() read() write() close()
  • 25. 1c Lösung Client Server socket() socket() bind() listen() connect() accept() close() write() read() read() write() close()
  • 26. 1c Lösung Client Server socket() socket() bind() listen() connect() accept() write() read() read() write() close() close()
  • 27. 1d Fragestellung • Entwickeln Sie ein Server- und ein Client- Programm in Java. Wenn der Client dem Server den String “deutsch“ schickt, soll der Server mit dem String “hallo“ antworten. Wenn der Client dem Server den String “english” schickt, soll der der Server mit “hello“ antworten.
  • 29. 2a Fragestellung • Würden Sie für ein Peer-to-Peer Filesharing System TCP oder UDP verwenden?
  • 30. 2a Lösung • TCP, primär wg. Fehlerbehandlung, sonst gibt es korrupte Daten. • Besonders ärgerlich, wenn man ein paar Stunden lang was Großes gesaugt hat.
  • 31. 2b Fragestellung • Würden Sie für ein IPTV System TCP oder UDP verwenden?
  • 32. 2b Lösung • UDP. • Fernsehen ist eine Echtzeitanwendung. Ist wie Videostreaming (angesprochen in Vorlesung/Übung): wenn die korrekten Daten erneut gesendet und angekommen sind, kann ich sie schon nicht mehr gebrauchen.
  • 33. 2c Fragestellung • Würden Sie für ein Voice-over-IP System TCP oder UDP verwenden? Begründen Sie Ihre Antwort.
  • 34. 2c Lösung • UDP. Ist Audio-Streaming, also ähnlich wie bei b)
  • 35. 2d Aufgabenstellung • Würden Sie für ein Instant Messaging System TCP oder UDP verwenden?
  • 36. 2d Lösung • TCP. Man will nicht, dass Nachrichten verloren gehen, und ist durchaus bereit ein paar 100ms auf die Retransmission zu warten. Man will die Nachrichten zwar schnell, es ist aber nicht wirklich Echtzeit, wie beim Streaming.
  • 37. 2e Fragestellung • Geben Sie jeweils zwei Beispiele aus der realen Welt (also nicht aus dem Internet) für verbindungsorientierte und verbindungslose Kommunikation.
  • 40. 2e Lösung • Brief • nicht-verbindungsorientiert
  • 41. 2e Lösung • Brief • nicht-verbindungsorientiert
  • 42. 2e Lösung • Brief • nicht-verbindungsorientiert • Telefonieren
  • 43. 2e Lösung • Brief • nicht-verbindungsorientiert • Telefonieren • verbindungsorientiert
  • 44. 3 Aufgabenstellung • Ordnen Sie die folgenden Protokolle den Schichten des ISO/OSI Modelles zu, beschreiben Sie kurz die Aufgaben des Protokolls und begründen Sie Ihre Zuordnung: • Ethernet, DNS, SMTP, SNMP, IP, ICMP, UDP, FTP.
  • 45. 3 Lösung • Ethernet: Schicht 1–2 • Schicht 1: Bitübertragung (10BASE-T, 100BASE-TX, 1000BASE-T) • Schicht 2: Austausch von Datenframes (IEEE 802.3)
  • 46. 3 Lösung • SMTP: Simple Mail Transfer Protocol, Schicht 7 • Schicht 7: Klassisches Anwendungsprotokoll.
  • 47. 3 Lösung • DNS: Domain Name System, Schicht 5 • Schicht 7: Baut eine UDP–Verbindung mit einem Nameserver auf, um zum angefragten Namen die IP Adresse zu erfahren. Setzt auf Schicht 4 auf, passt aber weder in Session noch Presentation rein, also auch 7.
  • 48. 3 Lösung • SNMP: Simple Network Management Protocol, Schicht 7 • Schicht 7: UDP Verbindungen mit anderen Netzwerkgeräten, um Wartungsfunktionen zu realisieren.
  • 49. 3 Lösung • ICMP: Internet Control Message Protocol, Schicht 3 • Schicht 3: Integraler Teil von IP. Wird primär verwendet um Fehlermeldungen zu senden (z.B. Router kann nicht gefunden werden). Wird selten auch von der Anwendungsschicht her genutzt, z.B. bei Ping oder tracert.
  • 50. 3 Lösung • UDP: User Datagram Protocol, Schicht 4 • Schicht 4: Ablieferung von Paketen an ein spezifisches Programm.
  • 51. 3 Lösung • IP: Internet–Protokoll, Schicht 3 • Schicht 3: Es realisiert den Datenaustausch zwischen Hosts über das lokale Netzwerk hinaus. Daher offensichtlich Internetworking -> 3.
  • 52. 3 Lösung • FTP: File Transfer Protocol, Schicht 7 • Schicht 7: Klassisches Anwendungsprotokoll. Übertragen von Dateien.

Hinweis der Redaktion