Рынок IPv4, октябрь 2026: цены, трансферы, очередь
Месяц в одном абзаце (проверено 2026-11-09). Октябрь 2026 года выдался активным по числу сделок и спокойным по объему адресов. Журнал RIPE NCC показывает 253 рыночных трансфера, на уровне сентября (237) и октября 2025 года (252), но они переместили лишь 342 528 адресов, меньше половины от 779 008 в сентябре: ни одна /16 не сменила владельца. Цены немного укрепились: месячная медиана ip4.market по всем размерам выросла с $20.00 в сентябре до $22.00 в октябре, а 30-дневная медиана для /24 составила $25.34 за IP по 26 продажам (индекс обновлен 2026-11-02). Лист ожидания RIPE вырос на 27 LIR до 820. Это датированные наблюдения из публичных источников; цену на конкретный блок смотрите на /ipv4/pricing. Предыдущий выпуск - отчет за июль 2026.
Проверено 2026-11-09. Данные: таблица трансферов RIPE NCC и журнал трансферов ARIN (оба изменены 2026-11-09),
stats.jsonлиста ожидания RIPE NCC. Цены: IPv4 Price Index от ip4.market (обновлен 2026-11-02), страница аренды IPv4Center (прочитано 2026-11-09). Политика: RIPE NCC Member Update за октябрь 2026, итоги GM в октябре 2026, итоги первого дня ARIN 58.
Октябрь в журналах регистратур: скрипт, который можно перезапустить
Регистратуры публикуют каждый трансфер, так что месяц рынка можно посчитать, а не угадывать. Скрипт ниже читает таблицу трансферов RIPE NCC, журнал трансферов ARIN и снимки листа ожидания RIPE и сравнивает выбранный месяц с предыдущим и с тем же месяцем годом ранее. "Рыночный трансфер" здесь - это запись RIPE типа POLICY (продажа или аренда между членами, не слияние) или RESOURCE_TRANSFER в ARIN, содержащий IPv4. Bun или Node 18+, без зависимостей. Сохраните его как ipv4_month.js:
// ipv4_month.js - one month of the IPv4 market from public registry logs:
// RIPE NCC transfers by block size and country, ARIN transfers and inter-RIR flows, RIPE waiting list.
// Usage: bun ipv4_month.js 2026-10 (Bun or Node 18+, no dependencies)
const M = process.argv[2] ?? '2026-10'
const shift = (m, d) => { const [y, n] = m.split('-').map(Number), t = new Date(Date.UTC(y, n - 1 + d, 1)); return t.toISOString().slice(0, 7) }
const MONTHS = [shift(M, -12), shift(M, -1), M]
const get = async u => { const r = await fetch(u); return [await r.json(), r.headers.get('last-modified')] }
const [ripe, rMod] = await get('https://www-static.ripe.net/dynamic/table-of-transfers/ipv4/transfers-allocations.json')
const [arin, aMod] = await get('https://ftp.arin.net/pub/stats/arin/transfers/transfers_latest.json')
const [wl] = await get('https://www-static.ripe.net/dynamic/ipv4-waiting-list/stats.json')
console.log(`RIPE log modified ${rMod}\nARIN log modified ${aMod}`)
// RIPE NCC: date is DD/MM/YYYY, blocks are CIDR or "a.b.c.d - e.f.g.h" ranges
const ip = s => s.trim().split('.').reduce((a, o) => a * 256 + +o, 0)
const size = b => b.includes('/') ? 2 ** (32 - +b.split('/')[1]) : ip(b.split('-')[1]) - ip(b.split('-')[0]) + 1
const ym = d => `${d.slice(6, 10)}-${d.slice(3, 5)}`
const bucket = n => n <= 256 ? '/24' : n <= 1024 ? '/23-/22' : n <= 4096 ? '/21-/20' : '/19+'
const B = ['/24', '/23-/22', '/21-/20', '/19+']
const ripeMonth = m => {
const s = { deals: 0, ips: 0, temp: 0, ma: 0, maIps: 0, cross: 0, by: {}, to: {} }
for (const t of ripe.transfers.filter(t => ym(t.date) === m)) {
if (t.transferType !== 'POLICY') { s.ma++; for (const b of t.transferred_blocks.split(',')) s.maIps += size(b); continue }
s.deals++
if (t.transferStatus === 'TEMPORARY') s.temp++
if (t.from_country_code && t.to_country_code && t.from_country_code !== t.to_country_code) s.cross++
for (const b of t.transferred_blocks.split(',')) {
const n = size(b)
s.ips += n
s.by[bucket(n)] = (s.by[bucket(n)] ?? 0) + 1
if (t.to_country_code) s.to[t.to_country_code] = (s.to[t.to_country_code] ?? 0) + n
}
}
return s
}
const R = MONTHS.map(ripeMonth)
const row = (k, f) => console.log(k.padEnd(26) + R.map(s => String(f(s)).padStart(10)).join(''))
console.log(`\nRIPE NCC market transfers ${MONTHS.map(m => m.padStart(10)).join('')}`)
row('transfers', s => s.deals)
for (const b of B) row(` blocks ${b}`, s => s.by[b] ?? 0)
row('addresses', s => s.ips.toLocaleString('en-US'))
row('temporary (leases)', s => s.temp)
row('cross-border', s => `${Math.round(100 * s.cross / s.deals)}%`)
row('mergers / acquisitions', s => s.ma)
row(' their addresses', s => s.maIps.toLocaleString('en-US'))
const top = Object.entries(R[2].to).sort((a, b) => b[1] - a[1]).slice(0, 5)
console.log(`top recipient countries ${M}: ${top.map(([c, n]) => `${c} ${n.toLocaleString('en-US')}`).join(', ')}`)
// ARIN: zero-padded octets, IPv6-only entries skipped; market transfers only (no mergers)
const aIps = t => (t.ip4nets?.transfer_set ?? []).reduce((s, n) => s + ip(n.end_address) - ip(n.start_address) + 1, 0)
console.log(`\nARIN market transfers ${MONTHS.map(m => m.padStart(10)).join('')}`)
const A = MONTHS.map(m => arin.transfers.filter(t => t.type === 'RESOURCE_TRANSFER' && t.transfer_date.startsWith(m) && aIps(t)))
const arow = (k, f) => console.log(k.padEnd(26) + A.map(l => String(f(l)).padStart(10)).join(''))
arow('inside ARIN', l => l.filter(t => t.source_rir === 'ARIN' && t.recipient_rir === 'ARIN').length)
arow('ARIN -> RIPE NCC', l => l.filter(t => t.source_rir === 'ARIN' && t.recipient_rir === 'RIPE NCC').length)
arow('ARIN -> APNIC', l => l.filter(t => t.source_rir === 'ARIN' && t.recipient_rir === 'APNIC').length)
arow('into ARIN from others', l => l.filter(t => t.source_rir !== 'ARIN' && t.recipient_rir === 'ARIN').length)
arow('addresses', l => l.reduce((s, t) => s + aIps(t), 0).toLocaleString('en-US'))
// RIPE NCC IPv4 waiting list: one snapshot per day
const day = d => wl[d] ? `${wl[d].length} LIRs, front ${wl[d].first_position_days} days` : 'no snapshot'
const first = `${M}-01`, next = `${shift(M, 1)}-01`
console.log(`\nRIPE waiting list ${first}: ${day(first)}\nRIPE waiting list ${next}: ${day(next)}`)
bun ipv4_month.js 2026-10
Вывод, полученный на облачном сервере DCXV Cloud с Bun 1.4.4 2026-11-09:
RIPE log modified Mon, 09 Nov 2026 05:00:03 GMT
ARIN log modified Mon, 09 Nov 2026 04:59:14 GMT
RIPE NCC market transfers 2025-10 2026-09 2026-10
transfers 252 237 253
blocks /24 89 83 78
blocks /23-/22 119 108 123
blocks /21-/20 40 29 41
blocks /19+ 14 24 12
addresses 805,120 779,008 342,528
temporary (leases) 1 0 7
cross-border 46% 56% 58%
mergers / acquisitions 92 70 367
their addresses 1,344,000 129,792 1,065,728
top recipient countries 2026-10: GB 82,176, NO 45,056, DE 34,304, RU 32,512, ES 20,992
ARIN market transfers 2025-10 2026-09 2026-10
inside ARIN 62 70 76
ARIN -> RIPE NCC 45 105 52
ARIN -> APNIC 6 18 9
into ARIN from others 17 7 4
addresses 1,594,880 1,355,776 875,264
RIPE waiting list 2026-10-01: 793 LIRs, front 485 days
RIPE waiting list 2026-11-01: 820 LIRs, front 497 days
Как это читать. Число сделок удержалось, размер блоков упал. 253 рыночных трансфера в RIPE - обычный месяц, но крупных блоков не хватало: 12 блоков /19 и крупнее против 24 в сентябре, когда сменили владельца несколько /16 (90.98.0.0/16 от Orange к Fastly, 62.83.0.0/16 от Vodafone ONO к netcup, две /16 среди семи блоков от FREENET JSC к FARLEP-INVEST). Самым активным был диапазон от /23 до /22: 123 блока. Слияния резко выросли: 367 записей о слиянии или поглощении, и 325 из них приходятся на три консолидации в журнале: пространство двух венгерских операторов перешло к 2Connect, а пространство JSC Avantel - к ER-Telecom Holding. Это корпоративные перемещения, а не продажи, поэтому о цене они ничего не говорят. Появились временные трансферы: их 7, все 5 октября от одного китайского владельца к одной немецкой компании; у временного трансфера есть дата окончания, и именно так аренда выглядит в регистратуре. 58% рыночных трансферов пересекли границу, против 46% годом ранее; больше всего адресов получили Великобритания, Норвегия и Германия. На стороне ARIN трансферы в RIPE NCC вернулись к 52 после сентября со 105 трансферами; поток и его правила описаны в нашем руководстве по трансферу из ARIN в RIPE.
Собственный октябрьский Member Update от RIPE NCC сообщил о 2 173 440 адресах, переданных в сентябре. Эта цифра учитывает больше видов трансферов, чем наш фильтр только по POLICY (908 800 вместе со слияниями); мы не сверяли эти две цифры, поэтому сравнивайте сопоставимое.
Цены: индекс ip4.market за октябрь
| Блок | 30-дневная медиана за IP | Продажи | 90-дневная медиана за IP | Продажи |
|---|---|---|---|---|
| /24 (256 IP) | $25.34 | 26 | $25.25 | 79 |
| /23 (512 IP) | $21.48 | 11 | $21.00 | 44 |
| /22 (1,024 IP) | $20.00 | 13 | $19.00 | 49 |
| /21 (2,048 IP) | $16.98 | 4 | $17.00 | 26 |
| /20 (4,096 IP) | $15.38 | 2 | $15.97 | 18 |
Источник: ip4.market IPv4 Price Index, обновлен 2026-11-02, прочитано 2026-11-09 (666 зарегистрированных продаж с 2026-03-11). 30-дневная медиана по всем размерам составила $21.75 по 70 продажам; месячная медиана по всем размерам была $20.00 в июне, $19.00 в июле и августе, $20.00 в сентябре и $22.00 в октябре. Строки с малой выборкой читайте осторожно: две продажи /20 - это еще не цена. Разброс по размеру привычный: около $25 за IP для /24 и от $15 до $16 для /20 за 90 дней до 2026-11-02, поэтому покупателям /22 и более крупных блоков стоит считать цену за IP, а не за блок. Откуда рынок пришел в этом году, рассказано в обзоре восстановления рынка в первом полугодии 2026; всегда проверяйте предложение на /ipv4/pricing.
Аренда. Страница аренды IPv4Center указывала /24 по цене от $0.43 до $0.59 за IP в месяц и /22 от $0.39 до $0.98 (прочитано 2026-11-09, даты на странице нет), а ip4.market называет EUR 0.50 за IP в месяц своим ориентиром для аренды. При $25.34 за покупку и около $0.50 в месяц за аренду покупка /24 окупается примерно за четыре года арендной платы без учета сборов; полный расчет с регистрационными сборами - в статьях аренда или покупка IPv4 и IPv4 как инвестиция.
Новости политик и регистратур в октябре
- Общее собрание RIPE NCC, 28-30 октября. 1 102 голоса; обе резолюции приняты: любой профицит 2026 года пойдет в резервы (дефицит покрыли бы члены в 2027 году), а также поправки Исполнительного совета к Уставу. Схема оплаты на 2027 год не меняется: EUR 1,894 за аккаунт LIR с января, вступительный взнос EUR 1,000, без платы за трансфер (схема оплаты RIPE 2027).
- Никаких новых аккаунтов LIR для действующих членов. Ограничение, действующее с 2026-09-29, по-прежнему описывается как временное до завершения обсуждения политики; новый член, как и раньше, может вступить (открытие LIR в RIPE в 2026 году).
- Закрыть до 31 декабря. RIPE NCC просит членов подать запросы на закрытие LIR до 31 декабря 2026 года, чтобы избежать счета за 2027 год. Владельцу, который продает всю аллокацию и которому аккаунт больше не нужен, стоит планировать трансфер и закрытие вместе.
- Address Policy. Предложение 2026-01 (первый номер AS без оценки потребностей) находится на этапе Review Phase, комментарии принимаются до 10 ноября; 2026-03 согласует текст об аудите IPv6 с политиками IPv4.
- ARIN 58, Майами, 22-23 октября. Отчет о внедрении политик поднял вопрос 12-месячного правила: получатель по NRPM 8.3 или 8.4 не может передать пространство дальше в течение 12 месяцев, но разделы для получателей об этом не говорят, и некоторые получатели об этом не знали. Часть участников спросила, не стоит ли отменить это ожидание совсем. Проект ARIN-2025-3 снизил бы порог для передачи за пределы региона с /22 до /24. Решения пока нет. Совет ARIN утвердил повышение платы за регистрационные услуги на 5% на 2027 год.
За чем следить в ноябре
- Удержится ли октябрьский рост цен. 30-дневная медиана по всем размерам $21.75 находится между сентябрем ($20.00) и октябрем ($22.00); второй месяц на уровне $22 подтвердил бы тренд.
- Крупные блоки. В октябре не было продаж /16. Если они вернутся в ноябре, объем адресов подскочит, а число сделок останется на том же уровне, как в сентябре.
- Лист ожидания. 830 LIR на 2026-11-09, самому старому запросу 501 день. Очередь короче, чем год назад (872 на 2025-10-31), но первые в ней ждут примерно столько же; цену ожидания в сравнении с покупкой мы разобрали в статье лист ожидания RIPE или покупка /24.
- Трансферы в конце года. В декабре 2025 года было 673 рыночных трансфера в RIPE, самый активный месяц за последние два года. Журнал не объясняет почему; вероятная причина - дедлайн конца года (бюджеты, следующий годовой взнос). Если ваша сделка запланирована на декабрь, начинайте трансфер в ноябре.
Покупаете, продаете или арендуете до конца года? DCXV - член RIPE NCC (AS204057) и выступает брокером трансферов во всех регионах; заметки о регистратуре - на /ipv4/ripe, обратитесь в наш IPv4-отдел или напишите на ipv4@dcxv.com.
