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-пакеты могут прибывать в порядке, отличном от того, в котором они были отправлены. Какую проблему это порождает и как с ней справиться? Не внесет ли ваше решение какие-либо осложнения?