Вопросы и задачи
1. На илл. 7.5 после слова laserjet не поставлена точка. Почему?
2. Приведите пример, аналогичный показанному на илл. 7.7, в котором распознаватель производил бы поиск доменного имени course-info.cs.uchicago.edu за восемь шагов. При каком сценарии это произойдет на практике?
3. Какая DNS-запись проверяет ключ, который используется для подписи DNS-записей для авторитетного сервера имен?
4. Какая DNS-запись проверяет подпись DNS-записей для авторитетного сервера имен?
5. Опишите процесс сопоставления клиентов, при котором часть инфраструктуры DNS выясняет, какой сервер контента расположен ближе других к клиенту, отправившему DNS-запрос. На какие допущения нужно будет опереться при определении местоположения клиента?
6. Рассмотрите ситуацию, при которой кибертеррорист заставляет «упасть» все DNS-серверы в мире. Как это повлияет на доступ в интернет?
7. Объясните, какие преимущества и недостатки дает использование протокола TCP вместо UDP для запросов и ответов службы DNS.
8. Предполагается, что кэширование DNS-поиска производится в обычном порядке, и DNS-трафик не шифруется. Какие сторонние трекеры могут отслеживать весь DNS-поиск, производимый с вашего локального устройства? Кто может отслеживать DNS-поиск, если DNS-трафик шифруется с помощью протокола DoH или DoT?
9. Джон хочет получить оригинальное доменное имя и, используя специальную программу, случайным образом сгенерировать для него вторичное доменное имя. Он хочет зарегистрировать это имя в родовом домене com. Сгенерированное доменное имя насчитывает 253 знака. Разрешит ли регистратор домена com регистрацию этого имени?
10. Может ли компьютер иметь одно имя DNS и несколько IP-адресов? Как это может произойти?
11. Может ли компьютер иметь два имени DNS, относящихся к разным доменам верхнего уровня? Если да, приведите правдоподобный пример. Если нет, обоснуйте почему.
12. Некоторые системы электронной почты поддерживают поле заголовка Content-Return:. В нем указывается, нужно ли возвращать содержимое письма, если оно не будет доставлено получателю. Куда входит это поле — в состав конверта или в состав заголовка письма?
13. Вы получили электронное письмо и подозреваете, что его авторы преследуют неблаговидные цели. Однако содержимое поля FROM указывает, что оно было отправлено человеком, которого вы хорошо знаете. Можно ли доверять содержимому этого письма? Как можно проверить его подлинность?
14. Системы электронной почты хранят адресные книги e-mail, с помощью которых пользователь может найти нужный адрес. Для поиска по таким книгам имена адресатов должны быть разбиты на стандартные компоненты (например, имя и фамилия). Какие проблемы нужно решить, чтобы разработать соответствующий международный стандарт?
15. Крупная юридическая фирма предоставляет каждому из своих многочисленных сотрудников отдельный адрес электронной почты. Адрес состоит из логина, знака @, названия фирмы и домена com. Однако компания не определила точный формат логина. Так что одни сотрудники используют свои имена, другие — фамилии, а некоторые — инициалы. Теперь фирма хочет задать фиксированный формат вида имя.фамилия@название_фирмы.com, который можно было бы использовать для адресов всех ее сотрудников. Как это сделать и обойтись при этом без особых проблем?
16. 100-байтная ASCII-строка кодируется с использованием кодировки base64. Каким будет размер результирующей строки?
17. С помощью base64 ваш сокурсник кодировал ASCII-строку «ascii» и получил в результате строку «YXNjaWJ». Объясните, что пошло не так в ходе кодирования, и предложите правильный способ кодирования строки.
18. В качестве лабораторной работы по компьютерным сетям вы создаете приложение для обмена мгновенными сообщениями. Оно должно передавать ASCII-текст и двоичные файлы. К сожалению, другой студент из вашей команды уже сдал на проверку серверный код, забыв реализовать функцию передачи двоичных файлов. Можно ли реализовать эту функцию, изменив только клиентский код?
19. В любом стандарте, таком как RFC 5322, должно быть описание точной грамматики — это требуется для взаимодействия различных реализаций. Даже самые простые элементы должны быть четко определены. Например, в заголовках SMTP допустимы пробелы между символами. Приведите два убедительных альтернативных определения этих пробелов.
20. Назовите пять типов MIME, не указанных в тексте. Информацию можно взять из настроек браузера или из интернета.
21. Предположим, вы хотите переслать другу MP3-файл, но его провайдер ограничивает максимальный размер входящей почты до 1 Мбайт, а файл занимает 4 Мбайт. Можно ли решить поставленную задачу, используя RFC 5322 и MIME?
22. IMAP позволяет пользователям запрашивать и загружать почту из удаленного почтового ящика. Означает ли это, что внутренний формат почтовых ящиков должен быть стандартизован, чтобы любые клиентские программы, использующие IMAP, могли обратиться к почтовому ящику на любом сервере? Поясните свой ответ.
23. Стандартный URL-адрес https подразумевает, что веб-сервер прослушивает порт 443. Однако он может прослушивать и другой порт. Придумайте практичный синтаксис для URL-адреса, обеспечивающего доступ к файлу с использованием нестандартного порта.
24. Представьте, что сотрудник факультета математики Стэнфордского университета написал новый документ, который он хочет распространить по FTP, чтобы его коллеги оставили отзывы. Он помещает документ в каталог ftp/pub/forReview/newProof.pdf. Как будет выглядеть URL этого документа?
25. Имеется веб-страница, загрузка которой по HTTP занимает 3 с при использовании постоянного соединения и последовательных запросов. Из этих 3 с 150 мс уходит на установку соединения и получение первого ответа. Загрузка той же страницы с использованием конвейеризованных запросов занимает 200 мс. Предполагается, что отправка запроса осуществляется мгновенно и что интервал между поступлением запроса и выдачей ответа одинаковый для всех запросов. Сколько запросов выполняется при загрузке этой веб-страницы?
26. В качестве лабораторной работы по компьютерным сетям вы создаете сетевое приложение. Другой студент из вашей команды говорит, что поскольку ваша система использует для связи протокол HTTP поверх TCP, в ней не нужно учитывать вероятность разрыва связи между хостами. Что вы ему ответите?
27. Для каждого из перечисленных случаев укажите: (1) возможно ли и (2) лучше ли использовать PHP-скрипт или JavaScript и почему:
а) Отображение календаря на любой месяц, начиная с сентября 1752 года.
б) Отображение расписания рейсов из Амстердама в Нью-Йорк.
в) Вывод полинома с коэффициентами, введенными пользователем.
28. Заголовок If-Modified-Since может использоваться для проверки актуальности кэшированной страницы. Соответствующие запросы могут отсылаться на страницы, содержащие изображения, звуки, видео и т.д., а также на обычные страницы на HTML. Как вы думаете, эффективность этого метода будет выше для изображений JPEG или для страниц HTML? Хорошенько подумайте над значением слова «эффективность» и после этого объясните свой ответ.
29. Вы запрашиваете у сервера веб-страницу. Ответ сервера содержит заголовок Expires с датой истечения срока действия, в нем указан следующий день. Через пять минут вы запрашиваете ту же страницу у того же сервера. Может ли он отправить вам более новую версию страницы? Объясните свой ответ.
30. Имеет ли смысл отдельному провайдеру функционировать в качестве CDN? Если да, то как должна работать система? Если нет, то чем плоха такая идея?
31. При кодировании звуковых компакт-дисков используется частота дискретизации 44 100 Гц и 16-битные сэмплы. Каков при этом битрейт несжатых данных? Сколько байтов потребуется для звуковых данных длительностью в один час? На компакт-диске можно разместить 700 Мбайт данных. Для чего нужна неиспользованная часть этого объема?
32. При кодировании звуковых компакт-дисков используется частота дискретизации 44 100 Гц и 16-битные сэмплы. Насколько целесообразным будет повышение качества звука путем использования частоты дискретизации 88 000 Гц в сочетании с 16-битными сэмплами? А что можно сказать об использовании частоты дискретизации 44 100 Гц и 24-битных сэмплов?
33. Предположим, что для звукового компакт-диска не используется сжатие. Сколько мегабайтов данных должен содержать диск, чтобы проигрывать музыку в течение двух часов?
34. Сервер, на котором расположен популярный чат, отправляет данные своим клиентам со скоростью 32 Кбит/с. Какой размер пакета он использует, если эти данные поступают клиентам с интервалом в 100 мс? Каким будет размер пакета, если клиенты будут получать данные с интервалом в 1 с?
35. Сервер аудиопотока расположен на удалении от клиентского компьютера с установленным плеером. Из-за расстояния возникает задержка в 100 мс в одном направлении. Сервер отдает данные со скоростью 1 Мбит/с. Если проигрыватель содержит буфер объемом 2 Мбайт, что можно сказать о расположении нижнего и верхнего пределов заполнения этого буфера?
36. Вы просматриваете потоковое видео, но за 10 с до его конца происходит разрыв вашего интернет-соединения. Видео имеет разрешение 2048 × 1024 пикселей, использует 16 бит для каждого пикселя и воспроизводится с частотой 60 кадров/с. На вашем компьютере буферизовано 64 Мбайт (67 108 864 байта) закодированных данных. Коэффициент сжатия равен 32:1. Удастся ли вам просмотреть видео до конца?
37. Предположим, что в беспроводной среде передачи теряется много пакетов. Как следует пересылать несжатые звуковые данные CD-качества, чтобы потеря пакетов могла вызывать ухудшение качества звука, но не разрывы в звучании?
38. В данной главе мы обсудили схему буферизации видео, представленную на илл. 7.34. Будет ли эта схема работать и для только лишь звуковых данных? Ответ поясните.
39. Потоковая передача аудио- и видеоданных в реальном времени должна быть плавной. При этом на пользовательский опыт могут влиять два фактора — случайная задержка и джиттер пакетов. Не являются ли они, по сути, одним и тем же? При каких условиях возникает каждый из них? Можно ли с ними успешно бороться, и если да, то как?
40. Какая скорость требуется для передачи несжатого цветного изображения размером 1920 × 1080 пикселей и 16 битами на пиксель при 60 кадрах/с?
41. Какой коэффициент сжатия нужно обеспечить для передачи видео в формате 4K по каналу с пропускной способностью 80 Мбит/с? Предполагается, что видео воспроизводится со скоростью 60 кадров/с и для значений каждого пикселя используется по 3 байта.
42. Допустим, DASH-система с частотой 50 кадров/с разбивает видео на 10-секундные сегменты, каждый из которых содержит ровно 500 кадров. Вызовет ли это какие-либо проблемы? (Подсказка: подумайте, какие виды кадров используются в MPEG.) Если проблемы возникнут, как их устранить?
43. Представьте, что сервис потоковой передачи видео решил использовать протокол UDP вместо TCP. UDP-пакеты могут прибывать в порядке, отличном от того, в котором они были отправлены. Какую проблему это порождает и как с ней справиться? Не внесет ли ваше решение какие-либо осложнения?
44. Сотрудник компании по разработке облачных игр предлагает создать новый протокол транспортного уровня, который будет лишен недостатков протоколов TCP и UDP и обеспечит низкий уровень задержки и джиттера для мультимедийных приложений. Объясните, почему это не сработает.
45. Рассмотрим пример видеосервера, обслуживающего 50 000 клиентов. Каждый клиент смотрит три фильма в месяц. Предположим, что две трети всех фильмов начинают просматривать в 21:00. Сколько фильмов одновременно должен передавать сервер в этот период? Если для передачи каждого фильма требуется 4 Мбит/с, сколько соединений типа ОС-12 нужно для соединения сервера с сетью?
46. При каких условиях лучше не использовать CDN?
47. На популярном веб-сайте размещены 2 миллиарда видеозаписей. Если их популярность распределена по закону Ципфа, то какая доля просмотров приходится на 10 самых популярных видео?
48. Одним из преимуществ одноранговых систем является то, что у них часто нет централизованного пункта управления, что повышает их отказоустойчивость. Объясните, почему протокол BitTorrent не является полностью децентрализованным.
49. Расскажите, в силу каких причин и каким образом BitTorrent-клиент может обманывать других участников BitTorrent-сети.