DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Передача данных по сети

Итак, теперь вы имеете представление об основных сетевых топологиях и некоторых распространенных типах сетей. Все это интересно, но каким образом почтовое сообщение (или файл), которое вы захотите мне послать, попадет в место назначения? Вы можете находиться в Лондоне, а я в Вене, штат Вирджиния. Между нами огромное расстояние! Чтобы начать объяснение того, как данные передаются по сети, мы должны рассмотреть потенциальные ограничения, которые могут влиять на передачу данных.
Жизнь — это скоростное шоссе
Выезжая утром из дома, я попадаю на улицу с односторонним движением, где одна полоса предназначена для парковки, а другая — для движения. На первом перекрестке я поворачиваю на другую улицу, где достаточно места и для парковки на обеих сторонах, и для движения в обоих направлениях. Я доезжаю до светофора в конце этой улицы и выезжаю на магистраль с тремя полосами для движения в каждом направлении и разделителем посередине. Эта дорога ведет к магистрали, имеющей по шесть полос в каждом направлении. На узкой улице, по которой я ехала в самом начале, скорость ограничена 15 милями в час, тогда как на магистрали установлено ограничение 55 миль в час. Когда мне нужно попасть в местный супермаркет, я еду по магистрали до нужного съезда. Если в это время проводится большая распродажа, то таких, как я, может оказаться много. Это значит, что машины из всех шести рядов будут перестраиваться на одну или две полосы, с которых организован съезд. Возможно, мне придется довольно долго простоять в пробке, чтобы попасть на стоянку перед супермаркетом. Конечно, после этого еще нужно найти свободное место, но это уже совсем другая история.
Компьютерная сеть во многом похожа на дорожную. Кабели рассчитаны на передачу разного объема трафика, поэтому общая скорость пересылки данных по сети будет определяться самым "узким" местом. Скорость, с которой кабель может передавать данные, называется пропускной способностью. Разные участки сети могут иметь разную пропускную способность. Теперь представим, что вы хотите переслать по сети огромный файл, а мне в то же самое время нужно передать небольшое сообщение. Будет несправедливо, если вы полностью загрузите систему
пересылкой своего файла, а мне придется ждать.
Хотя сети работают достаточно быстро, передача каждой порции данных все равно занимает какое-то время. Как же нам организовать одновременную отправку своих данных? Нет ничего проще! Каждое сообщение при передаче разбивается на последовательность пакетов.
Следовательно, большой файл превращается во множество мелких пакетов, и это позволяет передавать наши файлы практически одновременно.
В каждый пакет включается информация, на основе которой принимающая сторона может собрать исходный файл в правильном порядке, поэтому пакеты, относящиеся к разным сообщениям, могут чередоваться.
Что еще, кроме данных, должно входить в состав каждого пакета, чтобы принимающая сторона могла собрать исходное сообщение? Пакет должен содержать информацию о том, откуда он был отправлен и кому предназначен, порядковый номер и информацию для обработки ошибок.
Фактически пакет состоит из трех частей: заголовка, поля данных и заключительной части. Заголовок содержит адреса источника и назначения, а также управляющую информацию. Поле данных содержит саму передаваемую информацию и обычно имеет размер от 512 байтов до 4 Кбайт. В заключительной части находится прочая необходимая информация, в том числе и для обработки ошибок, помогающая убедиться, что данные были переданы без искажений.
Каким        компьютер может убедиться в том, что принятые им данные в точности соответствуют посланным? Для этого применяется так называемая циклическая проверкачетности с избыточностью (cyclical redundancy check, CRC). Компьютер, передающий данные, вычисляет по ним некоторое значение. Это значение включается в пакет. Принимающий компьютер также вычисляет значение по содержимому пакета и сравнивает его с тем, которое было послано передающим компьютером. Если оба значения совпадают, то данные можно считать достоверными. В противном случае принимающий компьютер будет использовать содержащуюся в пакете информацию для обработки ошибок, чтобы разрешить проблему. Существует несколько стандартов, детально описывающих процедуры вычисления контрольного значения и способы обработки ошибок.
 









jAntivirus