27 lines
2.9 KiB
Markdown
27 lines
2.9 KiB
Markdown
# Дополнительное чтение
|
|
|
|
## DNS
|
|
|
|
**DNSSEC** позволяет проверять подлинность и целостность подписанных DNS-данных по цепочке доверия. Шифрование запросов и ответов решается другими механизмами. [Объяснение ICANN](https://www.icann.org/resources/pages/dnssec-what-is-it-why-important-2019-03-05-en).
|
|
|
|
**GeoDNS и anycast** помогают направлять запросы в разные места обслуживания:
|
|
|
|
- GeoDNS выбирает DNS-ответ с учётом доступных сведений о местоположении клиента или его резолвера.
|
|
- При anycast один IP-адрес объявляется из нескольких мест, а путь к нему определяется сетевой маршрутизацией.
|
|
|
|
Примеры: [инфраструктура Dropbox](https://dropbox.tech/infrastructure/dropbox-traffic-infrastructure-edge-network), [карта корневых DNS-серверов](https://root-servers.org/).
|
|
|
|
## BitTorrent
|
|
|
|
**Rarest First** — выбор частей, которые реже встречаются у известных клиенту пиров. Клиент оценивает доступность по своим контактам, не зная состояния всей раздачи.
|
|
|
|
Часть, проверяемая по хешу, передаётся более мелкими **блоками**. Распространённый размер блока — 16 KiB, то есть 16 384 байта. В **Endgame Mode**, при завершении загрузки всего файла, оставшиеся блоки могут запрашиваться у нескольких пиров. После получения блока лишние запросы отменяются.
|
|
|
|
**Choking/unchoking** управляет тем, каким пирам клиент сейчас отдаёт данные. [Описание обмена: BEP 3](https://www.bittorrent.org/beps/bep_0003.html).
|
|
|
|
**Mainline DHT** основана на Kademlia и помогает находить контакты участников по infohash. Расстояние между идентификаторами определяется побитовой операцией XOR. При чтении [BEP 5](https://www.bittorrent.org/beps/bep_0005.html) сравните этот способ организации поиска с кольцом Chord.
|
|
|
|
## Вопрос для сравнения
|
|
|
|
Где хранятся сведения для поиска в Consul, DNS, трекере BitTorrent и DHT? Кто их обновляет? Какие сведения могут устареть и что сделает клиент, когда очередное обращение не удастся?
|