Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Serverentwicklung unter .NET

Ähnliche Präsentationen


Präsentation zum Thema: "Serverentwicklung unter .NET"—  Präsentation transkript:

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

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

3 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 Dipl. Inf. (FH) Paul Mizel

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

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

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

7 Plugin-Lader public List<T> GetPlugins<T>(string folder) {
string[] files = Directory.GetFiles(folder, "*.dll"); List<T> tList = new List<T>(); 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; Dipl. Inf. (FH) Paul Mizel

8 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 5. 6. IServer server = new SynchronousSocketListener(provider); //create Server 7. server.Start(); Dipl. Inf. (FH) Paul Mizel

9 Protokolle Dipl. Inf. (FH) Paul Mizel

10 Protokolle Kommunikationsgrundlage Kommunikationsart
TCP basierte / Sitzungsbasierte UDP basierte Kommunikationsart Zeichenbasierte / Kommandobasierte Bytebasierte Performanceuntersuchung Speicherverwaltung Kodierung Normal System.Byte System.String x10.000 126 783 5118 x 716 8145 49354 x 6614 80385 501130 Dipl. Inf. (FH) Paul Mizel Seite 10

11 Protokolle HTTP Hypertext Transfer Protocol Version (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 Dipl. Inf. (FH) Paul Mizel

12 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) . . . Dipl. Inf. (FH) Paul Mizel

13 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)) . . . Dipl. Inf. (FH) Paul Mizel

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

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

16 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) . . . Dipl. Inf. (FH) Paul Mizel

17 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 )) . . . Dipl. Inf. (FH) Paul Mizel

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

19 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) . . . Dipl. Inf. (FH) Paul Mizel

20 DEMO 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 Dipl. Inf. (FH) Paul Mizel

21 Demonstration Dipl. Inf. (FH) Paul Mizel

22 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 Dipl. Inf. (FH) Paul Mizel

23 Danke!

24 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. O’Reilly 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 Dipl. Inf. (FH) Paul Mizel Seite 24

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


Herunterladen ppt "Serverentwicklung unter .NET"

Ähnliche Präsentationen


Google-Anzeigen