Alle Beiträge von nic_power
-
Frage zu Zeigeraufgabe !?
Hallo, stimmt, den cast hatte ich übersehen. Zumindest die Pointer-Arithmetik ist damit zulässig. Allerdings hast Du die Ergebnisse vertauscht. Eine Little Endian Maschine liefert 2825, eine Big-Endian Maschine 6410 (siehe auch oben). Eine Intel (ia32)-Architektur ist Little Endian und liefert daher 2825. Das kannst Du leicht überprüfen, in dem Du den Code einfach mal übersetzt und ausführst. Bei Big Endian Architekturen steht das LSB am Ende bzw. das MSB am Anfang eines Wortes ("Big End First"). Das ist übrigens auch der Grund dafür, warum man für Socket-Kommunikationen grundsätzliche die Funktionen htons/ntohs bzw. htonl/ntonl ("Host-To-Network-Byteorder"/"Network-To-Host-Byteorder" für short und long) verwenden muss. Nic
-
Windowing" and "Acknowledgment"
Hallo, nochmal kurz zur Erläuterung. Du musst zwischen der TCP-Implementierung und der Sichtweise der Anwendung unterscheiden. TCP sichert zu, dass Daten in der Reihenfolge bei der Anwendung eintreffen, in der sie abgesendet wurden (d.h. read() liefert die Daten in der korrekten Reihenfolge zurück). Dazu wird auf TCP-Ebene eine Flusskontrolle implementiert, die unter anderem die Mechanismen Sliding-Window, Retransmission, Segmente usw. verwendet. Vereinfacht ausgedrückt funktioniert das Ganze wie folgt: Gehen wir mal davon aus, dass die Segmente 512 Byte gross sind. D.h. Der Sender schickt die Segmente 1, 2,3 und 4 auf den Weg. Auf Empfängerseite werden diese als Daten bei einen read() auf Anwendungsseite an die Anwendung ausgeliefert. Nun empfängt der Sender das Segment mit der Nummer 6. Für ihn bedeutet das, dass das Segment mit der Sequenz-Nummer 5 verloren gegangen ist (eigentlich hätte ja erst Nummer 5 eintreffen müssen). Segment 6 wird zwischengespeichert, für 5 wird eine Retransmission angefordert. Wurde das 5 Segment erfolgreich empfangen, so können im nächsten read() 1024 Bytes an die Anwendung geliefert werden (nämlich die Segmente 5 und 6), der Sender kann mit Segment 7 weiter machen. Nic
-
Frage zu Zeigeraufgabe !?
Hallo, Das Ergebnis Deines Lehrers leider ist falsch. 10 und 25 liegen hintereinander im Speicher, der Zeiger zeigt auf die 25 (das low-order Byte einer 16 Bit-Zahl). Wird der Zeiger um eine Stelle verschoben, so zeigt er auf auf den Anfang der 16 Bit Zahl. Das Highorder-Byte dieser 16 Bit Zahl ist 10, folglich berechnet sich die 16-Bit Zahl als 10*256+25=2585. Problem ist allerdings, dass es Maschinen mit unterschiedlicher Byte-Order gibt (er geht von einer Intel-Archtektur aus). Bei umgekehrter Byte-Order wird 25*256+10=6410 berechnet (da das Low-Oder und High-Order Byte vertauscht sind). Der zweite Fehler ist die Tatsache, dass der Pointer erhöht wird, jedoch auf kein Array zeigt. Aus dem Grund kann man bei dieser Pointer-Operation auch irgendwo im Nirwana landen (obwohl dies unwahrscheinlich ist, da z1 und z2 in der Regel in aufeinanderfolgenden Speicherstellen abgespeichert werden). Nic
-
Frage zu Zeigeraufgabe !?
Hallo, Der Code ist mehr als riskant! z1 und z2 müssen nicht notwendigerweise hintereinander im Speicher liegen!! Zum einen greifst Du auf nicht allokierten Speicher zu und zum anderen ist das Speicherlayout maschinen-abhängig. Ein HP liefert beispielsweise ein ganz anderes Ergebnis!! Kein gutes Beispiel, da der Code fehlerhaft ist. Nic
-
Im I-Net IPs Scannen. (Grundsatzdiskussion)
Hallo, Na, das stimmt aber auch nicht. T-ISDN und T-DSL sind Produkte von T-Com! Näheres unter folgendem URL: http://www.t-com.de/is-bin/intershop.static/WFS/PK/PK/de_DE/content/static_html/tcom/de/tcom_kurzportraet.html Das Scannen von Netzen ist nicht verboten und verstößt auch nicht gegen geltendes Recht. Nic
-
Windowing" and "Acknowledgment"
Hallo, eine TCP-Verbindung bezieht sich _immer_ auf zwei Kommunikationspartner (Anwendungen), die über einen festen Port miteinander kommunizieren. Wenn Deine Anwendung auf Port 23 erwartet, dann müssen diese Daten auch an diesen Port gesendet werden. Nic
-
Windowing" and "Acknowledgment"
Hallo, Die Daten werden natürlich nicht an verschiedene Ports gesendet, sondern beziehen sich auf eine einzelne Punkt zu Punkt Kommunikation. Da nur das Paket #5 verloren gegangen ist, besteht kein Grund Paket #6 neu zu übermitteln (da dieses bereits empfangen wurde). Es reicht also, ab Paket #7 Daten zu übertragen. Das sechste Paket wurde bereits vor dem Empfang des Resend-Requests auf Sender-Seite zum Empfänger übertragen. Nic
-
Fragen zum Linux Kernel
Hallo, hast Du auch den support für alle notwendigen Filesysteme mit in den neuen Kernel kompiliert? Fehler 13 deutet auf eine Inkonsistenz im Filesystem hin. Nic
-
Subnetting CIDR
Hallo, CIDR (aka "supernetting" RFC1518 und RFC1519) hebt die Grenzen des Classfull Routings (also Class A, B und C Netze) auf. Mit CIDR ist es möglich, Netze ausserhalb dieser Klassen zu vergeben.Dazu wird ein Netzwerkprefix vergeben, welches nicht notwendigerweise auf den "Class-Grenzen" liegt. Das spart zum einen deutliche Adressraum und zum anderen lassen sich so Routen wesentlich besser zusammenfassen (== kleinere Routingtabellen in den Backbone-Routern). Nic
-
Notebook Dockingstation
Hallo, Es gibt USB Port Replikatoren (z.B. http://www.pcp.ch/artikel.cfm/Toshiba.Port-Replikator-USB-2-0/ArtNr.12051174/ ), die Dir fehlende Schnittstellen unabhängig vom Laptop-Hersteller zur Verfügung stellen. Nic
-
RARP und DHCP
Hallo, RARP und DHCP sind zwei unterschiedliche Protokolle. Über RARP (RFC903 ) kann ein Host eine IP-Adresse beziehen. Das Endsystem broadcasted seine MAC-Adresse über einen L2-Broadcast und erhält darauf von einem Server seine IP-Adresse mitgeteilt. RARP ist jedoch nicht in der Lage, weitere Informationen - die beispielsweise zu einem Booten über das Netz notwendig sind - an die Endsysteme senden. Um diese Schwächen zu beseitigen wurde BOOTP (RFC951) entwickelt. BOOTP enthält die Funktionalität von RARP sowie weitere Features, wie beispielsweise das Übertragen zusätzlicher Informationen an die Clients (Adresse des Gateways, Name des Bootfiles, herstellerspezifische Erweiterungen). Damit ist dann auch ein Booten über das Netzwerk möglich (bei Diskless Workstation beispielsweise). DHCP (RFC2131) basiert auf BOOTP und erweitert dieses um verschiedenen Möglichkeiten, wie beispielsweise wiederverwendbare IP-Adressen, usw. Nic
-
Was bedeuten die Begriffe
Ja (wobei sich das auf GB bezieht, nicht auf die Aussenmaße . Die Medienpreise unterscheiden sich zum Teil ziemlich stark (zwisch ca. 5 und 70-80 Euro pro Band), allerdings sollte man dabei nicht den Preis pro GB aus dem Auge verlieren (auch hier gibt es deutliche Unterschiede). Bänder für Laufwerke mit sehr hohen Kapazitäten sind entsprechend teuer, Bände für geringere Kapazitäten oder ältere Laufwerke eher preiswert. Auf der anderen Seite macht es auch wenig Sinn, preiswerte Medien zu kaufen, wenn man bei einem 200GB Backup 10x das Band wechseln muss. Ebensowenig ist es sinnvoll, für ein gelegentliches Backup von ein paar GB ein Ultrium 2 Laufwerk zu kaufen. Fazit: Bevor man eine Backup-Lösung kauft, sollte man sich sehr genau über den Einsatzzweck, die Datenmengen und eine mögliche Skalierbarkeit (die Lösung sollte mitwachsen) informieren. Nic
-
Was bedeuten die Begriffe
Hallo, Gerade bei Streamern gibt es eine Reihe unterschiedlicher Standards/Formate, die nicht kompatibel zueinander sind. Beispielsweise DAT (DDS1-4), DLT/SDLT, LTO Ultrium (1, 2), AIT, usw. Die Produktwahl sollte sich nach den Anforderungen richten, da die Kapazitäten (bis zu mehreren 100 GB pro Laufwerk) und Preise sehr unterschiedlichen sind. Für welchen Einsatzzweck suchst Du denn ein Gerät? Nic
-
backbone
Hallo, Die übliche Bezeichnung an dieser Stelle ist eigentlich "Backplane"; der Begriff "Backbone" sollte in diesem Zusammenhang nicht verwendet werden (es sei denn, es werden mehrer Switches miteinander gekoppelt). Nic
-
Wie ist das mit dem Speichern?
Hallo, die Programme greifen über eine einheitliche Schnittstelle (beispielsweise "open", "read", "write" usw.) auf das Dateisystem zu. D.h. der Software ist es egal, welches Dateisystem zu Grunde liegt. Für das weitere Handling ist dann das Betriebssystem bzw. das eigentliche Dateisystem zuständig (im Endeffekt werden die Funktionen der einheitlichen Schnittstelle auf die entsprechenden Funktionen des Dateisystems abgebildet, wobei das Mapping durch das Betriebssystem erfolgt). Ob und wie gecached wird, hängt vom zu Grunde liegenden Dateisystem ab. Nic
-
Fragen zum Linux Kernel
Hallo, im Prinzip ist das korrekt. Allerdings kann es sein (muss aber nicht), dass Du mit dem Standardkernel Probleme bekommst, da dieser unter Umständen nicht alle Treiber enthält, die benötigt werden damit die entsprechende Distribution auch reibungslos läuft. Nic
-
backbone
Hallo, da gibt es mehrere Definitionen. Im Prinzip ist ein Backbone-Netzwerk ein Netz, welches mehrere Lokale Netze - möglicherweise über größere Entfernungen hinweg - miteinander verbindet, ohne dass direkt Endsysteme an den Backbone angeschlossen sind (von Management-Stationen mal abgesehen). Beispielsweise betreiben Universitäten oder Firmen einen Backbone, um unterschiedliche Gebäude oder Lokalitäten miteinander zu vernetzen. ISPs betreiben Backbones, um Kundennetze miteinander zu verknüpfen, usw. Im Bereich der Routingprotokolle gibt es diesen Begriff ebenfalls. Beispielsweise definiert (Multiarea) OSPF eine "Backbone-Area" (Area 0). Diese Area bildet den Core einer OSPF-Routing Infrastruktur. Ähnliches gilt auch für IS-IS und andere Protokolle. Nic
-
Verzertes Bild und Absturz
Hallo, stürzt der Laptop komplett ab oder kannst Du ihn noch pingen bzw. auf eine Ascii-Konsole umschalten? Versuch doch erstmal einen Installation ohne X bzw. fahre im Single-User Mode hoch und schau nach, ob der richtige Grafiktreiber (X-Server) installiert ist. Nic
-
Kryptographische Verfahren Asymmetrische Verfahren RSA infos für Referat?
Hallo, einen Haufen Information gibts direkt bei RSA in Form einer FAQ: http://www.rsasecurity.com/rsalabs/faq/ (dort findest Du auch eine Beschreibung von RSA). Ebenfalls sehr nützlich sind in diesem Zusammenhang die Beschreibungen von Public- bzw. asymmetrischen Verfahren: http://www.internet-und-sicherheit.de/ http://ig.cs.tu-berlin.de/ap/rg/1998-04/glossar/p-terms/publickeyverschluesselungsverfahren.html http://pajhome.org.uk/crypt/rsa/intro.html Dort solltest Du fündig werden. Nic
-
Roamabout-Access-Points (wlan)
Hallo, was für einen RoamAbout AP hast Du denn? Es gibt unterschiedliche Modelle. Die braungrauen APs von DEC sind nicht 802.11b kompatibel und können daher in aktuellen WLANs nicht verwendet werden (aktuelle Treiber existieren ebenfalls nicht, Windows 2K und XP werden überhaupt nicht unterstützt). Die neueren Geräte von Cabletron laufen in jedem Netz nach 802.11b Standard, können jedoch - je nach Modell - nur mit 40 Bit WEP betrieben werden. Nic
-
DSL 3 PCs
Hallo, eigentlich nur einen DSL-Router. Gibts für ein paar Euro an jeder Ecke. Du kannst Dir auch selbst einen Router bauen (beispielsweise fli4l), aber ein Hardware-Router ist bequemer und in zwei Minuten angeschlossen und konfiguriert. Nic
-
Environmentvariable aus C-Programm
Hallo, Das Verändern einer Variable unterscheidet sich nicht vom Setzen (ist sie nicht vorhanden, wird sie neu angelegt ansonsten überschrieben). Wie bereits oben erwähnt und in dem Link nochmals bestätigt, beziehen sich setenv/putenv _nur_ auf die aktuelle Umgebung des Prozesses und dessen Child-Prozessen! Warum setzt Du die Variable nicht direkt in der Shell? Nic
-
tcpdump -i interface
Hallo, die Interface-Bezeichnung sollte schon ok sein. Versuch doch mal, das Interface per Hand in den promiscuous Mode zu versetzten: ifconfig eth1 promisc (ausschalten mit ifconfig eth1 -promisc) und kontrolliere die Settings mit "ifconfig": UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 Die Angabe "PROMISC" zeigt an, das der Mode unterstützt wird. Falls Du den falschen Treiber verwendest, dieses Feature nicht supported. Nic
-
tcpdump -i interface
Hallo, unter welche Used-ID arbeitest Du? Falls Du nicht als root-arbeitest, kann es sein dass die Permissions des Devices nicht stimmen und tcpdump daher mit der entsprechenden Fehlermeldung abbricht. Ist das Device "up", eventuell musst Du auch noch eine IP-Adresse konfigurieren (welche ist egal, aber ab und an hat tcpdump Probleme mit devices ohne IP-Adresse). Nic
-
Environmentvariable aus C-Programm
Hallo, das oben Gesagte gilt für praktisch alle Betriebssysteme (einschliesslich Windows). Die Umgebungsvariablen sind nur in der Umgebung sichtbar (und damit verwendbar), in der sie gesetzt wurden bzw. werden an Kindprozesse vererbt! Nic