A netgraph egy gráf alapú moduláris hálózati alrendszer a FreeBSD kernelhez . A Netgraph-ban egy gráf különböző típusú csomópontokból épül fel, mindegyik típusú csomópontnak van bizonyos számú bemenete/kimenete ( hook , angol hook ). A netgraph csomópont lehetővé teszi bizonyos műveletek végrehajtását a rajta áthaladó csomagon. Egyes Netgraph csomópontok különféle protokollokat, beágyazásokat támogatnak, mint például az L2TP , PPTP , PPPoE , PPP , ATM , bluetooth , mások pedig modulok összekapcsolására és a netgraph csomópontok közötti rendezésre/útválasztásra szolgálnak, például bpf, split.
A netgraph más operációs rendszerekre is átkerült: NetBSD [1] és Linux kernel 2.4 és 2.6 a 6WIND-ről [2] .
A netgraphot Julian Elischer tervezte és vezette be Archie Cobbs , a Whistle Communications, Inc. közreműködésével . módosított FreeBSD 2.2-t futtató Whistle InterJet útválasztóhoz. A Netgraph a 3.4-es verzióban bekerült a FreeBSD főfájába.
Típusú | Leírás |
---|---|
Hálózati interfészek, eszközök és aljzatok | |
éter | Egy meglévő , automatikusan létrehozott Ethernet interfészt jelöl. |
gif | Egy létező gif felületet képvisel, automatikusan generálva. |
tty | Terminál (TTY) kapcsolatot jelöl. |
szembesülök | Hálózati interfészt jelent. Minden új csomóponthoz egy új ng* eszköz jön létre. A létrehozott interfész az ifconfig segítségével konfigurálható broadcast vagy pont-pont között. |
eiface | Ethernet interfészt jelent . Minden új csomóponthoz egy új ngeth* eszköz jön létre. A létrehozott interfész az ifconfig segítségével konfigurálható . |
eszköz | Rendszereszközt jelöl. Minden új csomóponthoz egy új ngd* eszköz jön létre, amely elérhető a nyitási , bezárási , olvasási és írási műveletekhez . |
foglalat | Egy automatikusan létrehozott csomópont, amely egy NG_CONTROL típusú socketet képvisel. Lehetővé teszi egy alkalmazás számára, hogy kölcsönhatásba lépjen a netgraph alrendszerrel. |
ksocket | Létrehoz egy új BSD socketet, amely lehetővé teszi a netgraph alrendszer számára, hogy kommunikáljon más gazdagépekkel vagy szolgáltatásokkal (a socket ellentéte ). Csak egy horgot támogat, amelynek a család/típus/protokoll formában lévő neve határozza meg a létrehozandó socket típusát. |
Hálózati protokollok | |
cisco | A Cisco HDLC protokoll használatával beágyazza és dekapszulázza az adatokat . Az alsó horgot egy szinkron vezetékhez kell csatlakoztatni. Az inet , inet6 , atalk és ipx hook az azonos nevű protokollcsomagok küldésére szolgál, és általában a megfelelő típusú gazdagépekhez kapcsolódnak. |
frame_relay | Elvégzi az adatok beágyazását, dekapszulázását és multiplexelését a Frame relay protokoll használatával . Az alsó horgot egy szinkron vezetékhez kell csatlakoztatni. A dlci * hookok a megfelelő DLCI csatornához tudnak csatlakozni . |
gif_demux | Beágyazza és dekapszulázza a gif adatokat . A gif hook -ot egy gif típusú csomóponthoz kell csatlakoztatni , az inet , inet6 , atalk , ipx , atm , natm és ns hookok azonos nevű protokolloknak felelnek meg. |
l2tp | L2TP protokoll beágyazását valósítja meg az RFC 2661 szerint . |
lmi | LMI keretrelé támogatás . |
mppc | MPPC / MPPE tömörítés és titkosítás támogatása . |
ppp | PPP adatmultiplexelés . _ |
pppoe | PPPoE támogatás . |
pptpgre | GRE over IP over PPTP protokoll megvalósítása az RFC 2637 szerint . |
vlan | IEEE 802.1Q VLAN keret multiplexelés |
Átkapcsolás | |
híd | Ethernet-hidat valósít meg egy vagy több kapcsolaton. Mindegyik csatlakozás (amely a mellékelt horognak felel meg) Ethernet keretek fogadására és továbbítására szolgál, működési elve hasonló a kapcsolóhoz . |
kerékagy | A legegyszerűbb mechanizmust biztosítja az adatok több kapcsolaton keresztüli elosztására. A működési elve hasonló a hubhoz : a bármely hook-ról kapott adat elküldésre kerül az összes többi hook-ra. |
egy2sok | Mechanizmust biztosít az adatok egy kapcsolatról több kapcsolatra történő elosztására. Ebben az esetben az elosztási algoritmus vagy az egy hook adatait másolja át az összes sok* hookba (például egy hubba), vagy csak az egyikbe egymás után (minden csomag különböző hook-okhoz kerül elküldésre). Bármely sok* hook- ból származó adatok átmásolódnak az egy hookba . |
póló | Lehetővé teszi a két csomópont közötti kommunikáció "lehallgatását". A jobb hook segítségével kapott adatok a bal és a right2left hookba , a bal oldali hookba pedig a jobb és a left2right hookba másolódnak . |
hasított | Egy kétirányú adatfolyamot két egyirányú adatfolyamra oszt. |
etf | Az Ethernet-csomag típusa alapján szűri és osztja el az adatokat. |
Tesztelés és hibakeresés | |
visszhang | Minden adatot és vezérlőüzenetet visszaküld a feladónak. |
lyuk | Elveti az összes fogadott adatot és vezérlőüzenetet. |
Egyéb | |
atm | |
async | |
atmllc | |
Bluetooth | |
bpf | Lehetővé teszi a csomagok szűrését/rendezését a BPF szabályok alapján |
bt3c | |
btsocket | |
fec | Több Ethernet interfészt egyesít EtherChannel technológia segítségével |
h4 | |
hci | |
ip_input | Az ehhez a csomóponthoz továbbított csomagok az operációs rendszer ip_inputjába kerülnek, és a további feldolgozás ugyanúgy történik, mint a hálózaton keresztül egy másik csomópontból érkező csomagok. |
l2cap | |
nettó áramlás | A Netflow protokoll megvalósítása |
rfc1490 | |
spp | PPP kapcsolatok megvalósítása soros kapcsolatokhoz a Netgraphon belül |
sscfu | |
Scop | |
ubt | |
UI | |
uni | |
vjc | Jacobson tömörítés megvalósítása |