This is part 2 of a series of articles on socket programming on UNIX. In part 1 you have read about basic techniques for writing simple TCP-based clients and servers. You know the calling sequence of system calls for servers and clients and know how to serve multiple clients by forking new processes for each connection request. Today I want to show you what it takes to write a multi-threaded server facilitating POSIX Threads (pthreads) and how we use the recv and send system calls instead of read and write.
UNIX Socket Programming Made Easy: Part 2
November 3rd, 2005 {Artikel}UNIX Socket Programming Made Easy: Part 1
November 3rd, 2005 {Artikel}Part 1 of a series of articles on network programming explains the basic concepts of socket programming under UNIX with focus on TCP. The reader is expected to have a good grasp of the C programming language and some basic understanding of the TCP/IP protocol stack.
Three Simple Solaris Customizations
October 20th, 2005 {Artikel}Users starting Solaris 10 for the first time usually have two choices: CDE or JDS (Java Desktop System). While CDE lacks certain features and the comfort known from other desktop systems, like a one-click window selection area or a pager, it’s still my first choice. Why? Because it’s fast due to an extremely small memory footprint, quite easy to use and stable. It is therefore perfectly suited for administrative and development tasks.
Arbeiten mit IP-Adressen
May 2nd, 2005 {Artikel}IP-Adressen sind allgegenwärtig. Ob IPv4 oder IPv6, immer wieder müssen wir uns mit ihnen auseinandersetzen, um unsere Aufgaben wahrzunehmen, beispielsweise um einen neuen Rechner in ein vorhandenes Netzwerk einzubinden oder um eine neue statische Route im Router zu konfigurieren. Leider stelle ich immer wieder fest, daß viele Netzwerkexperten beim Umgang mit IP-Adressen nicht ganz so sattelfest sind, wie sie es eigentlich sein sollten.
In diesem Artikel erläutere ich den Aufbau und den Umgang mit IPv4-Adressen und beschreibe am Ende, wie wir diese Techniken auf IPv6-Adressen anwenden können.
Wie funktioniert Multiprotocol Label Switching (MPLS)?
September 11th, 2004 {Artikel}Multiprotocol Label Switching (MPLS) ist ein technischer Ansatz, der versucht, dem Traffic Management und QoS von ATM nahe zu kommen und gleichzeitig das Forwarding von IP-Paketen deutlich zu beschleunigen.
Die Wurzeln von MPLS gehen auf Mitte der 90er Jahre zurück, als versucht wurde ATM und IP miteinander zu kombinieren. Das Resultat waren erste Versuche von Ipsilon mit IP Switching, gefolgt von Cisco’s Tag Switching und IBM’s Aggregate Route-based IP Switching. Und schließlich gesellte sich auch noch Cascade’s IP Navigator dazu. Alle Produkte hatten das gleiche Ziel: Verbesserung des Durchsatzes und Verringerung der Verzögerung des Internet Protokolls (IP). Und alle verfolgten den gleichen Ansatz: Verwende ein Standardroutingprotokoll wie etwa OSPF (Open Shortest Path First) um einen Pfad zwischen zwei Endpunkten zu definieren. Anschließend bräuchte man nur noch Pakete diesen Pfaden zuzuordnen sobald sie in das Netzwerk eintreten. Die ATM-Switches, damals war nur ATM für den Transport vorgesehen, beförderten diese Pakete dann durch das Netz. ATM-Switches waren von Anfang an viel schneller als IP-Switches, so daß ein Primärziel darin bestand, soviel wie möglich auf den ATM-Layer zu bringen.
Wie funktioniert Ethernet über Sonet/SDH (EoS)?
March 4th, 2004 {Artikel}Carrier Ethernet birgt großes Potential gewinnbringende Dienste auszurollen, um mit den wachsenden Anforderungen Schritt zu halten. Die meisten Carrier sind aber im Augenblick noch nicht bereit, auf ein reines Ethernet-Netzwerk umzusteigen. Das liegt hauptsächlich an mangelndem Support für Link Monitoring, Fehlerisolierung und diagnotisches Testen auf Seiten der Ethernet-Technologie.
Was sind und tun Regional Internet Registries (RIRs)
October 3rd, 2003 {Artikel}Der gesamte Adressraum des Internets wird, bis auf ein paar Ausnahmen, von den Regional Internet Registries (RIRs) verwaltet, eine Aufgabe, die ihnen von der Internet Assigned Numbers Authority (IANA) zugeteilt wurde. In der Zwischenzeit hat sich das System bewährt und sich innerhalb der letzten zehn Jahre von einem einfachen, zentralisierten System zu einem komplexen, dezentralen System entwickelt.
Wie funktioniert ARP-Spoofing?
June 14th, 2003 {Artikel}ARP-Spoofing ist eine einfache, aber effektive Art, Verbindungen in Netzwerken zu belauschen, umzuleiten, zu übernehmen oder zu verweigern, was eine Denial-of-Service-Attacke (DoS) entspricht. Das geht deshalb recht einfach, weil der Angreifer als Proxy auftritt und nicht blind ist, wie beim verwandten IP Spoofing.
Priority Queues in C Programmieren
July 22nd, 2002 {Artikel}Eine priorisierte Warteschlange ist eine Variante der gewöhnlichen Warteschlange (engl. Queue), die Elemente in einer Liste nach dem FIFO-Prinzip (first in, first out) organisiert. In einer gewöhnlichen Queue wird jedes neue Element immer am Ende einsortiert, so daß kein Element bevorzugt behandelt wird, denn schließlich wird ein Element immer nur vom Anfang der Queue entnommen.
Eine Priority Queue hingegen funktioniert anders: Bevor ein Element in die Queue eingereiht wird, muß anhand der dem Element assoziierten Priorität ein passender Platz gefunden werden. Dabei wird ein Element mit höherer Priorität vor Elementen mit niedrigerer Priorität eingeordnet, jedoch hinter bereits vorhandene Elemente mit gleicher Priorität.
Wie funktionieren SONET und SDH?
April 12th, 2002 {Artikel}Neben der Computertechnik wandelte sich in den letzten Jahren auch die Technik der Datenübertragung. Vor wenigen Jahren, gelang es einem Team der Bell Labs, eine Übertragungsgeschwindigkeit von über einer Trillion Bits pro Sekunde über Lichtwellenleiter zu erreichen. Das entspricht einer Zahl von 1.000.000.000.000 Bits pro Sekunde. Bemerkenswert ist dabei auch die Entfernung, die das Signal zurücklegte. Bei 253 Meilen ist es nicht verwunderlich, daß sich das Unternehmen viel von diesem Experiment erhofft.
graegerts