01.0 (Конспект) TCPIP_Overview
Поговорим о том, как устроена компьютерная сеть. В начале нужно придумать как данные будут передаваться прежде, чем объединять компьютеры в какую-то сеть. Первое что нужно придумать что будет медиа, то есть что будет носителем; в качестве медиа могут выступать провода. Важно, насколько качественно происходит передача данных по этим медиа. Например, кодирование по проводу (0 и 1) имеет две проблемы. Первая проблема состоит в том, что очень трудно отлавливать переключение с нуля на ноль, и из-за любых шумов распознаватель этих 0 и 1 будет их распознавать там, где не нужно. Также нужно договорится о том с какой скорость эти 0 и 1 меняются. Появляется вопрос о том, что является данными, а что не является.
Кодирование решает такие задачи – оптимальный подбор избыточной информации для восстановления ошибок, договоренность о том какой формат данных используется при передаче по вашему носителю – важно, что на этом уровне мы решаем аппаратные проблемы организации самой среды передачи данных.
Пока мы не решили проблему как воткнуть этот провод в компьютер. Например, витая пара состоит из 8 проводов, из которых сигнал передают 4, а другие 4 это просто заземление, то есть из эти 4 провода с сигналом скручен в пару с собственным заземлением для того, чтобы как можно меньше шуметь на соседей.
Прежде чем объединить два компьютера нужно договориться о том, как будет происходить совместное использование этой среды. Есть два решения этого вопроса – сеть с коммутацией каналов и сеть с коммутацией пакетов. Сеть с коммутацией каналов это когда есть несколько каналов связи между компьютерами (например все компьютеры связаны со всеми) и для того чтобы компьютер А передал информацию компьютеру Б он берет канал который связывает с компьютером Б, передает по нему информацию, соответствующий софт который знает что такое маркер начала передачи данных ловят этот факт со стороны компьютера Б и получает ее вплоть до того момента когда компьютер А не пошлет маркер конца. Если каждый с каждым это бесконечно много (то есть таких каналов не хватает на всех), то мы получаем модель телефонной станции 50-ти летней давности. Что такое сеть коммутации пакетов? Это единая среда передачи данных, к которой подключены все абоненты нашей сети, но посылают они данные в неё не от начала до конца большим куском, а разрезая на кусочки, которые называются пакеты. При этом мы должны решить кто и как посылает (в каком порядке). И здесь возникают те две проблемы, которые нужно решить на уровне подключения к среде передачи данных. Первая проблема состоит в том, чтобы для начала определить процедуру абонирования этого канала и некоторого промежуточного агента, который канал будет раздавать и забирать или для начала описать что такое пакет, совершить акт, который называется инкапсуляция.
У сетивиков 8 битов называются оксет, так как как все это придумывалось в байте бывало то 7, то и 6 битов.
По дисциплине использования изернета. Идея состоит в том, что любое устройство в любое время захочет передавать свой собственный пакет, поэтому сетевое устройство (то место куда мы втыкаем изернет) оборудовано специальной штукой, которая определяет в данный момент идет ли передача данных по сети или нет. То есть если в данный момент передача данных по сети идет, то сетевое устройство ждет случайное время прежде чем начать передачу (вернее прежде чем послушать еще а занята ли среда после этого). Протокол изернета достаточно гибкий для того, чтобы среда передачи данных, которая под ним была любая (wifi это изернет, толстая медь).
Следующий уровень нескольких сред передачи данных в единое сетевое пространство. Проблемы: индификация(адресация) абонента глобальной сети, проблема организации методов доставки, решить проблему маршрутизации. Эти проблемы могут решаться по-разному – например, если сеть небольшая или она очень статичная, то задача маршрутизации будет заключатся в том, что все абоненты будут помнить все маршруты до любых абонентов которые нужны.
Следующий уровень — это уровень работы с потоками данных – здесь мы решаем две задачи –решаем задачу цельности передаваемых данных, управление свойствами этого потока данных. Есть задачи интерпретации данных. На уровне интерпретации у нас работают приложения, и они посылают друг другу какой-то протокол и дальше интерпретирует этот самый протокол и думают, как он должен быть обработан. Есть протокол DNS которая преобразует доменные имена в адреса.