SlideShare ist ein Scribd-Unternehmen logo
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

Bibliotecología en Colombia
Bibliotecología en Colombia Bibliotecología en Colombia
Bibliotecología en Colombia
ljsuarezm2010
 
68811215003
6881121500368811215003
68811215003
Gustavo Maldonado
 
A favorite son becomes a slave spanish cb
A favorite son becomes a slave spanish cbA favorite son becomes a slave spanish cb
A favorite son becomes a slave spanish cb
Ministerio Infantil Arcoiris
 
Social media
Social mediaSocial media
Social media
a340l
 
Digitalisierung und Industrie 4.0 Herausforderungen
Digitalisierung und Industrie 4.0 HerausforderungenDigitalisierung und Industrie 4.0 Herausforderungen
Digitalisierung und Industrie 4.0 Herausforderungen
ʎәʞɹɐqɹәʇsәʍ uɐɾ
 
emilio blog Ergebnisliste
emilio blog Ergebnislisteemilio blog Ergebnisliste
emilio blog Ergebnisliste
emiliomerayo
 
Aproximación teórica de la exclusión social (instrumento)
Aproximación teórica de la exclusión social (instrumento)Aproximación teórica de la exclusión social (instrumento)
Aproximación teórica de la exclusión social (instrumento)
Enry Villablanca
 
Revista andree
Revista andreeRevista andree
Revista andree
andreeduqueforero
 
Admon desarrollo exponer
Admon desarrollo exponerAdmon desarrollo exponer
Admon desarrollo exponer
tomich01
 
Productos modulo 1.rieb2 y5. equipo sol y las estrellas
Productos modulo 1.rieb2 y5. equipo sol y las estrellasProductos modulo 1.rieb2 y5. equipo sol y las estrellas
Productos modulo 1.rieb2 y5. equipo sol y las estrellas
Edgar Rdz
 
Palabras de Sabiduria
Palabras de SabiduriaPalabras de Sabiduria
Palabras de Sabiduria
El del Alma
 
Präsentation Zu Datenbanken
Präsentation Zu  DatenbankenPräsentation Zu  Datenbanken
Präsentation Zu DatenbankenGoetheschule
 
Gestion
GestionGestion
Gestion
almaflacka
 
Dn12 u3 a1_ptjc
Dn12 u3 a1_ptjcDn12 u3 a1_ptjc
Dn12 u3 a1_ptjc
charmin20100
 
Diseño curricular nacional
Diseño curricular nacionalDiseño curricular nacional
Diseño curricular nacional
elianaelizabethvargasdiaz
 
Digitale ungleichheit 2.0 (ausarbeitung)
Digitale ungleichheit 2.0 (ausarbeitung)Digitale ungleichheit 2.0 (ausarbeitung)
Digitale ungleichheit 2.0 (ausarbeitung)wruge
 
Million dollars
Million dollarsMillion dollars
Million dollars
daniellevonm123
 
Konzept Präsentation: 100.tageschau.mobi
Konzept Präsentation: 100.tageschau.mobiKonzept Präsentation: 100.tageschau.mobi
Konzept Präsentation: 100.tageschau.mobi
Alex Boerger
 

Andere mochten auch (20)

Bibliotecología en Colombia
Bibliotecología en Colombia Bibliotecología en Colombia
Bibliotecología en Colombia
 
68811215003
6881121500368811215003
68811215003
 
A favorite son becomes a slave spanish cb
A favorite son becomes a slave spanish cbA favorite son becomes a slave spanish cb
A favorite son becomes a slave spanish cb
 
Social media
Social mediaSocial media
Social media
 
Digitalisierung und Industrie 4.0 Herausforderungen
Digitalisierung und Industrie 4.0 HerausforderungenDigitalisierung und Industrie 4.0 Herausforderungen
Digitalisierung und Industrie 4.0 Herausforderungen
 
emilio blog Ergebnisliste
emilio blog Ergebnislisteemilio blog Ergebnisliste
emilio blog Ergebnisliste
 
Aproximación teórica de la exclusión social (instrumento)
Aproximación teórica de la exclusión social (instrumento)Aproximación teórica de la exclusión social (instrumento)
Aproximación teórica de la exclusión social (instrumento)
 
Revista andree
Revista andreeRevista andree
Revista andree
 
Vo11 2010
Vo11 2010Vo11 2010
Vo11 2010
 
el llamado
  el llamado  el llamado
el llamado
 
Admon desarrollo exponer
Admon desarrollo exponerAdmon desarrollo exponer
Admon desarrollo exponer
 
Productos modulo 1.rieb2 y5. equipo sol y las estrellas
Productos modulo 1.rieb2 y5. equipo sol y las estrellasProductos modulo 1.rieb2 y5. equipo sol y las estrellas
Productos modulo 1.rieb2 y5. equipo sol y las estrellas
 
Palabras de Sabiduria
Palabras de SabiduriaPalabras de Sabiduria
Palabras de Sabiduria
 
Präsentation Zu Datenbanken
Präsentation Zu  DatenbankenPräsentation Zu  Datenbanken
Präsentation Zu Datenbanken
 
Gestion
GestionGestion
Gestion
 
Dn12 u3 a1_ptjc
Dn12 u3 a1_ptjcDn12 u3 a1_ptjc
Dn12 u3 a1_ptjc
 
Diseño curricular nacional
Diseño curricular nacionalDiseño curricular nacional
Diseño curricular nacional
 
Digitale ungleichheit 2.0 (ausarbeitung)
Digitale ungleichheit 2.0 (ausarbeitung)Digitale ungleichheit 2.0 (ausarbeitung)
Digitale ungleichheit 2.0 (ausarbeitung)
 
Million dollars
Million dollarsMillion dollars
Million dollars
 
Konzept Präsentation: 100.tageschau.mobi
Konzept Präsentation: 100.tageschau.mobiKonzept Präsentation: 100.tageschau.mobi
Konzept Präsentation: 100.tageschau.mobi
 

Mehr von guest6b8b65

Tutorium 2 Wirtschaftsinformatik 2
Tutorium 2 Wirtschaftsinformatik 2Tutorium 2 Wirtschaftsinformatik 2
Tutorium 2 Wirtschaftsinformatik 2guest6b8b65
 
Tutorium 1 Wirtschaftsinformatik
Tutorium 1 WirtschaftsinformatikTutorium 1 Wirtschaftsinformatik
Tutorium 1 Wirtschaftsinformatikguest6b8b65
 

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 Wirtschaftsinformatik 2
Tutorium 2 Wirtschaftsinformatik 2Tutorium 2 Wirtschaftsinformatik 2
Tutorium 2 Wirtschaftsinformatik 2
 
Tutorium 1 Wirtschaftsinformatik
Tutorium 1 WirtschaftsinformatikTutorium 1 Wirtschaftsinformatik
Tutorium 1 Wirtschaftsinformatik
 
Tutorium 1
Tutorium 1Tutorium 1
Tutorium 1
 

Tutorium 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