TCP/IP: различия между версиями

Материал из Викиучебника — открытых книг для открытого мира
Содержимое удалено Содержимое добавлено
Откат вандализма
Нет описания правки
Строка 1: Строка 1:
'''Искусственное дыхание''' — комплекс мер, направленных на поддержание оборота воздуха через легкие у человека (или животного), переставшего дышать. Может производиться с помощью аппарата искусственного дыхания, либо человеком (дыхание изо рта в рот). Обычно совмещается с [[искусственный массаж сердца|искусственным массажем сердца]]. Типичные ситуации, в которых требуется искусственное дыхание: несчастные случаи в результате автомобильных аварий, происшествия на воде, поражение электрическим током, утопление. Аппарат искусственного дыхания используется также в хирургических операциях.
<div style="float:right; margin-left:20px; margin-bottom:20px">__TOC__</div>
'''[[w:TCP/IP|Стеком протоколов TCP/IP]]''' называют набор [[w:Сетевой протокол|сетевых протоколов]], используемых в [[w:интернет|интернет]].


=== Искусственное дыхание «рот-в-рот» ===
В этом стеке различают несколько уровней, и протоколы высокого уровня всегда базируются на протоколах более низких уровней.
[[Изображение:ArificialBreath.JPG|thumb|260 px|right|Искусственное дыхание «рот-в-рот»]]
Наиболее эффективный способ искусственного дыхания.
# Спасите пострадавшего, уберите от него ток, если он им поражён, вытащите из воды при утоплении, обеспечьте его безопасность.
# Положите пострадавшего на спину. Откройте ему рот, следите, чтобы язык не закрывал гортань.
# Одной рукой удерживайте голову и шею пострадавшего, другой зажмите его нос. Глубоко вдохните и, плотно прижавшись ртом ко рту, сделайте выдох.
# Первые 5—10 выдохов делайте быстро (за 20—30 с), следующие— со скоростью 12—15 выдохов в минуту.
# Следите за движением грудной клетки пострадавшего: если после вашего выдоха в рот его грудная клетка поднялась, значит, дыхательные пути проходимы и искусственное дыхание вы делаете правильно.
# Если нет пульса, параллельно с искусственным дыханием необходимо делать массаж сердца.


=== Искусственное дыхание «рот-в-нос» ===
Проводится, если рот спасаемого повреждён или по каким-либо причинам нельзя использовать метод «рот-в-рот». Не так эффективно, как искусственное дыхание «рот-в-рот», «рот-в-нос» также способно спасти человека.


== См. также ==
В самом низу находятся ''физический уровень'' и ''канальный уровень''. Пример протокола — [[w:Ethernet|Ethernet]], описывающий передачу данных по [[w:Коаксиальный кабель|коаксиальному кабелю]] или [[w:Витая пара|витой паре]]. Протоколы этих уровней обычно реализуются на уровне железа, например в сетевой карте компьютера.
* [[Реанимация]]
* [[Искусственный массаж сердца]]


[[Категория:Дыхание]]

[[Категория:Медицина]]
Выше идёт ''сетевой уровень'', где находится протокол [[IP]], описывающий структуру сети и доставку пакетов.
[[Категория:Первая помощь]]

[[Категория:Искусственное дыхание]]
Ещё выше — ''транспортный уровень'', где находится протокол [[TCP]], использующийся для передачи данных. Эти протоколы обычно реализуются на уровне [[w:ОС|Операционной Системы]].


На самом верху находится множество протоколов ''прикладного уровня'', выполняющих конкретные прикладные задачи. Обычно они программируются в отдельных приложениях.

== IP ==
'''[[w:IP|IP]]''' — протокол, лежащий в основе интернета, его название так и расшифровывается: Internet Protocol.

Согласно протоколу, каждый узел в сети имеет свой [[w:IP адрес|IP адрес]], состоящий из 4х байт и обычно записываемый как <code>n.n.n.n</code>

Каждый узел напрямую «видит» только узлы в своей подсети, с «похожими» адресами (подробнее см. [[w:Маска подсети|Маска подсети]]). А другим узлам он передает пакеты через промежуточные узлы — [[w:Маршрутизатор|Маршрутизаторы]].

Посмотреть, как выглядит маршрут пакета от вашего компьютера к другим узлам, можно с помощью команды [[w:traceroute|traceroute]].

== TCP ==
'''[[w:TCP|TCP]]''' протокол базируется на IP для доставки пакетов, но добавляет две важные вещи:
* ''установление соединения'' — это позволяет ему, в отличие от IP, гарантировать доставку пакетов
* ''порты'' — для обмена пакетами между приложениями, а не просто узлами
Протокол TCP предназначен для обмена данными — это «надежный» протокол, потому что:
# Обеспечивает надежную доставку данных, так как предусматривает установления логического соединения;
# Нумерует пакеты и подтверждает их прием квитанцией, а в случае потери организовывает повторную передачу;
# Делит передаваемый поток байтов на части — сегменты - и передает их нижнему уровню, на приемной стороне снова собирает их в непрерывный поток байтов.

== TCP-соединение ==
'''Соединение''' начинается с handshake (рукопожатия):
# Узел A посылает узлу B специальный пакет SYN — приглашение к соединению
# B отвечает пакетом SYN-ACK — согласием об установлении соединения
# A посылает пакет ACK — подтверждение, что согласие получено

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

«Соединение» означает, что узлы помнят друг о друге, нумеруют все пакеты, идущие в обе стороны, посылают подтверждения о получении каждого пакета и перепосылают потерявшиеся по дороге пакеты.


Для узла A это соединение называется '''исходящим''', а для узла B — '''входящим'''.

Отметим, что эти термины не имеют никакого отношения к входящему или исходящему трафику. Они показывают только инициатора соединения, то есть направление самого первого пакета (SYN).
Любое установленное TCP соединение симметрично, и пакеты с данными по нему всегда идут в обе стороны.

<!--Когда один из узлов решает, что пора заканчивать соединение, он посылает специальный пакет FIN, после этого узлы прощаются и разрывают соединение.-->

== Порт ==
'''[[w:Порт (TCP/UDP)|Сетевой порт]]''' — условное число от 1 до 65535, указывающее, какому приложению предназначается пакет.
<!--Если прибегнуть к аналогии, то IP адрес - почтовый адрес дома, а порт - номер квартиры конкретного жильца. -->


Согласно IP, в каждом пакете присутствуют IP адрес узла-источника и IP адрес узла-назначения. В TCP пакетах дополнительно указываются ''порт источника'' и ''порт назначения''.


[[Файл:Tcp.port.server.png|right]]
Узел назначения, получив пакет, смотрит на порт назначения и передает пакет соответствующему у себя приложению.

Использование портов позволяет независимо использовать TCP протокол сразу многим приложениям на одном и том же компьютере.


{{wikipedia|Сетевые сервисы}}
[[w:Клиент|Клиентом]] называют приложение, которое пользуется каким-то сервисом, предоставляемым другим приложением — [[w:Сервер|Сервером]], обычно на удаленном компьютере. Практически всегда клиент начинает исходящие соединения, а сервер ожидает входящих соединений (от клиентов), хотя бывают и исключения.


Сервер при запуске сообщает [[w:ОС|Операционной Системе]], что хотел бы «занять» определенный порт (или несколько портов). После этого все пакеты, приходящие на компьютер к этому порту, ОС будет передавать этому серверу. Говорят, что сервер «слушает» этот порт.


[[Файл:Tcp.port.client.png|left]]
Клиент, начиная соединение, запрашивает у своей ОС какой-нибудь незанятый порт во временное пользование, и указывает его в посланных пакетах как порт источника. Затем на этот порт он получит ответные пакеты от сервера.
<br style="clear:both;" />


Таким образом, сервер:
* слушает на определённом порту, заранее известном клиенту
* занимает этот порт всё время, пока не завершит работу
* об IP адресе и номере порта клиента узнаёт из приглашения, посланного клиентом
Клиент:
* заранее знает IP адрес и порт сервера
* выбирает у себя произвольный порт, который освобождает после окончания соединения
* посылает приглашение к соединению

== UDP ==
'''[[w:UDP|UDP]]''' — это ещё один протокол транспортного уровня. Он тоже базируется на IP и тоже использует порты, но в отличие от TCP он не устанавливает соединений и не требует подтверждения получения каждого пакета.

Поэтому пакеты могут теряться или приходить в неправильном порядке. Зато этот протокол быстрее и использует меньше ресурсов.

На UDP обычно базируют прикладные протоколы, которым скорость доставки данных важнее надежности, например для передачи потокового видео, [[w:VoIP|общения голосом]] или [[w:Игра реального времени|онлайновых игр]].

== Прикладные протоколы ==
Большинство прикладных протоколов базируется на TCP.

У многих протоколов прикладного уровня для серверов определены '''стандартные порты''', используемые по умолчанию. Самые известные прикладные протоколы и их стандартные порты:

* [[w:HTTP|HTTP]] — основой протокол [[w:Всемирная паутина|всемирной паутины]] (TCP порт 80)
* [[w:SMTP|SMTP]] — протокол пересылки почты (TCP порт 25)
* [[w:FTP|FTP]] — протокол передачи файлов (TCP порт 21)
* [[w:DNS|DNS]] — протокол сопоставления доменных имен IP адресам (UDP порт 53)

Благодаря использованию стандартных портов мы можем набирать в браузере адреса веб серверов и не указывать порт — наши браузеры сами добавляют стандартный номер порта. Например, адрес <code><nowiki>http://www.example.com/</nowiki></code> на самом деле полностью выглядит так: <code><nowiki>http://www.example.com:80/</nowiki></code>

Разумеется, стандартный — не значит обязательный. Практически во всех прикладных протоколах можно указать серверу слушать произвольный номер порта. Правда, тогда этот номер уже указывать обязательно, например <code><nowiki>http://www.example.com:8080/</nowiki></code>

<!-- imho не совсем по теме и уже уровнем сложнее

Порты в диапазоне от 1 до 1023 называются ''хорошо известными''. Службы, которыми используются эти порты, должы быть описаны как [[w:RFC|RFC]] и одобренны [[w:IESG|IESG]]. Далее идут ''зарегистрированные порты'' (1024 - 49151). Их вы можете зарегестрировать в [[w:IANA|IANA]] (эта организация как раз занимется всем этим) один или несколько из этих портов под свою программу. Оставшиеся порты с 49152 по 65536 можно использовать без какой-либо регистрации.

*{{Inet-note-ref|type=ann|id=port-numbers|text=Номера портов (IANA)}}
<br style="clear:both;" />


== URI ==
Чтобы указать на документ, расположенный в сети, используется [[w:URI|URI]]. Он имеет вид: [http://ru.wikibooks.org/wiki/TCP/IP http://ru.wikibooks.org/wiki/TCP/IP]. Первая чать адреса (от начала до двоеточия) называется ''схемой'' (http в нашем случае). Дальше идёт часть, зависящая от схемы.
-->
{{Википедия}}
[[Категория:Компьютерные сети]]

Версия от 08:25, 8 ноября 2009

Искусственное дыхание — комплекс мер, направленных на поддержание оборота воздуха через легкие у человека (или животного), переставшего дышать. Может производиться с помощью аппарата искусственного дыхания, либо человеком (дыхание изо рта в рот). Обычно совмещается с искусственным массажем сердца. Типичные ситуации, в которых требуется искусственное дыхание: несчастные случаи в результате автомобильных аварий, происшествия на воде, поражение электрическим током, утопление. Аппарат искусственного дыхания используется также в хирургических операциях.

Искусственное дыхание «рот-в-рот»

Файл:ArificialBreath.JPG
Искусственное дыхание «рот-в-рот»

Наиболее эффективный способ искусственного дыхания.

  1. Спасите пострадавшего, уберите от него ток, если он им поражён, вытащите из воды при утоплении, обеспечьте его безопасность.
  2. Положите пострадавшего на спину. Откройте ему рот, следите, чтобы язык не закрывал гортань.
  3. Одной рукой удерживайте голову и шею пострадавшего, другой зажмите его нос. Глубоко вдохните и, плотно прижавшись ртом ко рту, сделайте выдох.
  4. Первые 5—10 выдохов делайте быстро (за 20—30 с), следующие— со скоростью 12—15 выдохов в минуту.
  5. Следите за движением грудной клетки пострадавшего: если после вашего выдоха в рот его грудная клетка поднялась, значит, дыхательные пути проходимы и искусственное дыхание вы делаете правильно.
  6. Если нет пульса, параллельно с искусственным дыханием необходимо делать массаж сердца.

Искусственное дыхание «рот-в-нос»

Проводится, если рот спасаемого повреждён или по каким-либо причинам нельзя использовать метод «рот-в-рот». Не так эффективно, как искусственное дыхание «рот-в-рот», «рот-в-нос» также способно спасти человека.

См. также