Zum Inhalt springen

mamalia

Mitglieder
  • Gesamte Inhalte

    16
  • Benutzer seit

  • Letzter Besuch

Reputationsaktivitäten

  1. Like
    mamalia reagierte auf blaargh für ein Blogeintrag, Lücken im Lebenslauf und keine Berufserfahrung   
    Hello.
    Die meisten erinnern sich sicher nicht mehr an mich, ich habe hier vor vier Jahren mal eine Vorstellung verfasst. Seitdem ist viel passiert bei mir, und ich würde gerne meinen Werdegang mit euch teilen. Kurze Zusammenfassung der ersten Vorstellung: Ich bin Lukas, mittlerweile 25, ausgebildeter Fachinformatiker für Systemintegration und arbeite als Softwareentwickler.
    Der Titel klingt sehr reißerisch, ist aber akurat. Meine Intention mit diesem Artikel ist, die letzten Jahre etwas zu reflektieren. Zum anderen möchte ich Menschen Mut machen, die sich vielleicht in einer ähnlichen Situation befinden wie ich mich befunden hbae.
    Ich werde euch jetzt nicht mit unnötigem Geschwafel langweilen und gleichzeitig auch  nicht zu viel über mich persönlich verraten, deswegen wird das Resumé der letzten Jahre recht kurz: Ich habe nach dem Bestehen meiner Ausbildung aus gesundheitlichen Gründen in drei verschiedenen Firmen für jeweils nicht länger als fünf Monate gearbeitet. Das hat große Lücken in meinen Lebenslauf gerissen, von viel Praxiserfahrung keine Spur. Jedes neue Bewerbungssgespräch mit mehr Erklärungsbedarf.
     
    Nachdem ich den letzten Job verloren hatte, habe ich mir gesagt, dass es so nicht weitergehen kann. Ich habe mir die Zeit genommen die ich brauche um fit zu werden und außerdem einen Entschluss gefasst. Systemadministration ist nichts für mich. Der größte Spaß für mich war schon immer das Erstellen von Skripten mit Powershell, weswegen ich mir dachte: hey, warum nicht programmieren lernen. Gesagt, getan. Ich habe eine 16-monatige Weiterbildung zum C++ Programmierer bei einer Fernakademie absolviert. Das Ganze schien aber definitiv auf Vollzeit-Berufstätige ausgelegt gewesen zu sein, ich hatte den Kurs bereits nach zwei Monaten abgeschlossen.
    Und was jetzt? Ich habe eine Einführung in die Sprache und objektorientierte Programmierung bekommen, kleinere Dinge programmiert und Konzepte gelernt. Stellt mich jetzt jemand ein? Für mich war klar, so vermutlich noch nicht. Nachdem ich also einige Erfahrungsberichte gelesen habe, habe ich beschlossen mein neugewonnenes Wissen in die Tat umzusetzen und ein Projekt zu starten. Dazu möchte ich noch sagen, dass ich in dieser Zeit natürlich arbeitslos gemeldet war. Das Arbeitsamt habe ich stets über meine Pläne und Vorhaben informiert, weswegen mir sämtliche Freiheiten gelassen wurden. Ich musste keine Bewerbungen schreiben und konnte mich vollends auf meine "Umschulung" fokussieren.
    Für mein Projekt habe ich einige Rahmenbedingungen aufgestellt:
    Es soll eine Konsolenanwendung ohne Fremdbibliothken sein, um mein Wissen um C++ und die STL (Standard Template Library) zu vertiefen und vorzuzeigen. Es muss komplex genug sein, damit ich heraussteche, aber so simpel, dass es in einem angemessenen Zeitrahmen fertigzustellen ist. Ich habe mich für eins meiner Lieblingskartenspiele entschieden, Phase 10. Für Spiele habe ich mich eh immer begeistert und ich dachte mir, dass es sicher eine Herausforderung darstellt, die Algorithmen für die Phasenüberprüfung zu entwerfen. Ungefähr drei Monate später habe ich dieses Projekt erfolgreich abschließen können. Der Code war natürlich alles andere als professionell, und wenn ich da jetzt mit meiner bald einjährigen Erfahrung draufschaue, belächle ich das ein wenig. Aber das ist okay, zu dem Zeitpunkt war es viel wichtiger etwas Fertiges, Präsentierfähiges zu haben. Zu zeigen, dass ich ein Projekt anfangen und fertigstellen kann, und dass es funktioniert.
     
    Mit dem Selbstbewusstsein, das ich durch das Projekt gewonnen habe, habe ich direkt angefangen deutschlandweit Bewerbungen zu schreiben, ich wollte unbedingt anfangen professionell zu entwickeln. Die ganz große Frage war natürlich, reicht ein GitHub-Link zu meinem Projekt um den extrem lückenbehafteten Lebenslauf zu kaschieren? Ich dachte mir, ich habe sowieso nichts zu verlieren, also werde ich offen und ehrlich sein. Ich habe im Anschreiben direkt den "Elefanten im Raum" angesprochen, meine krankheitsbedingten Ausfälle.
    Nach fünf Bewerbungen auf Junior-C++-Entwicklerstellen hatte ich vier Bewerbungsgespräche und einen neuen Job. In jedem dieser Gespräche habe ich sämtliche Fragen zu meinen Lücken ehrlich beantwortet, was jedes Mal sehr positiv aufgenommen wurde.
    Inzwischen arbeite ich seit fast einem Jahr als C++-Entwickler in einem StartUp. Meine Arbeitskollegen sind ausschließlich Akademiker, was für mich als Mathe- und Informatiknoob eine noch viel größere Herausforderung war. Zu meinem Glück wurde im Bewerbungsgespräch mein Wille zu Lernen erkannt. Das möchte ich auch noch einmal betonen. Ich hatte sehr viel Glück. Klar, ich habe eine Weiterbildung absolviert und ein Projekt entwickelt, aber manchmal hilft es definitiv zur richtigen Zeit am richtigen Ort zu sein.
    Seit Mitte letzten Jahres bin ich also wieder in Vollzeit angestellt, war keinen Tag krank und gehe jeden Tag mit extrem viel Motivation zur Arbeit. Es macht einfach Spaß. Um mein Wissen noch weiter zu vertiefen werde ich außerdem ab kommendem Semester an der Fernuniversität Hagen Informatik studieren.
    Abschließend möchte ich auf die Zukunft in diesem Blog eingehen. In unregelmäßigen Abständen werde ich fachliche Artikel zur Softwareentwicklung mit C++ erstellen. Ich freue mich sehr darauf, mein neues Wissen weiterzugeben und den angehenden (C++)-Entwicklern im Forum weiterzuhelfen. Außerdem wird es möglicherweise Erfahrungsberichte aus dem Fernstudium geben, seid gespannt!
    LG
    Lukas aka BLAAAAAAAAAAAAAAAAAARGH
  2. Like
    mamalia reagierte auf Tician für ein Blogeintrag, Grundlagen IPv6   
    Hallöööchen mit 3 öchen,
     
    nach langer Zeit versuche ich mich mal wieder mit einem Azubi-gerechten Wissens-Häppchen, heute mit einem viel-gesuchten und gefragten Thema: IPv6
    Aber bevor ich hier loslege kurz etwas vorneweg: Das Thema IPv6 ist komplex und kann verdammt weit in die Tiefe gehen, ich werde vermutlich nur die Oberfläche ankratzen und übernehme auch keine Garantie auf Richtigkeit der Informationen. Ich empfehle den Blog langsam zu lesen und versuchen zu verstehen, sonst wird es schnell unübersichtlich.
    Außerdem: Anders als bei meinen anderen Blogs braucht ihr hier etwas Vorwissen (sonst würde der Blog viel zu lange werden).
     
    Ihr solltet euch mit folgenden Themen auseinandergesetzt haben:
    IPv4 Adressen und Grundlagen Zahlensysteme (ich verweise hier mal auf den Blog von Lewan)  
    Wissen einfach und oberflächlich gehalten – die Basics
     
    Um mal alle auf eine Ebene zu bringen: Ganz allgemein besteht eine IPv6-Adresse aus 32 hexadezimalen Ziffern (128 Bits), die in 4er Gruppen aufgeteilt sind. Diese 4er-Grüppchen - ich nenne so eine Gruppe ein Hextet - werden durch Doppelpunkte getrennt. So eine IPv6-Adresse sieht zum Beispiel voll ausgeschrieben so aus:
    2a02:02e0:03fe:3000:85ed:63ff:fe23:da31
    Gehen wir mal ganz grob auf die Hextet ein: Die ersten 4 Hextet - also die ersten 16 hexadezimalen Ziffern - werden vom Provider festgelegt. Genauso wie bei IPv4 gibt es hier ein Suffix (die Zahl hinter dem Slash am Ende) mit dem angegeben wird wieviel Platz wir für das Subnetting haben. Und genauso wie IPv4 wird es in Bits angegeben. Zum Beispiel:
    2a02:02e0:03fe:3000:85ed:63ff:fe23:da31 /56
    Ich habe hier mal die Trennung zwischen Netzanteil und Hostanteil farbig markiert. Ein Unwissender könnte jetzt meinen wir können den Hostanteil nach belieben verändern, aber IPv6 hat weitere Facetten die ich noch nicht angesprochen habe, in diesem Fall noch die letzten 4 Hextet.
    Die letzten 4 Hextet werden 'Interface Identifier' genannt und werden automatisch generiert (teilweise aus der MAC-Adresse der Netzwerkschnittstelle). Strukturieren wir also neu:
    2a02:02e0:03fe:3000:85ed:63ff:fe23:da31/56
    Blau: Vom Provider vergebene Nummer - ignorieren
    Grün: Der Bereich in dem wir Subnetting betreiben oder unser Netz in VLANs teilen können
    Rot: automatisch generierte Nummer - ignorieren
     
    Um das Ganze jetzt noch etwas zu vervollständigen, werden diejenigen unter euch die sich mal ein paar IPv6-Adressen angesehen haben wundern, warum die auch mal anders aussehen können – nämlich mit verkürzter Schreibweise.
    Wie bei IPv4 auch kann man natürlich führende Nullen (nicht nachfolgende!) in einem Hextet weglassen.
    Zusätzlich gib es noch eine weitere große Regel: Einmalig dürfen 2 Doppelpunkte in der IP vorkommen, der Bereich zwischen den Doppelpunkten besteht nur aus Nullen. Zum Beispiel kann diese IP
    2a02:02e0:03fe:3000:85ed:0000:0000:da31
    So geschrieben werden:
    2a02:2e0:3fe:3000:85ed::da31
     
     
    Noch mehr Grundlagen die sich keiner merken kann
     
    Der Teil hier ist leider etwas trockene Theorie, gehört aber natürlich auch dazu.
    Genau wie IPv4 auch, gibt es bei IPv6 reservierte oder definierte Bereiche und ebenfalls öffentliche und private IPs, also mindestens 2 IPs, der größte Unterschied allerdings liegt darin, dass im Gegensatz zu IPv4 jeder PC seine eigene öffentliche IPv6-Adresse besitzt. Auch ein großer Unterschied: Es gibt keine Subnetzmaske. Und wenn ich schon dabei bin mit Wissen um mich zu schmeißen, es gibt auch keinen Broadcast bei IPv6.
    Fangen wir aber mal mit den Bereichen an. Vorneweg: Es gibt keine Netzklassen wie bei IPv4, vorgesehen ist es, dass Netze das Präfix /64 benutzen (mehr dazu später). Hier also mal die meiner Meinung nach wichtigsten Adressbereiche.
    Die Loopback-Adresse:
    Was bei einer IPv4-Adresse meist die 127.0.0.1 /32 ist, ist bei IPv6 die ::1/128 oder ausgeschrieben die 0:0:0:0:0:0:0:1 /128
    Link-Local-Unicast-Adressen:
    Langes Wort, dahinter verbirgt sich das was bei IPv4 als APIPA oder ZeroConf bekannt ist und unter IPv6 so aussieht: fe80:: /64
    Unique Local Unicast:
    Oder im IPv4 Adressbereich auch einfach nur die private IP-Adresse, sieht so aus fc00:: /7 und lässt sich vom Admin in der Theorie frei vergeben. In der Praxis sind Administratoren angehalten die Ziffern zufällig generieren zu lassen um zum Beispiel bei der Einrichtung von Tunneln zwischen Netzwerken Adress-kollisionen zu vermeiden.
    Global Unicast Adresse:
    Diese Adresse kann fast alles Mögliche sein und ist die Adresse mit der ein PC dann auch im Internet auftaucht. Sie ist das Beispiel wie oben beschrieben, bestehend aus der vom Provider vergebenen Nummer (Präfix genannt), meiner selbst vergebenen Nummer für Subnets/VLANs und dem generierten Interface Identifier.
     
    Wie ein Gerät an seine IPv6-Adresse kommt
     
    Was passiert also idealerweise wenn ich einen PC an ein IPv6-fähiges Netzwerk anschließe? Schritt für Schritt:
    1.     Der PC gibt sich selbst erstmal eine Link-Local Adresse (APIPA/ZEROCONF). Diese hat immer das Suffix /64, mehrere PCs in einem Netzwerk unterscheiden sich nur an dem automatisch generierten Interface Identifier (die letzten 16 Ziffern, siehe oben). Damit können PCs in einem Netzwerk auch ohne DHCP miteinander kommunizieren. Dieser Prozess gehört zu einem Verfahren dass sich SLAAC nennt
    2.       Der PC ‚schreit‘ seine selbst erstellte IPv6 in das lokale Netz, wenn sich kein anderes Gerät mit „ich hab die Adresse schon“ meldet, dann behält er diese auch, ansonsten wird eine Neue generiert.
    3.       Der PC sucht nach einem Router. Der Router gibt dem PC (richtig konfiguriert natürlich) Informationen, nämlich ob der PC sich selbst eine globale IP-Adresse geben soll (und wie diese vom Provider vergebene Adresse aussieht, siehe oben in blau) oder ob ein DHCPv6-Server (und dessen Optionen) im Netz existiert.
    4.       Der PC erstellt sich eine Global Unicast Adresse (Auch Teil von SLAAC) oder lässt sich eine von einem existierenden DHCPv6-Server geben.
     
     
    Autokonfiguration (SLAAC) oder DHCPv6?
     
    Beides hätte sicherlich Vor- und Nachteile, aber die Praxis sieht leider etwas anders aus. Der Netzwerker wird sich sicherlich schon die ein oder andere Frage stellen auf die ich vielleicht schon eine Antwort habe. Aber erstmal hol ich auch die anderen ab:
    Wenn ein PC über einen DHCPv4-Server eine IP-Adresse bekommt, dann bekommt er nicht nur diese, sondern auch die Subnetzmaske, das Standardgateway und einen DNS-Server mitgeteilt.
    Hat man nun keinen DHCPv6-Server wird es unter Umständen schwierig mit dem DNS-Server. Router können üblicherweise auch einen DNS-Server für eine vollständige Konfiguration an anfragende Clients übergeben, was sich RDNSS nennt – aber nicht alle Clients unterstützen RDNSS, erwähnt seien hier zum Beispiel Windows 7 und 8.
    Andersrum, hat man einen DHCPv6-Server konfiguriert und stellt den Router auf ‚Tu nichts‘ ein… funktioniert gar nichts. Wie oben in den Schritten beschrieben ist der Router nämlich das erste Bindestück zwischen Client und DHCP-Server, beide müssen richtig konfiguriert werden.
     
    Subnetting
     
    Ich habe mich sehr dagegen gesträubt das Thema anzusprechen und sträube mich immer noch detailiert darauf einzugehen, weil meiner absolut persönlichen Meinung nach Subnetting in IPv6 überhaupt gar keinen Sinn macht. Diese persönliche Meinung kam zustande weil wir auch in der Schule (Baden Württemberg) kaum IPv6 Subnetting gemacht haben, dort wurde ebenfalls vertreten, dass es keinen Sinn macht (Abschluss-Jahr 2018).
    Warum sage ich sowas? Hier die 2 Haupt-Begründungen:
           Die letzten 4 Hextet werden wie bereits erwähnt automatisch generiert, unser Netz hat also immer mindestens das Suffix /64. Das heißt ein Netz hat immer mindestens einen Raum für 18.446.744.073.709.551.616 IPv6-Adressen. Ich kann es nicht beschwören, aber würde mal stark vermuten, dass nicht einmal Microsoft oder Apple oder irgendein anderer großer Konzern so viele bzw. bei Subnetting sogar MEHR IP-Adressen braucht. Das sind viel, viel, viel mehr IP-Adressen in einem einzigen Netz als man mit IPv4 insgesamt hat.        Selbst RIPE – die Leute die das Internet durch die Vergabe von AS-Nummern und IP-Adressen am Laufen halten – schreiben, dass für IPv6-Netze ‚nur‘ ein /64 Suffix vorgesehen ist und das nehmen sich einige Services zum Vorbild, weswegen ihr euch darauf einstellen solltet alles manuell einzustellen und zu vergeben solltet ihr irgendein anderes Suffix als /64 nehmen. Mein bisher einziges Beispiel: Ein Windows-Server kann natürlich DHCP auch im IPv6 Bereich spielen – aber nur wenn das Suffix /64 heißt, dies lässt sich stand heute auch nicht ändern. Nicht nur hat ein Netz genügend Platz für IP-Adressen, man hat auch üblicherweise sehr viel Spielraum um tausende von Netzen zu erstellen. Für die Prüflinge der anderen Bundesländer: Ich werde mich vielleicht in einem weiteren Blog detailiert mit dem SUbnetting in IPv6 beschäftigen - so wie es die Schulen gerne hätten - aber die Chancen stehen eher schlecht.
    Ich hoffe ich konnte euch ein paar grobe Grundlagen einigermaßen verständlich näher bringen
     

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...