Jak popsat strukturu site klfree?

Radek pogl na seznam.cz
Středa Září 3 19:53:56 CEST 2003


Ahoj Milane, premyslel jsem nad tou tvoji predstavu ... ja v soucasnosti
neco podobnyho (o neco jednodussi struktura) uz z casti implementoval do
toho svyho IS, ale zatim nestiham, protoze dodelavam jeste nejaky skolni
prace ... melo by se to zlepsit tak do 14ti dnu.

V kostce to je asi takhle ... kazdy prvek site jsem obecne pojmenova node,
mezi kterymi je mozne vytvorit orientovanou stromovou strukturu ... typy
node zhruba odpovidaji tomu co jsi popsal, ale nektere chyby (zapomel jsem
na ne :), zkusim ten navrh nejak formalizovat a taky ho predhodit k diskusi.

Pokud jde o tu databazi, zkusil bych to jako prvni prevest na tu Postgre
databazi, ale potreboval bych nejaky ucet a nastroj, kterym bych tu DB mohl
spravovat.

Radek

----- Original Message -----
From: "Milan Krèmáø" <milan.krcmar na seznam.cz>
Newsgroups: klfree.kladno
To: <kladno na klfree.net>
Sent: Tuesday, September 02, 2003 12:09 AM
Subject: Jak popsat strukturu site klfree?


Ahoj,

toto je mail urceny "technicke" nebo "vyvojove" skupine, bezni uzivatele to
nemusi ani cist.

Cetl jsem, ze u Radka vznika nejaky popis site. Pred casem jsem premyslel,
jak
v databazi namodelovat nasi sit, aby se z toho daly generovat ko
1000
nfigurace,
statistiky, seznam majetku atd atd. Zkousel jsem si ten ukol zjednodusit,
modelovat jen neco, ale podle mne to nejde, proste je potreba postihnout
uplne
kazdy detail site, adresy, zatizeni, vnitrni funkce routeru, kabely, anteny.
Toto je potreba mit v databazi nejen pro spolecne casti site, ale je nutne
takto detailne zaznamenat i stav u "klientu".

Vlastni popis dat v databazi je dost slozity problem a chtel bych o nem dale
diskutovat. Je to stezejni vec a musime tim zacit. Jeden z vystupu, ktere by
se mely dat z databaze generovat, je nejake graficke schema site. O tom bude
nasledujici text.

Grafickym schematem se zabyvam umyslne, protoze se na nem da dobre ukazat
slozitost celeho problemu. Cilem je, aby se z databaze vygeneroval nejaky
klikaci obrazek, schema cele site - jak co je k cemu pripojene, jake to ma
adresy, kanaly a pod. Schema, ktere se zabyva vlastnimi spoji a ne tim, kde
ktere zarizeni lezi (na to je mapa, coz je jiny vystup).

Schema by slo jiste nakreslit ve forme nejakeho grafu. O grafech je cela
matematicka teorie (kdo to neznate): pojmem graf se mysli sada objektu
propojenych carami, objektum se rika uzly nebo vrcholy, spojovacim caram se
rika hrany. Pokud na kazde hrane udelam na jedne jeji strane sipku (dam ji
smer), jde o orientovany graf, pokud sipky nedelam, jde o neorientovany
graf.
Mam program, ktery z popisu grafu dokaze nakreslit jeho obrazek tak, ze si
uzly sam vhodne rozmisti. Vstupem je textovy soubor popisujici strukturu
grafu, vystupem je obrazek. Program se jmenuje dot.

V programu dot lze nastavit u kazdeho uzlu tvar (obdelnik, kruznice, elipsa
atd.), barvu, vypln a textovy popis. Kazde hrane muzeme priradit tloustku,
barvu, a take textovy popis. Toho jsem vyuzil na prvni nastrel schematu.
Hrany znamenaji spoje, to je jasne. Pro vrcholy jsem ale vymyslel pouziti
nekolika tvaru:

elipsa - ethernetove rozhrani
obdelik - bezdratove rozhrani na strane klienta
sestiuhelnik - bezdratove rozhrani na strane AP
kosoctverec - routovani mezi ruznymi IP sitemi
lichobeznik - bridge (vlastne switch s IP adresou)
tecka - bridge nebo hub

Tento velky pocet tvaru je proto, abych mohl popsat sit detailne. V priloze
je soubor net.png, k dalsimu popisu se na nej podivejte:

Hned nahore je velky obdelnik "linksys". Velky obdelnik ohranicuje jedno
fyzicke zarizeni. Teorie grafu nic takoveho nema, lze chapat jako podgraf a
program dot to umi. Linksys je hardwarove APcko na Vodojemu. Ma ethernetovy
port (oval nahore), Wi-Fi port (obdelnik dole) a mezi nimi jakysi switch
nebo
chcete-li bridge s vlastni IP adresou 192.168.30.2, coz je ten lichobeznik
uprostred.

Prejdeme k mrskovi. Mrsk je router, vnitrek operacniho systemu, ktery
routuje,
je znazornen tim kosoctvercem. Wlan2 je Wi-Fi rozhrani s adresou
192.168.30.60,
ktere je napojene na linksys, tento spoj je klient-to-klient, proto jsou na
obou stranach obdelniky. Dale je na Mrskovi interface wlan1, ktery jede jako
klient na Iris a ma adres 192.168.133.17. Potom tu mame ethernetovy port
eth1,
ktery ma adresu 192.168.134.1 a pro jednoduchost na nem neni nic pripojeno
(ve
skutecnosti je na nem pripojen DLink na Bustehrad). A dale tu mame
komplikaci.
Mrsk ma na severni strane plechovku v rezimu AP, ktera je napojen na WiFi
kartu
wlan0, sestiuhelnik je AP. Dale ethernet rozhrani eth0. Mezi wlan0 a eth0 je
uvnitr v mrskovi udelan most neboli switch. Ten se v linuxu tvari jako
interface br0 a ma adresu 192.168.129.1.

Iris je router u mne doma, ma WiFi kartu wlan0 v rezimu AP s adresou
192.168.133.1 a dale ethernet kartu eth0 s adresou 192.168.130.1. Mezi obema
normalne routuje. Karta eth0 je napojena do switche, to je ten velky
obdelnik dole, pro nazornost je nakreslen ctyrportovy switch, i kdyz ve
skutecnosti je portu 8.

Jeste tu mame klienta Chlebika, ktery ma PC a v nem WiFi kartu. V nasem
podrobnem schematu je to obdelnik eth0 - klient na AP Iris a routovaci
jadro.

Dale si vsimnete IP adres. Nektera zarizeni adresy maji, jina ne. Mezi
routery
je vzdy jedna adresni podsit, z toho obrazku je to velmi dobre citelne,
protoze
to je vzdy obast mezi k
1000
osoctverci. V ramci jedne podsite je vzdy nejaka
brana, u te jedine je udaj o masce podsite (to je to cislo za lomitkem).

Vsimnete si, jak je ten obrazek (bohuzel) ruznorody. Napriklad u linksysu
nemam
nazvy portu, jen IP adresu prostredniho, u Mrska nazvy mam, ale u nekterych
nemam IP adresy, u switche nemam zadne jmedno ani IP, ale zase mam
pojmenovane
vsechny porty atd atd.

V te podobe, jak je udelany obrazek, je to nejpodrobnejsi schema. Pokud
dokazu
vygenerovat takovou podrobnou verzi, dokazu vygenerovat i verzi jednodussi,
ve
ktere sloucim nektere veci dohromady: napriklad linksys muze byt jen jako
jeden
obdelnik, podobne switch jako jediny oval, vnitrni struktura irisu a mrska
se
zjednodusi.

Mohu take generovat pri klikani z WWW ruzne jine varianty, napriklad
vybravit
cervene konkretni sit nebo routovaci cestu, zobrazit jen cast site, po
kliknuti
na AP ukazat dalsi udaje jako kanal, MAC a pod., po kliknuti na interface
routeru zobrazit aktualni vytizeni.

Jeste jedna poznamka. Pro popis siti se pouzivaji neorientovane grafy, tj.
grafy bez sipek. Program dot je umi taky, ale nedokaze v nich udelat to
seskupovani (3 uzly v Irisu jsou sdruzeny dohromady vetsim obdelnikem a
tvori
Iris). Kdyz chci seskupeni, musim orientovat, aspon vnitrne (lze vypnout
zobrazeni hrotu sipek, ale dot bude mit interne porad uchovano, ze tam sipka
s
danou orientaci je). Nakonec to ale vubec nevadi, nasi sit je mozne
orientovat,
a to presne tak, jak jsem to udelal: pripojeni do Internetu je na vrcholu
site
a vsechny sipky vedou smerem z Internetu dovnitr, z toho je take krasne
videt,
kolik preskoku je mezi danym mistem site a Internetem, coz je velice
zajimavy
udaj. Nesnese se to s cykly v grafu, ale to se da resit.

---

Shrnuti:

Chtel jsem ukazat moznost grafickeho modelovani nasi site, ktere by
fungovalo
zcela automaticky nad nejakou databazi. Sledoval jsem tim dve veci: jednak
si
udelate predstavu o tom, jak detailni musi byt model v databazi, jednak si
muzete predstavit, jak bude udelano prave toto generovani schematu.
Prilozeny
obrazek jsem vygeneroval pomoci programu dot, zdrojak, ktery jsem predlozil
dotovi ke zpracovani, je rovnez v priloze, jmenem net.dot. Jeho format je
asi
zhruba jasny.

Milan




Další informace o konferenci Kladno