Программирование компьютерных сетей

Написание компьютерных программ с сетевыми возможностями

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

Коммуникации с установлением и без установления соединения

В самом общем виде большинство коммуникаций можно разделить на ориентированные на соединение и не ориентированные на соединение . Является ли коммуникация ориентированной на соединение или не ориентированной на соединение, определяется протоколом связи , а не интерфейсом прикладного программирования (API) . Примерами ориентированных на соединение протоколов являются протокол управления передачей (TCP) и последовательный обмен пакетами (SPX) , а примерами протоколов не ориентированных на соединение протоколов являются протокол пользовательских дейтаграмм (UDP) , "raw IP" и межсетевой обмен пакетами (IPX) .

Клиенты и серверы

Для ориентированных на соединение коммуникаций стороны коммуникации обычно играют разные роли. Одна сторона обычно ждет входящих соединений; эта сторона обычно называется « сервер ». Другая сторона является той, которая инициирует соединение; эта сторона обычно называется « клиент ».

При коммуникации без установления соединения одна сторона («сервер») обычно ожидает входящий пакет, а другая сторона («клиент») обычно понимается как та, которая отправляет незапрошенный пакет «серверу».

Сетевое программирование традиционно охватывает различные уровни модели OSI/ISO (большая часть программирования на уровне приложений относится к L4 и выше). В таблице ниже приведены некоторые примеры популярных протоколов, относящихся к различным уровням OSI/ISO, и популярные API для них.

Уровень OSI/ISOПротоколAPI
L3 (сеть)ИСГнездо необработанное
L4 (транспорт)TCP , UDP , SCTPГнезда Беркли
L5 (сессия)ТЛСOpenSSL
L7 (приложение)HTTPРазличный

Смотрите также

Ссылки

  1. ^ "Глава 12 - Сетевое программирование". COMP1406 (PDF) . 2017. Архивировано из оригинала (PDF) 2020-03-05. Сетевое программирование включает в себя написание программ, которые взаимодействуют с другими программами через компьютерную сеть.
Взято с "https://en.wikipedia.org/w/index.php?title=Программирование_компьютерных_сетей&oldid=1258455998"