Сердюк Ирина Ист-71 1. PC запрашивает веб-страницу google.ru

advertisement
Сердюк Ирина Ист-71
5. Передача запроса на www.google.ru (209.85.129.99) от PC
1. PC запрашивает веб-страницу google.ru
2. PC формирует HTTP-пакет (запрос) на сервер WWW
Параметры пакета:
IP source = IP1 (209.85.7.2)
IP destination = IP8 (209.85.129.99)
TCP: SourcePort = 209.85.7.0
DestPort = 8080
3. Смотрим таблицу маршрутизации PC
RIB PC: 0.0.0.0 /0 -> IP2 (IP2 – IP шлюза)
4. Ethernet среда - среда с множественным доступом, поэтому необходимо узнать MAC
5. PC формирует ARP-request, который содержит
Ethi source MAC = MAC1 (MAC = 00-0C-F1-56-98-AD)
Dest MAC = Broadcast
ARP: MAC? <= IP2 (т.е. необходимо узнать какой MAC у IP2)
6. Данный кадр Ethi ARP-запрос приходит на sw1.
Поскольку кадр широковещательный, он передается по всем портам свитча.
7. Маршрутизатор R4 принимает ARP-запрос на порту E0
8. Маршрутизатор R4 анализирует ARP-запрос (сначала удаляет Ethernet –заголовок, по
полю Ethertype понимает, что это ARP-запрос и передает его на анализ соответствующему
процессу. ARP-процесс понимает, что отправитель запроса пытается узнать MAC-адрес
для IP-адреса, принадлежащего маршрутизатору)
request
FF.. .. .. .. FF
MAC1
Ethertype=ARP
DA-?
SA-MAC1
IPDA = IP2
IPSA = IP1
9. ARP-процесс формирует ответный кадр. Ответ ARP представляет собой запрос ARP, в
котором заполнен Ethernet address (DA-MAC2):
reply
MAC1
MAC2
ARP
DA-MAC2
SA-MAC1
IPDA = IP2
IPSA = IP1
Кроме того маршрутизатор R4 добавляет в свой ARP-кэш привязку IP1;
MAC1
Сердюк Ирина Ист-71
10. ARP-ответ передается в выходную очередь интерфейса E0
11. Кадр с ARP-ответом поступает на порт E1 коммутатора sw1
Коммутатор sw1 смотрит свою таблицу коммутации и определяет, что кадр необходимо
передать на порт E0 и кроме того коммутатор добавляет в свою таблицу запись MAC2 –
E1.
12. PC принимает Ethernet кадр с ARP-ответом
В итоге PC узнает какой MAC-адрес у шлюза по умолчанию
13. Компьютер PC упаковывает сформированный ранее HTTP-запрос (пункт 2) в Ethernetкадр, в котором
MAC2
MAC1
0800
DA-MAC2
SA-MAC1
IPDA = IP8
IPSA = IP1
IP1 = 209.85.7.2 (PC)
IP8 = 209.85.129.99 (google.ru)
Дальше кадр передается на sw1
14. Кадр поступает на коммутатор sw1, который его передает на порт E1 в соответствии с
таблицей коммутации, и попутно обновляет данные таблицы коммутации
15. Ethernet кадр принимается портом E0 маршрутизатора R4
R1 анализирует Ethernet-заголовок, в котором видит, что пакет предназначен именно ему
(на Ethernet уровне). Анализирует поле ethertype (ethertype = 0800), понимает , что это Ipпакет, отбрасывает Ethernet-заголовок и передает его на обработку IP-уровню (поступает
на вход таблицы маршрутизации). R4 просматривает свою таблицу маршрутизации, чтобы
понять куда передать пакет
Предположим, что маршрутизатор R4 определил, что пакет необходимо передать на
выходной интерфейс E1 маршрутизатору R5 на адрес IP4
16. Маршрутизатор R4 просматривает свой ARP-кэш, пытаясь определить известен ли
ему MAC-адрес для адреса IP4. Для простоты предположим, что такая информация есть и
она извлекается из таблицы (т.е. информация о привязки MAC-адреса к IP-адресу IP4) (В
противном случае повторяются пункты 4-12)
17. Формируется новый Ethernet-кадр
MAC4
MAC1
Ethertype=0800
DA-MAC4
SA-MAC1
IPDA = IP8
IPSA = IP1
Сердюк Ирина Ист-71
18. Кадр принимается маршрутизатором R5. R5 производит аналогичные действия
маршрутизатору R4, в частности определяет, что пакет необходимо передать в сеть,
которая является непосредственно присоединенной к R5 на интерфейсе S0.
19. Так как на выходе S0 маршрутизатора R5 среда serial, нет необходимости узнавать
MAC-адрес.
20. Формируется hdlc-кадр, который содержит
флаг
адрес = IP8(?)
управляющее
поле = I
информационное
поле
CRC
флаг
21. hdlc-кадр принимается портом S1 маршрутизатора R3.
R3 анализирует кадр и понимает, что это IP-пакет – передает его на обработку IP-уровню.
R3 просматривает свою таблицу маршрутизации, чтобы понять куда передать пакет, и
понимает, что пакет необходимо передать в сеть, которая является непосредственно
присоединенной к R3 на интерфейсе E0
22. Поэтому маршрутизатор R3 по своей ARP-таблице пытается узнать MAC-адрес для
IP8. Предположим такая информация в таблице есть. Соответственно R3 формирует кадр
с парамертами
MAC8
MAC1
Ethertype=0800
DA-MAC8
SA-MAC1
IPDA = IP8
IPSA = IP1
и передает его на порт E0
23. WWW сервер принимает Ethernet-кадр, понимает, что этот кадр предназначен ему,
отбрасывает Ethernet-заголовок, передает его IP-уровню. На IP-уровне анализируется IPзаголовок, определяется, что IP-пакет предназначен WWW-серверу, что в поле полезной
нагрузки у нас протокол TCP. Пакет передается на транспортный уровень, на котором
анализируется HTTP-заголовок и определяется, что информацию необходимо передать
процессу WWW (это определяется по номеру порта 8080).
24. www процесс получает данные, понимает, что это WWW-запрос и пытается его
разрешить.
Download