netgraph — модульна мережева підсистема ядра FreeBSD, заснована на принципі графів. У Netgraph будується граф з вузлів різних типів, вузол кожного типу має деяку кількість входів/виходів (хуків, англ. hooks). Вузол netgraph дозволяє виробляти певні дії над пакетом, що проходить через нього. Деякі Netgraph вузли надають підтримку різних протоколів, інкапсуляцій, таких як L2TP, PPTP, PPPoE, PPP, ATM, bluetooth, інші служать для зв'язки модулів і сортування/маршрутизації між вузлами netgraph, наприклад bpf, split.
Netgraph також портований на інші операційні системи: NetBSD і Ядро Linux 2.4 і 2.6 від 6WIND.
Історія
netgraph був розроблений і вперше реалізований (англ. Julian Elischer) за участю (англ. Archie Cobbs) в , Inc. для роутера Whistle InterJet, який працював під управлінням модифікованої FreeBSD 2.2. До основного дерева FreeBSD netgraph був включений у версії 3.4.
Типи вузлів
Тип | Опис |
---|---|
Мережеві інтерфейси, пристрої та сокети | |
ether | Являє собою існуючий Ethernet-інтерфейс, створюється автоматично. |
gif | Являє собою існуючий -інтерфейс, створюється автоматично. |
tty | Являє собою підключення до терміналу (TTY). |
iface | Являє собою мережевий інтерфейс. Для кожного нового вузла створюється новий пристрій ng*. Створений інтерфейс за допомогою ifconfig можна налаштувати як широкомовний або точка-точка. |
eiface | Являє собою Ethernet-інтерфейс. Для кожного нового вузла створюється новий пристрій ngeth*. Створений інтерфейс можна налаштувати за допомогою ifconfig. |
device | Являє собою системний пристрій. Для кожного нового вузла створюється новий пристрій ngd*, доступний для операцій open, close, read та write. |
socket | Автоматично створюваний вузол, представляє сокет типу NG_CONTROL. Дозволяє додаткам взаємодіяти з підсистемою netgraph. |
ksocket | Створює новий BSD-сокет, що дозволяє підсистемі netgraph взаємодіяти з іншими хостами або службами (антипод socket). Підтримує тільки один хук, ім'я якого у вигляді сімейство/тип/протокол визначає тип створюваного сокета. |
Мережеві протоколи | |
cisco | Інкапсулює і декапсулює дані по протоколу Cisco HDLC. Хук downstream має бути з'єднаний до синхронної лінії. Хуки inet, inet6, atalk, і ipx використовуються для передачі пакетів однойменних протоколів і, зазвичай, з'єднуються з відповідними типами вузлів. |
frame_relay | Робе інкапсуляцію, декапсуляцію і мультиплексування даних за протоколом Frame relay. Хук downstream має бути з'єднаний до синхронної лінії. Хуки dlci* можуть з'єднуватися з відповідним каналом . |
gif_demux | Інкапсулює і декапсулює дані -інтерфейсу. Хук gif має бути з'єднаний c вузлом типу gif, хуки inet, inet6, atalk, ipx, atm , natm і ns відповідають однойменним протоколам. |
l2tp | Реалізує інкапсуляцію протоколу L2TP відповідно до RFC 2661 [ 28 серпня 2013 у Wayback Machine.]. |
lmi | Підтримка frame relay. |
mppc | Підтримка стиснення і шифрування MPPC/MPPE. |
ppp | Мультиплексування даних PPP. |
pppoe | Подтримка PPPoE. |
pptpgre | Реалізація GRE над IP за протоколом PPTP до відповідності з RFC 2637 [ 8 липня 2013 у Wayback Machine.]. |
vlan | Мультиплексування кадрів IEEE 802.1Q VLAN. |
Комутація | |
bridge | Реалізує Ethernet-міст на одному або декількох з'єднаннях. Кожне з'єднання (відповідне приєднаному хуку) використовується для прийому і передачі кадрів Ethernet, принцип дії аналогічний комутатора. |
hub | Надає найпростіший механізм розподілу даних по декількох з'єднанням. Принцип дії аналогічний концентратору: дані, прийняті з будь-якого хука пересилаються на всі інші хуки. |
one2many | Надає механізм розподілу даних з одного з'єднання по декількох. При цьому алгоритм розподілу або копіює дані з хука one на всі хуки many* (як hub), або тільки на один послідовно (кожен пакет відправляється на різні хуки). Дані, що приходять з будь-якого хука many*, копіюються на хук one. |
tee | Надає можливість «підслуховувати» обмін даними між двома вузлами. Дані, отримані через хук right копіюються на хуки left і right2left, а отримані через left — на right і left2right. |
split | Ділить один двоспрямований потік даних на два односпрямованих. |
etf | Фільтрує і розподіляє дані на підставі типу Ethernet-пакета. |
Тестування та налагодження | |
echo | Повертає будь-які дані і керуючі повідомлення відправнику. |
hole | Відкидає всі отримані дані і керуючі повідомлення. |
Інші | |
atm | |
async | |
atmllc | |
bluetooth | |
bpf | Дозволяє здійснювати фільтрацію/сортування пакетів на основі правил BPF. |
bt3c | |
btsocket | |
fec | Агрегує кілька Ethernet інтерфейсів за технологією EtherChannel. |
h4 | |
hci | |
ip_input | Пакети що передаються на цей вузол потрапляють в ip_input операційної системи і далі обробляються так само, як і ті що прийшли з іншого вузла по мережі. |
l2cap | |
netflow | Реалізація протоколу Netflow. |
rfc1490 | |
sppp | Реалізація PPP з'єднань для послідовний каналів всередині Netgraph. |
sscfu | |
sscop | |
ubt | |
UI | |
uni | |
vjc | Реалізація (стиснення Якобсона). |
Див. також
Примітки
- . Архів оригіналу за 6 жовтня 2013. Процитовано 10 липня 2013.
- 6WIND [ 24 грудня 2017 у Wayback Machine.], комерційний закритий порт.
Посилання
- netgraph main page. [ 3 вересня 2013 у Wayback Machine.] (англ.)
Це незавершена стаття про програмне забезпечення. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
netgraph modulna merezheva pidsistema yadra FreeBSD zasnovana na principi grafiv U Netgraph buduyetsya graf z vuzliv riznih tipiv vuzol kozhnogo tipu maye deyaku kilkist vhodiv vihodiv hukiv angl hooks Vuzol netgraph dozvolyaye viroblyati pevni diyi nad paketom sho prohodit cherez nogo Deyaki Netgraph vuzli nadayut pidtrimku riznih protokoliv inkapsulyacij takih yak L2TP PPTP PPPoE PPP ATM bluetooth inshi sluzhat dlya zv yazki moduliv i sortuvannya marshrutizaciyi mizh vuzlami netgraph napriklad bpf split Netgraph takozh portovanij na inshi operacijni sistemi NetBSD i Yadro Linux 2 4 i 2 6 vid 6WIND Istoriyanetgraph buv rozroblenij i vpershe realizovanij angl Julian Elischer za uchastyu angl Archie Cobbs v Inc dlya routera Whistle InterJet yakij pracyuvav pid upravlinnyam modifikovanoyi FreeBSD 2 2 Do osnovnogo dereva FreeBSD netgraph buv vklyuchenij u versiyi 3 4 Tipi vuzlivTip OpisMerezhevi interfejsi pristroyi ta soketiether Yavlyaye soboyu isnuyuchij Ethernet interfejs stvoryuyetsya avtomatichno gif Yavlyaye soboyu isnuyuchij interfejs stvoryuyetsya avtomatichno tty Yavlyaye soboyu pidklyuchennya do terminalu TTY iface Yavlyaye soboyu merezhevij interfejs Dlya kozhnogo novogo vuzla stvoryuyetsya novij pristrij ng Stvorenij interfejs za dopomogoyu ifconfig mozhna nalashtuvati yak shirokomovnij abo tochka tochka eiface Yavlyaye soboyu Ethernet interfejs Dlya kozhnogo novogo vuzla stvoryuyetsya novij pristrij ngeth Stvorenij interfejs mozhna nalashtuvati za dopomogoyu ifconfig device Yavlyaye soboyu sistemnij pristrij Dlya kozhnogo novogo vuzla stvoryuyetsya novij pristrij ngd dostupnij dlya operacij open close read ta write socket Avtomatichno stvoryuvanij vuzol predstavlyaye soket tipu NG CONTROL Dozvolyaye dodatkam vzayemodiyati z pidsistemoyu netgraph ksocket Stvoryuye novij BSD soket sho dozvolyaye pidsistemi netgraph vzayemodiyati z inshimi hostami abo sluzhbami antipod socket Pidtrimuye tilki odin huk im ya yakogo u viglyadi simejstvo tip protokol viznachaye tip stvoryuvanogo soketa Merezhevi protokolicisco Inkapsulyuye i dekapsulyuye dani po protokolu Cisco HDLC Huk downstream maye buti z yednanij do sinhronnoyi liniyi Huki inet inet6 atalk i ipx vikoristovuyutsya dlya peredachi paketiv odnojmennih protokoliv i zazvichaj z yednuyutsya z vidpovidnimi tipami vuzliv frame relay Robe inkapsulyaciyu dekapsulyaciyu i multipleksuvannya danih za protokolom Frame relay Huk downstream maye buti z yednanij do sinhronnoyi liniyi Huki dlci mozhut z yednuvatisya z vidpovidnim kanalom gif demux Inkapsulyuye i dekapsulyuye dani interfejsu Huk gif maye buti z yednanij c vuzlom tipu gif huki inet inet6 atalk ipx atm natm i ns vidpovidayut odnojmennim protokolam l2tp Realizuye inkapsulyaciyu protokolu L2TP vidpovidno do RFC 2661 28 serpnya 2013 u Wayback Machine lmi Pidtrimka frame relay mppc Pidtrimka stisnennya i shifruvannya MPPC MPPE ppp Multipleksuvannya danih PPP pppoe Podtrimka PPPoE pptpgre Realizaciya GRE nad IP za protokolom PPTP do vidpovidnosti z RFC 2637 8 lipnya 2013 u Wayback Machine vlan Multipleksuvannya kadriv IEEE 802 1Q VLAN Komutaciyabridge Realizuye Ethernet mist na odnomu abo dekilkoh z yednannyah Kozhne z yednannya vidpovidne priyednanomu huku vikoristovuyetsya dlya prijomu i peredachi kadriv Ethernet princip diyi analogichnij komutatora hub Nadaye najprostishij mehanizm rozpodilu danih po dekilkoh z yednannyam Princip diyi analogichnij koncentratoru dani prijnyati z bud yakogo huka peresilayutsya na vsi inshi huki one2many Nadaye mehanizm rozpodilu danih z odnogo z yednannya po dekilkoh Pri comu algoritm rozpodilu abo kopiyuye dani z huka one na vsi huki many yak hub abo tilki na odin poslidovno kozhen paket vidpravlyayetsya na rizni huki Dani sho prihodyat z bud yakogo huka many kopiyuyutsya na huk one tee Nadaye mozhlivist pidsluhovuvati obmin danimi mizh dvoma vuzlami Dani otrimani cherez huk right kopiyuyutsya na huki left i right2left a otrimani cherez left na right i left2right split Dilit odin dvospryamovanij potik danih na dva odnospryamovanih etf Filtruye i rozpodilyaye dani na pidstavi tipu Ethernet paketa Testuvannya ta nalagodzhennyaecho Povertaye bud yaki dani i keruyuchi povidomlennya vidpravniku hole Vidkidaye vsi otrimani dani i keruyuchi povidomlennya Inshiatmasyncatmllcbluetoothbpf Dozvolyaye zdijsnyuvati filtraciyu sortuvannya paketiv na osnovi pravil BPF bt3cbtsocketfec Agreguye kilka Ethernet interfejsiv za tehnologiyeyu EtherChannel h4hciip input Paketi sho peredayutsya na cej vuzol potraplyayut v ip input operacijnoyi sistemi i dali obroblyayutsya tak samo yak i ti sho prijshli z inshogo vuzla po merezhi l2capnetflow Realizaciya protokolu Netflow rfc1490sppp Realizaciya PPP z yednan dlya poslidovnij kanaliv vseredini Netgraph sscfusscopubtUIunivjc Realizaciya stisnennya Yakobsona Div takozhFreeBSDPrimitki Arhiv originalu za 6 zhovtnya 2013 Procitovano 10 lipnya 2013 6WIND 24 grudnya 2017 u Wayback Machine komercijnij zakritij port Posilannyanetgraph main page 3 veresnya 2013 u Wayback Machine angl Ce nezavershena stattya pro programne zabezpechennya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi