Kommunikationssysteme
Transcription
Kommunikationssysteme
Informatik Masterstudium Computing & Communications, PM2100.1 Kommunikationssysteme Teil 2: Protokolle und Anwendungen Übungen Edition 0.2, April 2014 Autor: Stephan Rupp S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 1/74 Informatik Masterstudium Computing & Communications, PM2100.1 Inhaltsverzeichnis 1. Eine Nachricht schicken! 4 2. Rahmenprotokoll! 4 3. Netztopologie! 6 4. Verfügbarkeit! 7 5. Distributed Computing! 8 6. Service Inventory ! 9 7. Names, Adresses und Identities! 10 8. Name Spaces (Namensräume)! 11 9. Clients and Servers! 12 10. Threads and Processes! 13 11. Memory Leak! 13 12. Viruses and Trojan Horses! 13 13. Service Discovery! 13 14. Bluetooth! 13 15. File-Sharing! 13 16. IPSec! 14 17. IP-VPN! 14 18. Collisions in Piconets! 15 19. Protocol Overhead in VoIP! 16 20. Shopping carts! 17 21. Output Buffer! 17 22. Relations at Examination Time! 17 23. Evaluation of Results! 18 24. Service Discovery! 21 25. UPNP Remote Control! 24 S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 2/74 Informatik Masterstudium Computing & Communications, PM2100.1 26. Client-Server Communication! 26 27. Home Networks! 28 28. Mobile Peer-to-Peer Networks! 30 29. CORBA and RMI! 32 30. CORBA and Web-Services! 33 31. Remote Control for Home Networks! 33 32. Remote Player! 35 33. Universal Remote Control! 37 34. Ethernet basierte Feldbusse! 39 35. Anlagensteuerung! 40 36. Regler mit Anzeige! 48 37. Topologie-Erkennungsdienst! 50 38. Vorfahrt für Prozessdaten! 53 39. Speicherprogrammierbare Steuerung (SPS)! 54 40. Feldbus! 55 41. Ablaufwarteschlange! 59 42. Verfahrene Situationen! 60 43. Task-Synchronisation! 61 44. Vernetzter Feldbus! 62 45. CAN Open als Feldbus! 63 S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 3/74 Informatik Masterstudium Computing & Communications, PM2100.1 1. Eine Nachricht schicken Wähle eine Entfernung zwischen den Standorten A und B, sowie eine Ausbreitungsgeschwindigkeit für elektromagnetische Wellen im Medium zwischen A und B. Wie lange benötigt ein Signal für die Entfernung zwischen A und B (Signallaufzeit, engl. propagation delay)? Wähle eine Größe der Nachricht (in Bytes), sowie eine Übertragungsrate (in bit/s). Wie lange benötigt die Übertragung der Nachricht bei A (Übertragungsdauer, engl. transmission delay)? Wie lässt sich die Übertragungsdauer minimieren? A B Message Acknowledge ! Den Empfang der Nachricht bestätigt B durch Senden einer Quittung zurück an A (acknowledge). Unter der Annahme einer Nachrichtenlänge (in Bytes) für die Quittung, wie lange dauert es vom Senden der Nachricht von A bis zum Empfang der Quittung? Diskutiere den Einfluss der Verzögerungen durch Laufzeit und Übertragungsrate für unterschiedliche Anwendungen mit unterschiedlich großen Nachrichten: interaktive Spiele, Telefongespräche, SMS, Datei-Transfers, E-Mail. Welchen Einfluss haben Verzögerungen auf die Übertragung von Audio (Musik) und Video? Wie würde man Sonntag, 5. Februar 12 in der Praxis Nachrichten mit Daten von A nach B transportieren? Können auf dem Weg von A nach B Nachrichten durch Störungen verfälscht werden bzw. Nachrichten verloren gehen? Was tut man für solche Fälle und in solchen Fällen? 2. Rahmenprotokoll Eine Datenmenge von insgesamt 10 000 Bytes sollen über eine Luftschnittstelle übertragen werden, die eine Bitfehlerrate von 10E-4 hat. Hierzu wird ein Rahmenprotokoll verwendet (HDLC Protokoll (High Level Data Link Control) mit folgenden Parametern: • Fall I): Jeder Rahmen fasst 128 Bytes an Daten • Fall II): Jeder Rahmen fasst 512 Bytes an Daten In beiden Fällen gilt: Sofern bei der Übertragung ein Fehler passiert ist (was der Empfänger mit Hilfe einer Prüfsumme festgestellt kann), sollte der betroffene Rahmen nochmals gesendet werden. Für das Übertragungsprotokoll ist pro Rahmen ein Nachrichtenkopf (engl. header) von 6 Bytes vorgesehen. Frage 1: Wie viele Rahmen müssen in den beiden Fällen I und II insgesamt übertragen werden (inklusive der wegen Übertragungsfehlern wiederholten Rahmen)? S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 4/74 Informatik Masterstudium Computing & Communications, PM2100.1 Frage 2: Wie lange dauert die Übertragung in beiden Fällen über einen Kanal mit einer Übertragungsrate von 32000 bit/s (Laufzeiten für Quittungen und Wartezeiten nicht eingerechnet)? Frage 3: Welcher der beiden Fälle ist in Bezug auf die insgesamt pro Sekunde transportierte Menge an Nutzinformationen effizienter? Frage 4: Welcher der beiden Fälle wäre effizienter, wenn die Bitfehlerrate 10E-6 beträgt? Lösungen: Frage 1 Fall I): • Benötigte Rahmen = 10000 / 128 = 78,125 => 79 Rahmen • Anzahl Bytes = 10000 + 79 * 6 = 10474 Bytes • Anzahl Bits = 10747 * 8 = 83792 bit • Anzahl Fehler = 83792 * 10E–4 = 8,38 => 9 fehlerhafte Rahmen Anzahl benötigter Rahmen (inkl. fehlerhafter Rahmen) = 79 + 9 = 88 Rahmen Frage 1 Fall II): • Benötigte Rahmen = 10000 / 512 = 19,53 => 20 Rahmen • Anzahl Bytes = 10000 + 20 * 6 = 10120 Bytes • Anzahl Bits = 10120 * 8 = 80960 bit • Anzahl Fehler = 80960 * 10E–4 = 8,1 => 9 fehlerhafte Rahmen! Anzahl benötigter Rahmen (inkl. fehlerhafter Rahmen) = 20 + 9 = 29 Rahmen Frage 2 Fall I) • Anzahl Bytes (inkl. fehlerhafter Rahmen) = 10474 + 9 * (128 + 6) = 11680 Bytes • Anzahl Bits = 11680 * 8 = 93440 bit Übertragungsdauer = 93440 / 32000 = 2,92 s Frage 2 Fall II): • Anzahl Bytes (inkl. fehlerhafter Rahmen) = 10120 + 9 * (512 + 6) = 14782 Bytes • Anzahl Bits = 14782 * 8 = 118256 bit Übertragungsdauer = 118256 / 32000 = 3,7 s Frage 3 Fall I): • Bytes (eff.) pro Sekunde = 10000 / 2,92 = 3424,66 Bytes pro Sekunde • Bits (eff.) pro Sekunde = 3424, 66 * 8 = 27397,28 bit/s (eff.) S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 5/74 Informatik Masterstudium Computing & Communications, PM2100.1 Frage 3 Fall II): • Bytes (eff.) pro Sekunde = 10000 / 3,7 = 2702,70 Bytes pro Sekunde • Bits (eff.) pro Sekunde = 2702, 70 * 8 = 21621,6 bit/s (eff.) Antwort auf Frage 3: Fall I ist effizienter. Frage 4) Bei einer Bitfehlerrate von 10-6 erhält man in beiden Fällen einen fehlerhaften Rahmen (siehe Antworten zu Frage 1). Frage 4) Fall I: • Anzahl der Bytes (inkl. fehlerhafte Rahmen) = 10474 + 1 * (128 + 6) = 10608 Bytes • Anzahl der Bits = 10608 * 8 = 84864 bit Übertragungsdauer = 84864 / 3200 = 2,65 s Frage 4 Fall II: • Anzahl der Bytes (inkl. fehlerhafte Rahmen) = 10120 + 1 * (512 + 6) = 10638 Bytes • Anzahl der Bits = 10638 * 8 = 85104 bit Übertragungsdauer = 85101 / 3200 = 2,66 s Antwort auf Frage 4): Beide Rahmengrößen sind vergleichbar effizient. 3. Netztopologie Beschreibe die in der folgenden beiden Abbildung gezeigten Netzwerke. Worin bestehen die Unterschiede? Was könnte man unter dem Begriff „Topologie“ verstehen? Nachrichten über das Netz schicken: Wähle zwei Endpunkte A und B für den Versand einer Nachricht. Auf welchem Weg gelangt die Nachricht von A nach B? Wie kann das Netz die Nachricht eigenständig von A nach B befördern? Wie wird eine Route ausgewählt? Wie geht man vor, wenn mehrere Wege von A nach B führen? S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 6/74 Informatik Masterstudium Computing & Communications, PM2100.1 S-Bahn-Liniennetz Favoritepark Asperg Benningen (N) Marbach (N) Freiberg (N) Ludwigsburg Zuffenhausen Korntal Neuwirtshaus (Porscheplatz) Feuerbach U6 U13 Eckartshaldenweg (Pragfriedhof) Leonberg U U1 2 1 U4 U1 Wasenstr. Hedelfingen Waldau U5 U6 U7 U12 Weinsteige 5 2 U1 U1 Degerloch Winterbach Heumaden Leinfelden Gärtringen Echterdingen Nufringen Schorndorf Plochingen Oberaichen Ehningen Weiler Zell Altbach U8 U8 Möhringen Freibad Möhringen U5 U6 U3 U5 U8 U12 U6 U8 U12 Geradstetten Oberesslingen U7 Waldfriedhof Vaihinger Str. Grunbach Esslingen (N) Ruhbank (Fernsehturm) U7 Rohr Goldberg Hulb Heslach Vogelrain U1 U3 Böblingen U4 U9 Beutelsbach Mettingen 4 U1 Bopser Vaihingen Endersbach 5 Südheimer Platz Stetten-Beinstein Obertürkheim U1 Österfeld Sindelfingen NeckarPark (Stadion) Wangener-/ Landhausstr. Olgaeck Marienplatz U1 Maichingen 3 Universität Charlottenplatz Rommelshausen Untertürkheim U4 U4 14 U2 1 U U1 Schwabstraße Fellbach Bergfriedhof Staatsgalerie Neustadt-Hohenacker Waiblingen Neckarpark Fellb. Lutherkirche (Mercedes-Benz) Stöckach U9 U6 2 U5 7 U1 5 U U1 Feuersee Bad Cannstatt Mineralbäder U1 Stadtmitte Botnang Winnenden Schwaikheim Nürnberger SommerStr. rain Wilhelmspl. 3 Hauptbahnhof 1 U1 4 U9 U1 Malmsheim U1 Renningen Nellmersbach Neugereut Rosensteinbrücke Berliner Türlenstr. Platz U9 U11 U14 Hölderlinplatz Gerlingen Löwentor Nordbahnhof U5 U6 U7 U12 U1 5 Killesberg Giebel Rutesheim Maubach Neckargröningen Remseck Pragsattel 3 U1 15 U Höfingen Hohensteinstr. U8 Weilimdorf U U7 6 Ditzingen Backnang Mönchfeld U1 U1 U4 U U2 1 9 U1 4 Stammheim Kornwestheim U4 U13 Tamm Bietigheim Weil der Stadt BAHN vvs Wernau (N) Wendlingen (N) Fasanenhof Schelmenwasen Plieningen Nellingen Ostfildern Ötlingen Flughafen / Messe Herrenberg © VVS 12.2011 4. Filderstadt im Auftrag des Kundendialog DB Regio Baden-Württemberg: 0711 2092 7087 Kirchheim (T) www.bahn.de/s-bahn-stuttgart Bahn Stuttgart Verfügbarkeit Ein experimentelles System (File Server) hat eine Verfügbarkeit (engl. availability) von 80%, d.h. in 20% der Zeit steht das System still und funktioniert nicht. Um die S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 7/74 7.1 Part One (Chapters 1, 3, and 6) 222 7 Exercises 7.1.1 System Availability Informatik Masterstudium Computing & Communications, PM2100.1 An experimental system (file server) has an availability of 80%, i.e. the average down time is 20%. In order to improve the system availability, it is foreAlice Mobile Network Operator seen to replicate the data onsoll a system of the same kind andSystem to operate bothbetrieben Systemverfügbarkeit zuthe verbessern, ein zweites, baugleiches parallel in parallel. werden, so, dass alle Daten auf beiden Systemen verfügbar sind. File Server 1 System File Server 2 whereIs(UserID)? you are here Request: getLocation(UserID) Response: coordinates(UserID) GIS Frage 1: Wie groß die Verfügbarkeit des Gesamtsystems? Question 1.1: What is the over all system availability after this measure? Frage 2: Bei hochverfügbaren Systemen wie z.B. in den Telefonnetzen wird die Verfügbarkeit Location Question 1.2: Service SystemsProvider in telecommunication networks are called “carrier mit 99,999% angegeben (die sogenannten „5 Neunen“). Wie viele Minuten im Jahr ist ein grade” if their availability is better than 99,999%, i.e. their downtime is solches System below onenicht hourverfügbar? per year. In order to achieve this figure, how big needs the availability of System a single server Frage to be in configuration Frage 3: Wenn ein6.2: solches (siehe 2) the mitreplicated Servern wird, deren Question Describe a procedure, which makes the relationaufgebaut between user shown above? and service provider an anonymous by using UseVerfügbarkeit nur 99% beträgt, wie viele one solche Serverpseudonyms werden imasParallelbetrieb rIDs. benötigt? 5. 7.1.2 Mobile Terminating Call 7.1.7 Distributed Computing Distributed When calling aComputing mobile subscriber, the network elements communicate with eachWithin other according toobjects the scenario as found shown in the figure. A mobile network a system, may be and utilised their object refeWithin a system, objects may be found and utilised by theirby object references within the operator is estimating the number of transactions and volume of data whichbetis rences within the address space a process. When distributing objects address space of a process. When distributing objects bet- ween systems, object references used forsystems, this procedure. Such an estimation represents a foundation the basobject also required to locate and usefor remote obare also ween required to locate andreferences use remoteare objects. dimensioning of the network elements. jects. For his network, the network operator is using the following assumptions: System 2 System System 1 - 50 million subscribers Stack Heap Object Reference Middleware Middleware Object Reference 7.1: What required in ordera to reference a remote object? Question 1:Question What is required in is order to reference remote object? • O Network Networkaddress addressofofthe theremote remotesystem system • Serial number of the remote system. O Serial number of the remote system. • Communication end points (port and network protocol) O Communication end points (port and network protocol) • Object Name O Object Name S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 8/74 System 2 System 1 Informatik Masterstudium Computing & Communications, PM2100.1 y=f1(a,b) 7.1 Part One (Chapters 1, 3, and 6) y=f1(a,b) System 2 f1: type a : type b : type y=f1(a,b) System 1 f1: type a : type b : type y=f1(a,b) 223 Middleware Question 7.2: System 1 would like to invoke a method from a remote object. To do (see figure)Middleware takes care about f1:this, typethe middleware in each systemf1: type packaging and translation of the request for remote method invokation a : type a : type What exactly needs to be defined by the middleware for the exchange of b : type b : type messages between the systems (pls. mark items of the list): ! O Formats of messages exchanged Question 2: System 1 would like tolike invoke a method from from a remote object. To do this, the Question 7.2: System 1 would to invoke a method a remote object. O Data types of messages and message elements middleware each system (see takes care packaging and about translation of the To do this,inthe middleware infigure) each system (seeabout figure) takes care packaging and translation of the request for remote method invokation O Layer within the OSI-Reference Model. request for remote method invokation What exactly needs to be defined by the What exactly needs to be defined by the between middleware for the exchange middleware for the exchange of messages the systems (pls. markofitems of the Question 7.3: The figure of questrion 7.2 above only shows the request of a messages between the systems (pls. mark items of the list): list):method invokaktion for a method with name f1() and the parameters a,b. Formats ofthe messages exchanged O •Formats of messages exchanged Supplement response of system 2, which implements the correspon• ding Data types of messages and message elements method and returns y=f1(a,b) in the figure below. O •Data types of messages and message elements Layer within the OSI-Reference Model. O Layer within the OSI-Reference Model. System 2 System 1 Question 7.3: The figure of questrion 7.2 above only shows the request of a method invokaktion for a method with name f1() and the parameters a,b. Supplement the response of system 2, whichy=f1(a,b) implements the correspony=f1(a,b) ding method and returns y=f1(a,b) in the figure below. System 1 y=f1(a,b) System 2 Middleware y=f1(a,b) ! Question 3: The figure of questrion 2 above only shows the request of a method invokaktion for a method with name f1() and the parameters a,b. Supplement the response of system 2, which Middleware implements corresponding method and returns y=f1(a,b) in the figure below. 7.1.8 theService Inventory A mobile network operator plans to generate a plattform for any kind of ser- 6. vices Service based onInventory his network infrastructure. To do this, he makes a Service In- ventory available to all service providers and service users. Service providers A mobile network operator plans to generate a plattform for any kind of services based on may use the Service Inventory to publish object references to their services his network infrastructure. To do this, he makes a Service Inventory available to all service with unique identifiers (UUIDs). The object references point to the servers, 7.1.8 Service Inventory providers service users. Service providers may usenetwork the Service Inventory publish object whichand actually provide the service. The mobile operator onlytoprovireferences to their services with unique identifiers (UUIDs). The object references point to the A mobile plans to generate a plattform for any kind only of serservers, whichnetwork actually operator provide the service. The mobile network operator provides the vices based on services. his network infrastructure. Torefernences do this, he to makes a Service In- in their inventory for the Users may generate the Service Invontory ventory available to all service and service users. Service mobile sets. The figure shows the providers relations between entries in the mobileproviders set (personal name may use the Service Inventory to publish object references to their services space), inventory numbers and object references (Service Inventory). with unique identifiers (UUIDs). The object references point to the servers, which actually provide the service. The mobile network operator only provi- S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 9/74 Informatik Masterstudium Computing & Communications, PM2100.1 Question 1: A service provider uses as object references the connectors of the Generic Connection Framework of the Java 2 Micro Edition (J2ME GCF). This kind of object reference includes network address, protocol, ports and object name in a generalised way into one string, which is handed as a parameter to a method, which opens a connection: Connector.open("<Protocol>:<Address>;<Parameters>") Some examples for the usage of the GCF connector: (1) Connector.open("http://www.dhbw-stuttgart.de") (2) Connector.open("socket://162.234.100.200:8090") (3) Connector.open("comm:0;baudrate=9600") (4) Connector.open("file:/hiScore.dat") (5) Connector.open("phone:/+4917123456789") Which of the examples from the list point to local references (pls. include a short explanation)? Question 2 Another service provider is offering services based on Web-Services. What would this service provider use as object reference? Question 3: One of the service providers offers remote chess as service. Alice and Bob may deposit their game of chess at a given UUID. The server of the service provider keeps track of the game and who’s turn it is.One The mobile sets need 7.1 Part (Chapters 1, 3,a specific and 6) client application which matches the ser- ver application. Name some of the ways to provide such client applicati- ons for users. Question 4: The local pharmacies would like to use the Inventory Server entering a reference which is on duty over night and during week-ends. Describe, howbythis to the homepage of the respective pharmacy, which is on duty over night and during project may be implemented. weekends. Describe, how this project may be implemented. 7.1.9 Name, Address and Identity 7. Names, Adresses und Identities Name N Entity 1 Identity M Address Question: theshown relations in theand figure andsome give exsome examples for Question 9: Describe theDescribe relations in shown the figure give and identities for usersfor of mobile networks, of regular telephone amples adresses for adresses and identities users of mobileusers networks, users of networks and domains.networks and web domains. regular web telephone 7.1.10 Name Spaces S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 Name spaces may be represented as labelled, directed graphs. Followingthe labels of such a diagram results in path descriptions in this general form: 10/74 225 Informatik Masterstudium Computing & Communications, PM2100.1 8. M Address Question 9: Describe the relations shown in the figure and give some examples for adresses and identities for users of mobile networks, users of telephone networks and web domains. Name regular Spaces (Namensräume) Name spaces may be represented as labelled, directed graphs. Following the labels of such a diagram results in pathSpaces descriptions in this general form: 7.1.10 Name N:<label-1><label-2> ...<label-m> Name spaces may be represented as labelled, directed graphs. Followingthe where N indicates starting point in (relative path) or theinroot the name graph. Such labels of such athe diagram results path descriptions thisofgeneral form: representations are familiar from directories in a file system. N:<label-1><label-2> ...<label-m> where N indicates the starting point (relative path) or the root of the name The graph shown in the following figure represents a hypothetical path in the name space graph. Such representations are familiar from directories in a file system. of the directory Theservice graph X.500. shown in the following figure represents a hypothetical path in ! the name space of the directory service X.500. C=DE O = Uni Stuttgart ! C : Country O : Organisation OU : Organisation Unit CN : Common Name OU = Informatik CN = Info_Server Host_Name = Andromeda 226 ! Host_Name = Gemini 7 Exercises Question 1: A file system has the following paths: /home/files/drafts Question 10.1: A file system has the following paths: /home/files/drafts /home/files/publications /home/files/publications /games/tetris /games/tetris /games/chess /games/chess /publications /publications Supplement the corresponding name in the diagram: Supplement the corresponding name graph in thegraph diagram: Diagram for question 10.1 publications ! Question 2: The Java 2 Microedition supports (among others) the following packages: S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 Question 10.2: The Java 2 Microedition supports (among others) the following packages: 11/74 Informatik Masterstudium Computing & Communications, PM2100.1 java.lang java.util 7.1 Part One (Chapters 1, 3, and 6) javax.microedition.lcdui javax.microedition.io javax.microedition.lcdui.games javax.microedition.media.control javax.microedition.midlet Diagram for Question 10.2 javax.microedition.pki javax.microedition.rms 7.1 Part One (Chapters 1, 3, and 6) 227 Supplement the graph of the corresponding name sapce in the diagram: Diagram for Question 10.2 Question 10.3: The Domain Name System of the WWW also has a name space. Supplement the following hypthetical path in the diagram below Question 3: The Domain Name System the WWW also has name space. Supplement the Question 10.3: The Domain Name of System of the WWW alsoahas a name “www.ikr.uni-stuttgart.de/index.html”: ! ! following hypthetical path the diagram belowpath “www.dhbw-stuttgart.de/index.html”: space. Supplement thein following hypthetical in the diagram below “www.ikr.uni-stuttgart.de/index.html”: Diagram for Question 10.3 Diagram for Question 10.3 com com edu edu org ... ! deorg de ... ! ! 9. Clients and Servers Explain the difference between a client and a server. 7.1.11 CORBA and RMI S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 7.1.11 CORBA and RMI 12/74 Informatik Masterstudium Computing & Communications, PM2100.1 10. Threads and Processes Threads are flows of control within the address space of a process. Question 1: What happens, when a violation of address space occurs within a thread? Question 2: A part of the application is moved to a remote system. What happens, when a violation of the address space happens on the remote system? 11. Memory Leak A badly written application keeps allocating memory by generating objects without eliminating all of them after they are not needed any more. Question 1:The user of a desktop system which extends memory by a hard disk is running such an application and notices, that the system is continuously getting slower. Why? Question 2: What would happen on a mobile phone (whithout a hard disk) in the same situation? Question 3: The user of the deskttop system has learned to exit and re- start the application it this situation. How does this measure work? 12. Viruses and Trojan Horses Which kind of system allows to provide better protection against viruses and trojan horses: a monotasking operating system or a multitasking operating system (pls. indicate the reason). 13. Service Discovery How may a device discover services which are offered in a new environment and how can the device offer own services? Describe some general ways and mechanisms. 14. Bluetooth Describe how Service Discovery with Bluetooth works in principle. Explain, how an application which has been written by yourself may be discoverd on your device. 15. File-Sharing As shown in the figure, a file sharing network is organised in a way, that network nodes may escalate a message that they have received to other known network nodes. The figure shows two levels of escalation. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 13/74 30 7 Exercises Informatik Masterstudium Part Onein(Chapters 3, As&shown in the figure, a file sharing network7.1 is organised a way, that 1, netComputing Communications, PM2100.1 and 6) work nodes may escalate a message that they have received to other known network nodes. The figure shows two levels of escalation. streams shown in the figure. Supplement the figure. Level 2 Alice Bob Plain Text: Level 1 0101 1001 ........................ Cipher Text Random Text: 1001 0111 Random Text: 1001 0111 ! Question 36.2 The procedure is considered as extremely difficult to attack (i.e. analyse and crack). Why is this? 19.1: We take the recommend assumption, that each network node escalates a QuestionQuestion 19.1: We take the assumption, that each network node athe message to 100 Question 36.3: Do you Alice and Bob escalates to re-use same ranmessage to 100 other network nodes. How many levels of escalation are other network nodes. Howtimes? many levels of escalation are needed to address a total of 100 dom text several Explain your recommendation. to 0000 address a total of 100nodes? billion (i.e. 100 0000 million) network billionneeded (i.e. 100 million) network Question nodes? 36.4: Describe an appoximation of the procedure which utilises Question 19.2: to prevent escalation and how to avoid the Describe same typeways of random text endless generatorloops withinAlice and Bob. Question 19.2: Describe ways to prevent endless loops in escalation and escalation to spread to infinity. how to avoid escalation to spread to infinity. 7.1.34 IPSec 16. 7.1.20 IPSec CORBA and Web-Services Explain the “tunneling” of ecnrypted or non-encrypted IP packets and the Explain the “tunneling” of ecnrypted or non-encrypted IP packets and the corresponding While using CORBA, client-stub compiled from as a formal decorresponding privateaand public is address spaces, showninterface in the figure. private and public address spaces, as IDL-file. shown in Name the figure. finition which is contained in an an equivalent formal descrip- tion of the interface with Web-Services. Private IP Network (Intranet) Public IP Network (Internet) Private IP Network (Intranet) 7.1.21 Direct Provision of Client Applications Gateway Gateway An alternative to the tedious procedure of generating client-stub for client applications from formal descriptions is to provide the complete client application for loading and installation on the target client system. Compare both alternatives and indicate typical ares of application. IPpriv IPpriv IPpriv 7.1.22 A Sandbox IP for Software IPpub pub IPpriv IPpriv IPpub Explain the concept of a “sandbox” for loading and running software on a system and describe some of the components of such a concept. IP IPpub IPpriv data priv 7.1.23 Buffer Overflow data IPpriv data Why are “buffer overflows” not occuring with Java programs? 17. IP-VPN 7.1.35 IP-VPNs Explain the concept and areas of application of IP-VPNs. Explain the concept and areas of application of IP-VPNs. 7.1.36 Identity, Authentication, Authorisation Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 S. Rupp, 2014 14/74 Informatik Masterstudium Computing & Communications, PM2100.1 18. Collisions in Piconets While using the Bluetooth radio technology, devices may7.2 formPart piconets shown in theBook) Twoas(Complete figure. All devices on one piconet communicate using frequency hopping over a total of 79 channels (channel 0 to 78). In each piconet, one master (M) determines the hopping sequence of its piconet with all slaves follo- wing this hopping sequence. Also, only one device within a mitcanattransmit the same time. therethere are are no no collisions devices within one picopiconet at the sameThus, time. Thus, collisions of of devices within one piconet. net. M M M But what happens, if several piconetspiconets are operating the same room at the sameand at But what happens, if several are inoperating in theand same room time?the From the perspective of one piconet, how other piconets can operate in other the same time? From thegiven perspective of many one given piconet, how many pisameconets room forcan a given collission rate? The assumption is taken, that collisions happen every operate in the same room for a given collission rate? The assumptime, tion whenis any of the piconets in the room happen to usetime, the same channel, every piconet in the taken, that collisions happen every when any ofi.e.the piconets is able to interfere with each other piconet. room happen to use the same channel, i.e. every piconet is able to interfere Question What other is the piconet. probability for 2 piconets to operate without collisi- ons? (Hint: Each with1:each piconet runs all channels in probability random sequence, numberwithout of devices Question 1:79 What is the for 2irrespective piconets oftothe operate collisiin the piconet. What is the probability that 2 piconets incidently use the same channel? ons? (Hint: Each piconet runs all 79 channels in random sequence, irrespective What is the probability of not colliding when operating two piconets?) of the number of devices in the piconet. What is the probability that 2 piconets Question 2: What is thethe probability for not colloding when operting 3 pico- nets? Generalise the when incidently use same channel? What is the probability of not colliding term for the collisionfree operation of N piconets. operating two piconets?) QuestionQuestion 3: When a2: collision packet is lost need to bewhen retransmitted. The Whatoccurs, is the the probability forand notwill colloding operting 3 picoprobability calculatedthe so far justfor represents collision of one slot. In Bluetooth, master and nets? Generalise term the collisionfree operation of N piconets. slaves use alternating slots for transmission, one containing confirmation of receipt. If the to be Question 3: When a collision occurs, the packet is lost and will need packet is lost during transmission, it will need to be retransmitted. If the confirmation of retransmitted. The probability calculated so far just represents collision of one receipt is lost in a collision, the packet will also be retransmitted. Adapt the probability for slot. In Bluetooth, master and slaves use alternating slots for transmission, one collisionfree operation accordingly. containing confirmation of receipt. If the packet is lost during transmission, it Question If weto take assumption, that collision rate (probability of col- lisions) is will4:need be the retransmitted. If the confirmation of receipt is lost ofin50% a collision, acceptable, how many (N) piconets can operate in the same room? the packet will also be retransmitted. Adapt the probability for collisionfree Answer 1: When 79 channels are used and piconet 1 is transmitting on one of the channels (e.g operation accordingly. channel 0), there a 1 to 79 chance that piconet 2that is transmittingrate on the same channelof colQuestion 4: Ifis we take the assumption, collision (probability at the same time. Thus, the probability for not col- liding between 2 piconets is: P2 = 1 lisions) of 50% is acceptable, how many (N) piconets can operate in the same 1/79. room? Answer Answer 2:With 3 piconets, the79 chance that neither the second or third picowill collide withon one 1: When channels are used and piconet 1 isnettransmitting the first piconet corresponds to the chance, that the third piconet will not collide with2 the of the channels (e.g channel 0), there is a 1 to 79 chance that piconet is transmitting on the same channel at the same time. Thus, the probability for not colliding between 2Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 piconets is: P2 = 1 - 1/79. S. Rupp, 2014 15/74 Answer 2:With 3 piconets, the chance that neither the second or third piconet will collide with the first piconet corresponds to the chance, that the third piconet will not collide with the first two piconets (answer 2), i.e. P = (1 - Informatik Masterstudium Computing & Communications, PM2100.1 first two piconets (answer 2), i.e. P3 = (1 - 1/79)2. In general terms, the probability for N piconets to operate without col- lission is PN = (1 - 1/79)N-1. Answer 3: The probability of N piconets not colliding in both the transmit slot and the receive slot is: PN = (1 - 1/79)2N-2. Answer 4: With a collision rate of 50%, PN = 0,5 so N in the equation from answer 3 indicates the number of piconets able to cooperate under thee condi- tions in the same room: ! 0,5 = (1 - 1/79)2N-2 ! log (0,5) = (2N-2) log (1-1/79) ! N = 1 + log(0,5)/2 log(1-1/79) = 28,2. Hints: This problem corresponds to what is also called the “birthday pro- blem”. Imagine a number of N people in the same room.There are two questi- ons concerning “collsions of birthdays”: 1) You are one of the people in the room. What is the probability, that no one else has birthday the same day as you? With 365 possible timeslots (days per year), the answer follows the same logic as above. Pls. note, that this is all about collisions between one selected person and any one else. It is well possible, that two or more other peoples ha- ve colliding birthdays. 2) What is the probability, that all people in the room have different birthdays? The solution follows the same logic, but now we need to look at collisions between any of the N members, not just one selected member agains anyone else. Go step by step startring with N=2, then N=3 in order to find out the right scheme, and then do numerical simplifications for given values. There are more exercises which will make use of this to follow. 7.2 Part Two (Complete Book) 239 19. Protocol Overhead in VoIP In order transmitVoice Voiceover over IP IP packets, voice In order to to transmit voice samples samples are are digitised, digitised,coded co- and put as payload with the packed Thepacked ration of the header ded andinto putIPaspackets, payloadtogether into IP packets, togetherheader. with the header. The information ration of the header information to the payload is called packet overhead. to the payload is called packet overhead. Vers. Traffic Cl. Flow Label Payload Lenght Next H. Hop Limit 10 ms Source Address Codec Destination Address header voice IPv6 header Question 1: Calculate the packet overhead of voice, which is digitised at a sampling rate of 8 kilo samples per second and coded with 8 bits per sample (which corresponds to a continuous bitrate of 64 kBits/s), under the condition, S.that Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 each packet is 10 ms long and that the IP header is 40 Bytes (which corresponds to the IPv6 header shown in the figure). Further overhead which is introduced by higher protocol layers (such as RTP or UDP) for time-stamps and packet sequence numbers is neglected. 16/74 Informatik Masterstudium Computing & Communications, PM2100.1 Question 1: Calculate the packet overhead of voice, which is digitised at a sampling rate of 8 kilo samples per second and coded with 8 bits per sample (which corresponds to a continuous bitrate of 64 kBits/s), under the condition, that each packet is 10 ms long and that the IP header is 40 Bytes (which corresponds to the IPv6 header shown in the figure). Further overhead which is introduced by higher protocol layers (such as RTP or UDP) for time-stamps and packet sequence numbers is neglected. Question 2: Calculate the packet overhead under the condition, that before packaging, voice is compressed from 64 kbits/s to 8 kbits/s. What is the total amount of data to be transmitted per second? 20. Shopping carts A super market has one check-out desk in service. One check-out desk can handle 6 customers per minute (on average). At the busy hour, there are 10 customers per minute (on average) arriving with their shopping carts at the check-out. Question 1: What will happen? Question 2: The management immediately reacts to the situation and opens a second checkout desk. How many customers can now be handled with 2 check-out desks? Explain, why the service rate will always need to be higher than the arrival rate and why a utilisation factor of 1 (service rate equals arrival rate) cannot be achieved. Question 3: Same situation as in question 2 (i.e. 2 check-out desks in operation). Under the assumption, that customers are driven to the check-out according to a Poisson-type of process, how many customers are in the system (in the queue and being served) on average? 21. Output Buffer At the output interface of a system, messages are exchanged with another network element. A buffer is used to queue messages until they have been transmitted over the communication channel. The system generates 10 transactions per second. For each transaction, a message is send to the output buffer. The message size is 600 Bytes. Frage: Calculate the utilisation factor and the average number of messages in the system (buffer plus being served) for the following two cases: 1) the channel provides a bitrate of 64 kbits/s 2) the channel provides a bitrate of 10 Mbits/s 22. Relations at Examination Time The class diagram below describes relation at the time of the examination. Read and explain the figure. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 17/74 242 7 Exercises The class diagram below describes relation at the time of the examination. Read and explain the figure. Informatik Masterstudium The class diagram below Computing & Communications, PM2100.1 describesAggregation relation at(“has the a”) time of the examination. Read and explain the figure. Participant Generalisation (“is a”) Aggregation (“hasExamination a”) takes part +time * +date Examination +location takes part +name Participant Generalisation (“is a”) +name +time terminate() +date +location * Student Teacher -immatriculno: int Student boolean -confident: terminate() Teacher -immatriculno: int writes think() -confident: boolean solves write() Composition writes think() terminate() solves write() Composition Problem Task +number * Problem +text +titel Task +date terminate() +titel +date Association * Association +number +text * Question * +questionno Question +text +questionno +text More specifically, the examination for Telecommunication Software Engineering willspecifically, look like this: More the examination for Telecommunication Software More specifically, the examination for Telecommunication Engineering will look like this: Engineering will look like this: Task Problem Task +titel +date +titel 2 2 +date Problem +number +text +number +text Question * {< 8}* {< 8} Question +questionno +text +questionno +text 23. Evaluation of Results 7.2.11 Evaluation ofareResults 7.2.11 Evaluation Results Following examination, the resultsof evaluated by the teacher and made available to the students by using the immatriculation numbers as reference. Also the overall results examination, the are evaluated by the themay teacher and made (average,Following standard deviation) are evaluated and made available, so everone find out his Following examination, theresults results are evaluated by teacher and made individual position to in to thethe results. Theby corresponding classes and relations are shown inreference. the available the students numbers available students byusing usingthe the immatriculation immatriculation numbers asasreference. figure.Also the overall results (average, standard deviation) are evaluated and made Also the overall results (average, standard deviation) are evaluated and made S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 18/74 7.2 Part Two (Complete Book) Informatik Masterstudium Computing & Communications, PM2100.1 available, so everone may find out his individual position in the results. The corresponding classes and relations are shown in the figure. 7.2 Part Two (Complete Book) Student available, so everone may find out his individual position in the results. The corresponding classes and relations are shown in the figure. reads Student IndividualScore immatriculno: int reads totalPoints totalPointsAchieved QuestionNo * IndividualScore maxPoints pointsAchieved QuestionNo countPoints() immatriculno: int * totalPoints totalPointsAchieved maxPoints evaluates pointsAchieved Teacher countPoints() evaluates Teacher assignPoints() Question 1: Extend the diagram above to allow theassignPoints() evaluation of the average results ofQuestion: all students total above score)toand thetheevaluation of the the average overallresults stan- of all Extend(i.e. the the diagram allow evaluation of Question 1: Extend the diagram above to allow the evaluation of the average dard deviation. The total score bethe accessible all overall students. students (i.e. the total should score) and evaluation to of the standard deviation. The results of all students (i.e. the total score) and the evaluation of the overall stanSolution: total score should be accessible to all students. dard deviation. The total score should be accessible to all students. Solution: Solution: Student Student reads reads reads reads IndividualScore IndividualScore immatriculno: int immatriculno: int totalPoints totalPoints totalPointsAchieved totalPointsAchieved QuestionNo * QuestionNo * maxPoints maxPoints pointsAchieved pointsAchieved countPoints() countPoints() * * 1 1 TotalScore evaluates evaluates Teacher Teacher TotalScore average average standardDeviation standardDeviation assignPoints() assignPoints() calcAverage() calcAverage() calcDeviation() calcDeviation() Question 2: The diagram above represents a class diagram. Show the relations between the IndividualScore, TotalScore and QuestionNo in an object diQuestion 2: The diagram above represents a class diagram. Show the relatiagram with instancesÜbungen_Kommunikationssysteme_PM_2001_1_Teil_2 for 3 students (with imatriculation numbers 37, 56, and 19/74 S. Rupp, 2014 ons between the IndividualScore, TotalScore and QuestionNo in an object di89) and 2 questions (QuestionNo) per IndividualScore. agram with instances for 3 students (with imatriculation numbers 37, 56, and 89) and 2 questions (QuestionNo) per IndividualScore. 2 44 Informatik Masterstudium Computing & Communications, PM2100.1 Question 2: The diagram above represents a class diagram. Show the relations between the IndividualScore, TotalScore and QuestionNo in an object diagram with instances for 3 7 Exercises students (with imatriculation numbers 37, 56, and 89) and 2 questions (QuestionNo) per IndividualScore. Solution (including some arbitrarily chosen valuesvalues for attributes): Solution (including some arbitrarily chosen for attributes): :TotalScore average= 74 standardDeviation= 8 :QuestionNo :IndividualScore maxPoints= 40 pointsAchieved= 26 immatriculno= 37 totalPoints= 100 totalPointsAchieved= 56 :QuestionNo maxPoints= 60 pointsAchieved= 30 :QuestionNo :IndividualScore maxPoints= 40 pointsAchieved= 36 immatriculno= 56 totalPoints= 100 totalPointsAchieved= 78 :QuestionNo maxPoints= 60 pointsAchieved= 42 :QuestionNo :IndividualScore maxPoints= 40 pointsAchieved= 40 immatriculno= 89 totalPoints= 100 totalPointsAchieved= 88 :QuestionNo maxPoints= 60 pointsAchieved= 48 3: How the same as instances as in3 question 3 look like(such in ta-as tables QuestionQuestion 3: How would thewould same instances in question look like in ta- bles bles (such as tables in a relational data base)? in a relational data base)? Solution: Classes thanslate into rows of a table (i.e. relations), objects popuSolution: Classes rowsThis of a table (i.e. objects populate the table late the table (i.e. thanslate representinto tuples). results in relations), the following structure: (i.e. represent tuples). This results in the following structure: TotalScore average standardDeviation 74 8 IndividualScore immatricul total no Points totalPoints Achieved Question max No Points Question max Points Points Achieved No Points Achieved 74 100 56 1 40 26 2 60 30 56 100 78 1 40 36 2 60 42 89 100 88 1 40 40 2 60 48 S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 Question 4: In C++ a class can be represented in code as shown in the figure. 20/74 Question 3: How would the same instances as in question 3 look like in tables (such as tables in a relational data base)? Informatik Masterstudium Classes thanslate into rows of a table (i.e. relations), objects popuComputing &Solution: Communications, PM2100.1 late the table (i.e. represent tuples). This results in the following structure: TotalScore average standardDeviation 74 8 IndividualScore immatricul total no Points totalPoints Question max No Points Achieved Question max Points Points Achieved No Points Achieved 74 100 56 1 40 26 2 60 30 56 100 78 1 40 36 2 60 42 89 100 88 1 40 40 2 60 48 7.2 Part Two (Complete Book) Question 4: In C++ a class can be represented in code as shown in the figure. How would the classs “IndividualScore” be expressed in C++ (for “IndividualScore” see the figure at the Question 4: In C++ a class can be represented in code as shown in the figure. beginning of this exercise above question 1)? How would the classs “IndividualScore” be expressed in C++ (for “Indiviclass Table { Integer column1; Integer column2; void setValue() { // ... (Implementation) } void getValue() { // ... (Implementation) } } Table column1: int column2: int setValue() getValue() dualScore” see the figure at the beginning of this exercise above question 1)? 24. Service Discovery A Service Provider plans to offer services, which are accessible via Blue- tooth access 7.2.12 Service Discovery points. Access is possible from personal computers (laptops, PCs), but the most popular devices are supposed to be mobile phones (smart- phones). The Bluetooth access points A Service Provider plans to offer services, which are accessible via Bluerepresent Server devices, the mobile phones represent Client devices (see Figure below). tooth access points. Access is possible from personal computers (laptops, but the most popular devices are supposed to be mobile phones (smartPart PCs), 1 phones). The Bluetooth access points represent Server devices, the mobile For both the mobile phone and the access point, a software application needs to be phones represent Client devices (see Figure below). developed. The figure below shows the design of the Bluetooth access point (Server device) and the mobile phone (Client device). Part 1 For both the mobile phone and the access point, a software application needs to be developed. The figure below shows the design of the Bluetooth access point (Server device) and the mobile phone (Client device). Client device S. Rupp, 2014 Client application Server device Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 Server application 21/74 2 Part 1 both the mobile phone and the access point, a software application needs InformatikFor Masterstudium Computing Communications, to be& developed. The PM2100.1 figure below shows the design of the Bluetooth access point (Server device) and the mobile phone (Client device). Client device Server device Client application Service discovery Server application Service access Service registration Bluetooth stack SDP client Bluetooth stack Service Discovery Protocol SDP server SDDB Service record QuestionQuestion 1: Explain the components of the Server devicedevice and the de- vice 1: Explain the components of the Server andClient the Client de- (i.e. their viceand (i.e.how their function andNote: how they Note: SDP: ServiceSDDB: Dis- Service function they interact). SDP:interact). Service Discovery Protocol, Discovery Data Base. Question 2: Indicate the sequence, in which the Server application and Cli- ent application use the functions which are provided by the Bluetooth stack and explain why this sequence is used. Part 2 The figure below shows the life cycle of a Service Record on the Service Discovery Data Base (SDDB). The Server Application controls the complete process. The Service Record is generated by a pre-fabricated method of the Connector type of object, and is finally written to the SDDB. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 22/74 Part 2 The figure below shows the life cycle of a Service Record on the Service Informatik Masterstudium Discovery Computing & Communications, PM2100.1 Data Base (SDDB). The Server Application controls the complete process. The Service Record is generated by a pre-fabricated method of the Connector type of object, and is finally written to the SDDB. Server Application : : Connector : open(ObjRf) : new notifier : : new rec : ServiceRecord : set service attributes return notifier : : acceptAndOpen() : create record like rec in SDDB : SDDBRecord : wait for client connection return connection : : close() : remove record from SDDB Question 3: Describe thein role of figure the objects in the and identify Question 3: Describe the role of the objects shown the andshown identify thefigure objects, which the objects, which are obviously pre-fabricated and are contained in the are obviously pre-fabricated and are contained in the API framework of the Server device. API framework of the Server device. Question 4: From the perspective of the Server Application,of the sequence diagramthecontains Question 4: From the perspective the Server Application, sequence different actions: service diagram registration, waiting and actions: handling a client connection, contains different service registration, waitingand and handling a client connection, and closing the connection.Identify the acclosing the connection.Identify the actions in the diagram and indicate, between which tions in the diagram and indicate, between which messages of the Server messages of the Server Application Alsoexplain explain what is happening Applicationthey they happen. happen. Also what is happening within within each of each of the actions. the actions. 5: Indicateshown which of shown in the diagram obviously Question 5: Indicate which ofQuestion the messages in the themessages diagram obviously correspond to correspond to methods contained in the API framework of the Server demethods contained in the API framework of the Server device. vice. Part 3 In the Bluetooth API framework described in this task, Object References are defined as a character string of the follow type: “<Protocol>:<Address>:<Port>;<Parameters>” For example “btspp://008003AB8901:1;authentication=true” indicates that the Bluetooth Serial Port Profile is used (btspp), that the device has “008003AB8901” as Bluetooth device address (BD_ADDR), that se- rial port 1 is used, and that authentication is required. This Object Reference is handed to the Connector.open method: Connector.open(“btspp://008003AB8901:1;authentication=true”) At the server side, this can be seen in the figure of part 2 (first method call “: open(ObjRf)”). The same Object Reference is also handed to the Connector.open method of the client. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 23/74 8 Informatik Masterstudium Computing & Communications, PM2100.1 Question 6: Explain the purpose of handing the Object Reference to the Connector.open method at the server side and at the client side. Part 4 7 Exercises After the client has succeded in connecting to the server and to invoke the Server application, it may exchange objects (files, messages etc) using the OBEX protocol. In terms of the API framework in use, OBEX represents a content type of connection over input streams However, serverthesettings requirerequire the client to submit to to authentication, and output streams. the However, server settings the client to submit authentication, beforebefore OBEX can be invoked authentication). authentication followsauthe OBEX can be(application invoked level (application level OBEX authentication). OBEX procedure shown in the figure the below. thentication follows procedure shown in the figure below. Client Server password password Random Generator Challenge append append Password+ Challenge Password+ Challenge Response MD5 Hash MD5 Hash compare [equal] indicate success [not equal] indicate authentication failed Question 7: Explain the procedure shown in the figure. Question 7: Explain the procedure shown in the figure. Question 8: The procedure is only possible under a specific prior condition. What is this Question The is only possible under a specific prior condition. condition and 8: how canprocedure it be realised? What is this condition and how can it be realised? Question 9: The diagram does not comply with standards for UML activity diagram. Question 9: The doesand not“compare” comply are withmissing. standards UML Synchronisation pointsdiagram at “append” Also,for there is noactivity starting diagram. Synchronisation points at “append” and “compare” are mispoint and no end point for the flow of control. sing. Also, there is no starting point and no end point for the flow of control. Change the figure to comply with UML standards. 25. UPNP Remote Control It is supposed, that the suppliers of Consumer Electronics and Domestic Ap- pliances 7.2.13 Personal Networks have agreed on a common interface for controlling devices in order to overcome the problem of the steadily growing number of individual remote controls in households. It is assumed, that A Service Provider plans to offer Personal Network Services. The services they plan to implement Universal Plug and Play as standard for service discovery and service should enable service subscribers to connect devices from their personal envicontrol. ronment to a Personal Network and to access their Personal Network from anywhere. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 24/74 Access is possible from personal computers (laptops, PCs), but the most popular device is supposed to be a mobile phone (smart phone). For mobile phones, the Service Provider plans to use Bluetooth access points (or Access Gate- It is supposed, that the suppliers of Consumer Electronics and Domestic Appliances have agreed on a common interface for controlling devices in order to Informatik Masterstudium overcome the problem of the steadily growing number of individual remote controls in households. It is assumed, that they plan to implement Universal Computing & Communications, PM2100.1 Plug and Play as standard for service discovery and service control. Part 1 Part 1 In Universal Plug and Play, devices are assumed to contain services. Devices and In Universal Plugmodel and Play, devices assumed to contain services. Deservices are required to follow the general shown in theare figure. vices and services are required to follow the general model shown in the figure. Device Service deviceType : String friendlyName : String manufacturer : String manufacturerURL : URL modelDescription : String modelName : String modelnumber : String modelURL : URL serialNumber : String UDN : String UPC : String urlBase : String presentatioURL : URL descriptionURL : URL serviceType : Stringl serviceID : String controlURL : URL eventSubURL : URL descriptionURL : URL 0 .. * 0 .. * Action StateVariable name : String sendingEvents : Boolean name : String dataType : String defaultValue : String allowedValues : Enumeration value : String 0 .. * Icon mimeType : String width : Integer height : Integer depths : Integer url : URL 0 .. * Argument returnValue : Boolean name : String direction : String value : String 1 related state variable Question 1: Explain the model for devices and services according to the figure. Question 1: Explain the model for devices and services according to the fiQuestion 2: In UPNP, actionsgure. of a service may be invoked by sending messages to the control URL of the service. The service “RemoteTvCtrl” of a TV Set-Top-Box supports Question 2: In UPNP, actions of a service may be invoked by sending the messages to the control URL of the service. The service “RemoteTvCtrl” of following actions: a TV Set-Top-Box supports the following actions: mute() (1) mute() setVolume(string Level), (2) setVolume(string Level), where the value of Level is betwhere the value of Level is between “0” and “10” ween “0” and “10” (3) getChannelNo(string ChanNo) getChannelNo(string ChanNo) Show the Actions and Arguments in an object diagram of the “Remo- teTvCtrl” service instance. Question 3: About states. If the “sendingEvents” attribute of the “StateVa- riable” is set “true”, the value of the “StateVariable” will be automatical- ly communicated to other devices, which subscribe to state changes. A technical alternative to Event Notifications would be explicit State Re- quests by invocation of actions. Explain the pros and cons of an automatic State Eventing versus explicit State Requests. Question 4: About service descriptions to generate clients. A Remote Con- trol may extract a formal description of the services offered by the device (XML document) by issuing a request to the “description URL” contai- ned in the Service object. What information will the service description need to contain in order to enable the generation of a corresponding cli-ent function in the Remote Control? S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 25/74 Informatik Masterstudium Computing & Communications, PM2100.1 Part 2 When a device enters a new environment, it needs to perform Service Dis- covery in order to find other devices. In UPNP, the device gets a network address (e.g. by DHCP), then sends a multicast discovery message to the net- work and waits for responses. In order to avoid collisions by having other de- vices reply at the same time, the device sends a time interval with its Discovery Requests. Other devices answer within this interval at a randomly chosen point of time. It is planned to use UPNP discovery for wireless devices (e.g. infrared or Bluetooth) which operate over 10 kbits/s interfaces. Discovery response mes- sages are 500 Bytes. Question 5: Calculate the length T of the time interval for responses, which is needed for a collissionfree operation of Pno-coll=0,9 for a number of 10 devices. Question 6: When a new device enters a UPNP network, it also multicasts a presence notification which includes the advertisment of its services. Ex- plain the difference between issuing service discovery requests and issu- ing such presence notifications. Indicate, whether there is a useful combination of both methods. Part 3 256 7 Exercises With UPNP, the interface of a service contained in a device is specified in a service description, which may be read from the service as an XML document. From this formal description of the server interface, a client function may be for theclient, UPNPserver Remote The figure on the left shows the generated relations between and the inControl. The figure on the left showsThis the relation relationsmay between serverasand the in interface. terface. also beclient, expressed shown the classThis diagram on the as right. relation may also be expressed shown in the class diagram on the right. Client Client use <<interface>> ServerInterface ServerInterface Server Server <<interface>> ServerInterface Question 7: Explain this relation. Question 7: Explain this relation. Part 4 Part 4 Using a UPNP Remote Control in a domestic environment generates security issues. Using a UPNP Remote Control in a domestic environment generates secu- Question 8: Indicate some of the issues and describe adequate potential so- lutions. rity issues. Question 8: Indicate some of the issues and describe adequate potential solutions. 26. Client-Server Communication 7.2.16 Location Based Services Client and Server of an application communicate with each other using SOAP as protocol framework. SOAP is agnostic of the supporting protocol (it binds to it and is aware of its properties), but does not depend on it (i.e. the supporting protocol may be exchanged). S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 26/74 7.2.17 Client-Server Communication Informatik Masterstudium Computing & Communications, PM2100.1 Part 1 Messages from application SOAP Message Exchange Pattern supporting protocol ( HTTP, IIOP, ...) Encoding for transport Transport Protocol (TCP, ...) ! ! Client and Server of an application communicate with each other using SOAP as protocol framework. SOAP is agnostic of the supporting protocol (it binds to it and is aware of its properties), but does not depend on it (i.e. the supporting protocol may be exchanged). Question 1: What Question are the pros and cons (benefits andcons drawbacks) using a protocolof using a 1: What are the pros and (benefitsofand drawbacks) framework versusprotocol directly usind a specificversus protocol? framework directly usind a specific protocol? Question 2: The following table 2: shows and events the SOAP Request-Reply Message Question The states following table ofshows states and events of the SOAP Re7 Exercises Exchange Patternquest-Reply which is to be used forExchange the client-server table Message Patterncommunication. which is to beThe used for the clishows the clientent-server side. Translate the table into a state diagram. How does the communication. The table shows the client side. Translate the corresponding state diagram for the server differHow from does the client? table into a state diagram. the corresponding state diagram for the server differ from the client? Transitions: State Description Event Next state Init Generate & send request message Request sent successfully Requesting Failure to send Failed Receive reply Sending& Receiving Reception Failure/ Time out Failed Response message well formed Success Reception failure Failed Requesting Sending& Receiving Waiting for reply Receiving reply message ! Question 3: For transport, messages will need to be serialised. Name pros and cons of For transport, messages binaryQuestion encoding 3: versus representation by text.will need to be serialised. Name pros and cons of binary encoding versus representation by text. Part 2 The2Client is going to be implemented by using a Finite State Machine according to the Part following Class Diagram. The diagram also includes some sug- gestions on the implementation of theThe methods in pseudocode). Client(asiscomments going to be implemented by using a Finite State Machine ac- cording to the following Class Diagram. The diagram also includes some suggestions on the implementation of the methods (as comments in pseudocode). Context State 1 tateVariable : State transit(c : Context) : void etState() : void tateAction() : void teVariable.transit(this) InitState S. Rupp, 2014 transit() : void RequestingState SendReceiveState Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 transit() : void transit() : void 27/74 Question 3: For transport, messages will need to be serialised. Name pros and cons of binary encoding versus representation by text. Informatik Masterstudium Part 2 Computing & Communications, PM2100.1 The Client is going to be implemented by using a Finite State Machine according to the following Class Diagram. The diagram also includes some suggestions on the implementation of the methods (as comments in pseudocode). Context State 1 stateVariable : State transit(c : Context) : void setState() : void stateAction() : void ... stateVariable.transit(this) InitState RequestingState SendReceiveState transit() : void transit() : void transit() : void ... ... ... setState(s : State) { stateVariable = s; } ... ... // do actions // do actions c.setState(rs : RequestingState); c.setState( srs : SendReceiveState); ... ... Question 4: Explain the components of the class diagram and their relations Question 4: Explain the components of more the class diagram (syntax only, questions follow).and their relations (syntax only, more questions follow). Question 5: Complete the diagram with the missing states (see Part 1). Question 5: Complete theQuestion diagram6:with thethe missing states Part 1). Explain function of the (see components and how state transitions are handled. Hints: Which component holds the state? Why do the Question 6: Explain the function of the components and how state transitions are handled. Hints: Which component holds the state? Why do thestate objects do not have attributes? Which objects handle state transitions? What is the sequence of events in a state transition (also see comments in the diagram)? Part 3 While client and server communicate with each other, they exchange SOAP messages. Most frequently, SOAP messages are represented by text messages (in form of XML documents which are exchanged over HTTP ). Question 7: There are security risks in exchanging such messages over the Internet. Name some potential threats. Question 8: Name some measures, by which such risks in the communication between client and server may be mitigated and explain why they improve the situation (i.e. explain the basic principle of the suggested measures). 27. Home Networks In a home network, sensors (such as light switches, door bell, temperature measurement, smoke detection, moisture measurement, counters) are planned to be coupled over wireless interfaces with actors (such as lights, shutters, lo- cal and remote displays, alarms). Part 1 The following classes are planned to be used as part of the software for de- vices in home networks. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 28/74 Informatik Masterstudium Computing & Communications, PM2100.1 7.2 Part Two (Complete Book) 265 . Subject << abstract >> Obersver attach(Oberser) * detach(Oberserver) update() notify() ... for all o in Oberservers { o.update(); } ... ConcreteOberver - opservedState ConcreteSubject + update() - subjectState + setState() + getState() return subjectState; ... observedState = subject.getState(); ... Question 1: Explain the diagram (syntax only, more questions follow). Question it works. Question2: 1:Explain Explain how the diagram (syntax only, more questions follow). Question Part 2 2: Explain how it works. 266Question 3: 2 Two 7instances Exercises of ConcreteObservers have been attached to an inctance of a Part 2ConreteSubject, as shown in the following sequence dia- gram. Complete the actions in the sequence diagram. Question 3: 2 Two instances of ConcreteObservers have been attached to an inctance of a ConreteSubject, as shown in the following sequence diagram. Complete the actions in the sequence diagram. display1 : ConcreteObserver display1 : ConcreteObserver switch : ConreteSubject setState(on) notify() Question In the case of the two ConcreteObservers from(not just Question 4: In the case of the 4:two ConcreteObservers being different being from different each other each other (not just different instances), how would the class diagram different instances), theto class need to be changed to reflect the needhow to bewould changed reflect diagram the difference? difference? Part 3 Part 3 Question 5: The 2nd Question ConcreteObserver is going to be implemented in a differentinsystem 5: The 2nd ConcreteObserver is going to be implemented a dif- than ferent system than the ConcreteSubject and the 1st observer (e.g. system the ConcreteSubject and the 1st observer (e.g. system 1 being a light switch with control 1 being a light switch with control LED and system 2 the light). Explain which additional context is needed to make both systems interact. S. Rupp, 2014 Question 6: In such a network, it is essential to connect the right sensor to 29/74 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 the right actor (i.e. match light switches to the right lights). Also, it should be possible to add and remove devices easily at any time. Explain the corresponding issues and possible solutions. 70 7 Exercises Informatik Masterstudium Computing & Communications, PM2100.1 Part 3 LED and system 2 the light). Explain which additional context is needed to make both In the service systems interact.described in Part 2, authentication of devices is based on Blue- tooth link keys (K_ab), which are 128 bit numbers. Given a hugh amount of Question 6: In such a network, it ismight essential to connect the right to sensor to the rightby actor (i.e. bluetooth devices, a device accidently authenticate another device match switcheslink to the havinglight a matching key.right lights). Also, it should be possible to add and remove devices easily at any time. Explain the corresponding issues and possible solutions. Question 7: If link keys are randomly distributed, what is the probablility, Question 7: that Security. security in such a keys network possible measures for amongName 10.000 Mio. ofissues devices, all link are and different? protection. Question 8: Given one specific device, what is the probability that no other Question 8: Explain how certificates could be used to improve issues. device (among the 10.000 Mio. devices) has thesecurity same link key? 7.2.21 Mobile Peer-to-Peer Networks 28. Mobile Peer-to-Peer Networks ByBy downloading and and installing software on mobile phones, mobilemobile peer-topeer networks downloading installing software on mobile phones, peer-tomay bepeer generated (in much the same way than instant messaging or file sharing works with networks may be generated (in much the same way than instant mesPCs over the or Internet). A service provider plansover to provide such client software for download. saging file sharing works with PCs the Internet). A service provider plans to provide such client software for download. Clients may become Clients may become part of the network, when they activate the software, andpart leave the ofwhen the network, they activate thespeaking, software,clients and leave the network when network they quit when the application. Strictly can also receive messages and they quit the application. Strictly speaking, clients can also receive messages offer services, i.e. act as servers. Because both client and server part are implemented, and offer i.e. called act as “peers”. servers. Because both client and server part are participants in theservices, network are implemented, participants in the network are called “peers”. ByBy joining in, peers generate a logical network, or overlay network (see (see fi- gure joining in, peers generate a logical network, or overlay network fi- below). The service provider also plansprovider to provide peers”, i.e.“super more peers”, permanent participants gure below). The service also“super plans to provide i.e. moinstalled servers, which serve as directories or look-up servers in order to facilitate re on permanent participants installed on servers, which serve as directories or network look-up servers in order to facilitate network organisation. organisation. Overlay Networks (Peer-to-Peer Networks) Super Peer Peer server Physical Networks mobile phone S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 30/74 Informatik Masterstudium Computing & Communications, PM2100.1 7.2 Part Two (Complete Book) 271 Part 1 Part 1 Question 1: Peers can be identified by their PeerID, i.e. a number, which serves as a unique Question 1: Peers can be identified by can their PeerID, i.e. a number, which ser-chose a design for the identifier. Explain, how Peer IDs be assigned to peers and ves as a unique identifier. Explain, how Peer IDs can be assigned to peers service provider. and chose a design for the service provider. QuestionQuestion 2: Peers maymay joinjoin thethenetwork, look-upthethe presence of peers, other peers, and leave the 2: Peers network, look-up presence of other and leave the network. Specify a principle design organisafor networktion organisanetwork. Specify a principle design for network for the service provider (i.e. tion for provider (i.e. functions supported by functions tothe beservice supported by peers and to to bebedeveloped forpeers the and peer software). to be developed for the peer software). QuestionQuestion 3: Alice3: and have both thepeer peer software on motheir mo- bile phones and AliceBob and Bob have bothinstalled installed the software on their bile phones and Bob is now trying to find Alice over the network. There Bob is now trying to find Alice over the network. There are 100 Mio. peers in the network, 100 knows Mio. peers in the network, each peer knows 8 other peers on ave- requests are required eachare peer 8 other peers on average. How many discovery rage. How many discovery requests are required and how many nodes and (hops) how many nodes (hops) a travel discovery request cases: need (1) to travel in the following does a discovery requestdoes need to in the following without the super the peerssuper (i.e. Bob’s peer sends a request 8 other apeers, cases: (1) without peers (i.e. Bob’s peertosends request to 8 other peers, which again propagatethe thediscovery discovery request), request), (2) thethe super which again propagate (2)including including super peers, with each of peers, with each of them knowing 100.000 users (peers) and connecting themtoknowing 100.000 users connecting to 82?other super peers. Can you 8 other super peers. Can you(peers) improveand the design of question improve the design of question 2? Part 2 Part 2 The softwareneeds needs to designed be designed to support interfaces, such as Thepeer peer software to be to support differentdifferent physical physical interas HTTP type over of connections GSMchannels, or UMTS channels, serial HTTP faces, type such of connections GSM orover UMTS serial connections over Infrared or connections over Infrared or Bluetooth, TCP sockets etc. The following design Bluetooth, TCP sockets etc. The following design has been chosen. has been chosen. Client uses << abstract >> Generator generates Connection:createConnection(typeInfo) << abstract >> Connection transmit() receive() ConcreteGenerator HTTPConnection Connection:createConnection(typeInfo) return new ConcreteConnetion(); SerialConnection transmit() transmit() receive() receive() ConcreteConnetion Question 4: Explain the components of the diagram and their relations (syntax only, more questions follow). How could the diagram be extended for a TCP socket type of connection? Question 5: Explain the function of the diagram, i.e. how it is used to establish a connection from one peer to another. Explain how the Concrete Generator could be implemented S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 31/74 Informatik Masterstudium Computing & Communications, PM2100.1 and what the typeInfo needs to contain in order to connect to another peer over the network. Question 6: Explain the sequence of events when connecting from one peer to another over a HTTP connection in a sequence diagram. Part 3 Alice installs a new service on her mobile phone, which provides access to her photo library over the peer-to-peer network. Bob has been able to discover the phone of Alice and is able connect to Alice. Question 7: How can Bob discover the new service and find out what it is? Explain which information needs to be specified for service discovery and give some guidelines for implementation. Question 8: Following discovery, what is needed to access and use the service? Explain which information needs to be specified on the phone of Alice and how the service can be invoked by Bob. 29. CORBA and RMI The figure shows the process of generating a server application and a matching client application by use of CORBA, as well as the resulting architecture. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 32/74 228 7 Exercises Informatik Masterstudium The figure shows the process of generating a server application and a matComputing & Communications, PM2100.1 ching client application by use of CORBA, as well as the resulting architecture. IDL to C++ Compiler C++ Interface Object Interface Definition C++ Stub C++ Client Application IDL to Java Compiler Java Interface Java Skeleton Java Server Application written by application developer Java Compiler C++ Compiler ObRf C++ Stub ORB Core Middleware IIOP Obj. Java Skeleton Adapter ORB Core Client Server ! Question 1: Explain Question the process and the role the resulting on the system. 11.1: Explain theofprocess and thecomponents role of the resulting components on the system. Question 2: When using the Java Remote Method Invokation (RMI), the procedure is similar as 11.2: Whenare using the Java Remote Method InvokationCompare (RMI), theboth with CORBA.Question However, there some characteristic differences. procedure is similar as with CORBA. However, there are some charactechnologies. teristic differences. Compare both technologies. 30. CORBA7.1.12 and Web-Services Clients and Servers While using CORBA, a client-stub is compiled from a formal interface definition which is Explain the difference between a client and a server. contained in an IDL-file. Name an equivalent formal description of the interface with WebServices. 7.1.13 Threads and Processes Threads are flows of control within the address space of a process. 31. Remote Control for Home Networks Devices at home, such as TV, stereo, lights, door opener, cookers, washing machines etc. increasingly support interfaces, which allow to monitor their sta- tes and allow to call actions on them. However, most of the device interfaces are proprietary, i.e. they are specified any way their vendor likes. Thus, a universal remote control for a variety of devices needs to be developed in a way that allows to handle a multitude of interfaces and is easily extensible. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 33/74 are proprietary, i.e. they are specified any way their vendor likes. Thus, a universal remote control for a variety of devices needs to be developed in a way that allows to handle a multitude of interfaces and is easily extensible. Informatik Masterstudium Computing & Communications, PM2100.1 Part 1 Part 1 It is supposed, that each device has an interface description, which is specified a well known format (i.e. using aninterface interfacedescription, descriptionwhich language). The in a well It is in supposed, that each device has an is specified interface description may be retrieved as a text document either directly from known format (i.e. using an interface description language). The interface description may be the device or it may be downloaded from the Web, so that there is no need for retrieved as a text document either directly from the device or it may be downloaded from the the developer of the remote control to study specification papers. The figure Web, so that there is no need for the developer of the remote control to study specification below illustrates the principle of how to retrieve, process and use the interface papers. The figure below illustrates the principle of how to retrieve, process and use the description to control a device. interface description to control a device. Remote Control Device, e.g. TV display selected action Device: TV IDL-Doc. (1) retrieve interface description on() (2) process interface description mute() ... on() mute() channelUp() volumeUp() off() ... channelUp() exec interface description back (3) call actions on device ! execute command scroll through command list Question 1: Which information needs to be contained in the interface description in order to allow the remote control to use it? 1: Which needsin tothe be figure. contained the vendor interfacespecific de- actions QuestionQuestion 2: Explain the 3 information steps indicated Howinare scription in order to allow the remote control to use it? handled? Part 2 Question 2: Explain the 3 steps indicated in the figure. How are vendor specific actions handled? Question 3: What do all devices and the remote control need as common runtime environment Question 3: What do all devices and the remote control need as common to support step 1 and 3? to support step 1 and 3? runtime environment Rather than using a display, the developer decides to use a more conventional design with real for actions on devices, as shown in the figure below. This design is driven by Partbuttons 2 the following considerations: • At configuration time, commands according to actions contained in the interface description are associated with device buttons (configuration time corresponds to step 2 of part 1). • Following configuration, the device buttons are labelled and may be used in the following way: select a device action, then execute the action by pressing a command button. In the design on the right, selection and execution are combined. This design leads the developer to the following domain model for the software to be developed on the remote control. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 34/74 interface description are associated with device buttons (configuration time corresponds to step 2 of part 1). (2) Following configuration, the device buttons are labelled and may be used in the following way: select a device action, then execute the action by presInformatik Masterstudium sing a command button. In the design on the right, selection and execution are Computing & Communications,combined. PM2100.1 This design leads the developer to the following domain model for the software to be developed on the remote control. Command activeCmd; public void setCommand(Command c) { activeCmd = c; } Configurator Activator << interface>> Command setCommand() execute() undo() contains the vendor specific actions on devices ConcreteCommand DeviceCtrler creates action() execute() undo() public void execute() { creates deviceCtrler.action(); } Question 4: 2 Explain the components of the diagram and their relations (syntax only, more questions follow). Question 5: Explain the role of each component and how the software is supposed to work. Question 6: In relation to the design of the remote control (with device buttons and command buttons), explain what happens at runtime when buttons are pressed. Which difference does the design of the remote control on the right make in comparison to the design on the left? Question 7: Again at runtime, explain how the configuration works (i.e. what the code of the Configurator is supposed to do). How flexible is the concept really with respect to configuration? Question 8: Explain in general, how the concept needs to be extended in order to support the “undo” command (i.e. what extra information is needed and how it may be processed). 32. Remote Player For audivisual media in the network, remote players are used to access and play the media. In order to allow remote players to interoperate with the media servers, there need to be some conventions concerning the interface between player and server. The interfaces need to be implemented by both the providers of media servers, and by the providers of remote players, e.g. as software cli- ents to be installed on mobile devices. Part 1 A network operator, who provides audiovisual content on media servers in his network, intends to stimulate the development of player software on mobile devices. For this reason, he publishes some conventions for the interface to the media servers to be followed by the player software, as shown in the figure below. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 35/74 282 7 Exercises Informatik Masterstudium Computing & Communications, PM2100.1 the media servers to be followed by the player software, as shown in the figure below. Media Server Remote Player display movie in focus Movies Movie title1 MovieList title2 0 .. * title3 more Stream movieTitle : String genre : String author : String duration : String movieID : String classifier: String 1 mimeType : String size : String controlObjRF : URL back 0 .. * Action 1 name : String Icon select command for more information mimeType : String width : Integer height : Integer iconObjRF : URL scroll through movie list 0 .. * Argument returnValue : Boolean name : String value : String Question 1: Which information needs to be contained in the Object References (ObjRF) for the Question 1: Whichthe information needs to be contained in the Object Refeicon and the stream in order to access referenced objects? rences (ObjRF) for the icon and the stream in order to access the referencedfor objects? Question 2: Instantiate the model a media stream with the actions play(), stop() and goto(SceneNumber)? Question 2: Instantiate the model for a media stream with the actions play(), stop() and goto(SceneNumber)? Part 2 Part 2has been selected from the list on the remote player, the next When a movie or a song 7.2 Part Two (Complete Book) 283 step should be to show the icon of the movie or song on the player. The client on the remote When a movie or a song has been selected from the list on the remote player, player is using the structure the shown in the following diagram. next step should be to show the icon of the movie or song on the player. The client on the remote player is using the structure shown in the following diagram. . << interface>> Icon Client show() ... ImageProxy ImageIcon iconObjRF : URL imageIcon : ImageIcon show() show() if ( imageIcon == 0 ) { // display message “loading icon” imageIcon = new ImageIcon( iconObjRF ) } imageIcon.show() ... Question 3: 2 Explain the components of the diagram and their relations (syntax only, more Questionfollow). 3: 2 Explain the components of the diagram and their relations questions (syntax only, more questions follow). Question 4: Explain the role particular the Question 4: Explain the of roleeach of eachcomponent, component, in in particular the role of role the of the proxy, and how the proxy, and how the software is supposed to work. software is supposed to work. Question 5: Show the sequence of events when an icon needs to be loaded Question 5: Show thetime sequence of events for the first in a sequence diagram.when an icon needs to be loaded for the first time in a sequence Question 6:diagram. One drawback of the procedure is, that if the proxy needs to load the image icon, the procedure will not return until the icon has been loaded, which freezes the client interface. Describe a way to improve this situation. S. Rupp, 2014 Part 3 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 Not every content on the media server is intended for everybody. The free movies and songs are available for everone, but there is also material, which 36/74 Informatik Masterstudium Computing & Communications, PM2100.1 Question 6: One drawback of the procedure is, that if the proxy needs to load the image icon, the procedure will not return until the icon has been loa- ded, which freezes the client interface. Describe a way to improve this situation. Part 3 Not every content on the media server is intended for everybody. The free movies and songs are available for everone, but there is also material, which is not free of charge and other material only intended for adults. So the media server will need some access control. Question 7: What credentials could be used to authenticate users who want to access classified content? Describe a suitable procedure for authenti- cation. Question 8: How could the class diagram be extended to support access for authenticated users? How would the new procedure work? Hint: There can be more than one proxy. 33. Universal Remote Control Equipment in home networks, such domestic appliances, equipment for entertainment and communication increasingly has interfaces to communicate over networks (such as Wireless LAN, Ethernet, Bluetooth, Ö). This allows to monitor and control equipment over the network. In this task, one universal remote control is used to control two different types of TV sets. Part 1 General questions on communication and interfaces. Question 1: What is needed for two network entities to communicate to each other? What function does a network need to provide to make network entities aware of each other? Question 2: In order to call functions on another device, e.g. to control the TV, the functional set of the device is described in a pre defined format, a so called IDL (Interface Definition Language). What does an IDL type of document need to contain? How can it be used by another device, e.g. the remote control? Part 2 As shown in the figure below, there are two different types of TV sets (type A and type B, e.g. from different manufacturers). Each device supports a service framework (such as UPNP, WSDL etc), i.e. it contains an IDL type of document for the services it provides. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 37/74 Part 2 As shown in the figure below, there are two different types of TV sets (type A and type B, e.g. Informatik Masterstudium from different manufacturers). Each device supports a service framework (such as UPNP, Computing & Communications, PM2100.1 WSDL etc), i.e. it contains an IDL type of document for the services it provides. DO Tag public status : Status setParameter(par : Parameter) TV type A Parameter.Name Parameter.Value status := STATUS_OK / STATUS_FAILED / STATUS_UNKNOWN IDL Service Description DO public status : int setParameter(par : Parameter) Domain Ontology Parameter.name Parameter.value Remote Control Status := 0 / 9002 / 9005 DO Tag TV type B IDL Service Description public transactionID : int setNode(nodeName : String, nodeValue : String) public result : int getResult (transactionID : int) result := 200 / 500 / 0 Question 3: With reference the Service Descriptions in the figure above, explain the functions of both TV types and how they are used. Question 3: With reference the Service Descriptions in the figure above, explain the functions of both4:TV types and how they are used.use of a Domain Ontology, which allows classifying the Question The home network makes types of devices and describes their functions in a general way. Explain what the Domain Question 4: The home network makes use of a Domain Ontology, which allows classifying in the and figure above their contains and in how it can way. be used. theOntology types of devices describes functions a general Explain what the Domain Ontology in the figure above contains and how it can be used. Question 5: Explain how the IDL type of definitions may be extended by DO Tags (Domain Ontology Tags) and thistype Tags be used bybethe Remote Question 5: Explain how how the IDL of can definitions may extended bycontrol. DO Tags (Domain Ontology Tags) and how this Tags can be used by the Remote control. Question 6: Describe a sequence of actions in order to (1) ìzapî one TV channel up on TV A, and then (2) ìzapîa one channel up oninTV B. to (1) ìzapî one TV channel up on TV A, Question 6: Describe sequence of actions order and then (2) ìzapî one channel up on TV B. Part 3 Another way to use one remote control is adaptation at syntactic level, i.e. by programming the device to adapting or translating commands. For a TV of type B, user Bob would like to use a Remote Control (RC) of type A. So, somehow, he will need to use type B commands on the type A Remote Control. The figure below illustrates the concept. S. Rupp 3 S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 38/74 Another way to use one remote control is adaptation at syntactic level, i.e. by programming the device to adapting or translating commands. For a TV of type B, user Bob would like to a Remote Control (RC) of type A. So, somehow, he will need to use type B commands on Informatikuse Masterstudium the& type A RemotePM2100.1 Control. The figure below illustrates the concept. Computing Communications, Client uses Target_RC_A Source_RC_B channelUp () : void zap (i : int) : void implements Adapter channelUp () : void adaptedObject.zap(1); Question 7: Explain the components in the diagram and their relation. Communications Engineering, 6th Term, Exercises on Networks Question 8: Explain how the components interact at runtime, e.g. in a sequence diagram. Question 7: Explain the components in the diagram and their relation. Question 8:basierte Explain how the components interact at runtime, e.g. in a sequence diagram. 34. Ethernet Feldbusse Ethernet basierte Feldbusse Es werden werden N=10 N=10Switches Switches Serie betrieben. An jedem der Switches ein lokaler Es in in Serie betrieben. An jedem der Switches ist einist lokaler Controller angeschlossen,sowie sowie eine Kamera. An Anfang am Ende der Kette befinden Controller angeschlossen, eine Kamera. An Anfang und und am Ende der Kette befinden sich sich Anschlüsse an regulärem Ethernet-Verkehr. Zur bevorzugten Anschlüsse an lokale lokale Netze Netze(LAN) (LAN)mitmit regulärem Ethernet-Verkehr. Zur bevorzugten Behandlung der diedie zwischen den den lokalen Controllern ausgetauscht Behandlung der Prozessdaten Prozessdaten(Daten, (Daten, zwischen lokalen Controllern ausgetauscht werden), stehen folgende Verfahren zur Auswahl: werden), stehen folgende Verfahren zur Auswahl: (a) • (a) Verkehrsklassen mit Priorisierung der (QoS) Prozessdaten (QoS) Verkehrsklassen mit Priorisierung der Prozessdaten (b) Zeitmultiplex mit alternierenden Segmenten (1) nur Prozessdaten, (2) alle anderen Daten (c) • (b) Zeitmultiplex mit alternierenden Segmenten (1) nur Prozessdaten, (2) alle anderen Daten Sammelpaket: alle Prozessdaten werden in einerwerden geeigneten Struktur in den Bereich der in den • (c) Sammelpaket: alle Prozessdaten in einer geeigneten Struktur Nutzdaten im Ethernet-Rahmen gepackt. Der Datenaustausch pro Switch erfolgt durch Bereich der Nutzdaten im Ethernet-Rahmen gepackt. Der Datenaustausch pro spezielle Hardware während der Weiterleitung der Rahmen. Switch erfolgt durch spezielle Hardware während der Weiterleitung der Rahmen. 1 S. Rupp 2 … N 4 Verkehrsmodell: Ethernet mit mit einereiner Übertragungsrate von 100 Verkehrsmodell:EsEswird wirdFast Fast Ethernet Übertragungsrate von Mbit/s 100 Mbit/s verwendet. Für Verkehr werden die maximal möglichen Rahmenlängen verwendet. FürVideo Videound undallgemeinen allgemeinen Verkehr werden die maximal möglichen Rahmenlängen angenommen. Die betragen 250250 Bytes pro lokalem Controller und lassen sich in sich in angenommen. DieProzessdaten Prozessdaten betragen Bytes pro lokalem Controller und lassen Rahmen der Länge 256 Bytes übertragen. Für die Weiterleitung der Rahmen wird pro Switch eine Verarbeitungszeit (Latenz) von 0,01 ms angenommen. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 39/74 Frage 1: Berechnen Sie für das Verfahren (a) überschlägig die Laufzeitschwankungen am Ende der Kette für den unter den folgenden Annahmen: maximale Paketlänge (1) 9000 Bytes, (2) 1500 Bytes, (3) 512 Bytes. Informatik Masterstudium Computing & Communications, PM2100.1 Rahmen der Länge 256 Bytes übertragen. Für die Weiterleitung der Rahmen wird pro Switch eine Verarbeitungszeit (Latenz) von 0,01 ms angenommen. Frage 1: Berechnen Sie für das Verfahren (a) überschlägig die Laufzeitschwankungen am Ende der Kette für den unter den folgenden Annahmen: maximale Paketlänge (1) 9000 Bytes, (2) 1500 Bytes, (3) 512 Bytes. Frage 2: Berechnen Sie zum Vergleich überschlägig Verfahren (b). Frage 3: Berechnen Sie überschlägig zum Vergleich Verfahren (c). 35. Anlagensteuerung Aufgabe 1 - Kommunikationsprotokolle Zur Kommunikation zwischen Stationsleitgeräten, Steuergeräten auf Feldebene und 3Geräten Systemkommunikation auf Prozessebene soll ein Feldbus verwendet werden. Der Feldbus basiert auf den in der Abbildung wiedergegebenen Protokollen. Datenmodell (Datenstruktur, Kommunikationsdienste) Schutzgeräte GOOSE (GOOSE) Abtastwerte Abtastwerte (Samped (Sampled Values –Values) SV) Client-Server Client-Server-Dienste Dienste Zeitkritische Dienste (Echtzeitanforderungen) MMS 7 MMS 6 MMS 5 TCP 4 IP 3 Ethernet link layer 2 Ethernet physical layer 1 (a) Schutzgeräte und Datenerfassung mit hohen Abtastraten Tobias Gruber, 2012 ISO/OSI 7-SchichtenModell Mapping (Abbilden auf Kommunikationsmittel) (b) Steuern und Überwachen Date: 26.03.2012 Page 21 of y Frage 1.1 (6 Punkte): Erläutern Sie die im Bild wiedergegebenen Funktionen und Protokollschichten. (1) Die Anwendung kommunizierten Daten nach vorgegebenen Datenmodellen. (2) Abstrakte Kommunikationsdienste können auf Protokollschichten abgebildet werden (Mapping). (3) Als Kommunikationsprotokolle werden Ethernet und IP-basierte Protokolle eingesetzt: (3a) einerseits direkt über Ethernet (Schicht 2), (3b) andererseits über einen kompletten S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 40/74 Informatik Masterstudium Computing & Communications, PM2100.1 TCP(IP Stack (Schicht 4 und 3), dem ein anwendungsorientiertes Protokoll überlagert ist (MMS). Frage 1.2 (6 Punkte): Die zu übermittelnden Daten sind nach Funktionen aufgeteilt in (a) Schutzgeräte und Datenerfassung mit hohen Abtastraten, (b) Steuern und Überwachen. Erläutern Sie die Unterschiede in der Realisierung und mögliche Gründe für die Aufteilung. • Unterschiede: Schutzgeräte erfordern kurz Reaktionszeiten und verzichten daher auf dem Komfort höherer Protokollschichten. Messungen mit hohen Abtastraten (z.B. im Bereich einiger kHz) erfordern ebenfalls kurze Reaktionszeiten und bilden daher direkt auf Schicht 2 ab • Für Regelung und Überwachung dagegen steht weniger das zeitkritische Verhalten im Vordergrund, als die sichere und zuverlässige Kommunikation, wie beispielsweise durch TCP oder Socket-Verbindungen gegeben. Für Fernwirktechnik ist ist eine netzweite Reichweite erwünscht, wie durch IP gegeben. Frage 1.3 (4 Punkte): Welche Daten sind unmittelbar tauglich für Weitverkehrsnetze, welche Daten verbleiben vom Protokoll aus betrachtet im lokalen Netz? • Ethernet (Schicht 2): lokale Netze (Ethernet-Switches arbeiten mit MAC-Adressen, d.h. Geräteadressen). Da Schutzgeräte lokal wirken, bedeutet das keine Einschränkung. Messdaten müssen für die netzweite Übertragung von einem Datensammler im lokalen Netz aus in ein IP-Netz eingespeist werden. • IP (Schicht 3): netzweit verfügbar (innerhalb verwendeten privaten oder öffentlichen des IP-Adressraums). Steuern und Überwachen = Fernwirktechnik, benötigt große Reichweite. Aufgabe 2 - Nachrichtenaustausch Zum Lesen und Schreiben von Datenobjekten werden Nachrichten nach einem vorgegebenen Muster ausgetauscht. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 41/74 3 Der Standard IEC61850 Seite 23 Informatik Masterstudium Computing & Communications, PM2100.1 sd Exemplarisches Sequenzdiagramm Stationsleitgerät (LN: IHMI) Schaltersteuerung (LN: CSWI) Leistungsschalter (LN: XCBR) 1. SelectRequest (on) 2. SelectRequest (on) check() 3. SelectResponse +() 4. SelectResponse +() 5. OperateRequest (on) 6. OperateRequest(on) 7. OperateResponse +() 8. OperateResponse +() 9. Report (on) 10. Report (on) Frage 2.1 (6 Punkte): Rekonstruieren Sie dieses Muster für den Nachrichtenaustausch aus dem Abb. 12:Sequenzdiagramm Sequenzdiagramm Kommunikationsveranschaulichung in zur der Abbildung. aufbauend auf [Sch04], [IEC10-a] und [ABB10] Das Muster für den Nachrichtenaustausch arbeitet in 3 Phasen: (1) Select - Auswahl einer Funktion, - Ausführen eine einer Anfrage, Instruktion,um (3) Report - Bericht über das Ergebnis Zunächst sendet (2) dasOperate Stationsleitgerät die Betriebsbereitschaft des Leisder Ausführung. In den Phasen (1) und (2) sind Nachrichten für die Anforderungen (Request) tungsschalters zu überprüfen. Diese Anfrage geht zuerst an die Schaltersteuerung, die wiedeund die Anfrage Quittierung Anforderung (Response) vorgesehen. rum eine ander den Leistungsschalter sendet (1. → 2. → 3.). Die Anfrage wird durch denFrage Leistungsschalter (check()) und eine Antwort mit dem damit positiven Betriebszu2.2 (6 Punkte):überprüft Welche weitere Vereinbarungen sind erforderlich, der Aufruf von stand erstMethoden wieder an die Schaltersteuerung und dann von dieser an das Stationsleitgerät gezwischen den Geräten funktionieren kann? schickt (3. → 4.). (1) Wenn die Methodenaufrufe über ein Netz erfolgen, ist eine Pfadangabe erforderlich, Anschließend sendet das Stationsleitgerät einen Befehl zum (OperateRequest(on)) bestehend aus Protokoll, Netzadresse und Objektname (fürSchalten die Methode). Eine solche analog der Betriebszustandsabfrage. Nach der Aktivierung des Antriebes schickt derTCPLeisPfadangabe kann in einem IP-Netz beispielsweise durch eine URL erfolgen, bzw. ein tungsschalter Nachricht an die Schaltersteuerung zurück, dass der Auftrag ausgeführt Socket bzw. eine UDP-Socket. wird. Nach dem erfolgten Schalten des Leistungsschalters, erfolgt eine spontane Meldung des (2) dem Ausserdem sind Vereinbarungen über den Methodenaufruf erforderlich, d.h. die Wertes mit neuen Schaltzustand des Schalters(Report(on)) von 9. → 10. Namen der Methode, der Übergabeparameter, der Rückgabewerte und die jeweils zugehörigen Datentypen. 3 - Echtzeitverhalten 3.5Aufgabe Konfigurationssprache Die Steuergeräte kommunizieren über eine Kette von Ethernet-Switches. Auf Schicht 2 Umvariieren ein IEC61850-System modellieren, mussund für alle beteiligten Gerätepro eine die Paketlängennormkonform zwischen 64 zu Bytes pro Nachricht maximal 1500 Bytes logische Struktur definiert werden. Nachricht. Es wird Fast Ethernet verwendet (100 Mbit/s). Die Prozessdaten verwenden stets kurze Pakete von 64 Bytes. Zur logischen Struktur gehören u. a. folgende Punkte: Welche optionalen Daten werden realisiert S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 42/74 Informatik Masterstudium Computing & Communications, PM2100.1 Eingangsports Ausgangsports Eingangsports Ausgangsports Prio 1 3 1 2 3 1 2 Prio 2 (a) Best Effort (b) Quality of Service Frage 3.1 (6 Punkte): Es wird überlegt, ob ein Best Effort Verfahren genügt (Fall (a), linker Teil der Abbildung) oder eine Einteilung in 2 Verkehrsklassen mit Priorisierung eingeführt werden soll (Fall (b), rechter Teil der Abbildung). Erläutern Sie beide Verfahren sowie die Unterschiede. (1) Best Effort Verfahren: Alle Pakete bzw. hier Ethernet-Rahmen werden in der Reihenfolge ihres Eintreffens an den Ausgangsport gegeben. Ein kurzer Rahmen mit zeitkritischen Prozessdaten wird daher am Ausgangsport unter Umständen hinter langen Rahmen mit Überwachungsinformationen oder sonst welchen Daten, die nicht zeitkritisch sind. (2) Quality-of-Service Verfahren: Es werden mehrere Klassen von Daten eingeführt, beispielsweise Klasse 1: Prozessdaten, Klasse 2: alle anderen Daten. Rahmen mit Prozessdaten werden markiert (z.B. Tag, Eintrag im Type-of-Service Feld) und in den Switches bevorzugt behandelt. Die Bevorzugung besteht in der Einordnung der Prozessdaten in einer höher priorisierten Warteschlange am Ausgangsport (Prio 1 Schlange). Somit wird die Dauer der Abfertigung von der Reihenfolge des Eintreffens entkoppelt. Dadurch wird die Situation vor allem bzgl. die langen, niedrig priorisierten Rahmen verbessert (Prio 2 Schlange). Beim Arbeiten mit mehreren Verkehrsklassen (Quality-of-Service Verfahren), wird in jedem Knoten (Switch) der Verkehr gemäß Verkehrsklassen neu sortiert. Frage 3.2 (6 Punkte): Die Signalkette enthält bis zu 10 Knoten (Switches), wobei jeder Knoten über 3 Eingangsports verfügt, über die sowohl regulärer Verkehr als auch Prozessdaten kommuniziert werden. Vergleichen Sie die maximalen Laufzeitschwankungen für beide Verfahren (Fall (a) und Fall (b)) aus der Perspektive der Prozessdaten. Bei 3 Eingangsports besteht der ungünstigste Fall darin, dass an jedem Fall ein maximal langer Rahmen mit unkritischen Daten eintrifft, bevor an einem der Ports ein kurzer Rahmen mit kritischen Prozessdaten eintrifft. (Bemerkung: Vorausgesetzt, die Ankunftsrate ist niedrig im Vergleich zur Service-Rate, d.h. Systemausnutzung unter 50%, andernfalls kann es beliebig lange Warteschlangen an den Eingangsports geben). Fall (a), Best Effort: Anordnung am Ausgangsport gemäß Reihenfolge beim Eintreffen, d.h. der Rahmen mit Prozessinfo kommt erst auf die Leitung, nachdem die 3 langen Rahmen übertragen sind. Im ungünstigsten Fall bei 10 Knoten: 3 * 10 * Latenz (1500 Bytes bei 100 Mbit/ s) = 30 * 0,120 ms = 3,6 ms. In der Realität ergeben sich Laufzeitschwankungen bis zu diesem Wert. Fall (b), Quality-of-Service mit 2 Verkehrsklassen: Die drei langen Rahmen mit unkritischen Daten landen in der Reihenfolge ihres Eintreffens in der Prio 2 Schlange am Ausgangsport. Der Rahmen mit Prozessdaten wird nach Eintreffen in der Prio 1 Schlange platziert. Zu diesem Zeitpunkt ist allerdings einer der langen Rahmen bereits in Bearbeitung. Allerdings erfolgt die Übertragung des Rahmens mit Prozessdaten unmittelbar dann, wenn S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 43/74 Informatik Masterstudium Computing & Communications, PM2100.1 diese Übertragung beendet ist. Der Rahmen mit Prozessdaten kommt somit auf die Leitung, sobald 1 langer Prio 2 Rahmen übertragen ist. Im ungünstigsten Fall bei 10 Knoten: 1 * 10 * Latenz(1500 Bytes bei 100 Mbit/s) = 10 * 0,120 ms = 1,2 ms. Verbesserung von (b) gegenüber (a): Latenz(b)/Latenz(a) = 3 Frage 3.3 (6 Punkte): Durch welche Massnahmen lassen sich die Laufzeitschwankungen weiter reduzieren? • Reduktion der Knoten in Reihe (z.B. weniger als 10 Switches in der Kette) • Reduktion der Eingangsports (z.B. 2 statt 3 Eingangsports) • Einschränkungen der maximal erlaubten Rahmenlänge (z.B. max 512 Bytes pro Rahmen) • Erhöhung der Übertragungsrate (z.B. 1Gbit/s statt 100 Mbit/s) • Einsatz von Sammelpaketen (vgl. Ethercat) • Zeitmultiplex (vgl. Profinet) Aufgabe 4 - Redundanz Teil 1 Zur Verbesserung der Ausfallsicherheit wird die lineare Verbindung zwischen den Switches auf eine Ringkonfiguration erweitert. Die Netztopologie bleibt hierbei linear, d.h. es gibt eine physikalisch vorhandene Reserveverbindung. Reserve Verbindung (Ring Protection Link) RPL Owner RPL Ausgefallene Verbindung Frage 4.1 (8 Punkte): Beschreiben Sie, was beim Ausfall einer Verbindung geschieht (d.h. den Übergang auf den in der Abbildung links gezeigten Zustand auf den Zustand rechts). (1) Überwachung der Funktion des Ringes durch einen ausgewählten Switch (den RPLOwner): beispielsweise durch Senden und Empfangen von von Kontrollnachrichten in beiden Richtungen (auch über die für regulären Verkehr nicht benutzte Reserveverbindung). (2) Ausfall einer Verbindung: Wird durch die Überwachung (vom RPL-Owner) bemerkt. (3) Aktivieren der Reserveverbindung (4) Inbetriebnahme der neuen Topologie (z.B. durch Spanning-Tree Algorithmus) Frage 4.2 (6 Punkte): Welchen Nachteil hat dieses Verfahren bzgl. des Echtzeitverhaltens des Netzes? (1) Das Verfahren ist mit Umschaltzeiten verbunden (Schritte (1) bis (4) oben, speziell Schritt (4) erfordert einige Zeit). (2) Während dieser Zeit ist keine reguläre Zustellung des Verkehrs möglich. Zwar gehen für Anwendungen keine Daten verloren, da die höheren Protokollschichten diese nochmals S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 44/74 Informatik Masterstudium Computing & Communications, PM2100.1 anfordern, allerdings werden während des Umschaltvorgangs vereinbarte Antwortzeiten nicht eingehalten. Somit ist ein Echtzeitbetrieb (= Einhaltung vereinbarter Antwortzeiten) nur sehr eingeschränkt möglich. (3) Die Dauer der Umschaltung ist abhängig von der Topologie und Größe des Netzes. Teil 2 Zur Verbesserung des Echtzeitverhaltens schlägt der Hersteller der Switches die in der folgenden Abbildung gezeigte Konfiguration vor. Ringredundanz mit zwei gleichzeitig betriebenen VLANs Red Box: Ringswitch mit Dopplung der Anschlüsse für Geräte mit einfachem Anschluss (SAN - Single Attached Node) Node: Geräte (Feldbus-Controller, Schutzgeräte, Messgeräte) Quelle: ABB Frage 4.3 (8 Punkte): Interpretieren Sie den Vorschlag und beschreiben Sie das Verhalten im Fehlerfall. Erläutern Sie die Vorteile und Einschränkungen gegenüber dem Verfahren aus Teil 1. (1) Interpretation: Im Unterschied zu Verfahren aus Teil 1 werden zwei unabhängige Teilnetze in unterschiedlichen Richtungen betrieben. Die Teilnetze sind im Beispiel als VLAN realisiert. Die Redundanz wird im Endgerät erzeugt: Jede Nachricht (jeder Ethernet-Rahmen) wird dupliziert (A-Frame und B-Frame) und in die Teilnetze gegeben. Jedes Endgerät empfängt im Normalfall beide Rahmen und kann einen verwerfen. (2) Verhalten im Fehlerfall: Bei Ausfall einer Verbindung wird jeder Knoten noch über den alternativen Pfad erreicht, dann allerdings ohne weitere Redundanz. Wie der Fehler behoben wird, ist nicht näher beschrieben (Umkonfiguration wie bei dem Verfahren in Teil 1, Intervention des Betriebspersonals etc.). (3) Vorteile: keine Umschaltzeiten im Fehlerfall, unterbrechungsfreier Betrieb. (4) Einschränkungen: komplexere Konfiguration, Duplizieren von Rahmen ist nicht Bestandteil der Ethernet-Standards und erfordert spezielle Maßnahmen (z.B. RedundanzBoxen), es sind weitere Vereinbarungen erforderlich für die Rückkehr aus dem Fehlerfall in den redundanten Betrieb. Teil 3 Die Anbindung an die übergeordnete Leitebene hat noch höhere Anforderungen bzgl. der Verfügbarkeit. Daher wird hierfür eine Ausführung als echter Doppelring vorgeschlagen, wie in der folgenden Abbildung gezeigt. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 45/74 Informatik Masterstudium Computing & Communications, PM2100.1 Übergeordnete Leitebene: Doppelring DAN: Gerät mit doppeltem Anschluss (Double Attached Node) Untergeordnete Ebene: Doppelstern Red Box: Dopplung der Anschlüsse für Geräte mit einfachem Anschluss (SAN - Single Attached Node) Quelle: ABB Frage 4.4 (8 Punkte): Vergleichen Sie die echte Doppelring-Konfiguration mit der Konfiguration in Teil 2 bzgl. Ausfallsicherheit und Aufwand. Beschreiben Sie das Verhalten im Fehlerfall. • Ausfallsicherheit: besser, da (1) doppelte Verbindungen statt doppelt betriebener Verbindungen, (2) Ausfall einzelner Switches betreffen nur einen Ring (statt beider Ringe) • Aufwand: (1) doppelter Hardware-Aufwand (Knoten, Verbindungsleitungen, Trassen), (2) keine komplexe Konfiguration (zwei wirkliche LANs statt VLAN), (3) leichterer Austausch von Komponenten (z.B. fehlerhafte Verbindungsleitungen und Knoten) • Verhalten im Fehlerfall: unterbrechungsfreier Betrieb; bei Einzelfehlern weiterhin Redundanz im verbliebenen Ring verfügbar (z.B. mit Verfahren nach Teil 1) Frage 4.5 (8 Punkte): Als Alternative zu der in Teil 2 vorgeschlagenen speziellen Ringkonfiguration wird in dem in Teil 3 gezeigten Vorschlag auf der untergeordneten Ebene eine Variante mit doppelter Sternkonfiguration gezeigt. Vergleichen Sie die Doppelsternkonfiguration mit der Konfiguration in Teil 2 bzgl. Ausfallsicherheit und Aufwand. Beschreiben Sie das Verhalten im Fehlerfall. • Ausfallsicherheit: vergleichbar; Zwar sind doppelte Verbindungen und doppelte Switches vorhanden (statt doppelt betriebener Verbindungen), bei Ausfall eines Switches fällt allerdings der zugehörige Stern komplett aus. • Aufwand: (1) höherer Hardware-Aufwand (Knoten und deutlich mehr Verbindungsleitungen), (2) keine komplexe Konfiguration (zwei wirkliche LANs statt VLAN), (3) leichterer Austausch von Komponenten (z.B. fehlerhafte Verbindungsleitungen und Knoten) • Verhalten im Fehlerfall: unterbrechungsfreier Betrieb; Redundanz durch zweiten Stern vergleichbar mit virtuellem Ring. Frage 4.6 (8 Punkte): In den in den Teilen 2 und 3 beschriebenen Verfahren werden Ethernet Rahmen dupliziert. Beschreiben Sie eine Methode, mit der ein Gerät auf möglichst einfache Weise Duplikate erkennen und ggf. verwerfen kann. • Sequenznummern für jedes Frame (anwendungsspezifische Erweiterung, bzw. spezifisch für dieses Verfahren zur Erzeugung redundanter Rahmen) • MAC-Adresse der Quelle (Standard Ethernet) S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 46/74 Informatik Masterstudium Computing & Communications, PM2100.1 • Rahmen von der gleichen Quelle mit gleicher Sequenznummer können verworfen werden. • Bemerkungen: (1) Rahmen werden erst verworfen, nachdem der Empfang eines Duplikat festgestellt wurde. (2) Solch einfache Verfahren lassen sich hardware-nah implementieren. Auf Anwendungsebene gibt es natürlich weitere Möglichkeiten. (3) Das Verfahren sollte möglichst wenige falsch negative Identifikationen liefern, d.h. möglichst wenige gültige Rahmen, die irrtümlich als Duplikate verworfen werden. Hierzu ist erforderlich, dass einerseits die Tabellen mit gültigen Sequenznummern altern, andererseits die Sequenznummer hinreichend viele Stellen besitzt (z.B. 16 Bits), um fehlerhafte Identifikationen bedingt durch Zählerüberlauf auszuschließen. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 47/74 S. Rupp, 2014 mengeBeobachter prozessDaten abmelden(Beobachter) anmelden(Beobachter) benachrichtige() dienstAusf ühren() gibDaten() + + + + + + + Prozessmodell +aktualisiere() auf ruf en benachrichtige(): beobachter.aktualisiere() +anmelden(), dienstAusf ühren() auf ruf en aktualisiere() behandleEreignis() initialisiere(Anzeige, Prozessmodell) + + + Regler meineAnsicht :Anzeige meinModell :Prozessmodell aktualisiere() + + + «abstract» Beobachter +anmelden(); gibDaten() auf ruf en +Erzeugen + + + + + + Anzeige aktualisiere() erstelleRegler() initialisiere(Prozessmodell) präsentiere() meinModell :Prozessmodell meinRegler :Regler Informatik Masterstudium Computing & Communications, PM2100.1 36. Regler mit Anzeige Teil 1 Folgende Abbildung zeigt den Aufbau eines Reglers mit Anzeige. Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 48/74 Informatik Masterstudium Computing & Communications, PM2100.1 Frage 1.1 (6 Punkte): Erläutern Sie die im Diagramm enthaltenen Blöcke und ihre Rollen. Frage 1.2 (6 Punkte): Erläutern Sie die Zusammenhänge zwischen den einzelnen Blöcken: Was geschieht, wenn sich Prozessdaten geändert haben? Wodurch werden Prozessdaten geändert? Wie reagiert die Anzeige auf geänderte Prozessdaten? Teil 2 Das folgende Diagramm zeigt den zeitlichen Ablauf. r :Regler m :Prozessmodell a :Anzeige Benutzer behandleEreignis() dienstAusf ühren() benachrichtige() aktualisiere() präsentiere() gibDaten() aktualisiere() gibDaten() Frage 1.3 (4 Punkte): Ergänzen Sie das Diagramm um eine weitere Anzeige. Frage 1.4 (4 Punkte) Die zusätzliche Anzeige soll als abgesetzte Einheit über ein Netzwerk angeschlossen werden. Welche zusätzlichen Informationen und Komponenten werden hierzu (im Unterschied zur lokalen Anzeige) benötigt? Teil 3 Folgendes Diagramm zeigt den Beginn der Phase, in der die Klassen instanziert und die Instanzen initialisiert werden. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 49/74 Informatik Masterstudium Computing & Communications, PM2100.1 Anwendung r :Regler new() m :Prozessmodell a :Anzeige new() initialisiere(Prozessmodell) anmelden(Anzeige) erstelleRegler() Frage 1.5 (4 Punkte): Erläutern Sie den im Diagramm gezeigten Ablauf. Frage 1.6 (4 Punkte): Ergänzen Sie das Diagramm um folgenden Ablauf: Nachdem sich die Anzeige beim Prozessmodell als Beobachter angemeldet hat, erzeugt das Anzeigeobjekt einen neuen Regler. Dem Regler werden bei der Initialisierung eine Referenz auf das Prozessmodell und auf die Anzeige übergegeben. Der Regler registriert sich ebenfalls als Beobachter beim Prozessmodell. Nach Abschluss der Initialisierung startet die Anwendung die Ereignisbehandlung (siehe Teil 2). 37. Topologie-Erkennungsdienst Ein Hersteller von Systemen mit netzwerkbasierter Feldbusschnittstelle bietet eine automatische Topologieerkennung an. Hiermit lässt sich die Netztopologie aus dem laufenden Netz auslesen, wie in folgender Abbildung 2.1 gezeigt. Damit dieser Dienst mit Geräten unterschiedlicher Hersteller funktioniert, basiert die Kommunikation unter den Geräten auf Basis eines internationalen Standards, nämlich dem in IEEE 802.1AB standardisierten Protokoll LLDP (Link Layer Discovery Protocol). S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 50/74 Informatik Masterstudium Computing & Communications, PM2100.1 Extreme Networks Technical Brief col that using Ethernet em to peer nformation higher layer point informaly implementsible from the LLDP significantly aids in the deployment of any network device that supports the protocol. As a media independent protocol intended to be run on all IEEE 802 devices, LLDP may be used to discover routers, bridges, repeaters, WLAN APs, IP telephones, network camera or any LLDP-enabled device, regardless of manufacturer. Since LLDP runs over the data-link layer only, an Extreme Networks switch running one network layer protocol can discover and learn about an access device running a different network layer protocol. ble to s capabilities as well as onnected to cal Link-Layer rom other ion Bases ip. LLDP Architecture OSI Reference Model Layers IEEE 802 Model Layer Application Higher Protocol Layers Presentation MAC Client {Bridge Relay Entity, LLC, etc.} Link Aggregation Sublayer (Optional) Session LLDP LLDP LLDP Network Data Link MAC Control (Optional) MAC Control (Optional) MAC Control (Optional) MAC MAC MAC Physical Physical Physical Physical Figure 2: LLDP Architecture y col defines a e information and store rt ids and n about each SNMP. Networks IEEE 802.1AB Transport Ethernet Header LLDP Daten Chassis ID 1 PortID TTL FCS PSTN Ende LLDP e LLDP is a data-link layer protocol, operating above the MAC service layer and, as a result, can be used in any networking device that implements a MAC service. Figure 2 shows Abbildung 2.1 Erkannte Netztopologie where LLDP resides in the IEEE 802 Model Layers. Optionale Felder: z.B. IP Adresse, Port, System Name, ... LAN Switch Ethertype: LLDP Router IP Phone Abbildung 2.2 Link Layer Discovery Protocol (IEEE802.1AB) MIB 2 S. Rupp, 2014 3 Network Management Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 BlackDiamond 8810 MIB 51/74 Informatik Masterstudium Computing & Communications, PM2100.1 Frage 2.1 (6 Punkte): Welcher Protokollschicht ordnen Sie LLDP zu? Wie weit wird die per LLDP ausgetauschte Information kommuniziert? Können Protokolle auf Schicht 3 passiert werden? Begründen Sie Ihre Entscheidung. Frage 2.2 (4 Punkte): Die Topologie soll netzweit erkannt werden, auch über VLANs und über Router hinweg. Wie lässt sich dies erreichen? Welche Information wird benötigt? Wie lässt sich die Kompatibilität zwischen Geräten unterschiedlicher Hersteller gewährleisten? Hinweis: Verwenden Sie lokale Verzeichnisse auf den Geräten. Frage 2.3 (4 Punkte): Wenn Geräte ausfallen, bzw. aus dem Netz entfernt werden, muss die Topologie aktualisiert werden. Wie lässt sich verhindern, dass veraltete Informationen in den Geräten vorgehalten werden? Frage 2.4 (4 Punkte): Die folgende Abbildung 2.3 zeigt einen mit einem Netzwerk-AnalyseProgramm dekodierten LLDP Rahmen. Identifizieren und interpretieren Sie die obligatorischen und optionalen Felder im Rahmen. Abbildung 2.3 Protokoll-Trace Frage 2.5 (4 Punkte): Der in Abbildung 2.3 dekodierte Rahmen enthält ein Feld TTL (= Time to Live), das auf 120 s gesetzt ist. Welche Funktion könnte dieses Feld haben? Wie wird die Information aus dem TTL-Feld in den Geräten vermutlich verwendet? Frage 2.6 (4 Punkte): Der Systemhersteller bietet beim Austausch von Geräten im Feld ein besonderes Leistungsmerkmal: die automatische Übernahme der Konfigurationsparameter des ausgetauschten Gerätes. Wie könnte er dieses Leistungsmerkmal realisieren? S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 52/74 Informatik Masterstudium Computing & Communications, PM2100.1 38. Vorfahrt für Prozessdaten Prozessrechner und ihre Peripherie (IO-Geräte) teilen sich ein Netzwerk mit BenutzerPCs und anderer netzwerkfähiger Infrastruktur. Die folgende Abbildung zeigt eine Konfiguration mit 3 Ethernet-Switches. Prozessrechner und Peripherie kommunizieren miteinander über ein netzwerkbasiertes Feldbusprotokoll. Wegen der zeitkritischen Anforderungen werden kurze Ethernet-Rahmen von 64 Bytes verwendet. Das Netzwerk ist als Fast Ethernet mit 100 Mbit/s Übertragungsrate ausgeführt. Switches Port A Port B S1 Port D S2 S3 Port C Prozessrechner IO-Gerät IO-Gerät VLAN 1 Port A Port B Port C t1 t2 t3 Frage 3.1 (4 Punkte): Am Port A von Switch S1 trifft ein Paket der Länge 512 Bytes mit Videodaten zum Zeitpunkt t1 ein, an Port B zur Zeit t2 ein Ethernet Rahmen der Länge 1500 Bytes, und an Port C zum Zeitpunkt t3 ein Rahmen mit Prozessdaten. Skizzieren Sie die Reihenfolge der Pakete am Ausgangsport D, wenn keine weiteren Massnahmen getroffen werden. Frage 3.2 (4 Punkte): In welcher Größenordnung sind Laufzeitschwankungen in der gezeigten Konfiguration zu erwarten? Hinweis: angenommen sei eine geringe Systemauslastung, d.h. höchstens 1 Rahmen ist in den Eingangswarteschlangen in Bearbeitung. Ausgangsports Eingangsports Ausgangsports Eingangsports Prio 1 3 1 3 1 2 2 Prio 2 Ohne Priorisierung Mit Priorisierung Frage 3.3 (4 Punkte): Die Prozessrechner und ihre Peripherie werden zu einem VLAN zusammengefasst und diesem VLAN die höchste Priorität zugeordnet. Skizzieren Sie die Reihenfolge der Pakete an Port D gemäß Frage 3.1 nach dieser Massnahme. Welchen S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 53/74 Informatik Masterstudium Computing & Communications, PM2100.1 Einfluss hat diese Massnahme auf die Laufzeitschwankungen? Hinweis: Als zum VLAN gehörig markierten Pakete erhalten nach dem in der Abbildung oben gezeigten Mechanismus die höchste Priorität. Frage 3.4 (6 Punkte): Könnte man durch Verwendung zusätzlicher Ausgangsports weitere Fortschritte erzielen? Begründen Sie Ihre Aussage. Nennen Sie Massnahmen, wie man die Laufzeitschwankungen weiter verringern könnte. Begründen Sie Ihre Aussagen. 39. Speicherprogrammierbare Steuerung (SPS) Eine Task innerhalb einer SPS arbeitet zyklisch nach folgendem Schema (1) Eingänge abfragen, (2) Ausgänge berechnen, (3) Ausgänge schalten. Das Abfragen der Eingänge geschieht durch Empfang von Nachrichten von den Sensoren über einen Feldbus. Das Schalten der Ausgänge erfolgt durch Senden von Nachrichten an die Aktoren über den Feldbus. Der Busmaster organisiert den Nachrichtenaustausch am Feldbus so, dass innerhalb eines Buszyklus Zeitpunkte für den Austausch von Meldungen zwischen den angeschlossenen Geräten vereinbart sind. Hierbei arbeitet der Feldbus also ebenfalls zyklisch, läuft jedoch nicht synchron mit dem Zyklus der SPS. Die nachfolgende Abbildung zeigt den zeitlichen Ablauf. Sensorsignal wird übertragen Controller: Gerät 8 1 2 1 3 2 Sensor: Gerät 1 N 8 3 2 1 N 8 3 2 N 8 3 Sensorsignal wird gepuffert 1 N 8 2 1 3 2 N 8 3 N 8 Steuerinformation an alle Aktoren 2 Sensorsignal ändert sich I SPS Zyklus Berechnung O I Berechnung O Sensorsignal gelesen Steuersignal wird gepuffert Sensorsignal wird gepuffert 1 2 1 3 2 N 8 3 8 1 N 2 1 3 2 N 8 3 8 1 N 2 1 3 2 N 8 3 Sensorsignal wird gepuffert N 8 Steuerinformation an alle Aktoren Sensorsignal ändert sich Frage 1: Welchen Einfluss hat der Buszyklus auf die Weitergabe der Meldungen an die angeschlossenen Sender und Empfänger im Feld? Welche Verzögerung (gemessen in Bus-Zyklen) ergibt sich zwischen Senden einer Sensormeldung und Empfangen der Steuermeldung am Aktor aus Perspektive des Busses? Frage 2: Erläutern Sie den prinzipiellen Ablauf für den Empfang und das Senden von Meldungen aus dem Feld aus der Perspektive der SPS. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 54/74 Informatik Masterstudium Computing & Communications, PM2100.1 Frage 3: Welche Reaktionszeiten (gemessen in Bus-Zyklen) ergeben sich im günstigsten und ungünstigsten Fall aus Perspektive des Systems (Sensor, SPS, Aktor)? Frage 4: Mit welchen Modifikationen am Feldbus liessen sich die Reaktionszeiten verkürzen? 40. Feldbus Teil 1 Der Anschluss an einen Ethernet basierten Feldbus geschieht über einen Schnittstellenbaustein (NIC, Network Interface Controller), der Meldungen per DMA (Direct Memory Access) in den Arbeitsspeicher eines Mikrocomputers übertragen kann, wie in folgender Abbildung gezeigt. Der Microcomputer verfügt ausserdem über eigene digitale Eingänge und Ausgänge. Frage 1: Erläutern Sie den Vorteil von DMA gegenüber einer einfachen Abbildung der Geräteregister in den Adressraum des Arbeitsspeichers (Memory Mapped IO) Frage 2: Feldbusklemme: Es sei angenommen, dass die digitalen Eingänge und Ausgänge (Digital I/O) die einzigen Ports des Mikrocomputers sind. Die einzige Funktion des Mikrocomputers besteht darin, die vom Feldbus empfangenen Meldungen in Signale an den Ausgangsports abzubilden, sowie Signale an den Eingangsports als Meldungen über den Feldbus zu senden. Wie könnte man das Gerät vereinfachen (Alternativen zum Mikrocomputer)? Welche Vereinbarung ist hierfür erforderlich? Teil 2 In der folgenden Abbildung sind Feldbusklemmen zu einem Netz verschaltet. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 55/74 Informatik Masterstudium Computing & Communications, PM2100.1 Frage 3: Beschreiben Sie die dargestellten Topologien. Hinweis: Wenn mehrere Ports pro Gerät vorhanden sind, ist im Gerät ein Ethernet-Switch enthalten. Frage 4: Es werden Ethernet Rahmen der Größe 64 Bytes verwendet, die 20 Bytes Header und 44 Bytes Nutzinformation enthalten. Wie viele digitale I/Os lassen sich mit einem solchen Rahmen schalten? Wie lässt sich die Zahl der digitalen I/Os erhöhen? Frage 5: Als Übertragungsmedium wird Fast Ethernet mit 100 Mbit/s verwendet. Wie viel Zeit vergeht von der Sendung des Ethernet Rahmens aus Frage 4 vom Kopf des Netzes (oben links) bis zum Empfang der Meldung (Schalten der Ausgänge) über den längsten Pfad des dargestellten Netzes? Wenn alle Geräte in der längsten Kette individuell adressiert werden, welche Zeit ergibt sich für den Buszyklus? Frage 6: Statt die dargestellten Geräte individuell mit Ethernet Rahmen zu adressieren, könnte man die Informationen für alle Geräte auf dem Pfad in den gleichen Ethernet Rahmen packen. Welcher Zeitvorteil liesse sich hierdurch erreichen? Welche Besonderheit weist ein Ethernet-Switch für eine solche Anwendung auf? Einige Erläuterungen im Vergleich zu traditionellen Feldbussystemen: Traditioneller Feldbus SPS I/O Controller < 30 m I/O Devices Sensoren, Aktoren • Laufzeit der Signale: 300 * 106 m/s 300 m/μs. 30 m werden also in 100 ns durchlaufen. • Übertragungsrate am Bus: 1 Mbit/s. Verhältnisse auf der Leitung. 1 Bit dauert 1 μs, damit quaistationäre • Größe der Telegramme bzw. Nachrichten: z.B. 12 Bytes = ca 100 Bits • Dauer eines Telegramms somit ca. 100 μs. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 56/74 Informatik Masterstudium Computing & Communications, PM2100.1 Bus-Zyklus Bsp: N = 10 Geräte, Busmaster organisiert Abfrage, alle Geräte am Bus können mitlesen 1 2 1 Anfrage 3 2 3 t N N Antwort Buszyklus • Dauer: > 2 * N * Dauer einer Nachricht (für 10 Geräte und 100 μs: 2 ms) Ethernet basierter Feldbus: Daten H • Ethernet Rahmen: 64 Bytes (20 Bytes Header, 44 Bytes Nutzdaten) wie Schieberegister • Übertragungsrate: 100 Mbit/s (Fast Ethernet, 1 Bit dauert 10 ns)) • 64 * 8 Bytes / 100 MBit/s ca 5 μs Übertragungsdauer • Ethernet-Switch: speichern und weiterleiten verursacht ca 5 μs Verzögerung pro Switch (auch bei längeren Ethernet Rahmen, da die Header-Information zum Auswerten der Zieladresse zum Weiterleiten genügt) SPS I/O Controller SPS I/O Controller I/O Devices EthernetSwitches I/O Device I/O Devices Ethernet-Switches in Geräten eingebaut I/O Device Netz-Topologien: 1 9 2 1 2 1 8 3 N 8 2 3 N 8 3 4 7 Dauer: > 2 * N * Dauer einer Nachricht (für 10 Geräte und 5 μs: 100 μs) 5 6 1 S. Rupp, 2014 Traditioneller Buszyklus: 2 3 4 5 6 7 8 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 9 57/74 Informatik Masterstudium Computing & Communications, PM2100.1 Bus-Zyklen: A. Traditionell: maximale Laufzeit einkalkulieren: 10 * 5 μs = 50 μs Dauer einer Nachricht 1 ms (immer noch schneller) B. Laufzeiten optimieren: 2 * 10 * 5 μs = 100 μs (wie in der Stern-Topologie) 10 9 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 10 C. Sammeltelegramm: 2 * 10 * 5 μs = 100 μs (wie in der Stern-Topologie) 10 10 D. Sammeltelegramm ohne MAC-Adressierung: 2 * 5 μs = 10 μs (besser als Stern-Topologie?) 10 10 Stern-Topologie im Parallelbetrieb 1 1 9 1 2 8 3 2 2 4 7 3 6 5 3 ... 10 10 Optimierter Buszyklus: Dauer: > 2 * N * Dauer einer Nachricht (für 10 Geräte und 5 μs: 10 μs) Teil 3 Zeitsynchrone Steuerung: Um Antriebe zu synchronisieren, werden verteilte Uhren eingesetzt, wie in der folgenden Abbildung gezeigt. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 58/74 Informatik Masterstudium Computing & Communications, PM2100.1 Frage 7: Welche Reaktionszeit ist für die winkelgenaue Steuerung (mit 1 Grad Genauigkeit) eines Antriebs mindestens erforderlich, der mit 3000 Umdrehungen pro Minute läuft? Welchen Vorteil bringen synchrone Uhren in den Controllern (Antriebe, Feldbusklemmen, bzw. Prozessrechner)? Frage 8: Uhrenvergleich: Damit die Uhren synchron bleiben, müssen sie durch ein geeignetes Protokoll von Zeit zu Zeit nachgestellt werden. Hierzu übernimmt ein Gerät die Zeitbasis (Master-Clock), alle anderen Geräte werden nach dieser Uhr gestellt (Slave Clocks). Das Stellen der Uhren erfolgt durch Versand von Nachrichten nach einem geeigneten Protokoll. Hierbei ist der Gangunterschied der Uhren festzustellen und ausserdem die Laufzeit der Nachricht zwischen den Geräten zu berücksichtigen. Beschreiben Sie ein Verfahren, mit dem sich die Uhr eines Gerätes nach der Uhr in einem anderen Gerät stellen lässt. Hinweis: Gehen Sie schrittweise vor: (1) ohne Berücksichtigung der Laufzeit, (2) mit Berücksichtigung der Laufzeit. 41. Ablaufwarteschlange Die folgende Abbildung zeigt eine Ablaufwarteschlange zu dem Zeitpunkt, als durch Eintreffen eines Ereignisse eine bisher wartende Task ablaufbereit geworden ist. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 59/74 Informatik Masterstudium Computing & Communications, PM2100.1 Prozessor Ablaufwarteschlange ... Prio = 2 S =A Prio = 2 S =A Prio = 8 S =A Prio = 10 S =A Kopf Task Control Blöcke Prio = 8 S =A neue ablaufbereite Task Frage 1: Wie reagiert der Scheduler auf die neue ablaufbereite Task? In welcher zeitlichen Reihenfolge werden die Tasks in einem Multi-Tasking System mit einem Prozessorkern (CPU) abgearbeitet? Frage 2: In welcher zeitlichen Reihenfolge werden die Tasks in einem Multi-Tasking System mit zwei Prozessorkernen abgearbeitet? Beschreiben Sie die Aktivität des Dispatchers in einem Diagramm. 42. Verfahrene Situationen In einem Multi-Tasking System kann es zu verfahrenen Situationen kommen. Frage 1: Erläutern Sie die Ursache der verfahrenen Situation in der Abbildung. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 60/74 Informatik Masterstudium Computing & Communications, PM2100.1 Frage 2: Wodurch entstehen solche Situationen in einem Multi-Tasking System? Wie lassen sich solche Situationen vermeiden? Wie lassen sie sich auflösen? 43. Task-Synchronisation Teil 1 Folgendes Diagramm zeigt den Ablauf zweier Tasks. Frage 1: Erläutern Sie den Ablauf. Was genau wird durch die Verwendung der Ereignismeldungen (Event Flags) erreicht? Frage 2: Eine Abfüllanlage soll mit Hilfe dreier paralleler Tasks realisiert werden: (1) Flasche abfüllen, (2) Kronkorken aufsetzen, (3) Etikett aufkleben. Die Aufgaben sollen in auf einander folgenden Arbeitsschritten erledigt werden. Erstellen Sie ein Aktivitätsdiagramm. Task P1 Initialisierung Fork P2 Initialisierung Schleif e Schleif e EventFlag1 EventFlag2 EventFlag1 zurück setzen EventFlag2 zurück setzen Abschnitt A bearbeiten Abschnitt B bearbeiten EventFlag2 Schalter "Aus" betätigt? EventFlag1 Ende P1 Teil 2 Drei Antriebsachsen sollen synchronisiert werden. Jede Antriebsachse soll mit Hilfe einer eigenen Task gesteuert werden. Bezugspunkt für jede Achse ist eine vorgegebene Position, die von einem Drehgeber gemeldet wird. Durchläuft die Achse diesen Bezugspunkt, wird ein Alarm erzeugt. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 61/74 Informatik Masterstudium Computing & Communications, PM2100.1 Frage 3: Mit welcher Methode kann der Gleichlauf der Achsen gewährleistet werden? Beschreiben Sie ein Konzept in Worten. Frage 4: Erstellen Sie ein Aktivitätsdiagramm. 44. Vernetzter Feldbus Teil 1 Folgende Abbildung zeigt verschiedene Möglichkeiten zum Vernetzung von Feldbussen. Als Prozessrechner arbeitet eine Speicherprogrammierbare Steuerung (SPS) oben rechts in der Abbildung. Aktoren und Sensoren werden an I/O Geräte (Feldbusklemmen) angeschlossen, die an die Ethernet Switches angeschlossen sind. Geräte mit mehreren Ethernet Anschlüssen haben eingebaute Switches und können daher ebenfalls Meldungen weiter geben. SPS / PLC Ring Switches Switch Switch (Glasfaser) Switch I/O Geräte (Feldbusklemmen) Quelle: Phönix Contact Das Netz wird als Fast Ethernet mit 100 Mbit/s betrieben. Zum Austausch der Prozessdaten werden kurze Ethernet Rahmen von 64 Bytes verwendet, von denen 44 Bytes für Nutzdaten zur Verfügung stehen. Die SPS organisiert als I/O Controller bzw. Busmaster den Buszyklus. In jedem Switch werden die Meldungen gespeichert und weitergeleitet. In den I/O Geräten werden die Meldungen empfangen und Meldungen mit dem aktuellen Status der Eingänge als Antwort gesendet. Frage 1.1 (4 Punkte): Es werden 10 I/O Geräte in Stern-Topologie an einen Switch angeschlossen. Der I/O Controller organisiert den Buszyklus so, dass alle Geräte der Reihe nach abgefragt werden und antworten. Wie lange dauert der Buszyklus mindestens? Frage 1.2 (4 Punkte): Es werden 10 I/O Geräte in Linien-Topologie bzw. in Ring-Topologie miteinander verbunden. Der I/O Controller organisiert den Buszyklus so, dass alle Geräte der Reihe nach abgefragt werden und antworten. Wie lange dauert der Buszyklus mindestens? S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 62/74 Informatik Masterstudium Computing & Communications, PM2100.1 Frage 1.3 (6 Punkte): Skizzieren Sie auf der Zeitachse einen möglichen Buszyklus zu Frage 1.1 und Frage 1.2 aus Sicht des I/O Controllers (Geräte abfragen und Rückmeldungen). Frage 1.4 (4 Punkte): Für den zu steuernden Prozess genügt eine Zykluszeit von 10 ms. Es werden maximal 10 I/O Geräte angeschlossen. Die Anordnung soll jedoch Einzelfehler im Netz verkraften. Welche Topologie wählen Sie? Begründen Sie Ihre Entscheidung durch Vergleich mit den anderen Topologien. Teil 2 Damit das Netzwerk neben den zeitkritischen Prozessdaten auch regulären Verkehr übertragen kann, wird ein Zeitmultiplex eingeführt, d.h. alle Controller, Switches und Geräte werden im gleichen Takt zwischen einem Zeitschlitz für Prozessdaten und einem Zeitschlitz für regulären Verkehr umgeschaltet. Der Takt für den Zeitmultiplex kann von 250 μs bis 1 ms eingestellt werden. Es wird abwechselnd ein Zeitintervall für Prozessdaten verwendet, das folgende Zeitintervall für regulären Verkehr. Frage 1.5 (4 Punkte): Zur Steuerung des Prozesses ist eine maximalen Reaktionszeit von 1 ms erforderlich. Hierbei beschreibt die Reaktionszeit aus Sicht des Prozesses die Zeit zwischen dem Senden einer Meldung mit Statusinformation und dem Empfang einer Meldung mit Steuerinformation. Wählen Sie eine Linienkonfiguration für 10 Geräte. Kann die gewünschte Reaktionszeit erreicht werden? Begründen Sie Ihre Antwort. CAN Frage 1.6 (4 Punkte): Wählen Sie eine Einstellung für den Zeitmultiplex. Begründen Sie Ihre Entscheidung. Skizzieren Sie den Buszyklus auf der Zeitachse aus Sicht des I/O Controllers (Geräte abfragen und Rückmeldungen empfangen). 45. CAN Open als Feldbus CANopen application layer Für das Batteriemanagement in einem Elektrofahrzeug soll der CAN-Bus in Kombination mit dem Anwendungsprofil CANopen 454 für Energie-Management-Systeme eingesetzt werden. In den Unterlagen findet sich folgende Abbildung. Requesting (confirming) device Indicating (responding) device CANopen application layer CANopen COB CAN data link layer CAN physical layer CAN frame(s) Recessive Recessive Dominant COB = communication object CANopen application layer CAN data link layer CAN physical layer Quelle: CAN in Automation Frage 3.1 (6 Punkte): Interpretieren Sie die abgebildeten Protokollschichten und erläutern Sie die Funktionen jeder Schicht. • Schicht 1, Physical Layer: Modulationsverfahren; wie OSI Schicht 1 © CiA S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 63/74 Informatik Masterstudium Computing & Communications, PM2100.1 • Schicht 2, Data Link: Rahmenprotokoll mit Fehlerkorrektur; wie OSI-Schicht 2 CAN • Schicht 3, Anwendungsschicht: Schnittstelle für den Anwendungsprogrammierer, Definition von Nachrichten, Nachrichtenformaten und Objekten aus der Anwendungsdomaine; entspricht OSI Schicht 7 Integrated CAN module Frage 3.2 (8 Punkte): CAN funktioniert als serieller Feldbus, d.h. alle Geräte sind an einem gemeinsamen Medium (Zweidraht) angeschlossen. Der Anschluss der Geräte an den Feldbus erfolgt wie in folgender Abbildung gezeigt. Erläutern Sie die Funktion der einzelnen Komponenten im Zusammenhang mit den den Protokollschichten aus der letzten Abbildung. Welche Besonderheit hat der dargestellte Mikrocontroller? CAN Transceiver CAN_H CAN_L Microcontroller Rx • Signaling • Bus Failure Management Tx CAN Module • Protocol Controller • Message Filter • Message Buffer • CPU Interface CPU Module • Additional Message Filter • Higher Layer Protocol • Application Quelle: CAN in Automation • CAN-Transceiver: Physical Layer, stellt für Schicht 2 eine Schnittstelle zum Senden (Transmit Tx) und Empfangen (Receive Rx) von Nachrichten zur Verfügung. • CAN Module: Schicht 2; sowie Vorverarbeitung von Signalen, z.B. Ausfiltern relevanter Signale zur weiteren Verarbeitung, sowie Nachrichtenpuffer; stellt Schnittstelle © CiA zur Anwendungsschicht bereit. • CPU-Module: Verarbeitung des Anwendungsprotokolls (Schicht 3), sowie der der Anwendung selbst. • In der gezeigten Abbildung ist das CAN-Module (Schnittstellenmodul) direkt im Mikrocontroller integriert. Als Alternative wäre ein externer Baustein zu verwenden, der dann über eine serielle Schnittstelle an einen Mikrocontroller angeschlossen ist (z.B. über eine serielle Schnittstelle wie SPI). Frage 3.3 (8 Punkte): Der Feldbus wird mit einer Datenrate von 1 Mbit/s betrieben. Die Länge einer Nachricht beträgt 6 Bytes für den Nachrichtenkopf (Header), sowie 0 bis 8 Bytes für Daten. Die Geräte kommunizieren Kollisionen unter einander (mehrere Geräte senden gleichzeitig), sowie Quittungen empfangener Nachrichten unmittelbar durch den Signalpegel eines einzelnen Bits (in Art einer Open-Kollektor-Schaltung bzw. verdrahteter ODER-Logik der Anschlüsse an den Bus). Wie lange darf die Länge ℓ des Feldbusses höchstens sein, damit eine Nachricht von einem Ende zum anderen laufen kann und von dort eine Quittung empfangen werden kann (als Ausbreitungsgeschwindigkeit seien 200 * 106 m/s angenommen)? Wie viele Nachrichten pro Sekunde kann der Bus übertragen, wenn jede Nachricht 8 Bytes Daten enthält? Nennen Sie eine Möglichkeiten, Nachrichten bevorzugt zu behandeln (z.B. Steuerinformationen vor Messwerten). • Die Übertragungsdauer eines Bits beträgt 1 us (zu berechnen aus der Datenrate). Während dieser Zeit wird mit der gegebenen Ausbreitungsgeschwindigkeit eine EntS. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 64/74 Informatik Masterstudium Computing & Communications, PM2100.1 fernung von 200 m durchlaufen. Die Buslänge darf also 100 m nicht überschreiten, damit eine Quittung nach einer us zurücklaufen kann. Damit die Quittung innerhalb der Bitdauer ankommt, sollte die Buslänge deutlich kürzer sein (max. 40 m). • Nachrichtenlänge: 14 Bytes = 14 * 8 = 112 bits => 112 us pro Nachricht. Somit können pro Sekunde 8929 Nachrichten übertragen werden. • Die Priorität der Nachricht wird im Nachrichtenkopf kennzeichnen. Die Auswertung erfolgt entweder durch die Anwendung (Software im Mikrocontroller), bzw. gleich bitweise durch den Buspegel. S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 65/74 Informatik Masterstudium Computing & Communications, PM2100.1 Englisch - Deutsch Admission control ! ! ! Zulassungskontrolle Air Interface! ! ! ! Funkschnittstelle Application layer! ! ! Anwendungsschicht, Verarbeitungsschicht Basic Services (BS) ! ! ! Basisdienste Bearer Service! ! ! ! Trägerdienst Block Error Rate! ! ! Blockfehlerrate Broadcast ! ! ! ! Rundsendung Call Control ! ! ! ! Rufsteuerung Call Drop Rate !! ! ! Verbindungsabbruchrate Call Forwarding (CF) ! ! ! Rufumleitung Carrier !! ! ! Verbindungsnetzbetreiber ! ! Zellkennung Circuit switched domain!! ! Leitungsvermittelte Domäne Circuit switching! ! ! Leitungsvermittlung Confidentiality! ! ! ! Vertraulichkeit Content Provider ! ! ! Inhalteanbieter Control Plane ! ! ! ! Steuerungsebene Core Network ! ! ! ! Kernnetz Credentials ! ! ! ! Beglaubigung, Zeugnis Data Link Layer ! ! ! Sicherungsschicht Delay, Latency !! ! ! Verzögerung, Laufzeit Downlink! ! ! ! Abwärtsstrecke Echo Canceller! ! ! ! Echokompensator Expedited Forwarding! ! ! beschleunigtes Weiterleiten Fading! ! ! ! ! Schwund Firewall!! ! ! ! Brandschutzmauer, Paketfilter ! ! Rahmenfehlerrate ! Cell Identity (CID) ! Frame Error Rate! Frequency Division Multiple Access! Frequenzvielfachzugriff Handover, Handoff! ! ! (Verbindungs-)Übergabe, Weiterreichen Integrity! ! ! ! Unversehrtheit (von Daten bzw. Systemen) Jitter! ! ! ! Laufzeitschwankungen ! ! ! Sichtverbindung ! Line of Sight! S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 66/74 Informatik Masterstudium Computing & Communications, PM2100.1 Local Area Network! ! ! Lokales Rechnernetz Location Area (LA)! ! ! Aufenthaltsbereich Mobile Termination! ! ! Mobilfunk-Netzabschluss Mobility Management! ! ! Mobilitätssteuerung Multicast! ! ! ! Vielfachsendung narrowband! ! ! ! schmalbandig Network Layer! ! ! ! Vermittlungsschicht Packet Loss! ! ! Paketverlust Packet Switching! ! ! Paketvermittlung Penetration Loss! ! ! Wanddämpfungsverlust Physical Layer! ! ! ! Physikalische Schicht Power Control! ! ! ! Leistungsregelung Presence Service! ! ! Erreichbarkeitsdienst Processing Gain! ! ! Prozessgewinn Pseudo Noise Sequence! ! Pseudozufallsfolge Push Service! ! ! ! Zustelldienst Quality of Service! ! ! Dienstgüte Release! ! ! Ausgabe (eines Normenpaketes oder Softwarepaketes) Resource Management!! ! Administration der Betriebsmittel Resources! ! ! ! Betriebsmittel Routing!! ! ! ! Verkehrslenkung Scrambling! ! ! ! Verwürfelung Sensitivity! ! ! ! Empfindlichkeit Service Provider ! ! ! Dienstanbieter, Diensterbringer Session ! ! ! ! Sitzung Session Layer! ! ! ! Sitzungsschicht Session Management! ! ! Sitzungssteuerung Short Message!! ! ! Kurznachricht State Event Diagram! ! ! Zustandsübergangsdiagramm Subframe! ! ! ! Teilrahmen Sublayer! ! ! ! Teilschicht Subscription! ! ! ! Vertragsabschluss, Subskription, Diensteinschreibung ! ! Supplementary Services (SS)! ! Zusatzdienste Terminal Equipment! Endgerät S. Rupp, 2014 ! ! Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 67/74 Informatik Masterstudium Computing & Communications, PM2100.1 Time Division Multiple Access! ! Zeitvielfachzugriff Traffic Model! ! ! ! Verkehrsmodell Transcoding! ! ! ! Umcodierung Transport Layer!! ! ! Transportschicht Uplink! ! ! ! ! Aufwärtsstrecke User Equipment! ! ! Teilnehmerausrüstung User Plane! ! ! Nutzerebene S. Rupp, 2014 ! Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 68/74 Informatik Masterstudium Computing & Communications, PM2100.1 Abkürzungen 2G ! ! 2nd Generation (of Mobile Radio) 3G ! ! 3rd Generation (of Mobile Radio) 3GPP! ! 3rd Generation Partnership Project (UMTS) AAA! Authentication, Authorization, Accounting ! ADSL! ! Asynchronous Digital Subscriber Line AG ! ! Access Gateway AP! ! Access Point API! ! Application Programming Interface ASP! ! Application Service Provider AuC! ! Authentication Center BER! ! Bit Error Rate BLER! ! Block Error Rate BSC! ! Base Station Controller BSS! ! Base Station System BTS! ! Base Transceiver Station CCBS! ! Customer Care and Billing System CDMA! ! Code Division Multiple Access CK! Ciphering Key ! CORBA! Common Object Request Broker Architecture CPE! Customer Premises Equipment ! DECT! ! Digital Enhanced Cordless Telecommunications DHCP! ! Dynamic Host Configuration Protocol DIAMETER! successor to RADIUS DNS! ! Domain Name Service DSL! ! Digital Subscriber Line DVB ! ! Digital Video Broadcasting DVB-S! ! Satellite DVB DVB-T! ! Terrestrial DVB EDGE! ! Enhanced Data Rates for Global Evolution EIR! Equipment Identity Register ! ERAN ! ! EDGE Radio Access Network ETSI! European Telecommunications Standards Institute ! S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 69/74 Informatik Masterstudium Computing & Communications, PM2100.1 EU ! ! European Union FDD! ! Frequency Division Duplex FDMA! ! Frequency Division Multiple Access FEC ! ! Forward Error Correction FER ! ! Frame Error Rate FTP! ! File Transfer Protocol GERAN! GSM/EDGE Radio Access Network GGSN! ! Gateway GPRS Support Node GMLC ! ! Gateway Mobile Location Center G-MS! ! Gateway MSC GPRS! ! General Packet Radio Service GPS: Global Positioning System GSM! Global System for Mobile communication ! HDTV! ! High Definition Television HLR! ! Home Location Register HSS! ! Home Subscriber Server HTTP! ! Hypertext Transfer Protocol IAM! ! Initial Access Message ID! ! Identity IDL! ! Interface Description Language IEEE! ! Institute of Electrical and Electronics Engineers IETF! ! Internet Engineering Task Force IM! ! Instant Messaging IMEI! ! International Mobile Equipment Identity IMSI! ! International Mobile Subscriber Identity IN ! ! Intelligent Network INAP! ! Intelligent Network Application Part IP! ! Internet Protocol IPsec! ! IP Security Protocol IP-VPN!! IP Virtual Private Network ISDN ! ! Integrated Services Digital Network ISO! ! International Organization for Standardization ISP: Internet Service Provider IT! ! Informations Technologie ITU! ! International Telecommunication Union J2ME! ! S. Rupp, 2014 Java 2 Micro Edition Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 70/74 Informatik Masterstudium Computing & Communications, PM2100.1 Kc! ! Ciphering Key LA! ! Location Area LAN! ! Local Area Network LBS! ! Location Based Service LLC! ! Logical Link Control LOS! ! Line of Sight MAC! ! Medium Access Control MAN! ! Metropolitan Area Network MAP! ! Mobile Application Part MID! ! Mobile Information Device MMS! ! Multimedia Messaging Service MNC ! ! Mobile Network Code MP3! Moving Pictures experts group 1 layer 3 standard ! MPEG ! ! Moving Pictures Experts Group MPLS! ! Multi-Protocol Label Switching MS! ! Mobile Station MSC! ! Mobile Switching Center MSIN ! ! Mobile Station Identification Number MSISDN ! Mobile Subscriber ISDN Number MTP! ! Message Transfer Part NAT! ! Network Address Translation NSS! ! Network Subsystem OFDM! ! Orthogonal Frequency Division Multiplexing OMA! Open Mobile Alliance ! OMG ! ! Object Management Group OSI! Open Systems Interconnection ! OSPF! ! Open Shortest Path First PCM! ! Pulse Code Modulation PDA! ! Personal Digital Assistant PHY! ! Physical Layer PLMN ! ! Public Land Mobile Network PPP! Point to Point Protocolg ! PSTN! ! Public Switched Telephony Network P-TMSI!! Packet TMSI S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 71/74 Informatik Masterstudium Computing & Communications, PM2100.1 QoS! ! Quality of Service RAB ! ! Radio Access Bearer RADIUS! Remote Authentication Dial In User Service RAN! ! Radio Access Network RFC! ! Request For Comments (IETF) RLC! ! Radio Link Control RNC! ! Radio Network Controller RTP! ! Real Time Transport Protocol SAP! ! Service Access Point SAT! ! SIM Application Toolkit SCCP! ! Signaling Connection Control Part SCP! ! Service Control Point SDH! ! Synchronous Digital Hierarchy SDP! ! Service Discovery Protocol SDU! ! Service Data Unit SGSN! ! Serving GPRS Support Node SIG! ! (Bluetooth) Special Interest Group SIM! ! Subscriber Identity Module SIP! ! Session Initiation Protocol SMS! ! Short Message Service SMSC ! ! Short Message Service Center SMTP ! ! Simple Mail Transfer Protocol SOAP! ! Simple Object Access Protocol SS7! ! Signaling Subsystem No 7 STP! ! Signaling Transfer Point TCAP! ! Transaction Capability Application Part TCP! Transmission Control Protocol ! TD/CDMA! Time Division / Code Division Multiple Access TDD! ! Time Division Duplex TDM! ! Time Division Multiplex(ing) TDMA! ! Time Division Multiple Access TE! Terminal Equipment ! TMSI! ! Temporary Mobile Subscriber Identity UDP! User Datagram Protocol ! S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 72/74 Informatik Masterstudium Computing & Communications, PM2100.1 UML! ! Unified Modeling Language UMTS! ! Universal Mobile Telecommunications System URL! Universal Resource Locator ! USAT! ! USIM Application Toolkit USIM! ! Universal Subscriber Identity Module UTRA! ! Universal Terrestrial Radio Access UTRAN!! Universal Terrestrial Radio Access Network VLR! ! Visitor Location Register VPN! ! Virtual Private Network WAN ! ! Wide Area Network W-CDMA! Wideband CDMA WLAN ! ! Wireless Local Area Network WSDL! ! Web Services Description Language WWW! ! World Wide Web XML! Extended Markup Language ! S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 73/74 Informatik Masterstudium Computing & Communications, PM2100.1 Literatur (1) Andrew S. Tanenbaum, Computer Netzwerke, Pearson Studium; Auflage: 4., überarbeitete Auflage (2003); ISBN-13 978-3827370464 (2) Gerd Siegmund, Technik der Netze, Band 1 und 2, Band 1: Klassische Kommunikationstechnik: Grundlagen, Verkehrstheorie, ISDN/GSM/IN - Band 2: Neue Ansätze: SIP in IMS und NGN; VDE-Verlag; Auflage: 6., vollst. neu bearbeitete und erweiterte Auflage (2010); ISBN-13: 978-3800732203 (3) Eric Freeman et al, Head First Design Patterns, O'Reilly Media; Auflage: 1 (2004) ISBN-13: 978-0596007126 (4) Harald Orlamünder, Paket-basierte Kommunikations-Protokolle: Hüthig Telekommunikation; Auflage: 1 (2005) ISBN-13: 978-3826650468 S. Rupp, 2014 Übungen_Kommunikationssysteme_PM_2001_1_Teil_2 74/74