Category Archives: pisanie prac

Pisanie prac z informatyki

Wykorzystywane oprogramowanie i urządzenia

pisanie prac z informatyki

Zebra

Zebra jest programem do rutowania pakietów w oparciu o protokół TCP/IP, wspiera następujące protokoły routingu dynamicznego: RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP-4, oraz BGP-4+ jak również specjalną odmianę BGP zachowując „Route Reflection” i „Route Server”.

Zebra działa w oparciu o protokół IPv4 jak również IPv6. Zebra umożliwia także rutowanie protokołu MIB[1] gdy działa wraz z nią SNMP demon[2], który korzysta z protokołu SMUX[3].

Zebra używa zaawansowanej architektury, aby dostarczyć wysoce wydajny wieloserwerowy system rutujący. Zebra posiada w pełni interaktywny interfejs użytkownika dla każdego z protokółów, który korzysta ze wspólnych komend.

Jak większość programów dostarczanych wraz z systemem UNIX lub pisanych specjalnie dla niego, zebra jest oficjalnym programem rozpowszechnianym na zasadach licencji GNU „General Public Licence”[4].

Czym jest Zebra?

W dzisiejszych czasach sieci TCP/IP pokrywają cały świat. Internet dotarł do wielu krajów, firm a także do domów. Podczas połączeń internetowych, pakiety przechodzą przez wiele routerów z obsługa protokołu TCP/IP. System operacyjny z zainstalowaną Zebrą zachowuje się jak dedykowany router, który wymienia informacje o trasach z innymi routerami. Zebra używa zebranych informacji do aktualizacji tablicy routingu w jądrze systemu, więc dane docierają tam gdzie powinny. Możliwa jest zmiana konfiguracji w sposób dynamiczny, możliwe jest również podejrzenie tablicy routingu z poziomu interfejsu samej Zebry.

Zebra wspierając protokół rutowania, może manipulować flagami danego interfejsu sieciowego, zmieniać adres IP, ruting statyczny i tak dalej.

Tradycyjnie, w ruterach w oparciu o system UNIX, konfiguracji dokonuje się w oparciu o polecenia takie jak: ifconfig i route. Tablice routingu można wyświetlić poleceniem netstat –r, jednak większość tych poleceń działa jedynie z poziomu użytkownika root. Zebra korzysta jednak z innej nieco metody administracji, są dwa rodzaje uprawnień: pierwszy to normal mode”, drugi to enable mode – w trybie tym dozwolone są zmiany parametrów routera. Natomiast w trybie normal mode użytkownik może jedynie przeglądać konfigurację routera.

Obecnie, Zebra wspiera większość protokołów typu unicast routing protocol, natomiast multicast routing protocol takie jak: BGMP, PIM-SM, PIM-DM będą dostępne w Zebrze 2.0.

W niedalekiej przyszłości dodana zostanie obsługa QoS[5] oraz filtrowania pakietów, co spowoduje że Zebra będzie w pełni funkcjonalnym programem rutującym.

Architektura systemu

Każdy program rutujący w dedykowanych ruterach działa jako jeden w pełni funkcjonalny proces rutujący. Zebra przybrała jednak inne podejście, zrobiona jest jako kolekcja kilku demonów, które jednak pracują razem aby rutować pakiety.

Demon ripd odpowiada za protokół RIP, ospfd jest demonem wspierającym protokół OSPF w wersji 2, natomiast bgpd jest odpowiedzialny za BGP-4. Za zmiany w tablicy rutingu jądra systemu oraz za redystrybucję odpowiada demon zebra. Prostym zadaniem jest uruchomienie nowego procesu rutującego w systemie, gdzie pracuje zebra, wystarczy jedynie uruchomić odpowiedniego demona odpowiadającego za odpowiedni protokół.

Nie ma potrzeby aby wszystkie te demony były uruchomione na tej samej maszynie, ale można uruchomić kilka tych samych protokołów równocześnie.

Taka architektura daje nowe możliwości dla systemu rutującego.

bgpd ripd ospfd zebra
 
Unix Kernel routing table

Zebra System Architecture

Wieloprocesowa architektura daje nam wiele możliwości takich jak możliwość łatwej rozbudowy czy prostej naprawy błędów. Takie rozwiązanie udostępnia nam wiele plików konfiguracyjnych (każdy demon ma swój oddzielny plik konfiguracyjny) i terminali do konfigurowania każdego z protokołów.

Gdy chcemy skonfigurować ruting statyczny musimy owe zmiany wprowadzić w pliku konfiguracyjnym Zebry, natomiast BGP konfigurujemy w po przez edycję pliku konfiguracyjnego demona bgpd. Jest to bardzo denerwujące rozwiązanie, dlatego też, aby rozwiązać ten problem, Zebra wprowadziła zintegrowaną powłokę użytkownika nazwaną vsh. Vsh łączy się z każdym z demonów w systemie UNIX i działa jak proxy dla poleceń wydawanych przez użytkownika.

Zebra została zaplanowana aby używać wielowątkowego mechanizmu, jeżeli jądro systemu zostało odpowiednio skompilowane.

Jednak na dzień dzisiejszy, biblioteka, która odpowiada za ten mechanizm dostarczana wraz z GNU/Linux czy FreeBSD ma problemy podczas uruchamiania pewnych usług, takich jak oprogramowania rutującego, więc Zebra nie używa wątków, w zamian używa systemowej procedury select(2)[6] do multipleksowania zdarzeń.

Obsługiwane platformy sprzętowe.

GNU Zebra obecnie jest testowana na:

  • GNU/Linux 2.0.37
  • GNU/Linux 2.2.x
  • GNU/Linux 2.3.x
  • FreeBSD 2.2.8
  • FreeBSD 3.x
  • FreeBSD 4.x
  • NetBSD 1.4
  • OpenBSD 2.5
  • Solaris 2.6
  • Solaris 7

Pewne stosy protokołu IPv6 są aktualnie jeszcze w fazach rozwoju. Zebra obsługuje następujące stosy protokołu IPv6. Dla BSD, rekomenduje się używanie stosu IPv6 KAME. W systemie Solaris IPv6 nie jest jeszcze wspierane.

  • Linux IPv6 stack for GNU/Linux 2.2.x and upper.
  • Kame IPv6 stack for BSD
  • INRIA IPv6 stack for BSD

Dokumenty RFC związane z Zebrą

  • RFC1058
    Routing Information Protocol. C.L. Hedrick. Jun-01-1998
  • RFC1771
    A Border Gateway Protocol 4 (BGP-4.) Y. Rekhter & T. Li. March 1995.
  • RFC1997
    BGP Communities Attribute. R. Chandra, P. Traina & T. Li. August 1996.
  • RFC2080
    RIPng for IPv6. G. Malkin, R. Minnear. January 1997.
  • RFC2283
    Multiprotocol Extensions for BGP-4. T. Bates, R. Chandra, D. Katz, Y. Rekhter. February 1998.
  • RFC2328
    OSPF Version 2. J. Moy. April 1998.
  • RFC2453
    RIP Version 2. G. Malkin. November 1998.
  • RFC2545
    Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing. P. Marques, F. Dupont. March 1999.
  • RFC2740
    OSPF for IPv6. R. Coltun, D. Perguson, J.Moy. December 1999.
  • RFC2796
    BGP Route Reflection An alternative to full mesh IBGP T. Bates R. Chandrasekeran. June 1996.
  • When SNMP support is enabled, below RFC is also supported
  • RFC1227
    SNMP MUX protocol and MIB. M.T. Rose. May-01-1991.
  • RFC 1657
    Definitions of Managed Objects for the Fourth Version of the Border Gateway Protocol (BGP-4) using SMIv2. S. Willis, J.Burruss, J. Chu, Editor. July 1994.
  • RFC1850
    OSPF Version 2 Management Information Base. F. Baker, R. Coltun. November 1995.

Bibliografia:

technologie.pl

manticore.2y.net/doc/zebra/overview.html


[1] Management Information Base, jest baza zawierająca informacje o obiektach zarządzalnych przy użyciu protokołu SNMP Simple Network Management Protocol.

[2] W systemach UNIX tak nazywa się programy, które zajmują się obsługą sieci TCP/IP

[3] Jest to protokół zarządzający sesjami w systemach UNIX, więcej na stronie: http://www.w3.org/TR/WD-mux

[4] GNU Powszechna Licencja Publiczna dotycząca rozpowszechniania darmowego oprogramowania, polskie tłumaczenie jest dostępne pod adresem: http://gnu.org.pl/text/licencja-gnu.html

[5] QoS, skrót od Quality of Service oznaczający zapewnienie jakości usług

[6] Procedura systemowa w systemach UNIX służąca do multipleksowania synchronicznego I/O

Button: Add to Cart

Właśnie siedzę nad projektem sklepu internetowego, dla jednego z klientów, i tak mi przyszło do głowy czy znajdę jakieś materiały w Sieci poświęcone widoczności i czytelności przycisku Dodaj do koszyka. I bingo!

107 Add to Cart Buttons of the Top Online Retailers autorstwa Jasona Billingsleya, to galeria ponad stu przycisków z najczęściej odwiedzanych sklepów anglojęzycznych wraz z analizą statystyczną dotyczącą zarówno nazewnictwa (dla przykładu: Add to Cart to najczęściej używana formuła (58%), a Add to My Shopping Cart najrzadziej (0,9%); jak się okazuje sam Amazon używa niezbyt popularnego Add to Shopping Cart (4,5%)), jak i elementów graficznych przycisków (przykładowo ikona koszyka ma zastosowanie w 14,3% przycisków przeanalizowanych przez Billingsleya).

Galerii i analizom towarzyszy krótki tekst autora.

A dlaczego jednolita ikonografia oraz ujednolicone nazewnictwo w ramach ‚dodaj koszyka’ są tak istotne?

Właściwie funkcja ‚dodaj…’ jest tym dla świata e-commerce, czym cut (Wytnij ze swoją ikonką nożyczek) dla świata programów desktop – jest powszechna i często wykorzystywana przez użytkowników. Zidentyfikowanie gdzie się znajduje przycisk ‚dodaj’ w sklepie internetowym oraz zrozumienie funkcji tego przycisku – przy zachowaniu czytelnej formy komunikacji – są jednym z kluczy do sukcesu sklepu.

A może ktoś się pokusi o analizę buttonów w polskich e-sklepach?

***

W ramach tematyki buttonów, lekturę uzupełnią dwa teksty:

  • 7 Rules for Landing Page Optimization (chodzi o punkt 5)
  • i podejmujący ten punkt: Large Red Buttons? Oh My!
  • + dodatkowa galeria przycisków.

PS: A tak a propos sklepów internetowych, czy ktoś zapoznał się już z systemem Magento i ma wyrobioną na jego temat swoją opinię? Będę wdzięczny za komentarze w tej sprawie.

Projektowanie dla seniorów: czcionki

Jak popatrzeć na statystyki, rośnie grupa użytkowników powyżej 40-stego roku życia. Aspekty z projektowaniem rozwiązań dla nich związane są zarówno z przestrzeganiem standardów usability jak i accessibility.

Nie natrafiłem nigdzie w Sieci na opracowanie poświęcone projektowaniu dla osób w podeszłym wieku, więc sam postanowiłem coś w tej mierze napisać. Dzisiaj trochę statystyk i część poświęcona czcionkom.

Statystyki

2005 r.: Najwięcej użytkowników w Internecie to osoby w wieku od 15 do 24 lat, których udział wynosi 44,7%. Kolejną co do wielkości grupą są ludzie w średnim wieku: 25-39 lat. Stanowią oni 31,2% populacji użytkowników. Osoby w podeszłym wieku – od 40 do 59 lat – to 22,1% populacji. I wyniki te zamykają osoby po 60 roku życia z 2% udziałem w grupie [wg badań z września-listopada 2005 MillwardBrown SMG/KRC].

2006 r.: Jak pokazuje poniższa tabelka, wyniki rok później były podobne [badania przeprowadził Interaktywny Instytut Badań Rynkowych, źródło: Megapanel PBI/Gemius, październik 2006].

2007 r.: A oto pokazujące wzrost użytkowników w podeszłym wieku o blisko 5%, wyniki badań z okresu marzec/maj bieżącego roku [NetTrack SMG/KRC, za: IDG].

Czcionki

  • Wielkość czcionki: powszechnie uważa się, że treść zasadnicza powinna mieć wielkość przynajmniej 10 punktów (J. Nielsen & H. Loranger, „Optymalizacja funkcjonalności serwisów internetowych”, Wyd. Helion 2007, s. 247-249; T. Sachs & G. R. McClain, „Podstawy projektowania stron internetowych”, Wyd. Helion 2002, s. 107). Jednak przy tendencji do zwiększającej się rozdzielczości monitorów, na których oglądane są strony WWW, oraz biorąc pod uwagę pogarszający się wzrok osób starszych, jak i fakt, że w późniejszym wieku wzrok szybko się męczy, spokojnie jako standard można przyjąć tekst o wielkości 12 punktów.
  • Szeryfowe czy bezszeryfowe? Co to są szeryfy myślę, że każdy z czytelników UI Design wie, więc nie będę się tutaj wdawał w szczegóły. Osoby, które jednak nie wiedzą odsyłam do artykułu na Wikipedii.

    Powszechna opinia w kwestii stosowania czcionek szeryfowych i bezszeryfowych w Internecie jest taka, że czcionki szeryfowe nie nadają się do czytania z ekranów komputerów, pozostawiając pole do popisu czcionkom bezszeryfowym. To jednak nie jest prawdą.

    Od czasu powstania Internetu dużo się zmieniło. Stosowane kiedyś monitory CRT miały rozdzielczość 72 dpi; aktualnie rozpowszechnione panele LCD mają już rozdzielczość 96 dpi. Co za tym idzie, czcionki wyświetlane na współcześnie stosowanych monitorach są dużo czytelniejsze. Stąd coraz częściej stosuje się w projektach WWW czcionki szeryfowe, których, dzięki podwyższeniu rozdzielczości, czytelność znacznie się poprawiła.
    Co prawda wciąż niektórzy usabiliterzy (Nielsen) radzą wykorzystywać czcionki tylko w nagłówkach (wielkość czcionki 14 punktów i więcej), ale otarłem się gdzieś o opracowanie pokazujące, że z wiekiem zatracają się różnice w czytaniu z ekranów tekstów pisanych czcionką szeryfową i bezszeryfową (tylko źródła tego badania nie mogę sobie przypomnieć), w związku z czym osoby w podeszłym wieku z taką samą sprawnością czytają teksty napisany szeryfami, co bez szeryfów.

    Wygładzanie krawędzi czcionek (antyaliasing): Safari, bodajże jako jedyna przeglądarka internetowa, w zaawansowany sposób obsługuje antyaliasing. Jeśli wygładzanie krawędzi świetnie sprawdza się w przypadku grafiki, to w przypadku tekstu jest już pomyłką! Tekst z wykorzystaniem opcji wygładzania krawędzi jest znacznie mniej czytelny od tekstu bez obsługi antyaliasingu (Por. W. Williard, „Projektowanie stron WWW”, Wyd. Edition 2001, s. 162). Jeśli projektujecie dla użytkowników platformy Apple, miejcie to na uwadze.

  • Obrazki zamiast czcionki: NIE! Dlaczego? Bo użytkownicy z większą wadą wzroku nie będą mieli możliwości powiększenia napisów – wyświetlanie czcionki można powiększyć, obrazków nie. No chyba, że się skorzysta z opcji Zoom w przeglądarkach Opera oraz Internet Explorer 7.

    Inną, bardziej zaawansowaną metodą zastępowania czionek, jest sIFR, czyli Scalable Inman Flash Replacement

  • Punkty, piksele czy emy? Z interpretacją pikseli w ramach formatowania wielkości czcionki, wciąż ma problem Internet Explorer. Twórcy tej przeglądarki uznali, że stosowanie przez programistów WWW rozmiarów w pikselach, związane jest z określaniem przez nich wartości bezwględnych. W związku z tym tekst sformatowany w pikselach nie podlega możliwości powiększenia. Pozostaje formatowanie tekstu w punktach oraz, coraz częściej stosowane, w em-ach (Por. J. Beaird, „Artystyczne projektowanie stron internetowych”, Wyd. Powernet 2007, s. 133-135).
    Nie polecam zaś formatowania czcionek sposobem „kuloodpornym”, zaproponowanym przez Dana Cederholma (D. Cederholm, „Kuloodporne strony internetowe”, Helion 2006), przy pomocy słów kluczowych, takich jak: small, medium, large. Z moich doświadczeń wynika, że ze względu na niejednolitą interpretację znaczników, stosowaną przez różne przeglądarki internetowe, ten sposób zapisu nie sprawdza się (ale o tym przy innej okazji).
  • Kontrast – o tym przy okazji następnej części, w której będę pisał m.in. o kolorach, pamięci, motoryce.

Pozyskowanie linków w Internecie

Linki są najważniejszym elementem w procesie pozycjonowania strony internetowej. Nie należy oczywiście rozumieć tego w ten sposób, że im więcej linków tym lepiej. Jednak dobrze dobrane linki do naszej strony www zapewniają wysokie pozycje w wynikach wyszukiwania.

Co jednak oznacza „dobrze dobrane linki”? Które linki są „dobre” i jak je pozyskać? Sposobów pozyskiwania linków jest sporo, zaczynając od tych najlepszych obejmują:

  • zaplecze i strony tematyczne,
  • katalogi stron,
  • presell page,
  • systemy wymiany linków,
  • stopki w forach,
  • księgi gości,
  • płatne linki.

Zaplecze i strony tematyczne

Zaplecze to takie strony, nad którymi mamy kontrolę i możemy umieszczać odnośniki do pozycjonowanych przez nas stron. Zaplecze może być tworzone na dwa sposoby: strona o tematyce ogólnej i strona tematyczna. Na stronie o tematyce ogólnej warto zamieszczać linki do każdych pozycjonowanych przez nas stron. Nie patrząc na to czy strona będąca zapleczem jest np. o garbusach, a pozycjonowana strona jest z branży ubezpieczeń.

Strona tematyczna najczęściej tworzona jest pod konkretną pozycjonowaną przez nas stronę. Przykładem może być strona o gatunkach i sposobie hodowania róż, a pozycjonowana przez nas strona jest z branży kwiaciarskiej. Chodzi tu przede wszystkim o to, aby w tekście na stronie będącej zapleczem tematycznym występowały podobne słowa kluczowe, co na stronie pozycjonowanej.

Budowanie serwisów tematycznych ma wiele zalet. Przede wszystkim najczęściej są to wartościowe strony, które mają dużą szanse na utrzymanie się w indeksie wyszukiwarek. Ponadto można liczyć na wejścia z wyszukiwarek na strony tematyczne, a potem w odpowiedni sposób przekierowywać użytkowników na właściwą, pozycjonowaną stronę.
Przy tworzeniu zaplecza należy pamiętać o kilku zasadach:

  1. Nie powinno się tworzyć dokładnych kopii stron. Każdy serwis powinien mieć unikalną treść (ang.: content).
  2. Wyszukiwarki nie mogą zorientować się, że serwisy mają ze sobą coś wspólnego i są tworzone tylko dlatego aby wzmocnić stronę pozycjonowaną.
  3. Należy przy rejestracji domeny korzystać z usługi prywatności WHOIS. Dzięki temu nie jest widoczny właściciel domeny.
  4. Nie linkujemy wszystkich stron ze sobą. Jest to bardzo często spotykany błąd. Takie działanie nazywamy crosslinking i należy go zdecydowanie unikać.

Katalogi stron

Katalog stron to nic innego jak strona zawierająca spis adresów internetowych zaproponowanych przez użytkowników. Najczęściej katalogi stron podzielone są na kategorie i podkategorie, tak aby można było odpowiednio podzielić wpisy. Najbardziej znanym na świecie katalogiem jest DMOZ (www.dmoz.org). Do najpopularniejszych w Polsce katalogów należą Katalog Onet oraz katalog WP. Jednak w Internecie możemy znaleźć tysiące katalogów stron stworzonych przez samych użytkowników.

Presell page

Presell page, zwane w Polsce pieszczotliwie „precelki” to strony zawierające zbiór unikalnych artykułów na różne tematy. Dodatkowo przy każdym artykule użytkownicy mogą umieścić kilka linków do pozycjonowanej strony. Dzięki unikalnemu i zbliżonemu do tematyki naszej strony artykułowi możemy wiele zyskać w rankingu. Dobrze napisany artykuł jest swoistym połączeniem zaplecza i to tego bardziej wartościowego – tematycznego – z katalogiem stron. W chwili obecnej „precelki” przeżywają wielki bum i stają się jedną z najpopularniejszych form pozyskania linku.

Stopki na forach

Na forach internetowych istnieje możliwość posiadanie sygnaturki. Mogą to być cytaty, obrazki, ale również linki do swoich stron. Powstaje oczywiście pytanie czy takie linki pomagają w pozycjonowaniu. Odpowiedź jest z pewności twierdząca, choć warto zauważyć, że takie linki nie są linkami wartościowymi. Co za tym idzie dzięki takim odnośnikom możemy wypozycjonować frazy mało konkurencyjne.

Księgi gości

Księgi gości jak wskazuje sama nazwa służą do pozostawiania komentarzy użytkowników danej strony internetowej. Z czasem księgi gości odnalazły swoje zastosowanie w pozycjonowaniu jako łatwa forma zdobywania linków do swojej pozycjonowanej strony. Pozyskiwanie takich linków jest jednak bardzo ryzykowny, ponieważ linki w księgach gości są łatwo identyfikowalne przez wyszukiwarki. Co za tym idzie taki link może przynieść odwrotny od zakładanego skutek.

Płatne linki

Popularność pozycjonowania i dodawania linków sprawiła, że wielu właścicieli stron zaczęło zarabiać na sprzedawaniu odnośników. Jeśli osoba pozycjonująca stronę posiada duży budżet kupowanie linków jest dobrym rozwiązanie dla poprawienia pozycji strony w wynikach wyszukiwania. Płatne linki można przecież umieszczać na witrynach powiązanych tematycznie z pozycjonowaną przez nas, a to przyniesie na pewno dobry skutek i podniesienie naszej strony w rankingu.
Podsumowując pozyskiwać linki można na wiele różnych sposobów. Należy jednak pamiętać, które linki są „dobrymi linkami”, a które nie przyniosą nam wiele, a wręcz mogą zaszkodzić pozycjonowanej stronie. Nie ma reguły co do tego ile linków i jakich należy uzyskać aby mieć najlepsze efekty. W pozycjonowaniu stron internetowych  każdy      przypadek wymaga

indywidualnego podejścia. Musimy pamiętać z pewnością o naturalności pozycjonowania. Co za tym idzie pozyskujmy linki z różnych źródeł i starajmy się aby przybywały w odpowiednim czasie i ilości.

Cyber Service

Firma Cyber Service jest jedną z pierwszych firm w Polsce, która oparła swój biznes na otwartym systemie operacyjnym GNU/Linux. Obecnie reali­zuje model dostawcy sprzętu (roz. 2.6.2). Firma zarabia na sprzedaży wy­specjalizowanych komputerów przeznaczonych do pełnienia ściśle określonej funkcji w sieciach komputerowych.

Używanie wyspecjalizowanych urządzeń zmniejsza stopień komplikacji systemu informatycznego i obniża koszty związane z jego utrzymaniem i ob­sługą [18]. Dodatkowo też, zjawisko skali związane z masową produkcją wy- standaryzowanego sprzętu, zmniejsza koszty projektowania i wdrożenia roz­wiązań opartych na tym sprzęcie.

Urządzenia produkowane przez Cyber Service zostały nazwane rodzi­ną OpenBIZ, od nazwy systemu operacyjnego OpenBIZ Linux, pod kon­trolą którego działają. OpenBIZ Linux jest adaptacją oprogramowania GNU/Linux, dokonaną przez firmę na potrzeby produkowanych przez sie­bie urządzeń. Wprowadzenie tych zmian było możliwe dzięki licencji GNU GPL i otwartemu kodu źródłowemu systemu GNU/Linux. Natomiast wysoki poziom technologiczny tego oprogramowania, a przede wszystkim jądra Li- nux, umożliwiło realizację i osiągnięcie postawionych wymagań. Istotna jest też ekonomiczno-prawna konsekwencja użycia oprogramowania na licencji GNU GPL jako platformy systemowej produkowanych urządzeń.

Brak opłat licencyjnych zmniejsza koszt jednostkowy pojedynczego komputera i pozwala uniknąć wszelkich komplikacji prawnych związanych z koniecznością zawiera­nia odpowiednich porozumień handlowych. W przypadku gdyby zastosowano zamknięte rozwiązanie, każde urządzenie obarczone byłoby opłatą licencyjną na rzecz producenta oprogramowania.

Dodatkowo, z powodu niedostępno­ści kodu źródłowego i braku możliwości samodzielnego wprowadzania zmian w takim oprogramowaniu, jego adaptacja na potrzeby produkowanego sprzę­tu musiałaby być wykonywana przez dostawcę oprogramowania. Koszty tego mogłyby być większe, niż w przypadku, gdyby firma samodzielnie dokonywa­ła tych zmian i spowodowałoby to dodatkowy wzrost jednostkowego kosztu produkcji.

W związku z powyższym, wykorzystanie przez firmę Cyber Service otwartego oprogramowania GNU/Linux jako platformy systemowej dla pro­dukowanych przez siebie urządzeń, pozwoliło jej stworzyć bardziej atrakcyjną pod względem cenowym, jak i technologicznym ofertę biznesową.

Podział sieci komputerowych ze względu na zasięg

Sieci komputerowe w zależności od swego przeznaczenia i wykorzystanego do ich budowy sprzętu oraz oprogramowania posiadają różny, maksymalny zasięg. Rozróżniamy następujące rodzaje sieci:

  • LAN – ang. Local Area Network – LAN jest siecią o małym zasięgu. Sieci tego typu obejmują najczęściej jeden budynek lub zespół sąsiadujących ze sobą budynków. Sieci typu LAN charakteryzują się dużą szybkością transmisji, osiągającą Mb/s, bez użycia dodatkowego sprzętu czy oprogramowania. Potoczna nazwa: sieć lokalna
  • MAN – ang. Metropolitan Area Network – MAN jest siecią, która swym zasięgiem może obejmować całe miasto lub nawet zespół sąsiadujących ze sobą miast. Transmisja w sieciach typu MAN często nie ustępuje szybkością sieciom LAN, jednakże w tym przypadku konieczne jest już zastosowanie dodatkowego sprzętu i oprogramowania. Potoczna nazwa: sieć miejska.
  • WAN – ang. Wide Area Network – WAN jest siecią o nieograniczonym zasięgu, mogącą obejmować dowolny region ziemi. Sieci typu WAN nie zachwycają szybkością transmisji, która przeważnie wynosi od kilku kb/s do kilkuset kb/s. Przy komunikacji modemowej jest to od 300 b/s do 56 kb/s, w technologii ISDN max. 128 kb/s. Istnieją również sieci typu WAN oferujące znacznie większe szybkości transmisji (np.: sieć POLPAK) lecz koszty korzystania z nich są poza sferą dostępności przeciętnego użytkownika czy małego przedsiębiorstwa. Przykładem sieci WAN jest Internet. Potoczna nazwa: sieć rozległa lub sieć globalna.

Mb/s – Megabity na sekundę – 1 Mb/s = ok. 122 kB/s (kilobajtów na sekundę)

kb/s – kilobity na sekundę – 1 kb/s = 125 B/s (bajtów na sekundę)

ISDN – Integrated Services Data Network – Sieć danych z integracją usług (cyfrowa).

Sieć komputerowa

Jedną z najważniejszych potrzeb ostatnich lat w wielu dziedzinach życia jest stworzenie sieci komputerowej w każdej firmie i instytucji. Samo wprowadzenie komputerów jako narzędzi do zarządzania i pracy nie przynosi znaczących efektów w dziedzinie zwiększenia wydajności oraz efektywności działania. Dopiero połączenie ich w sieć istotnie poprawia, a czasem wręcz rewolucjonizuje działanie zespołów ludzkich, firm i instytucji.

Siecią komputerową nazywa się w informatyce takie połączenie co najmniej dwóch komputerów, które umożliwia im współdzielenie swoich zasobów. Przez współdzielenie zasobów rozumiemy tu udostępnianie napędów (napędy dyskietek, dyski twarde, napędy CD-ROM itp.) wraz z zawartymi na nich danymi oraz udostępnianie urządzeń peryferyjnych (drukarki, skanery itp.) zainstalowanych w danym komputerze.

Wyróżniamy dwa podstawowe „typy” sieci:

  • Peer-To-Peer – czyli Stacja-Do-Stacji. W sieci tego typu żadna stacja nie jest stacją      nadrzędną i wszystkie mają te same prawa do zasobów pozostałych stacji.

  • Client-Server – czyli Klient-Dostawca. W sieci tego typu serwer jest stacją nadrzędną i decyduje o prawie do zasobów sieci odrębnie dla każdej ze stacji podrzędnych (tak zwanych stacji roboczych).

Potencjał Otwartego Oprogramowania w biznesie

Model tworzenia oprogramowania jest nazywany modelem bazarowym[1], w odróżnieniu od modelu katedralnego[2]. Ten spo­sób pisania programów został zapoczątkowany i rozwinięty przez członków ruchu OSS. Pierwszym i najbardziej znanym projektem powstającym w ten sposób jest jądro Linux. Obok nieprzeciętnych zdolności przywódczych jego autora – Linusa Torvaldsa, to właśnie przyjęcie modelu bazarowego za­decydowało o sukcesie projektu jaki można obecnie obserwować.[3]

Analizując proces powstawania otwartego oprogramowania łatwo zauwa­żyć miejsca, które stanowią o niezwykle dużym potencjale tej metody:

  1. Możliwość wykorzystania gotowego projektu.

Twórcy zamkniętego oprogramowania zawsze muszą pisać wszystko od nowa. Wydłuża to czas powstawania programu oraz powoduje zwią­zane z tym zwiększenie kosztów. Jednocześnie widać też, że nadążenie kroku za postępem technicznym w takim przypadku jest praktycznie niemożliwe.

  1. Wykorzystanie pomocy osób z zewnątrz.

Zmniejsza czas i koszty zawiązane z tworzeniem oprogramowania oraz nie wymaga dużego zaplecza informatycznego, dzięki czemu koszty stałe funkcjonowania takiego zespołu projektowego są znacznie niższe niż w przypadku zespołu piszącego zamknięte oprogramowanie.

  1. Współtworzenie projektu przez przyszłych użytkowników.

Pozwala to na nawiązanie pozytywnych relacji z przyszłymi użytkow­nikami, którzy będą czuli się współodpowiedzialni za produkt. Dzięki temu pojawi się zjawisko sprzężenia zwrotnego, które znacznie ułatwi proces utrzymania projektu i zmniejszy jego koszty w przyszłości.

  1. Możliwość łatwego przekazania projektu.

Projekt może funkcjonować niezależnie od pierwotnego zespołu projek­towego, gdyż łatwo można przekazać opiekę nad nim. Dzięki temu praca włożona w jego stworzenie nie pójdzie na marne gdy programiści zechcą się wycofać, gdyż o jego życiu nie będą decydować czynniki personalne lub kondycja finansowa grupy projektowej, ale rynkowa przydatność produktu.

Pierwsze narzędzia projektu GNU, pisane przez Richarda Stallmana i innych członków FSF, powstawały według modelu katedralnego.[4] Główna różnica w odniesieniu do Otwartego Oprogramowania między tymi modelami polega na tym, że proces otwarcia następuje praktycznie dopiero po tym, jak pierwotny problem już zostanie rozwiązany. Zespół projektowy działa sam i nie korzysta z pomocy programistów z zewnątrz. Oprogramowanie jest pi­sane niemal wyłącznie według wizji jego twórców. Przyszli użytkownicy nie mają możliwości uczestniczyć w procesie tworzenia. Po otwarciu projektu mogą oni zgłaszać zauważone błędy, czerpać z kodu źródłowego, dzielić się swoją wizją lub zgłaszać zapotrzebowanie na nową funkcjonalność. Jednak w dwóch ostatnich przypadkach zespół projektowy może nie być skory do ustępstw czy do wprowadzania jakichkolwiek zmian. Zazwyczaj jest już na to po prostu za późno. Projekt był budowany według innych założeń i wpro­wadzenie takiej zmiany mogło by wymagać zbyt dużego nakładu pracy. Od razu widoczne są tu słabe punkty modelu katedralnego, którego zastosowanie przy tworzeniu otwartego oprogramowania nie pozwala w pełni wykorzystać potencjału jaki dają otwarte źródła.

Według członków ruchu OSS jedynie model bazarowy pozwala uzyskać najwyższe zaawansowanie pod względem technologicznym. Jest to naj­efektywniejszy sposób tworzenia oprogramowania i tylko on pozwala nadążyć za postępem technicznym. Jednak, jak się okazuje w praktyce, nie jest łatwo w pełni wykorzystać metody otwartego oprogramowania. Wiele programów jest niskiej jakości i często przecząc teorii, ustępują swoim zamkniętym od­powiednikom. Można spotkać się z głosami krytyki i rozgoryczenia ze strony użytkowników zwiedzionych tymi ideami. Jest to problem leżący w założe­niach ruchu OSS, na który zwracał w swoich wystąpieniach Richard Stall- man. Dla niego najważniejsza była wolność i to miał być główny atut Otwartego Oprogramowania. Natomiast model bazarowy i korzyści z niego płynące miały być tylko atrakcyjnym dodatkiem, swego rodzaju pozytywną konsekwencją owej wolności. Wiedział, że pełne wykorzystanie tej metody jest trudne i doskonałość technologiczna może w wielu przypadkach pozo­stać jedynie w sferze teorii. W związku z tym przewidywał, że posługiwanie się jedynie tym argumentem może obrócić się przeciwko środowisku OSS. Dlatego mówiąc o Otwartym Oprogramowaniu trzeba podkreślać, że atutem nie jest tu doskonałość technologiczna, ale potencjał, który wykorzystany odpowiednio pozwoli ją osiągnąć.


[1] Nazwa pochodzi stąd, że tworzenie oprogramowania w ten sposób przypomina funk­cjonowanie bazaru. Każdy może przyjść, obejrzeć i dołożyć coś od siebie lub coś zabrać.

[2] Ten sposób pisania oprogramowania przypomina budowę katedry. Architekt w samot­ności pieczołowicie wznosi jej kolejne warstwy by na końcu, po skończonej pracy, pokazać efekt publiczności.

[3] GNU/Linux stał się poważnym zagrożeniem dla monopolu firmy Microsoft. Coraz więcej firm oraz państw migruje na ten system operacyjny.

[4] Zamknięte oprogramowanie także jest tworzone według modelu katedralnego, jednak oczywiście nie ma tu miejsca otwieranie projektu.

Punkty określają siłę oddziaływania danego czynnika,. Zakres punktacji zawiera się od -5 do -1 dla negatywnych i od 1 do 5 dla pozytywnych czynników.

Waga określa stopień istotności czynnika w danym obszarze analizy.

Sumaryczny wynik może zawierać się w przedziale od -5 do 5.

Punkty określają siłę oddziaływania danego czynnika,. Zakres punktacji zawiera się od -5 do -1 dla negatywnych i od 1 do 5 dla pozytywnych czynników.

Waga określa stopień istotności czynnika w danym obszarze analizy.

Sumaryczny wynik może zawierać się w przedziale od -5 do 5.

Algorytm MIT

podrozdział tej pracy magisterskiej powstał na podstawie następującej literatury:

[1] Raj Jain, „Congestion Control And Traffic Management In ATM Netowrks: Recent Advances and A Survey”

[3] Kai-Yeung Siu, Hong-Yi Tzeng: “Intelligent Congestion Control for ABR Service in ATM Networks”

[4] Fang Lu, “ATM Congestion Control”

[11] Dorgham Sisalem, Henning Schulzrine, „Switch Mechanisms for the ABR Service: A comparison Study” 

Po raz pierwszy algorytm MIT został zaproponowany przez Anna Charny z Massachusetts Institute of Technology (MIT).

Algorytm ten do obliczenia współczynnika fairshare używa procedury iteracyjnej. Najpierw, współczynnik fairshare obliczany jest poprzez podzielenie dostępnego pasma przepustowego przez ilość aktywnych kanałów wirtualnych. Wszystkie kanały, które transmitują dane z prędkością poniżej obliczonego współczynnika fairshare, są zwane „underloading VC”. Jeżeli liczba kanałów „underloading VC” zwiększa się z iteracją, współczynnik fairshare jest obliczany według wzoru:

Procedura ta powtarzana jest dopóki nie osiągnie się stanu stabilnego, gdzie liczba „underloading VC” i współczynnik fairshare nie będzie się zmieniał. Anna Charny pokazała w swojej pracy, że zwykle dwie iteracje wystarczą do osiągnięcia zadawalającego rezultatu. Jednak mogą wystąpić sytuacje, dla których obliczenie współczynnika fairshare składać się będzie z n operacji, gdzie n jest liczbą kanałów wirtualnych. Dla przełączników ATM, które obsługują tysiące kanałów wirtualnych, liczba obliczeń koniecznych do wykonania stanie się bardzo duża i nie może być wykonana na dostępnym dzisiaj sprzęcie.

Zabezpieczanie firewalla

Firewall nie spełnia swojego zadania jeśli zostawia otwarte okno dla ataków przez nieużywane usługi. Hakerzy mogą zdobyć twierdzę i zmodyfikować ją dla swoich potrzeb.

Ważnym krokiem jest wyłączenie niepotrzebnych usług.. Plik /etc/inetd.conf kontroluje rzecz o nazwie ,,super serwer” – kontroluje uruchamianie usług na żądanie.

Kompletnie wyłączamy: netstat, systat, tftp, bootp oraz finger, kiedy już to zrobimy wysyłamy sygnał HUP do procesu inetd komendą: ” kill -HUP < pid > ” , gdzie < pid > jest numerem procesu inetd. Spowoduje to powtórne przeczytanie przez inetd pliku konfiguracyjnego (inetd.conf) i restart.

W tym miejscu możemy sprawdzić czy jesteśmy w stanie dostać się do portu obsługującego netstat telnet localhost 15 Jeśli otrzymamy wynik z netstata oznacza to, że zrestartowanie inetd nie odbyło się prawidłowo.

Konfiguracja filtrowania IP (IPFWADM)

By zacząć konfigurację filtrowania IP administrator musi włączyć przesyłanie pakietów IP w swoim jądrze i jego system powinien odsyłać wszystko co mu zostanie przesłane. Nasza tablica trasowania powinna być ustawiona i administrator powinien mieć dostęp tak wewnątrz jak do zewnętrznej Sieci. Domyślnie IP Forwarding w jądrze systemu odsyła wszystko. Dlatego nasze skrypty startowe firewalla powinny rozpoczynać swoja pracę od zakazania dostępu dla wszystkich i zerwania wszelkich połączeń dozwolonych w poprzednim uruchomieniu ipfw.

# Ustawianie rozliczania i odsyłania pakietów IP
#  Forwarding
# Domyślnie  wszystkie usługi są zakazane.
ipfwadm -F -p deny
# Zerwij wszystkie połączenia
ipfwadm -F -f
ipfwadm -I -f
ipfwadm -O -f

W tym momencie mamy doskonały firewall, który nie przepuszcza niczego. Bez wątpliwości pewna cześć usług powinna być przesyłana (tego dotyczy następny przykład) [1].

# przesyłanie poczty do naszego MTA
ipfwadm -F -a accept -b -P tcp -S 0.0.0.0/0 1024:65535 -D 192.1.2.10
25

# przesyłanie połączeń pocztowych do innych MTA
ipfwadm -F -a accept -b -P tcp -S 196.1.2.10 25 -D 0.0.0.0/0
1024:65535

# przesyłanie WWW do naszego serwera
/sbin/ipfwadm -F -a accept -b -P tcp -S 0.0.0.0/0 1024:65535 -D
196.1.2.11 80

# przesyłanie WWW do serwerów zewnętrznych
/sbin/ipfwadm -F -a accept -b -P tcp -S 196.1.2.* 80 -D 0.0.0.0/0
1024:65535

# przesyłanie ruchu DNS
/sbin/ipfwadm -F -a accept -b -P udp -S 0.0.0.0/0 53 -D
196.1.2.0/24

Jeśli administrator jest  zainteresowany rozliczaniem ruchu przechodzącego przez jego firewall, może zastosować niżej przedstawiony skrypt, który liczy każdy z pakietów.

# Zerwanie wszystkich połączeń
ipfwadm -A -f
# Rozliczanie
/sbin/ipfwadm -A -f
/sbin/ipfwadm -A out -i -S 196.1.2.0/24 -D 0.0.0.0/0
/sbin/ipfwadm -A out -i -S 0.0.0.0/0 -D 196.1.2.0/24
/sbin/ipfwadm -A in -i -S 196.1.2.0/24 -D 0.0.0.0/0
/sbin/ipfwadm -A in -i -S 0.0.0.0/0 -D 196.1.2.0/24


[1] na podstawie R. Ziegler „Linux. Firewalls“