Web-программирование
Лекция #1. Основы Web-технологий.
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Сети и системы телекоммуникаций. Транспортный уровеньAndrey Sozykin
Презентация лекции "Транспортный уровень".
План лекции:
Место транспортного уровня в моделях OSI и TCP/IP
Назначение транспортного уровня
Адресация
Протоколы транспортного уровня TCP/IP
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутриHappyDev-lite
Интернет, без которого вы уже не мыслите свое существование, обеспечивается разнообразным оборудованием — от серверов до роутеров в локальной сети — и программным обеспечением, которое работает на серверах, персональных компьютерах и других устройствах.
В докладе я постараюсь дать общее понимание того, как это все работает, и подскажу, что нужно изучать, чтобы оказаться в рядах разработчиков серверного программного обеспечения.
2. Компьютерная сеть и возникновение
Internet
Функционирование Internet
Возникновение и развитие WWW
3. Компьютерная сеть — это система связи
компьютеров или компьютерного
оборудования (маршрутизаторы,
повторители и другое оборудование). Для
передачи информации используются
различные физические среды:
электрические сигналы, световые сигналы
или электромагнитное излучения.
8. Interconnected Networks — объединённые
сети
Общее число пользователей: 1.73 млрд
Население Земли в 2009: 6.832 млрд
Каждый четвертый пользуется Internet
Каждый шестой житель Земли голодает
В 2009 прибавилось 18% пользователей
9.
10.
11.
12.
13. После запуска СССР искусственного
спутника США решают создать
внутреннюю информационную сеть на
случай войны
1969 – состоялась передача 5 байт между 2
университетами на расстояние 640 км
1971 – программа для отсылки и приема
почты
14. 1973 – через телефонный
трансатлантический кабель подключились
Великобритания и Норвегия
70е – бурное развитие почтовой рассылки,
подключение новых сетей
1983 – вводится стек протоколов TCPIP,
сеть стали называть Internet
15. 1984 – система доменных имен
1988 – первый чат
1989 – Тим Бернерс-Ли из Европейского
совета по ядерным исследованиям
излагает концепцию Всемирной паутины,
разрабатывает протокол HHTP, язык HTML
и идентификаторы URI
1991 – Всемирная паутина выходит в
Internet
16. 1997 – 10 млн компьютеров, 1 млн
доменных имен
1998 – компания Google предоставляет
поиск по WWW
2001 – возникает Wikipedia
2004 – начинается этап Web 2.0:
социальные сети, блоги, AJAX,
синдикация, смешение
17. После 2005 – появляются Google Earth,
Google Street View, World Wide Telescope,
Google OS
Web 3.0 – высококачественная
информация, создающаяся
профессионалами на базе Web 2.0
18. 90 триллионов почтовых сообщений (e-
mail), примерно 247 миллионов писем в
день
81% писем – спам
234 млн доменов, на 47 млн больше чем за
прошлый год
72.2% сайтов англоязычные, 5.7% -
китаеязычные, 3.4% - испаноязычные
19. 126 млн блогов, 30 млн сообщений в
Twitter ежедневно
Каждый третий житель СНГ
зарегистрирован в какой либо социальной
сети
20. У каждого компьютера есть специальный
номер (IP адрес)
Он состоит из 4 или 6 чисел в диапазоне
0...255 (например 192.168.0.201)
Такой адрес должен быть уникальным для
сети, в которой находится компьютер
Его присваивает либо специальный сервер
динамически либо сам пользователь
21. ОС предоставляет любой программе
сетевые порты в диапазоне 0..65535
Программа может занять некоторый порт,
потом освободить его для другой
программы
Порт – это уникальный идентификатор
работающей программы
22. IP-адрес и номер порта уникальным
образом определяют работающую
программу на некотором компьютере в
сети
Многие номера портов уже
зарезервированы для конкретных
программ: 21 – FTP, 22 – SSH, 80 и 8080 -
HTTP
23.
24. Приложения HTTP FTP DNS
Транспортный TCP UDP
Сетевой IP
Соединения Ethernet Wi-Fi
Физический Кабель Оптоволокно Радио
25. Данные по компьютерной сети
передаются пакетами
В каждом пакете записан адрес
отправителя и получателя и еще много
разной информации
Пакеты уровня приложения
запаковываются в TCP- или UDP-пакеты
TCP- и UDP-пакеты запаковываются в IP-
пакеты
26. IP-пакеты передаются физически
маршрутизаторами и повторителями с
сетевой карты отправителя по кабелям
или радио сигналами на сетевую карту
получателя
Когда IP-пакет приходит к получателю,
происходит процесс распаковки данных
Запаковкой и распаковкой TCPIP
занимается сетевая подсистема ОС и
драйвера конкретный сетевых карт
27. Из TCP- или UDP-пакетов извлекаются
непосредственные данные
ОС передает их приложению, которое
зарегистрировалось на порт, номер
которого обозначен в этих пакетах
Далее приложение само определяет, что
делать с этими данными
28. Приложения HTTP FTP DNS
Транспортный TCP UDP
Сетевой IP
Соединения Ethernet Wi-Fi
Физический Кабель Оптоволокно Радио
29. Порт отправителя Порт получателя
Длина сообщения Контрольная сумма
30. Порт отправителя Порт получателя
Номер пакета
Номер подтверждения
Длина заголовка Флаги Размер окна
Контрольная сумма Смещение срочных данных
Настройки Данные
31. Версия Длина заголовка Тип службы Общая длина
Идентификатор Флаги Смещение данных
Время жизни Транспортный Контрольная сумма
протокол
Адрес отправителя
Адрес получателя
Настройки Данные
32. WWW – World Wide Web
Работает по принципу клиент-сервер
На сервере работает специальная
программа Web-сервер
Клиенты, используя специальные
программы Web-обозреватели (browser)
На сервере хранится множество страниц с
гипертекстом
33. При помощи обозревателя пользователь
запрашивает страницы с гипертекстом
Сервер находит их и высылает
Каждая страница адресуется с помощью
URL
34.
35.
36.
37.
38.
39. <схема>://<логин>:<пароль>@<хост>:<порт>/<путь>
Схема – обозначает протокол уровня
приложения (HTTP, HTTPS, FTP и т.д.)
Логин и пароль – зарегистрированное имя
пользователя и пароль на стороне сервера
Хост – IP-адрес компьютера-сервера
40. <схема>://<логин>:<пароль>@<хост>:<порт>/<путь>
Порт – номер порта, закрепленный за
программой-сервером
Путь – путь в файловой системе
компьютера-сервера к запрашиваемым
данным
Логин, пароль и порт – необязательные
атрибуты
43. Пользователям легче запоминать слова, а
не цифры (IP-адреса)
Домен – это набор слов, разделенных
точками, однозначно определяющих один
или несколько IP-адресов
По всему миру на специальных серверах
хранится информация о существующих
доменах и IP-адресах, к которым они
привязаны
44. Домен можно зарегистрировать (платно
или бесплатно)
45. http://bible.com.ua/bible
http – схема, используем протокол HTTP
bible.com.ua – доменное имя,
соответствует IP-адресу 76.76.19.179
/bible - страница с поиском по Библии
Имя пользователя и пароль указывать не
нужно – запрашиваем общедоступную
информацию
Номер порта определяется по протоколу
46. Набор страниц гипертекста
Хранится на некотором компьютере
На компьютере запущена и настроена
программа Web-сервер
Компьютер имеет свой адрес в Internet
Пользователи запрашиваю по этому
адресу страницы при помощи
обозревателя
47. Internet Explorer
Firefox
Opera
Safari
Chrome
48. Создаются мощнейшие Data-центры
Пользователи вместо полноценных ПК
используют нетбуки или тонкие клиенты
Некоторые организации арендуют
вычислительные мощности у Data-центров
и предоставляют их клиентам за плату
Все данные клиента хранятся на сервере, а
не на своем компьютере
Концепция сети. История возникновения и развития Internet. Стек протоколов, принцип взаимодействия клиент-сервер, служба доменных имен . История World Wide Web, гипертекст, обозреватель, сервер, сайт. Web 1.0, 2.0, 3.0.
Для обмена данными между пользователями (двустороння связь) Для предоставления пользователям информации (односторонняя связь) Все вместе
Сеть для удобств 1-8 человек, объединяющая их компьютеры, ноутбуки, телефоны, гарнитуры и т.п. ( Bluetooth ) Сеть в рамках одной комнаты, здания, объединяющая компьютеры одного учреждения Сеть в рамках крупного населенного пункта (телефония, кабельное телевидение) Сеть мирового масштаба, использует существующие линии связи
Проценты – доли использования этой ОС в качестве серверов в мировом масштабе.
Некоторые компьютеры в сети выполняют роль хранилища информации (сервера), другие – потребителей информации (клиенты) Все компьютеры в сети равноправны и могут в разное время выполнять функции как сервера так и клиента
Словом, сеть, образованная из других сетей меньшего масштаба.
HTTP – протокол передачи гипертекста HTML – язык разметки гипертекста (объясняет где какой элемент расположить) URI – универсальный идентификатор ресурса – уникальным образом адресует некоторые данные в Internet
AJAX – технология, позволяющая без обновления страницы предоставлять пользователю необходимые данные Синдикация - одновременное распространение заголовков и ссылок на информацию на различные страницы Смешение – объединение нескольких Web- технологий для улучшения предоставляемой информации (сайт о недвижимости и Google Maps , где можно видеть продаваемые объекты)
Google Earth – программа, моделирующая весь земной шар по спутниковым фотографиям Google Street View – программа, позволяющая просматривать панорамный вид на улицах мегаполисов World Wide Telescope – программа, предоставляющая виртуальный телескоп с возможностью в любое время изучать звездное небо Google OS – операционная система, работающая исключительно на базе WWW Web 3.0 - пользователь, который до этого единолично был вовлечён в процесс формирования контента, отныне творит коллективно ; выделяются эксперты-модераторы
FTP – протокол для передачи файлов SSH – удаленное управление ОС посредством командной оболочки HTTP – протокол передачи гипертекста
Для модема (modem) выделяется уникальный IP- адрес. Маршрутизатор ( router ) соединен с модемом напрямую. Он организует вокруг себя локальную сеть из трех меньших подсетей. Каждая подсеть организуется вокруг коммутатора (switch). Последний может быть и беспроводным ( WAP ).
Прикладной программе (приложению) достаточно только знать специфику протоколов уровня приложений. Затем она просто пользуется ОС. ОС, в свою очередь, реализует протоколы транспортного и сетевого уровня, и предоставляет приложениям простую абстракцию в виде обычной записи\\чтения байт в некий канал. Непосредственным формированием пакетов TCP\\UDP и запаковкой их в IP занимаются сетевая подсистема ядра ОС и драйвера конкретных сетевых карт. Вопросы доставки и маршрутизации IP пакетов решаются на уровне соединений прошивками различных сетевых устройств (коммуникаторы, концентраторы, модемы, маршрутизаторы). Непосредственные данные передаются на физическом уровне по коаксиальному (или телефонному) кабелю, оптоволокну, радиоволнами и тому подобными средствами.
Прикладной программе (приложению) достаточно только знать специфику протоколов уровня приложений. Затем она просто пользуется ОС. ОС, в свою очередь, реализует протоколы транспортного и сетевого уровня, и предоставляет приложениям простую абстракцию в виде обычной записи\\чтения байт в некий канал. Непосредственным формированием пакетов TCP\\UDP и запаковкой их в IP занимаются сетевая подсистема ядра ОС и драйвера конкретных сетевых карт. Вопросы доставки и маршрутизации IP пакетов решаются на уровне соединений прошивками различных сетевых устройств (коммуникаторы, концентраторы, модемы, маршрутизаторы). Непосредственные данные передаются на физическом уровне по коаксиальному (или телефонному) кабелю, оптоволокну, радиоволнами и тому подобными средствами.
Номер пакета помогает на собирать данные на стороне получателя, ведь пакеты могут приходить не по порядку: один задержался, другой успел пройти по сети быстрее. При получении пакета отправителю высылается пакет с номером подтверждения - уведомление. Данные – это непосредственно та информация, которую записала прикладная программа (приложение).
Версия – помогает определит особенности заголовка. Время жизни уменьшается на 1 проходя через каждый маршрутизатор. Если достигает нуля – пакет уничтожается. Это позволяет пакетам не путешествовать по сети вечно если не удается за определенное число попыток найти получателя. Данные – непосредственное пакет транспортного уровня ( TCP или UDP ) .