24/06/2022

Модель OSI vs стек протоколов TCP/IP

Модель OSI vs стек протоколов TCP/IP

Модель OSI

Модель OSI - это описание уровней и какие протоколы используются на этих уровнях.

Уровни

  • Прикладной: HTTP, FTP, POP3
  • Представления: JPG, ASCII
  • Сеансовый: RPC, PAP
  • Транспортный: TCP, UDP
  • Сетевой: IP(IPv4, IPv6)
  • Канальный: Ethernet, 802.22
  • Физический: радиоканал или витая пара

Разница между TCP и UDP

UDP - транспортный протокол без подтверждения доставки;
Так как нам не всегда нужно подтверждение доставки и не важна точность данных, например, разговор по скайпу, прослушивание музыки.

TCP - транспортный протокол с подтверждением доставки;
Например, открытие страницы в интернет - если что то не дойдет, то поедет верстка, отправка письма - если что то потеряется, то будет потерян смысл пиисьма, отправка файла и т.д.

Если смотреть на процесс открытия web-страницы в интернете то это будет выглядеть так:

если смотреть с физического уровня, то мы подключены к интернету по витой паре или радиоканалу(wi-fi);

если с канального уровня, то у wi-fi есть стандарт 802.11g 802.11ab мы подкючаемся по нему;

с точки зрения сетевого уровня, у нас ip адресация - откуда и куда нужно отправить информацию;

с точки зрения транспортного уровня, http работает по TCP, проверка целостности данных;

сеансовый уровень не используется;

с точки зрения представления мы отправили наш запрос в виде текста (ASCII - текст);

с точки зрения прикладного уровня, мы используем HTTP;

Модель TCP/IP

TCP/IP - название стека протоколов

  • Прикладной: HTTP, FTP, POP3
  • Транспортный: TCP, UDP
  • Сетевой: IP(IPv4, IPv6)
  • Сетевого доступа: Ethernet, 802.22 + радиоканал или витая пара

Чек-лист API тестов Корректность структуры данных POST запросы Заполнены все поля валидными данными Заполнены только обязательные поля Заполнены не все обязательные поля Не заполнено ни одно поле Валидация данных в полях (корректные и некорректные данные) Пустой JSON Дата создания объекта GET запросы Пустой список (если возможно) Заполненный список Пагинация в списке (limit, offset) Получение списка с ограничением на количество записей Получение списка начиная с указанного номера В случае передачи параметров с некорректным значением возвращается 400 с описанием ошибки в теле ответа При отрицательном offset список пользователей возвращается начиная с первой позиции При несуществующем offset возвращается пустой список пользователей Сортировка списка Запрос данных по валидному ID, проверка возвращения корректных данных Запрос данных по несуществующему ID, но в валидном формате Запрос данных по невалидному ID PUT запросы Обновление с корректными данными Обновление по несуществующему ID Обновление по невалидному ID Валидация полей (корректные и некорректные данные) Частичное обновление (в JSON присутствуют не все поля) DELETE запросы Удаление существующего объекта Удаление уже удаленного объекта Удаление по несуществующему ID Удаление по невалидному ID Удаление и повторное добавление такой же сущности (если есть уникальные поля) Проверка статусов ответов Проверка всех возможных ошибок Остальные специфичные проверки в случае сложной логики