Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
network_questions.docx
Скачиваний:
1
Добавлен:
16.09.2019
Размер:
43.04 Кб
Скачать
  1. Как можно избежать фрагментации пакетов в сети?

При помощи флагов фрагментации IP.

F = 0 – фрагментация разрешена.

DF = 1 – фрагментация запрещена (есть дейтаграмму нельзя передать – уничтожается)

MF = 0 – данный фрагмент последний\один (MF=1 не последний)

  1. Как IP-протокол знает, какой программе передать пакет по стеку протоколов вверх?

IP-протокол не знает, знает TCP. Он(TCP) по порту определяет какому прикладному приложению передавать данные.

  1. Какие функции выполняет протокол tcp?

это транспортный механизм, предоставляющий поток данных, с предварительной установкой соединения, за счёт этого дающий уверенность в достоверности получаемых данных, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета (см. также T/TCP). В отличие от UDP гарантирует целостность передаваемых данных и уведомление отправителя о результатах передачи.

  1. Как протокол tcp обеспечивает достоверность передачи данных?

  2. Как протокол tcp контролирует надежность передачи данных?

Номер последовательности

Номер последовательности выполняет две задачи:

Если установлен флаг SYN, то это начальное значение номера последовательности — ISN (Initial Sequence Number), и первый байт данных, которые будут переданы в следующем пакете, будет иметь номер последовательности, равный ISN + 1.

В противном случае, если SYN не установлен, первый байт данных, передаваемый в данном пакете, имеет этот номер последовательности.

Поскольку поток TCP в общем случае может быть длиннее, чем число различных состояний этого поля, то все операции с номером последовательности должны выполняться по модулю 2^32. Это накладывает практическое ограничение на использование TCP. Если скорость передачи коммуникационной системы такова, чтобы в течение MSL (максимального времени жизни сегмента) произошло переполнение номера последовательности, то в сети может появиться два сегмента с одинаковым номером, относящихся к разным частям потока, и приёмник получит некорректные данные.

Номер подтверждения

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

Контрольная сумма

Поле контрольной суммы — это 16-битное дополнение к сумме всех 16-битных слов заголовка(включая псевдозаголовок) и данных. Если сегмент, по которому вычисляется контрольная сумма, имеет длину не кратную 16-ти битам, то длина сегмента увеличивается до кратной 16-ти, за счет дополнения к нему справа нулевых битов заполнения. Биты заполнения (0) не передаются в сообщении и служат только для расчёта контрольной суммы. При расчёте контрольной суммы значение самого поля контрольной суммы принимается равным 0.

  1. Зачем протокол TCP использует порты?

Порт источника идентифицирует приложение клиента, с которого отправлены пакеты. По возвращении данные передаются клиенту на основании номера порта источника.

Порт назначения идентифицирует порт, на который отправлен пакет.

  1. Укажите наиболее распространенные сервисы Интернета.

  1. Поясните структуру и назначение сокетов.

Пара IP-адрес, номер порта = сокет.

название программного интерфейса для обеспечения обмена данными между процессами. Процессы при таком обмене могут исполняться как на одной ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет — абстрактный объект, представляющий конечную точку соединения.

Обозн. 192.168.1.1.25 ил 192.168.1.1:25

  1. Что такое соединение в протоколе TCP?

Процесс начала сеанса TCP - обозначаемое как "рукопожатие" (handshake), состоит из 3 шагов.

1. Клиент, который намеревается установить соединение, посылает серверу сегмент с номером последовательности и флагом SYN.

  • Сервер получает сегмент, запоминает номер последовательности и пытается создать сокет (буферы и управляющие структуры памяти) для обслуживания нового клиента.

    • В случае успеха сервер посылает клиенту сегмент с номером последовательности и флагами SYN и ACK, и переходит в состояние SYN-RECEIVED.

    • В случае неудачи сервер посылает клиенту сегмент с флагом RST.

2. Если клиент получает сегмент с флагом SYN, то он запоминает номер последовательности и посылает сегмент с флагом ACK.

  • Если он одновременно получает и флаг ACK (что обычно и происходит), то он переходит в состояние ESTABLISHED.

  • Если клиент получает сегмент с флагом RST, то он прекращает попытки соединиться.

  • Если клиент не получает ответа в течение 10 секунд, то он повторяет процесс соединения заново.

3. Если сервер в состоянии SYN-RECEIVED получает сегмент с флагом ACK, то он переходит в состояние ESTABLISHED.

  • В противном случае после тайм-аута он закрывает сокет и переходит в состояние CLOSED.

  1. Поясните возможные типы соединений в протоколе TCP.

  1. Как клиент запрашивает установление соединения в протоколе TCP?

  2. Как сервер отвечает клиенту на запрос на установление соединения в протоколе TCP?

  3. Когда клиент начинает передачу данных в фазе установления соединения в протоколе TCP?

  4. Когда сервер начинает передачу данных в фазе установления соединения в протоколе TCP?

  5. Какую информацию содержит первый сегмент, отправленный клиентом в фазе установления соединения в протоколе TCP?

  6. Какую информацию содержит первый сегмент, отправленный сервером в фазе установления соединения в протоколе TCP?

  7. Какую информацию содержит второй сегмент, отправленный клиентом в фазе установления соединения в протоколе TCP?

  8. Какую информацию содержит второй сегмент, отправленный сервером в фазе установления соединения в протоколе TCP?

(вопр. 52)

  1. Как протокол TCP нумерует поток передаваемых байтов?

  2. Зачем протокол TCP нумерует передаваемые байты? (вопр. 48)

  1. Зачем в протоколе TCP применяется метод скользящего окна?

для обслуживания больших потоков информации TCP использует метод скользящего окна, что позволяет отправителю посылать очередной сегмент, не дожидаясь подтверждения о получении в пункте назначения предшествующего сегмента.

Протокол TCP формирует подтверждения не для каждого конкретного успешно полученного пакета, а для всех данных, от начала посылки до некоторого порядкового номера ACK SN (Acknowl­edge Sequence Number). В качестве подтверждения успешного при­ема, например первых 2000 байт, высылается ACK SN = 2000: это означает, что все данные в байтовом потоке под номерами от ISN+1= 1 до данного SN (2000) успешно получены (рис. 3). Вме­сте с посылкой отправителю ACK SN получатель объявляет также “размер окна”, например – 6000. Это значит, что отправитель может посылать данные с порядковыми номерами от текущего ACK SN+1 = 2001 до (ACK SN + размер окна) = 8000, не дожидаясь подтверждения со стороны получателя. Допустим, в данный момент отправитель посылает тысячебайтовый сегмент с порядковым номером данных SN= 4001. Если не будет получено новое подтверждение (новый ACK SN), отправитель будет посылать данные, пока он остается в пределах объявленного окна, то есть до номера 8001. После этого посылка данных будет прекращена до получения очередного подтверждения и (возможно) нового размера окна. Од­нако размер окна выбирается таким образом, чтобы подтверждения успевали приходить вовремя и остановки передачи не происходило – для этого и предназначен метод скользящего окна. Размер окна может динамически изменяться получателем. Например, для временной остановки посылки данных достаточно объявить нулевое окно.

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