Время приема-передачи Http на непостоянном, постоянном, постоянном с конвейерной обработкой

сети мой последний курс в моей степени магистра. У меня есть вопрос о том, как рассчитать время приема-передачи http на непостоянном, постоянном и постоянном с конвейерной обработкой.

Проведя бесчисленное количество часов за чтением этой проблемы, загрузкой заметок из других юнитов и даже поиском видео на YouTube, я не смог разобраться в этом.

Чтобы понять, как рассчитывается RTT, давайте просто скажем, что клиент запрашивает HTML-страницу, содержащую 10 изображений. [Давайте сохраним задержку распространения на нуле.]

Пожалуйста, следуйте моей логике

Прежде всего, трехстороннее рукопожатие TCP-соединения считается за 1 RTT. То же самое происходит, когда TCP-соединение закрывается.

1) В непостоянном HTTP мы должны установить TCP-соединение, поэтому пока это 1 RTT. Поскольку у нас есть 10 объектов, у нас будет 2*10=20 RTT. Это приводит к 1RTT + 20 RTT = 21 RTT. [Это можно рассчитать по-другому, сказав, что, поскольку он каждый раз открывает новые соединения, для 10 объектов потребуется 3 RTT, поэтому будет 30 RTT.]

2) В персистентном HTTP нам нужен один 1RTT для соединения и 1 для каждого объекта. Это приводит к 1RTT+10RTT=11 RTT. [Должен ли я добавить RTT для закрытия соединения, что приведет к 12 RTT? Насколько я понимаю, через некоторое время он истечет сам по себе.]

3) В Persistent HTTP с конвейерной обработкой нам понадобится один RTT для открытия TCP-соединения, один RTT для отправки 10 объектов и один RTT для закрытия соединения. Это приводит к 1RTT+1RTT+1RTT=3 RTT.

Любая помощь в этом вопросе будет высоко оценена!


person James.D    schedule 01.07.2016    source источник
comment
app.box.com/v/fileserver2/file/96332293840 Это pdf, который очень хорошо объясняет учебу отсюда.   -  person Shaurya Uppal    schedule 27.08.2017


Ответы (1)


Я знаю, что уже поздно, но я отвечу на некоторые из них, чтобы помочь тем, кто когда-нибудь наткнется на эту тему в Google.

Итак, мы хотим получить 10 объектов со страницы. Это наша цель.

Есть пара вещей, которые нам нужно сделать, чтобы достичь нашей цели, во-первых.

Шаг 1 Прежде всего нам нужно найти адрес страницы. Мы делаем это, посещая несколько DNS-серверов, пока не найдем нужный адрес. Получается RTT1 + RTT2 + ... + RTTn.

Шаг 2 Теперь, когда у нас есть адрес страницы, нам нужно запросить у нее ссылки на 10 объектов. Поскольку это непостоянное TCP-соединение, мы используем RTT для инициализации соединения и RTT для запроса и получения ссылок. Получается 2RTT.

Шаг 3 Наконец, мы можем получить все 10 объектов. Поскольку это непостоянное соединение, каждый раз, когда нам нужен объект, нам нужно инициализировать соединение, а затем запрашивать и извлекать объект. Делаем это 10 раз. 10 (2RTT)

Суммируйте их!

Total Time = (2RTT) + 10(2RTT) + (RTT1 + RTT2 + ... + RTTn)
       = 11(2RTT) + (RTT1 + RTT2 + ... + RTTn)
       = 22RTT + (RTT1 + RTT2 + ... + RTTn)

Я надеюсь, что это поможет вам прояснить ситуацию в отношении непостоянного TCP-соединения!

person TheWhalePhail    schedule 18.04.2017
comment
как насчет закрытия TCP-соединения? - person gigili; 02.07.2019