Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Server Management Serverentwicklung unter.NET Dipl.-Inform. (FH) Paul Mizel

Ähnliche Präsentationen


Präsentation zum Thema: "Server Management Serverentwicklung unter.NET Dipl.-Inform. (FH) Paul Mizel"—  Präsentation transkript:

1 Server Management Serverentwicklung unter.NET Dipl.-Inform. (FH) Paul Mizel

2 Seite 2 Dipl. Inf. (FH) Paul Mizel Inhalt Motivation Anforderungen Inhalt der Arbeit Client- / Server-DV Servermodule Plugin-Lader Serverstart Protokolle Demonstration Ausblick

3 Seite 3 Dipl. Inf. (FH) Paul Mizel Motivation Was ist OMNINO? Es sollte ein Server-Kern unter.NET entworfen und entwickelt werden Mithilfe dieses Server-Kerns soll es möglich sein verschiedene Protokolle ohne viel Aufwand umzusetzen Erfahrungen in Standardnetzwerkprotokollen

4 Seite 4 Dipl. Inf. (FH) Paul Mizel Anforderungen Schnittstelle für die Protokolle Serverkern Grundlage TCP, Synchron Servermanagement Protokolle HTTP, FTP POP3, SMTP Telnet, Echo, (S)NTP DNS

5 Seite 5 Dipl. Inf. (FH) Paul Mizel Client-/Server-DV TCP (Transmission Control Protocol) UDP (User Datagram Protocol)

6 Seite 6 Dipl. Inf. (FH) Paul Mizel Server Module Server Client Serverkernel request response Server Management Provider Protocol Configuration Membership Session Security

7 Seite 7 Dipl. Inf. (FH) Paul Mizel Plugin-Lader public List GetPlugins (string folder) { string[] files = Directory.GetFiles(folder, "*.dll"); List tList = new List (); foreach (string file in files) { try { Assembly assembly = Assembly.LoadFile(file); foreach (Type type in assembly.GetTypes()) { if (!type.IsClass || type.IsNotPublic) continue; Type[] interfaces = type.GetInterfaces(); if (((IList)interfaces).Contains(typeof(T))) { T protocol = (T)Activator.CreateInstance(type); tList.Add(protocol); } }catch (Exception ex) {} } return tList; }

8 Seite 8 Dipl. Inf. (FH) Paul Mizel Serverstart 1. IServerConfiguration cfg = new ServerConfigurationImpl(80); //Configuration 2. PluginHelper ph = new PluginHelper(); 3. IServerProtocol protocol = ph.GetProtocol(ProtocolType.HTTP); //Protocol 4. IServerProvider provider = new ServerProviderImpl(cfg, protocol); //Provider IServer server = new SynchronousSocketListener(provider); //create Server 7. server.Start();

9 Seite 9 Dipl. Inf. (FH) Paul Mizel Protokolle

10 Kommunikationsgrundlage TCP basierte / Sitzungsbasierte UDP basierte Kommunikationsart Zeichenbasierte / Kommandobasierte Bytebasierte Performanceuntersuchung Speicherverwaltung Kodierung Seite 10 Dipl. Inf. (FH) Paul Mizel Protokolle NormalSystem.ByteSystem.String x x x

11 Seite 11 Dipl. Inf. (FH) Paul Mizel Protokolle HTTP Hypertext Transfer Protocol Version 1.1 (RFC 2068) FTP - File Transfer Protocol (RFC 959) POP3 - Post Office Protocol Version 3 (RFC 1939) SMTP - Simple Mail Transfer Protocol (RFC 2821 und Service Extension for Authentication 2554) Telnet (RFC ) Echo (RFC 862) (S)NTP - (Simple) Network Time Protocol (RFC 868 (RFC 2030)) DNS - Domain Name System (RFC 1034) *RFC - Request For Comments

12 Seite 12 Dipl. Inf. (FH) Paul Mizel HTTP Ein Protokoll zur Übertragung von Daten über ein Netzwerk. Es wird hauptsächlich eingesetzt, um Webseiten und andere Daten in einen Webbrowser zu laden. Standard Port: 80 Alternativen / Erweiterungen Gopher HTTPS (HTTP over SSL(Secure Socket Layer)) SOAP (Simple Object Access Protocol)...

13 Seite 13 Dipl. Inf. (FH) Paul Mizel FTP Download (Server zum Client) und zum Upload (Client zum Server) von Dateien. Standard Port: 21 Alternativen / Erweiterungen SCP (Secure Copy Protocol) 1 Alle Daten werden verschlüsselt SFTP (SSH FTP) 1+ Alle Daten über den SSH-Tunel SFTP (Secure FTP) nur Steuerkanal über SSH-Tunel FTPS (FTP over SSL(Secure Socket Layer))...

14 Seite 14 Dipl. Inf. (FH) Paul Mizel POP3 Protokolle zum Empfangen von s Standard Port: 110 Alternativen / Erweiterungen POP3S (SSL Erweiterung)...

15 Seite 15 Dipl. Inf. (FH) Paul Mizel SMTP Protokolle zum Senden von s Standard Port: 25 Alternativen / Erweiterungen ESMTP (Extended SMTP)...

16 Seite 16 Dipl. Inf. (FH) Paul Mizel Telnet Wird dazu verwendet, Benutzern den Zugang zu Internetrechnern über die Kommandozeile zu bieten Standard Port: 23 Alternativen / Erweiterungen SSH (Secure shell) RDP (Remote Desktop Protocol)...

17 Seite 17 Dipl. Inf. (FH) Paul Mizel Echo Funktion dieses Dienstes ist: Alle empfangenen Daten unverändert zum Client zurückzusenden Standard Port: 7 Alternativen / Erweiterungen Ping (ICMP (Internet Control Message Protocol ))...

18 Seite 18 Dipl. Inf. (FH) Paul Mizel (S)NTP Protokoll zur Synchronisation von Uhren in Computersystemen Standard Port: 123 Alternativen / Erweiterungen PPS (Pulse-Per-Second) Time Protocol Daytime Protocol...

19 Seite 19 Dipl. Inf. (FH) Paul Mizel DNS DNS ist eine verteilte Datenbank, die den Namensraum im Internet verwaltet. Dient zur Umsetzung von Domainnamen in IP-Adressen (forward lookup) und umgekehrt (reverse lookup). Standard Port: 53 Alternativen / Erweiterungen EDNS (Extended DNS) Paketgröße/Weiterer Headercode IDNA (Internationalizing Domain Names in Applications) ENUM (tElephone NUmber Mapping)...

20 Seite 20 Dipl. Inf. (FH) Paul Mizel Demonstration Wie erstelle ich einen Protokoll? Enivo.Net.dll einbinden. Erben von ServerProtocolImpl oder IServerProtocol implementieren ProtocolAttribute setzen oder die Parameter zum Auffinden ändern Methoden ausprogrammieren void Request(TcpConnection req); void Connected(TcpConnection req); void Disconnected(TcpConnection req); Präsentation des Managers DEMO

21 Seite 21 Dipl. Inf. (FH) Paul Mizel Demonstration

22 Seite 22 Dipl. Inf. (FH) Paul Mizel Ausblick Server-Kern auch als Client/Proxy erweitern UDP Erweiterung Synchron und Asynchron Optimierung Lastverteilung (Load Balancing) Sicherheit IDS(Intrusion Detection System) Syn-Flooding SSL Erweiterung Umgebung als Service

23 Danke!

24 Seite 24 Dipl. Inf. (FH) Paul Mizel Quellen [Abhinaba] Abhinaba B.: C# 2.0: Loading plugins at run-time using late binding [Internet] [Archer, Whitechapel] Archer, T. und Whitechapel, A.: Inside C#: Objektorientiertes Programmieren mit C# und dem.NET Framework. Microsoft Press, 2002 [Microsoft MSDN#1] Microsoft.: Asynchronous Server Socket Example [Internet] us/cpguide/html/cpconnon-blockingserversocketexample.asp, 2005 [Microsoft MSDN#2] Microsoft.: Asynchronous Server Socket Example [Internet] us/cpguide/html/cpconblockingserversocketexample.asp, 2005 [Schwichtenberg] Schwichtenberg, H.: Deutsche Community-Site für.NET [Internet] IT Visions, 2005 [Selke] Selke, G. W.: Kryptographie: Verfahren, Ziele, Einsatzmöglichkeiten. OReilly GmbH & Co. KG, 2000 [Wikipedia DE] Wikimedia Foundation: Wikipedia. [Internet] Wikimedia Foundation, 2004 [Wikipedia EN] Wikimedia Foundation: Wikipedia : The free Encyclopedia. [Internet] Wikimedia Foundation, 2004 [Winkler] Winkler, P.: M+T Computerlexikon. Markt+Technik Verlag, 2000

25 Anhang Demo [.\demo\] Präsentation [.\paul mizel projektarbeit 2006.ppt] Source Code [.\src\] Links [.\links\] RFCs [.\rfcs\]


Herunterladen ppt "Server Management Serverentwicklung unter.NET Dipl.-Inform. (FH) Paul Mizel"

Ähnliche Präsentationen


Google-Anzeigen