On Fri, 05 Feb 2016 22:12:44 +0100 Tomasz Chiliński tomasz.chilinski@chilan.com wrote
W dniu 05.02.2016 21:03, Jaroslaw Dziubek napisał(a):
[Friday, 05 February 2016], ernest napisał(a):
On Fri, 5 Feb 2016 19:07:19 +0100 Jaroslaw Dziubek yaro@perfect.net.pl wrote
[Friday, 05 February 2016], Ernest napisał(a):
W dniu 02/05/2016 o 01:19 PM, Jaroslaw Dziubek pisze:
Nie kasuje tekstu zeby bylo mozna ogarnac calosc ;)
Dla uzupełnienia:
- Obiekty - netobjects
- Kable - netcables
- Połączenia - netconnects
- Elementy - netobjectelements
[Friday, 05 February 2016], Ernest napisał(a):
> W dniu 02/05/2016 o 10:38 AM, Jaroslaw Dziubek pisze: >> Jak widać na demo jest jakiś zarys paszportyzacji jednak jak
zacząłem > >>> wprowadzać dane okazało się, że pierwotne
założenia mało
odpowiadają > >>> rzeczywistości (wynika to m.in. z faktu, że sam dopiero startuje ze > >>> światłowodowami).
>> >> Nowa koncepcja: >> - Obiekty sieciowe >> - typ: mufa/przełącznica/docelowo również obiekty do
obsługi
miedzi > >>> (np. patchpanel) - obiekt musi byc przypisany do
węzła
sieciowego > >>> - pozostałe dane: producent, model, pojemność (ilość portów) > >>> - Kable
>> - medium: światłowód/miedź >> - typ: dla światłowodu: jednotubowy, wielotubowy, łatwego
dostępu, > >>> splitter optyczny
>> - węzeł źródłowy >> - węzeł docelowy >> - pozostałe dane: producent, model, ilość włókien,
długość
>> - Połączenia >> - rodzaj: stałe (spaw), rozłączalne (wtyk) >> - rodzaj: simplex/dumplex (spaw to zawsze simplex) >> - strona1: >> - wtyk: adapter (FC/ST/SC/LC), konektor (FLAT/PC/UPC/APC) >> lub >> - kabel1 (kabel:tuba:włókno), kabel2 (jesli duplex) >> - strona2: >> - jesli to spaw - kabel2 >> - jesli 2 konektor to połączenie jest patchcordem >> - dane dodatkowe (uwagi, plik z pomiarami) >> - Elementy obiektów sieciowych: >> - połączenia (np. kabel lub splitter z dospawanym pigtailem, >> patchcord) - numer portu (w przypadku mufy - można to
wykorzystać > >>> do numeru tacki) > >>>
>> I teraz dla przełącznicy: >> 1) przełącznica na start jest pusta >> 2) podpinamy do węzła z przełącznicą kable - kabel1 i kabel2 >> 3) robimy połączenie - kabel1+pigtail (np. simplex SC/APC) i >> kabel2+pigtail (oczywiśnie pojedyncze włókno) >> 4) konektor #1 dopinamy do portu #1 - widać że coś jest
wpięte,
ale > >>> port jest nadal wolny
>> 5) konektor #2 dopinamy do portu #1 - w tej chwili mamy pełne >> połączenie > Zastanawiałem się nad tym jak to można zrobić i idealnie
byłoby
> wyszczególnić wszystkie połączenia w przełącznicy na
zasadzie:
> definiujemy zainstalowane kable(liniowe, pigtaile, patchcordy)
można > >> jako wskazania do typu (co załatwi parametry kabla /ilość
> włókien,tub,rodzaj,złączy,etc/) Kable definiujac w netcables odnosisz do obiektów z netobjects
(jako
początek i koniec). Teraz do kabla na końcu dokładasz albo drugi
kabel > > (spaw w netconects+mufa w netobjects) albo pigtail (definiowany w > > netconnects+przełącznica w netobjects) -
oczywiście
każde włókno to > > osobny rekord.
> następnie robimy połączenia wg schematu > src(kabel_id, nr_włókna),dst(kabel_id, nr_włókna), id_tacki,
typ_złącza, > > Ja planuje dołożyć jeszcze nr tuby.
Słusznie ;)
> pozycja_na_tacy/nr_portu, id_przełącznicy > jeżeli id_tacki==0 to połączenie zewnętrzne Zewnętrzne w jakim sensie?
Pomiędzy np przełącznicami (przeł1/p1 <=> przeł2/p2)
Nie ma znaczenia czy patchcordem krosujesz w jednej przełącznicy czy między 2-oma - zawsze musi być zdefiniowany patchcord łączący 2
porty.
Właśnie o to mi chodziło ;)
> Czyli na połączenie pomiędzy kablem zewn i portem przełącznicy > potrzebujemy 2 rekordy > 1) dla połączenia kabla z pigtailem To byłoby w tabeli "netconnect" gdzie jednym parametrem bylby
> 2) dla połaczenia pigtaila z portem przełącznicy Gotowy pigtail z netconnects wrzucasz do netobjectelements
> Jest tylko problem jak to w miarę czytelnie przedstawić bo na
tabelkach > >> ja tego nie widzę ;(
Mniej-wiecej jak powyzej :)
>> Dla mufy będzie prościej >> 1) do węzła 2 kable >> 2) spawamy 2 kable ze sobą i podajemy numer tacki > W każdym przypadku proponuję przewidzieć możliwość spawania
więcej
niż > >> jednego kabla.
Ze sobą?? Każdy obiekt ma pojemność - liczba portów albo liczba
spawów > > - oba powinny odnosić się do tabeli netconnect
Zgadzam się, ale często spawa się (w mufie lub przełącznicy)
klika
kabli > na siebie (więcej niż 2) Możesz to wyjaśnić (jak już pisałem - pierwsze poważne spawania
przede
mną) - co rozumiesz pod pojęciem "spawanie kilku kabli na siebie"
Czasem jest konieczne pospawanie np 3kabli w jednej przełącznicy z czego z dwóch część włókien wylatuje na porty a część jest spawana "na
wprost"
np 1 tuba kabla 1 na 1 tube z drugiego, a 2 tuba z pierwszego na 1 tubę trzeciego i losowe włókna z każdego kabla na porty przełącznicy. Zauważ,że standardowa przełącznica 19" ma 4 mocowania na kabel.
Chodzi Ci o to, że spawasz 2 włókna na stałe bez wyjścia na port z przodu? Teoretycznie to funkcjonalność mufy - myślałem o zrobieniu mufo-przełącznicy i wychodzi, że trzeba będzie to uwzględnić.
>> Splitter podpinamy identycznie jak kabel - mamy pigtail na końcu
ze > >>> złączem i wpinamy w odpowiedni port do przełącznicy (albo spawamy z > >>> kablem i do mufy)
>> >> Każde połączenie docelowo może byc wpięte do urządzenia,
którego
>> definicja będzie przerobiona - każde urządzenie będzie miało
3 >
rodzaje > >>> portów:
>> - miedziane - wykorzystywane jak dotychczas >> - światłowodowe - do którego będzie można wpiąć
połączenie
>> światłowodowe definiując pozostałe parametry (WDM, GPON,
itp)
>> - radiowe - standardowo p2p, chyba, że będzie zdefiniowany
sektor
>> radiowy (wtedy będzie to połączenie p2m) > Gdzie będą zapisywane rodzaje portów urządzeń i jak to będzie
powiązane > >> z dotychczasowa definicją urządzenia?
> Druga rzecz to może zrobić otwartą listę typów portów z >
parametrami (w > >> sensie wrzucić to do bazy jako słownik i jeśli
ktoś
będzie > potrzebował > >> jakiś nietypowy to sobie dorzuci)
To na razie bardzo luzna koncepcja - będą po prostu 3 typy portów
;)
Bardziej chodziło mi o to, żeby nie tworzyć kolumn typ1, typ2, typ3
bo
za chwilę okaże się, że trzeba jakiś inny typ portu .
Ja bym to widział raczej jako wydzielona tabela: netports gdzie byłoby oprocz odniesienia do urządzenia - ilość i rodzaj portu definiowany z jakiejś biblioteki
Właśnie o tym pisałem poniżej (to o moich kombinacjach) ;) tyle, że nie ma wtedy potrzeby opisywać ilości portów, bo z założenia wszystkie możliwe porty byłyby już wpisane do tabeli, Wystarczy wtedy policzyć ilość wpisów z danego typu i/lub urządzenia
Niekoniecznie - same porty będą opisywane: typ_portu,ilość. Zajętość będziesz brał z netconnects (netlinks czy czegos w tym rodzaju)
Porty urządzeń, tak jak już pisałem, najlepiej żeby były kopiowane z modelu urządzenia
- dzięki temu od razu po dodaniu nowego urządzenia będzie obecny
standardowy dla danego modelu zestaw portów, a porty w takim wydaniu nie powinny mieć numerów tylko etykiety tekstowe, bo każdy producent może inaczej je nazywać.
Tylko to chyba będzie wymuszało wpisywanie wszystkich portów do tabeli przy "instalacji" nowego urządzenia, ale wg mnie pomysł jest dobry. Tylko jeszcze doprowadzić do sytuacji, kiedy wszystkie porty(ze wszystkich urządzeń) będą w jednej tabeli i można odpalić wybieranie portu z listy(zamiast aktualnego ręcznego wpisywania). Tylko Tomku jak to zrobić żeby nie rozwalić bieżących instalacji LMS`a/zapewnić bezbolesną migrację/??
Dla mnie przydatne byłoby mieszanie typów w jednym urządzeniu
(pewnie
większość już zetknęła się ze switchami utp/sfp
(24UTP+4SFP)==28; >
albo > bramkami VOIP: 1UTP+2voice==3)
> Swego czasu kombinowałem ze swoim systemem i miałem to zrobione
tak, > że > >> w momencie dodawania urządzenia definiowałem 2 tabele 1(urządzenia) i > >> 2(zadeklarowane porty jako lista wskazań na urządzenie). > > Nie ma potrzeby - w tej chwili mam netdevlinks i tam można spokojnie > > to wciskac ;)
Jeżeli przerabiasz core to chyba nie ma potrzeby mnożyć tabel z połączeniami i zrobić jedną ale za to porządną do połączeń >
logicznych i > fizycznych. Generalnie dlatego jest ta dyskusja (poprzednio nikt się nie zainteresował)
Uprzednio ?? Poprzednio była dyskusja TYLKO o paszportyzacji szkła, a teraz to się robi w zasadzie pełna paszportyzacja połączeń (wszystkich rodzajów) i
sprzętu
;)
Założenie takie było od początku, ale jak już wspomniałem - dopiero ogarniam te kuwete ;)
W aktualnym LMS boli mnie np niemożność połączenia routera(4porty ethenet) ze switchem(na 4 porty) albo połączenia fizycznych portów na switchach ale w trybie bonding/trunk lub implementacja MSTP w LMS jest nie do zrobienia(kilka kabli pomiędzy 2 urządzeniami).
W przypadku światłowodów to dość częste - wtyki i kable dupleksowe
;)
Sieci ewoluują i niestety to co wczoraj wydawało się co najmniej
dziwne > dziś jest codziennością.
Prace z bazami danych za to nauczyły mnie maksymalnie grupować podobne/identyczne elementy. Jak Chilan zauważył ze tabela netobjects jest podobna do nodes.
Mam podejrzenie graniczące z pewnością, że oboje mówicie o netnodes
a
nie o nodes :)
Bardziej o tabelę netdevices. Niestety poza podglądnięciem Twojego dema nie miałem możliwości pozaglądać do środka (jestem poza LMS+), ale osobiści byłbym za tym żeby jakiekolwiek urządzenia wrzucić do jednej tabeli i do tych urządzeń przypisywać inne rzeczy
Nie jest w LMS+ - tu masz moje repo: https://github.com/jarecky/lms/tree/FO
wg zasady Wiele do jednego a same urządzenia na tej samej zasadzie przypisywać do rekordów w netnodes.
No. Wlasnie nodes to adresy urzadzen/komputery, netnodes to wezly :)
Może ogólnie potraktować sprzęt jako sprzęt bez rozróżnienia na aktywny/pasywny (ew flagą), do niego przypisywać porty, IPki, sieci, klientów, instalacje ;).
Prędzej netdevices bym połączył z netobjects - jak pisałem netnodes
to
węzeł a w nim mogą być i urządzenia aktywne i pasywne. Nie można ograniczyć węzła (netnodes) do jednego urządzenia.
Zakładając połączenie netobjects i netdevices:
- dodajemy pole "pasywne/aktywne"
- pole "ports" pozostaje i oznacza na razie po prostu dla pasywnych pojemność tacek na spawy (dla muf) albo ilość poł na adaptery
(dla
przełącznic)
Myślę, że mogłoby to tak funkcjonować tylko jest małe ale. Nie masz możliwości mieszania typów portów a w netdevices masz też urządzenia aktywne (do tego z różnymi portami/mediami/)
Zostawmy na razie mediam w urządzeniach - to jest temat na pozniej. W tej chwili zalezy mi na ogarnieciu tematu pasywnych swiatlowodow w kontekscie LMS (a w perspektywie tez pasywow miedzianych).
- jeśli założymy, że urządzenie musi być w węźle (co jest dość ryzykowane bo sam uzywam netdevices do wrzucania urządzeń klienckiech do których dopiero podpinam komputery klientó) możnaby wywalić wszelkie pola odnośnie lokalizacji.
Przy takim założeniu trzebaby dołożyć kolumnę w netnodes (klient_id lub po prostu flagę że to węzeł kliencki) wtedy netnodes robiłoby za
listę
nazwijmy to instalacji, do takiego węzła wrzucasz sprzęt, do sprzętu przypisujesz IP(niekoniecznie jedno), telefon, VLAN, etc
Hmmmm... węzeł kliencki... Ma to sens - dociagamy tam światłowod (a wiec kabel), montujemy przełącznicę (1,2-portowa) i urzadzenia (ONT, itp). Można wykorzystać albo konkretny typ węzła albo wręcz skopiować rozwiązanie z nodes - jeśli customerid==0 to jest to węzeł sieciowy, jeśli >0 - wezęł kliencki konkretnego klienta.
- opcjonalnie można wogóle zrobić nową tabele "locations" w której będziemy wrzucać kompletne dane lokalizacyjne (adres, teryt i GPS) i dopiero do tych rekordów dawać odnośniki wszędzie.
to załatwiłby Ci poprzedni schemat
Racja - wtedy każde urządzeniu musi być przypisane do węzła - albo sieciowego albo klienckiego.
Tylko to jest tak naprawdę przepisanie całości od nowa i to robota
na
klika ładnych miesięcy dla kilku osób.
Generalnie i tak chce troche przebudować LMS :)
To nie jest troche ;)
Hihi - to dopiero początek :)
> Minusem tego była objętość bazy gdzie niezależnie od tego czy
port
jest > >> zajęty to jest w bazie.
> Plusem za to jest łatwość kreowania połączeń bo to tylko
wskazanie
> port-port oraz uniwersalność podejścia (kwestia zmiany typu
portu i
> możesz podłączyć np telefon no i sprawdzić kompatybilność >
łączonych > >> portów). > > Narzędzia sie później dorobi
(chociażby
przepinanie na > >> szybko w > > przełącznicy czy wrzucanie do bazy
np.
kompletnego > >> splittera z > > wtyczkami :)
> Widzę tylko problem jak toto zaimplementować we wtyczce LMSa ;(
chyba > że > >> jako osobny moduł a nie wtyczka
>> Czekam na uwagi (zwłaszcza od osób, które mają światłowody i
spojrzą > >>> od strony praktycznej)
> Jak rozumiem robisz wtyczkę do całościowej obsługi
paszportyzacji?
To nie będzie wtyczka - to będzie w core LMS :)
I słusznie, tylko w wersji normalnej czy plus ;)
Normalnej - była zrzutka, ale nie doceniłem rozległości tematu ;)
No niestety temat jest baaaardzo rozległy, można go podzielić na mniejsze części i podzielić między sobą
Pomoc się zawsze przyda (mam na głowie 2 inne projekty + odpalenie GPON z TV + bieżąca działalność) :)
Z mojej strony możesz liczyć na dofinansowanie prac.
Tak trochę offtop. Patrzyłeś może na mojego VOIP`a?? zostawić go jako wtyczkę czy też wrzucić jako zastępstwo aktualnego modułu? bo w planie są kolejne dodatki wymagające jego obecności (na pewno provisioning, generacja konfigów asteriska oraz (być może) billingi/to na 3 części podzielę/) przy okazji miałbyś trochę więcej danych dla PLICBD. W poniedziałek postaram się jakieś repo wyczarować. //Ernest
-- Pozdrawiam Tomasz Chiliński, Chilan _______________________________________________ lms mailing list lms@lists.lms.org.pl http://lists.lms.org.pl/mailman/listinfo/lms