Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
download_and_use_it.docx
Скачиваний:
4
Добавлен:
29.07.2019
Размер:
176.01 Кб
Скачать

4.2 Исследование устойчивого таймера tcp

Выполненные действия, в соответствии с поставленным алгоритмом (п. 2.2), и результаты исследования, включая подробные комментарии, приведены в листинге 4.

Листинг 4 – исследование устойчивого таймера

//Запускаем сервер. Параметр –P устанавливает ожидание в 40000мс = 40с

anton@ubuntu:~$ sock -is -P40000 1111

//Запускаем клиент. Параметр –n устанавливает количество передаваемых //сообщений равным 100, по –w4096 байт

anton@anton-HP-Pavilion-dv6-Notebook-PC ~/TCPIP_Chat $ sock -i -n100 -w4096 192.168.1.2 1111

//Запускаем утилиту tcpdump

anton@anton-HP-Pavilion-dv6-Notebook-PC ~ $ sudo tcpdump tcp -i wlan0 -vv

tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes

// Анализируем передачу пакетов

//установка соединения

01:50:11.328309 IP (tos 0x0, ttl 64, id 26858, offset 0, flags [DF], proto TCP (6), length 60)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [S], cksum 0x8384 (incorrect -> 0xe7b1), seq 842922990, win 14600, options [mss 1460,sackOK,TS val 4952836 ecr 0,nop,wscale 4], length 0

01:50:11.328960 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [S.], cksum 0x7e49 (correct), seq 2397248668, ack 842922991, win 5792, options [mss 1460,sackOK,TS val 1892385 ecr 4952836,nop,wscale 6], length 0

01:50:11.329002 IP (tos 0x0, ttl 64, id 26859, offset 0, flags [DF], proto TCP (6), length 52)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0x837c (incorrect -> 0xc023), seq 1, ack 1, win 913, options [nop,nop,TS val 4952836 ecr 1892385], length 0

//посылается первый пакет

01:50:11.329532 IP (tos 0x0, ttl 64, id 26863, offset 0, flags [DF], proto TCP (6), length 1500)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0xebe0 (correct), seq 4097:5545, ack 1, win 913, options [nop,nop,TS val 4952836 ecr 1892385], length 1448

//Сервер присылает подтверждение и сообщает клиенту, что размер его окна

//win = 0

01:50:11.663562 IP (tos 0x0, ttl 64, id 64719, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0xb453 (correct), seq 1, ack 69305, win 0, options [nop,nop,TS val 1892469 ecr 4952920], length 0

//Далее, в течении 40 секунд сервер находится в режиме ожидания

//Клиент в это время посылает пробы окна серверу

01:50:11.878868 IP (tos 0x0, ttl 64, id 26910, offset 0, flags [DF], proto TCP (6), length 52)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0x837c (incorrect -> 0xb08d), seq 69304, ack 1, win 913, options [nop,nop,TS val 4952974 ecr 1892469], length 0

01:50:11.879894 IP (tos 0x0, ttl 64, id 64720, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0xb41d (correct), seq 1, ack 69305, win 0, options [nop,nop,TS val 1892523 ecr 4952920], length 0

01:50:12.310871 IP (tos 0x0, ttl 64, id 26911, offset 0, flags [DF], proto TCP (6), length 52)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0x837c (incorrect -> 0xafeb), seq 69304, ack 1, win 913, options [nop,nop,TS val 4953082 ecr 1892523], length 0

01:50:12.311411 IP (tos 0x0, ttl 64, id 64721, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0xb3b2 (correct), seq 1, ack 69305, win 0, options [nop,nop,TS val 1892630 ecr 4952920], length 0

01:50:13.174888 IP (tos 0x0, ttl 64, id 26912, offset 0, flags [DF], proto TCP (6), length 52)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0x837c (incorrect -> 0xaea8), seq 69304, ack 1, win 913, options [nop,nop,TS val 4953298 ecr 1892630], length 0

01:50:13.175479 IP (tos 0x0, ttl 64, id 64722, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0xb2d9 (correct), seq 1, ack 69305, win 0, options [nop,nop,TS val 1892847 ecr 4952920], length 0

01:50:14.906882 IP (tos 0x0, ttl 64, id 26913, offset 0, flags [DF], proto TCP (6), length 52)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0x837c (incorrect -> 0xac1e), seq 69304, ack 1, win 913, options [nop,nop,TS val 4953731 ecr 1892847], length 0

01:50:14.907657 IP (tos 0x0, ttl 64, id 64723, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0xb128 (correct), seq 1, ack 69305, win 0, options [nop,nop,TS val 1893280 ecr 4952920], length 0

01:50:18.366898 IP (tos 0x0, ttl 64, id 26914, offset 0, flags [DF], proto TCP (6), length 52)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0x837c (incorrect -> 0xa70c), seq 69304, ack 1, win 913, options [nop,nop,TS val 4954596 ecr 1893280], length 0

01:50:18.367452 IP (tos 0x0, ttl 64, id 64724, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0xadc7 (correct), seq 1, ack 69305, win 0, options [nop,nop,TS val 1894145 ecr 4952920], length 0

01:50:25.294877 IP (tos 0x0, ttl 64, id 26915, offset 0, flags [DF], proto TCP (6), length 52)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0x837c (incorrect -> 0x9ce7), seq 69304, ack 1, win 913, options [nop,nop,TS val 4956328 ecr 1894145], length 0

01:50:25.295442 IP (tos 0x0, ttl 64, id 64725, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0xa703 (correct), seq 1, ack 69305, win 0, options [nop,nop,TS val 1895877 ecr 4952920], length 0

01:50:39.150913 IP (tos 0x0, ttl 64, id 26916, offset 0, flags [DF], proto TCP (6), length 52)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0x837c (incorrect -> 0x889b), seq 69304, ack 1, win 913, options [nop,nop,TS val 4959792 ecr 1895877], length 0

01:50:39.151507 IP (tos 0x0, ttl 64, id 64726, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0x997b (correct), seq 1, ack 69305, win 0, options [nop,nop,TS val 1899341 ecr 4952920], length 0

//прошло 40 секунд и сервер открывает окно win = 34

01:50:51.373706 IP (tos 0x0, ttl 64, id 64727, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0x8d6a (correct), seq 1, ack 69305, win 34, options [nop,nop,TS val 1902396 ecr 4952920], length 0

//Далее идёт отправка данных на сервер (показаны только первые 3 пакета)

01:50:51.373756 IP (tos 0x0, ttl 64, id 26917, offset 0, flags [DF], proto TCP (6), length 1372)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [P.], cksum 0xffaa (correct), seq 69305:70625, ack 1, win 913, options [nop,nop,TS val 4962847 ecr 1902396], length 1320

01:50:51.373928 IP (tos 0x0, ttl 64, id 64728, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0x8d41 (correct), seq 1, ack 69305, win 75, options [nop,nop,TS val 1902396 ecr 4952920], length 0

01:50:51.373943 IP (tos 0x0, ttl 64, id 26918, offset 0, flags [DF], proto TCP (6), length 1500)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0xb4e4 (correct), seq 70625:72073, ack 1, win 913, options [nop,nop,TS val 4962847 ecr 1902396], length 1448

01:50:51.374065 IP (tos 0x0, ttl 64, id 26919, offset 0, flags [DF], proto TCP (6), length 1500)

anton-HP-Pavilion-dv6-Notebook-PC.local.56864 > ubuntu.local.1111: Flags [.], cksum 0xd503 (correct), seq 72073:73521, ack 1, win 913, options [nop,nop,TS val 4962847 ecr 1902396], length 1448

01:50:51.374198 IP (tos 0x0, ttl 64, id 64729, offset 0, flags [DF], proto TCP (6), length 52)

ubuntu.local.1111 > anton-HP-Pavilion-dv6-Notebook-PC.local.56864: Flags [.], cksum 0x8cef (correct), seq 1, ack 69305, win 157, options [nop,nop,TS val 1902396 ecr 4952920], length 0

Заключение: в таблице 2 показаны расчеты значения устойчивого таймера в моменты отправки проб окна сервера.

Таблица 2 – значения устойчивого таймера

№ пробы

1

2

3

4

5

6

Время отправки пробы окна

01:50:11.878868

01:50:12.310871

01:50:13.174888

01:50:14.906882

01:50:18.366898

01:50:25.294877

Значение таймера, с

0.432003

0.864017

1.731994

3.460016

6.927979

13.856036

Как видно из таблицы 2, устойчивый таймер, после каждой пробы окна, увеличивается почти в 2 раза, неравенство коэффициента увеличена двум объясняется тем, что время тратится на доставку пакета. Результаты эксперимента удовлетворяют ожидаемым результатам.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]