8.9. ТипÑ, опиÑÑваÑÑие ÑеÑевÑе адÑеÑа #
Postgres Pro пÑÐµÐ´Ð»Ð°Ð³Ð°ÐµÑ ÑÐ¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð°Ð´ÑеÑов IPv4, IPv6 и MAC, показаннÑе в ТаблиÑе 8.21. ÐÐ»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑеÑевÑÑ Ð°Ð´ÑеÑов лÑÑÑе иÑполÑзоваÑÑ ÑÑи ÑипÑ, а не пÑоÑÑÑе ÑекÑÑовÑе ÑÑÑоки, Ñак как Postgres Pro пÑовеÑÑÐµÑ Ð²Ð²Ð¾Ð´Ð¸Ð¼Ñе знаÑÐµÐ½Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ Ñипов и пÑедоÑÑавлÑÐµÑ ÑпеÑиализиÑованнÑе опеÑаÑоÑÑ Ð¸ ÑÑнкÑии Ð´Ð»Ñ ÑабоÑÑ Ñ Ð½Ð¸Ð¼Ð¸ (Ñм. Раздел 9.12).
ТаблиÑа 8.21. ТипÑ, опиÑÑваÑÑие ÑеÑевÑе адÑеÑа
| ÐÐ¼Ñ | Ð Ð°Ð·Ð¼ÐµÑ | ÐпиÑание |
|---|---|---|
cidr | 7 или 19 Ð±Ð°Ð¹Ñ | СеÑи IPv4 и IPv6 |
inet | 7 или 19 Ð±Ð°Ð¹Ñ | Ð£Ð·Ð»Ñ Ð¸ ÑеÑи IPv4 и IPv6 |
macaddr | 6 Ð±Ð°Ð¹Ñ | MAC-адÑеÑа |
macaddr8 | 8 Ð±Ð°Ð¹Ñ | MAC-адÑеÑа (в ÑоÑмаÑе EUI-64) |
ÐÑи ÑоÑÑиÑовке Ñипов inet и cidr, адÑеÑа IPv4 вÑегда идÑÑ Ð´Ð¾ адÑеÑов IPv6, в Ñом ÑиÑле адÑеÑа IPv4, вклÑÑÑннÑе в IPv6 или ÑопоÑÑавленнÑе Ñ Ð½Ð¸Ð¼Ð¸, напÑÐ¸Ð¼ÐµÑ ::10.2.3.4 или ::ffff:10.4.3.2.
8.9.1. inet #
Тип inet ÑодеÑÐ¶Ð¸Ñ IPv4- или IPv6-адÑÐµÑ Ñзла и Ð¼Ð¾Ð¶ÐµÑ Ñакже ÑодеÑжаÑÑ ÐµÐ³Ð¾ подÑеÑÑ, вÑÑ Ð² одном поле. ÐодÑеÑÑ Ð¿ÑедÑÑавлÑеÑÑÑ ÑиÑлом биÑ, опÑеделÑÑÑиÑ
адÑÐµÑ ÑеÑи в адÑеÑе Ñзла (или «маÑÐºÑ ÑеÑи»). ÐÑли маÑка ÑеÑи Ñавна 32 Ð´Ð»Ñ Ð°Ð´ÑеÑа IPv4, Ñакое знаÑение пÑедÑÑавлÑÐµÑ Ð½Ðµ подÑеÑÑ, а опÑеделÑннÑй Ñзел. ÐдÑеÑа IPv6 имеÑÑ Ð´Ð»Ð¸Ð½Ñ 128 биÑ, поÑÑÐ¾Ð¼Ñ ÑникалÑнÑй адÑÐµÑ Ñзла задаÑÑÑÑ Ñ Ð¼Ð°Ñкой 128 биÑ. ÐамеÑÑÑе, ÑÑо когда нÑжно, ÑÑÐ¾Ð±Ñ Ð¿ÑинималиÑÑ ÑолÑко адÑеÑа ÑеÑей, ÑледÑÐµÑ Ð¸ÑполÑзоваÑÑ Ñип cidr, а не inet.
ÐводимÑе знаÑÐµÐ½Ð¸Ñ Ñакого Ñипа Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸Ð¼ÐµÑÑ ÑоÑÐ¼Ð°Ñ Ð°Ð´ÑеÑ/y, где адÑÐµÑ â адÑÐµÑ IPv4 или IPv6, а y â ÑиÑло Ð±Ð¸Ñ Ð² маÑке ÑеÑи. ÐÑли ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ /y опÑÑен, маÑка ÑеÑи ÑÑиÑаеÑÑÑ Ñавной 32 Ð´Ð»Ñ IPv4 и 128 Ð´Ð»Ñ IPv6, Ñак ÑÑо ÑÑо знаÑение бÑÐ´ÐµÑ Ð¿ÑедÑÑавлÑÑÑ Ð¾Ð´Ð¸Ð½ Ñзел. ÐÑи вÑводе ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÐµÐ½Ñ /y опÑÑкаеÑÑÑ, еÑли ÑеÑевой адÑÐµÑ Ð¾Ð¿ÑеделÑÐµÑ Ð°Ð´ÑÐµÑ Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ñзла.
8.9.2. cidr #
Тип cidr ÑодеÑÐ¶Ð¸Ñ Ð¾Ð¿Ñеделение ÑеÑи IPv4 или IPv6. ÐÑ
однÑе и вÑÑ
однÑе ÑоÑмаÑÑ ÑооÑвеÑÑÑвÑÑÑ ÑоглаÑениÑм CIDR (Classless Internet Domain Routing, ÐеÑклаÑÑÐ¾Ð²Ð°Ñ Ð¼ÐµÐ¶ÑеÑÐµÐ²Ð°Ñ Ð°Ð´ÑеÑаÑиÑ). ÐпÑеделение ÑеÑи запиÑÑваеÑÑÑ Ð² ÑоÑмаÑе адÑеÑ/y, где адÑÐµÑ â минималÑнÑй адÑÐµÑ Ð² ÑеÑи, пÑедÑÑавленнÑй в виде адÑеÑа IPv4 или IPv6, а y â ÑиÑло Ð±Ð¸Ñ Ð² маÑке ÑеÑи. ÐÑли y не ÑказÑваеÑÑÑ, ÑÑо знаÑение вÑÑиÑлÑеÑÑÑ Ð¿Ð¾ ÑÑаÑой клаÑÑовой ÑÑ
еме нÑмеÑаÑии ÑеÑей, но пÑи ÑÑом оно Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ ÑвелиÑено, ÑÑÐ¾Ð±Ñ Ð² него воÑли вÑе байÑÑ Ð²Ð²ÐµÐ´Ñнного адÑеÑа. ÐÑли в ÑеÑевом адÑеÑе ÑпÑава Ð¾Ñ Ð¼Ð°Ñки ÑеÑи окажÑÑÑÑ Ð±Ð¸ÑÑ Ñо знаÑением 1, он бÑÐ´ÐµÑ ÑÑиÑаÑÑÑÑ Ð¾ÑибоÑнÑм.
РТаблиÑе 8.22 Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð½ÐµÑколÑко пÑимеÑов адÑеÑов.
ТаблиÑа 8.22. ÐÑимеÑÑ Ð´Ð¾Ð¿ÑÑÑимÑÑ
знаÑений Ñипа cidr
Ðводимое знаÑение cidr | ÐÑводимое знаÑение cidr | |
|---|---|---|
| 192.168.100.128/25 | 192.168.100.128/25 | 192.168.100.128/25 |
| 192.168/24 | 192.168.0.0/24 | 192.168.0/24 |
| 192.168/25 | 192.168.0.0/25 | 192.168.0.0/25 |
| 192.168.1 | 192.168.1.0/24 | 192.168.1/24 |
| 192.168 | 192.168.0.0/24 | 192.168.0/24 |
| 128.1 | 128.1.0.0/16 | 128.1/16 |
| 128 | 128.0.0.0/16 | 128.0/16 |
| 128.1.2 | 128.1.2.0/24 | 128.1.2/24 |
| 10.1.2 | 10.1.2.0/24 | 10.1.2/24 |
| 10.1 | 10.1.0.0/16 | 10.1/16 |
| 10 | 10.0.0.0/8 | 10/8 |
| 10.1.2.3/32 | 10.1.2.3/32 | 10.1.2.3/32 |
| 2001:4f8:3:ba::/64 | 2001:4f8:3:ba::/64 | 2001:4f8:3:ba/64 |
| 2001:4f8:3:ba:â2e0:81ff:fe22:d1f1/128 | 2001:4f8:3:ba:â2e0:81ff:fe22:d1f1/128 | 2001:4f8:3:ba:â2e0:81ff:fe22:d1f1/128 |
| ::ffff:1.2.3.0/120 | ::ffff:1.2.3.0/120 | ::ffff:1.2.3/120 |
| ::ffff:1.2.3.0/128 | ::ffff:1.2.3.0/128 | ::ffff:1.2.3.0/128 |
8.9.3. РазлиÑÐ¸Ñ inet и cidr #
СÑÑеÑÑвеннÑм ÑазлиÑием Ñипов даннÑÑ
inet и cidr ÑвлÑеÑÑÑ Ñо, ÑÑо inet пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ñ Ð½ÐµÐ½ÑлевÑми биÑами ÑпÑава Ð¾Ñ Ð¼Ð°Ñки ÑеÑи, а cidr â неÑ. ÐапÑимеÑ, знаÑение 192.168.0.1/24 ÑвлÑеÑÑÑ Ð´Ð¾Ð¿ÑÑÑимÑм Ð´Ð»Ñ Ñипа inet, но не Ð´Ð»Ñ cidr.
ÐодÑказка
ÐÑли Ð²Ð°Ñ Ð½Ðµ ÑÑÑÑÐ°Ð¸Ð²Ð°ÐµÑ Ð²ÑÑ
одной ÑоÑÐ¼Ð°Ñ Ð·Ð½Ð°Ñений inet или cidr, попÑобÑйÑе ÑÑнкÑии host, text и abbrev.
8.9.4. macaddr #
Тип macaddr пÑедназнаÑен Ð´Ð»Ñ Ñ
ÑÐ°Ð½ÐµÐ½Ð¸Ñ MAC-адÑеÑа, пÑимеÑом коÑоÑого ÑвлÑеÑÑÑ Ð°Ð´ÑÐµÑ ÑеÑевой плаÑÑ Ethernet (Ñ
оÑÑ MAC-адÑеÑа пÑименÑÑÑÑÑ Ð¸ Ð´Ð»Ñ Ð´ÑÑгиÑ
Ñелей). ÐводимÑе знаÑÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑÑÑ Ð² ÑледÑÑÑиÑ
ÑоÑмаÑаÑ
:
'08:00:2b:01:02:03' |
'08-00-2b-01-02-03' |
'08002b:010203' |
'08002b-010203' |
'0800.2b01.0203' |
'0800-2b01-0203' |
'08002b010203' |
ÐÑе ÑÑи пÑимеÑÑ Ð¾Ð¿ÑеделÑÑÑ Ð¾Ð´Ð¸Ð½ и ÑÐ¾Ñ Ð¶Ðµ адÑеÑ. ШеÑÑнадÑаÑеÑиÑнÑе ÑиÑÑÑ Ð¾Ñ a до f могÑÑ Ð±ÑÑÑ Ð¸ в нижнем, и в веÑÑ
нем ÑегиÑÑÑе. ÐÑводÑÑÑÑ MAC-адÑеÑа вÑегда в пеÑвой ÑоÑме.
Ð ÑÑандаÑÑе IEEE 802-2001 ÑÑандаÑÑной ÑÑиÑаеÑÑÑ Ð²ÑоÑÐ°Ñ ÑоÑма MAC-адÑеÑов (Ñ Ð¼Ð¸Ð½ÑÑами), а пеÑÐ²Ð°Ñ (Ñ Ð´Ð²Ð¾ÐµÑоÑиÑми) пÑÐµÐ´Ð¿Ð¾Ð»Ð°Ð³Ð°ÐµÑ Ð¾Ð±ÑаÑнÑй поÑÑдок биÑ, Ð¾Ñ ÑÑаÑÑего к младÑемÑ, Ñак ÑÑо 08-00-2b-01-02-03 = 10:00:D4:80:40:C0. РнаÑÑоÑÑее вÑÐµÐ¼Ñ ÑÑÐ¾Ð¼Ñ ÑоглаÑÐµÐ½Ð¸Ñ Ð¿ÑакÑиÑеÑки никÑо не ÑледÑеÑ, и ÑмеÑÑно оно бÑло ÑолÑко Ð´Ð»Ñ ÑÑÑаÑевÑÐ¸Ñ ÑеÑевÑÑ Ð¿ÑоÑоколов (ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº Token Ring). Postgres Pro не менÑÐµÑ Ð¿Ð¾ÑÑдок Ð±Ð¸Ñ Ð¸ во вÑÐµÑ Ð¿ÑинимаемÑÑ ÑоÑмаÑÐ°Ñ Ð¿Ð¾Ð´ÑазÑмеваеÑÑÑ ÑÑадиÑионнÑй поÑÑдок LSB.
ÐоÑледние пÑÑÑ Ð²Ñ Ð¾Ð´Ð½ÑÑ ÑоÑмаÑов не опиÑÐ°Ð½Ñ Ð½Ð¸ в каком ÑÑандаÑÑе.
8.9.5. macaddr8 #
Тип macaddr8 Ñ
ÑÐ°Ð½Ð¸Ñ MAC-адÑеÑа в ÑоÑмаÑе EUI-64, пÑименÑÑÑиеÑÑ, напÑимеÑ, Ð´Ð»Ñ Ð°Ð¿Ð¿Ð°ÑаÑнÑÑ
адÑеÑов Ð¿Ð»Ð°Ñ Ethernet (Ñ
оÑÑ MAC-адÑеÑа иÑполÑзÑÑÑÑÑ Ð¸ Ð´Ð»Ñ Ð´ÑÑгиÑ
Ñелей). ÐÑÐ¾Ñ Ñип Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑинÑÑÑ Ð¸ 6-байÑовÑе, и 8-байÑовÑе адÑеÑа MAC и ÑоÑ
ÑанÑÐµÑ Ð¸Ñ
в 8 байÑаÑ
. MAC-адÑеÑа, заданнÑе в 6-байÑовом ÑоÑмаÑе, Ñ
ÑанÑÑÑÑ Ð² ÑоÑмаÑе 8 байÑ, а 4-й и 5-й Ð±Ð°Ð¹Ñ ÑодеÑÐ¶Ð°Ñ FF и FE, ÑооÑвеÑÑÑвенно. ÐамеÑÑÑе, ÑÑо Ð´Ð»Ñ IPv6 иÑполÑзÑеÑÑÑ Ð¼Ð¾Ð´Ð¸ÑиÑиÑованнÑй ÑоÑÐ¼Ð°Ñ EUI-64, в коÑоÑом 7-й Ð±Ð¸Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ ÑÑÑановлен в 1 поÑле пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð· EUI-48. ÐÐ»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÑÑого Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÑедоÑÑавлÑеÑÑÑ ÑÑнкÑÐ¸Ñ macaddr8_set7bit. ÐообÑе говоÑÑ, ÑÑÐ¾Ñ Ñип пÑÐ¸Ð½Ð¸Ð¼Ð°ÐµÑ Ð»ÑбÑе ÑÑÑоки, ÑоÑÑоÑÑие из Ð¿Ð°Ñ ÑеÑÑнадÑаÑеÑиÑнÑÑ
ÑиÑÑ (вÑÑовненнÑÑ
по гÑаниÑам байÑ), коÑоÑÑе могÑÑ ÑоглаÑованно ÑазделÑÑÑÑÑ Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²Ñми Ñимволами ':', '-' или '.'. ШеÑÑнадÑаÑеÑиÑнÑÑ
ÑиÑÑ Ð´Ð¾Ð»Ð¶Ð½Ð¾ бÑÑÑ Ð»Ð¸Ð±Ð¾ 16 (Ð´Ð»Ñ 8 байÑ), либо 12 (Ð´Ð»Ñ 6 байÑ). ÐаÑалÑнÑе и конеÑнÑе пÑÐ¾Ð±ÐµÐ»Ñ Ð¸Ð³Ð½Ð¾ÑиÑÑÑÑÑÑ. Ðиже Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð¿ÑимеÑÑ Ð´Ð¾Ð¿ÑÑÑимÑÑ
вÑ
однÑÑ
ÑÑÑок:
'08:00:2b:01:02:03:04:05' |
'08-00-2b-01-02-03-04-05' |
'08002b:0102030405' |
'08002b-0102030405' |
'0800.2b01.0203.0405' |
'0800-2b01-0203-0405' |
'08002b01:02030405' |
'08002b0102030405' |
Ðо вÑеÑ
ÑÑиÑ
пÑимеÑаÑ
задаÑÑÑÑ Ð¾Ð´Ð¸Ð½ и ÑÐ¾Ñ Ð¶Ðµ адÑеÑ. ÐÐ»Ñ ÑиÑÑ Ñ a по f пÑинимаÑÑÑÑ Ð±ÑÐºÐ²Ñ Ð¸ в веÑÑ
нем, и в нижнем ÑегиÑÑÑе. ÐÑвод вÑегда пÑедÑÑавлÑеÑÑÑ Ð² пеÑвом из показаннÑÑ
ÑоÑмаÑов.
ÐоÑледние ÑеÑÑÑ Ð²Ñ Ð¾Ð´Ð½ÑÑ ÑоÑмаÑов из показаннÑÑ Ð²ÑÑе не ÑвлÑÑÑÑÑ ÑÑандаÑÑизиÑованнÑми.
ЧÑÐ¾Ð±Ñ Ð¿ÑеобÑазоваÑÑ ÑÑадиÑионнÑй 48-биÑнÑй MAC-адÑÐµÑ Ð² ÑоÑмаÑе EUI-48 в модиÑиÑиÑованнÑй ÑоÑÐ¼Ð°Ñ EUI-64 Ð´Ð»Ñ Ð²ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ð² ÑоÑÑав адÑеÑа IPv6 в каÑеÑÑве адÑеÑа Ñзла, иÑполÑзÑйÑе ÑÑнкÑÐ¸Ñ macaddr8_set7bit ÑледÑÑÑим обÑазом:
SELECT macaddr8_set7bit('08:00:2b:01:02:03');
macaddr8_set7bit
-------------------------
0a:00:2b:ff:fe:01:02:03
(1 row)