Интерфейс сокетов | Курс “Компьютерные сети”

Интерфейс транспортного уровня стека TCP/IP “Сокеты”. Лекции по курсу “Компьютерные сети” – https://goo.gl/0aIOuf
Страница курса – http://www.asozykin.ru/courses/networks_online

Сокеты – это интерфейс для взаимодействия с транспортным уровнем. В отличие от протоколов транспортного уровня TCP и UDP, которые используются для связи между транспортными уровнями разных хостов, интерфейс сокетов используется для взаимодействия приложения с транспортным уровнем внутри одного компьютера.

Интерфейс сокетов был впервые предложен в Berkeley UNIX 4.2 BSD. Это файл специального вида, при записи данных в которой они передаются по сети.

Сокеты оказались удобным интерфейсом, поэтому различные варианты сокетов реализованы в разных операционных системах (в том числе в Windows и Linux) и языках программирования.

Операции сокетов:
socket – cоздание новыго сокета
bind – установка связи сокета с IP-адресом и портом
listen – объявление о желании принимать соединения
accept – прием запроса на установку соединения
сonnect – установка соединения
send – отправка данные по сети
receive – получение данные из сети
close – закрытие соединения

Рассматривается пример использования сокетов на Python.

Программист взаимодействует с транспортным уровнем через интерфейс сокетов, поэтому протоколы TCP и UDP скрыты от программиста. Следовательно, при изменении протоколов транспортного уровня программу менять не придется.

Сокеты в Python – https://docs.python.org/3/library/socket.html

Лекция “Основы организации компьютерных сетей” – https://youtu.be/EPvxn9KvBvs

Лекция “Транспортный уровень” – https://youtu.be/g7vq-JVId58

Лекция “Протокол TCP” – https://youtu.be/CKUOb4htnB4

Лекция “Протокол UDP” – https://youtu.be/GBrLfZvRrd8

Практические занятия по курсу “Компьютерные сети” – https://goo.gl/YP3l83

Мой канал с краткими и понятными объяснениями сложных тем в ИТ и компьютерных науках:
https://goo.gl/kW93MA

ПРИСОЕДИНЯЙТЕСЬ
Поделиться

Андрей Созыкин

Меня зовут Андрей Созыкин, я работаю в университете, веду курсы по компьютерным наукам. Здесь представлены видеолекции, подготовленные на основе этих курсов. Для видеолекций я отбираю самые важные материалы, необходимые для понимания предмета, и рассказываю их кратко, без лишних деталей, которые затруднят восприятие. Несмотря на краткость, изложение ведется системно; это не набор забавных видео, никак не связанных между собой.



Обсуждение закрыто.