Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
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\]
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.