Всем привет. На днях возникла идея написать статьи про основы компьютерных сетей, разобрать работу самых важных протоколов и как строятся сети простым языком. Заинтересовавшихся приглашаю под кат.
Немного оффтопа: Приблизительно месяц назад сдал экзамен CCNA (на 980/1000 баллов) и осталось много материала за год моей подготовки и обучения. Учился я сначала в академии Cisco около 7 месяцев, а оставшееся время вел конспекты по всем темам, которые были мною изучены. Также консультировал многих ребят в области сетевых технологий и заметил, что многие наступают на одни и те же грабли, в виде пробелов по каким-то ключевым темам. На днях пару ребят попросили меня объяснить, что такое сети и как с ними работать. В связи с этим решил максимально подробно и простым языком описать самые ключевые и важные вещи. Статьи будут полезны новичкам, которые только встали на путь изучения. Но, возможно, и бывалые сисадмины подчеркнут из этого что-то полезное. Так как я буду идти по программе CCNA, это будет очень полезно тем людям, которые готовятся к сдаче. Можете держать статьи в виде шпаргалок и периодически их просматривать. Я во время обучения делал конспекты по книгам и периодически читал их, чтобы освежать знания.
Вообще хочу дать всем начинающим совет. Моей первой серьезной книгой, была книга Олиферов «Компьютерные сети». И мне было очень тяжело читать ее. Не скажу, что все было тяжело. Но моменты, где детально разбиралось, как работает MPLS или Ethernet операторского класса, вводило в ступор. Я читал одну главу по несколько часов и все равно многое оставалось загадкой. Если вы понимаете, что какие то термины никак не хотят лезть в голову, пропустите их и читайте дальше, но ни в коем случае не отбрасывайте книгу полностью. Это не роман или эпос, где важно читать по главам, чтобы понять сюжет. Пройдет время и то, что раньше было непонятным, в итоге станет ясно. Здесь прокачивается «книжный скилл». Каждая следующая книга, читается легче предыдущей книги. К примеру, после прочтения Олиферов «Компьютерные сети», читать Таненбаума «Компьютерные сети» легче в несколько раз и наоборот. Потому что новых понятий встречается меньше. Поэтому мой совет: не бойтесь читать книги. Ваши усилия в будущем принесут плоды. Заканчиваю разглагольствование и приступаю к написанию статьи.
Итак, начнем с основных сетевых терминов.
Что такое сеть? Это совокупность устройств и систем, которые подключены друг к другу (логически или физически) и общающихся между собой. Сюда можно отнести сервера, компьютеры, телефоны, маршрутизаторы и так далее. Размер этой сети может достигать размера Интернета, а может состоять всего из двух устройств, соединенных между собой кабелем. Чтобы не было каши, разделим компоненты сети на группы:
1) Оконечные узлы: Устройства, которые передают и/или принимают какие-либо данные. Это могут быть компьютеры, телефоны, сервера, какие-то терминалы или тонкие клиенты, телевизоры.
2) Промежуточные устройства: Это устройства, которые соединяют оконечные узлы между собой. Сюда можно отнести коммутаторы, концентраторы, модемы, маршрутизаторы, точки доступа Wi-Fi.
3) Сетевые среды: Это те среды, в которых происходит непосредственная передача данных. Сюда относятся кабели, сетевые карточки, различного рода коннекторы, воздушная среда передачи. Если это медный кабель, то передача данных осуществляется при помощи электрических сигналов. У оптоволоконных кабелей, при помощи световых импульсов. Ну и у беспроводных устройств, при помощи радиоволн.
Посмотрим все это на картинке:
На данный момент надо просто понимать отличие. Детальные отличия будут разобраны позже.
Теперь, на мой взгляд, главный вопрос: Для чего мы используем сети? Ответов на этот вопрос много, но я освещу самые популярные, которые используются в повседневной жизни:
1) Приложения: При помощи приложений отправляем разные данные между устройствами, открываем доступ к общим ресурсам. Это могут быть как консольные приложения, так и приложения с графическим интерфейсом.
2) Сетевые ресурсы: Это сетевые принтеры, которыми, к примеру, пользуются в офисе или сетевые камеры, которые просматривает охрана, находясь в удаленной местности.
3) Хранилище: Используя сервер или рабочую станцию, подключенную к сети, создается хранилище доступное для других. Многие люди выкладывают туда свои файлы, видео, картинки и открывают общий доступ к ним для других пользователей. Пример, который на ходу приходит в голову, — это google диск, яндекс диск и тому подобные сервисы.
4) Резервное копирование: Часто, в крупных компаниях, используют центральный сервер, куда все компьютеры копируют важные файлы для резервной копии. Это нужно для последующего восстановления данных, если оригинал удалился или повредился. Методов копирования огромное количество: с предварительным сжатием, кодированием и так далее.
5) VoIP: Телефония, работающая по протоколу IP. Применяется она сейчас повсеместно, так как проще, дешевле традиционной телефонии и с каждым годом вытесняет ее.
Из всего списка, чаще всего многие работали именно с приложениями. Поэтому разберем их более подробно. Я старательно буду выбирать только те приложения, которые как-то связаны с сетью. Поэтому приложения типа калькулятора или блокнота, во внимание не беру.
1) Загрузчики. Это файловые менеджеры, работающие по протоколу FTP, TFTP. Банальный пример — это скачивание фильма, музыки, картинок с файлообменников или иных источников. К этой категории еще можно отнести резервное копирование, которое автоматически делает сервер каждую ночь. То есть это встроенные или сторонние программы и утилиты, которые выполняют копирование и скачивание. Данный вид приложений не требует прямого человеческого вмешательства. Достаточно указать место, куда сохранить и скачивание само начнется и закончится.
Скорость скачивания зависит от пропускной способности. Для данного типа приложений это не совсем критично. Если, например, файл будет скачиваться не минуту, а 10, то тут только вопрос времени, и на целостности файла это никак не скажется. Сложности могут возникнуть только когда нам надо за пару часов сделать резервную копию системы, а из-за плохого канала и, соответственно, низкой пропускной способности, это занимает несколько дней. Ниже приведены описания самых популярных протоколов данной группы:
FTP- это стандартный протокол передачи данных с установлением соединения. Работает по протоколу TCP (этот протокол в дальнейшем будет подробно рассмотрен). Стандартный номер порта 21. Чаще всего используется для загрузки сайта на веб-хостинг и выгрузки его. Самым популярным приложением, работающим по этому протоколу — это Filezilla. Вот так выглядит само приложение:
TFTP- это упрощенная версия протокола FTP, которая работает без установления соединения, по протоколу UDP. Применяется для загрузки образа бездисковыми рабочими станциями. Особенно широко используется устройствами Cisco для той же загрузки образа и резервных копий.
Интерактивные приложения. Приложения, позволяющие осуществить интерактивный обмен. Например, модель «человек-человек». Когда два человека, при помощи интерактивных приложений, общаются между собой или ведут общую работу. Сюда относится: ICQ, электронная почта, форум, на котором несколько экспертов помогают людям в решении вопросов. Или модель «человек-машина». Когда человек общается непосредственно с компьютером. Это может быть удаленная настройка базы, конфигурация сетевого устройства. Здесь, в отличие от загрузчиков, важно постоянное вмешательство человека. То есть, как минимум, один человек выступает инициатором. Пропускная способность уже более чувствительна к задержкам, чем приложения-загрузчики. Например, при удаленной конфигурации сетевого устройства, будет тяжело его настраивать, если отклик от команды будет в 30 секунд.
Приложения в реальном времени. Приложения, позволяющие передавать информацию в реальном времени. Как раз к этой группе относится IP-телефония, системы потокового вещания, видеоконференции. Самые чувствительные к задержкам и пропускной способности приложения. Представьте, что вы разговариваете по телефону и то, что вы говорите, собеседник услышит через 2 секунды и наоборот, вы от собеседника с таким же интервалом. Такое общение еще и приведет к тому, что голоса будут пропадать и разговор будет трудноразличимым, а в видеоконференция превратится в кашу. В среднем, задержка не должна превышать 300 мс. К данной категории можно отнести Skype, Lync, Viber (когда совершаем звонок).
Теперь поговорим о такой важной вещи, как топология. Она делится на 2 большие категории: физическая и логическая. Очень важно понимать их разницу. Итак, физическая топология — это как наша сеть выглядит. Где находятся узлы, какие сетевые промежуточные устройства используются и где они стоят, какие сетевые кабели используются, как они протянуты и в какой порт воткнуты. Логическая топология — это каким путем будут идти пакеты в нашей физической топологии. То есть физическая — это как мы расположили устройства, а логическая — это через какие устройства будут проходить пакеты.
Теперь посмотрим и разберем виды топологии:
1) Топология с общей шиной (англ. Bus Topology)
Одна из первых физических топологий. Суть состояла в том, что к одному длинному кабелю подсоединяли все устройства и организовывали локальную сеть. На концах кабеля требовались терминаторы. Как правило — это было сопротивление на 50 Ом, которое использовалось для того, чтобы сигнал не отражался в кабеле. Преимущество ее было только в простоте установки. С точки зрения работоспособности была крайне не устойчивой. Если где-то в кабеле происходил разрыв, то вся сеть оставалась парализованной, до замены кабеля.
2) Кольцевая топология (англ. Ring Topology)
В данной топологии каждое устройство подключается к 2-ум соседним. Создавая, таким образом, кольцо. Здесь логика такова, что с одного конца компьютер только принимает, а с другого только отправляет. То есть, получается передача по кольцу и следующий компьютер играет роль ретранслятора сигнала. За счет этого нужда в терминаторах отпала. Соответственно, если где-то кабель повреждался, кольцо размыкалось и сеть становилась не работоспособной. Для повышения отказоустойчивости, применяют двойное кольцо, то есть в каждое устройство приходит два кабеля, а не один. Соответственно, при отказе одного кабеля, остается работать резервный.
3) Топология звезда (англ. Star Topology)
Все устройства подключаются к центральному узлу, который уже является ретранслятором. В наше время данная модель используется в локальных сетях, когда к одному коммутатору подключаются несколько устройств, и он является посредником в передаче. Здесь отказоустойчивость значительно выше, чем в предыдущих двух. При обрыве, какого либо кабеля, выпадает из сети только одно устройство. Все остальные продолжают спокойно работать. Однако если откажет центральное звено, сеть станет неработоспособной.
4)Полносвязная топология (англ. Full-Mesh Topology)
Все устройства связаны напрямую друг с другом. То есть с каждого на каждый. Данная модель является, пожалуй, самой отказоустойчивой, так как не зависит от других. Но строить сети на такой модели сложно и дорого. Так как в сети, в которой минимум 1000 компьютеров, придется подключать 1000 кабелей на каждый компьютер.
5)Неполносвязная топология (англ. Partial-Mesh Topology)
Как правило, вариантов ее несколько. Она похожа по строению на полносвязную топологию. Однако соединение построено не с каждого на каждый, а через дополнительные узлы. То есть узел A, связан напрямую только с узлом B, а узел B связан и с узлом A, и с узлом C. Так вот, чтобы узлу A отправить сообщение узлу C, ему надо отправить сначала узлу B, а узел B в свою очередь отправит это сообщение узлу C. В принципе по этой топологии работают маршрутизаторы. Приведу пример из домашней сети. Когда вы из дома выходите в Интернет, у вас нет прямого кабеля до всех узлов, и вы отправляете данные своему провайдеру, а он уже знает куда эти данные нужно отправить.
6) Смешанная топология (англ. Hybrid Topology)
Самая популярная топология, которая объединила все топологии выше в себя. Представляет собой древовидную структуру, которая объединяет все топологии. Одна из самых отказоустойчивых топологий, так как если у двух площадок произойдет обрыв, то парализована будет связь только между ними, а все остальные объединенные площадки будут работать безотказно. На сегодняшний день, данная топология используется во всех средних и крупных компаниях.
И последнее, что осталось разобрать — это сетевые модели. На этапе зарождения компьютеров, у сетей не было единых стандартов. Каждый вендор использовал свои проприетарные решения, которые не работали с технологиями других вендоров. Конечно, оставлять так было нельзя и нужно было придумывать общее решение. Эту задачу взвалила на себя международная организация по стандартизации (ISO — International Organization for Standartization). Они изучали многие, применяемые на то время, модели и в результате придумали модель OSI, релиз которой состоялся в 1984 году. Проблема ее была только в том, что ее разрабатывали около 7 лет. Пока специалисты спорили, как ее лучше сделать, другие модели модернизировались и набирали обороты. В настоящее время модель OSI не используют. Она применяется только в качестве обучения сетям. Мое личное мнение, что модель OSI должен знать каждый уважающий себя админ как таблицу умножения. Хоть ее и не применяют в том виде, в каком она есть, принципы работы у всех моделей схожи с ней.
Состоит она из 7 уровней и каждый уровень выполняет определенную ему роль и задачи. Разберем, что делает каждый уровень снизу вверх:
1) Физический уровень (Physical Layer): определяет метод передачи данных, какая среда используется (передача электрических сигналов, световых импульсов или радиоэфир), уровень напряжения, метод кодирования двоичных сигналов.
2) Канальный уровень (Data Link Layer): он берет на себя задачу адресации в пределах локальной сети, обнаруживает ошибки, проверяет целостность данных. Если слышали про MAC-адреса и протокол «Ethernet», то они располагаются на этом уровне.
3) Сетевой уровень (Network Layer): этот уровень берет на себя объединения участков сети и выбор оптимального пути (т.е. маршрутизация). Каждое сетевое устройство должно иметь уникальный сетевой адрес в сети. Думаю, многие слышали про протоколы IPv4 и IPv6. Эти протоколы работают на данном уровне.
4) Транспортный уровень (Transport Layer): Этот уровень берет на себя функцию транспорта. К примеру, когда вы скачиваете файл с Интернета, файл в виде сегментов отправляется на Ваш компьютер. Также здесь вводятся понятия портов, которые нужны для указания назначения к конкретной службе. На этом уровне работают протоколы TCP (с установлением соединения) и UDP (без установления соединения).
5) Сеансовый уровень (Session Layer): Роль этого уровня в установлении, управлении и разрыве соединения между двумя хостами. К примеру, когда открываете страницу на веб-сервере, то Вы не единственный посетитель на нем. И вот для того, чтобы поддерживать сеансы со всеми пользователями, нужен сеансовый уровень.
6) Уровень представления (Presentation Layer): Он структурирует информацию в читабельный вид для прикладного уровня. Например, многие компьютеры используют таблицу кодировки ASCII для вывода текстовой информации или формат jpeg для вывода графического изображения.
7) Прикладной уровень (Application Layer): Наверное, это самый понятный для всех уровень. Как раз на этом уроне работают привычные для нас приложения — e-mail, браузеры по протоколу HTTP, FTP и остальное.
Самое главное помнить, что нельзя перескакивать с уровня на уровень (Например, с прикладного на канальный, или с физического на транспортный). Весь путь должен проходить строго с верхнего на нижний и с нижнего на верхний. Такие процессы получили название инкапсуляция (с верхнего на нижний) и деинкапсуляция (с нижнего на верхний). Также стоит упомянуть, что на каждом уровне передаваемая информация называется по-разному.
На прикладном, представления и сеансовым уровнях, передаваемая информация обозначается как PDU (Protocol Data Units). На русском еще называют блоки данных, хотя в моем круге их называют просто данные).
Информацию транспортного уровня называют сегментами. Хотя понятие сегменты, применимо только для протокола TCP. Для протокола UDP используется понятие — датаграмма. Но, как правило, на это различие закрывают глаза.
На сетевом уровне называют IP пакеты или просто пакеты.
И на канальном уровне — кадры. С одной стороны это все терминология и она не играет важной роли в том, как вы будете называть передаваемые данные, но для экзамена эти понятия лучше знать. Итак, приведу свой любимый пример, который помог мне, в мое время, разобраться с процессом инкапсуляции и деинкапусуляции:
1) Представим ситуацию, что вы сидите у себя дома за компьютером, а в соседней комнате у вас свой локальный веб-сервер. И вот вам понадобилось скачать файл с него. Вы набираете адрес страницы вашего сайта. Сейчас вы используете протокол HTTP, которые работает на прикладном уровне. Данные упаковываются и спускаются на уровень ниже.
2) Полученные данные прибегают на уровень представления. Здесь эти данные структурируются и приводятся в формат, который сможет быть прочитан на сервере. Запаковывается и спускается ниже.
3) На этом уровне создается сессия между компьютером и сервером.
4) Так как это веб сервер и требуется надежное установление соединения и контроль за принятыми данными, используется протокол TCP. Здесь мы указываем порт, на который будем стучаться и порт источника, чтобы сервер знал, куда отправлять ответ. Это нужно для того, чтобы сервер понял, что мы хотим попасть на веб-сервер (стандартно — это 80 порт), а не на почтовый сервер. Упаковываем и спускаем дальше.
5) Здесь мы должны указать, на какой адрес отправлять пакет. Соответственно, указываем адрес назначения (пусть адрес сервера будет 192.168.1.2) и адрес источника (адрес компьютера 192.168.1.1). Заворачиваем и спускаем дальше.
6) IP пакет спускается вниз и тут вступает в работу канальный уровень. Он добавляет физические адреса источника и назначения, о которых подробно будет расписано в последующей статье. Так как у нас компьютер и сервер в локальной среде, то адресом источника будет являться MAC-адрес компьютера, а адресом назначения MAC-адрес сервера (если бы компьютер и сервер находились в разных сетях, то адресация работала по-другому). Если на верхних уровнях каждый раз добавлялся заголовок, то здесь еще добавляется концевик, который указывает на конец кадра и готовность всех собранных данных к отправке.
7) И уже физический уровень конвертирует полученное в биты и при помощи электрических сигналов (если это витая пара), отправляет на сервер.
Процесс деинкапсуляции аналогичен, но с обратной последовательностью:
1) На физическом уровне принимаются электрические сигналы и конвертируются в понятную битовую последовательность для канального уровня.
2) На канальном уровне проверяется MAC-адрес назначения (ему ли это адресовано). Если да, то проверяется кадр на целостность и отсутствие ошибок, если все прекрасно и данные целы, он передает их вышестоящему уровню.
3) На сетевом уровне проверяется IP адрес назначения. И если он верен, данные поднимаются выше. Не стоит сейчас вдаваться в подробности, почему у нас адресация на канальном и сетевом уровне. Это тема требует особого внимания, и я подробно объясню их различие позже. Главное сейчас понять, как данные упаковываются и распаковываются.
4) На транспортном уровне проверяется порт назначения (не адрес). И по номеру порта, выясняется какому приложению или сервису адресованы данные. У нас это веб-сервер и номер порта — 80.
5) На этом уровне происходит установление сеанса между компьютером и сервером.
6) Уровень представления видит, как все должно быть структурировано и приводит информацию в читабельный вид.
7) И на этом уровне приложения или сервисы понимают, что надо выполнить.
Много было написано про модель OSI. Хотя я постарался быть максимально краток и осветить самое важное. На самом деле про эту модель в Интернете и в книгах написано очень много и подробно, но для новичков и готовящихся к CCNA, этого достаточно. Из вопросов на экзамене по данной модели может быть 2 вопроса. Это правильно расположить уровни и на каком уровне работает определенный протокол.
Как было написано выше, модель OSI в наше время не используется. Пока разрабатывалась эта модель, все большую популярность получал стек протоколов TCP/IP. Он был значительно проще и завоевал быструю популярность.
Вот так этот стек выглядит:
Как видно, он отличается от OSI и даже сменил название некоторых уровней. По сути, принцип у него тот же, что и у OSI. Но только три верхних уровня OSI: прикладной, представления и сеансовый объединены у TCP/IP в один, под названием прикладной. Сетевой уровень сменил название и называется — Интернет. Транспортный остался таким же и с тем же названием. А два нижних уровня OSI: канальный и физический объединены у TCP/IP в один с названием — уровень сетевого доступа. Стек TCP/IP в некоторых источниках обозначают еще как модель DoD (Department of Defence). Как говорит википедия, была разработана Министерством обороны США. Этот вопрос встретился мне на экзамене и до этого я про нее ничего не слышал. Соответственно вопрос: «Как называется сетевой уровень в модели DoD?», ввел меня в ступор. Поэтому знать это полезно.
Было еще несколько сетевых моделей, которые, какое то время держались. Это был стек протоколов IPX/SPX. Использовался с середины 80-х годов и продержался до конца 90-х, где его вытеснила TCP/IP. Был реализован компанией Novell и являлся модернизированной версией стека протоколов Xerox Network Services компании Xerox. Использовался в локальных сетях долгое время. Впервые IPX/SPX я увидел в игре «Казаки». При выборе сетевой игры, там предлагалось несколько стеков на выбор. И хоть выпуск этой игры был, где то в 2001 году, это говорило о том, что IPX/SPX еще встречался в локальных сетях.
Еще один стек, который стоит упомянуть — это AppleTalk. Как ясно из названия, был придуман компанией Apple. Создан был в том же году, в котором состоялся релиз модели OSI, то есть в 1984 году. Продержался он совсем недолго и Apple решила использовать вместо него TCP/IP.
Также хочу подчеркнуть одну важную вещь. Token Ring и FDDI — не сетевые модели! Token Ring — это протокол канального уровня, а FDDI это стандарт передачи данных, который как раз основывается на протоколе Token Ring. Это не самая важная информация, так как эти понятия сейчас не встретишь. Но главное помнить о том, что это не сетевые модели.
Вот и подошла к концу статья по первой теме. Хоть и поверхностно, но было рассмотрено много понятий. Самые ключевые будут разобраны подробнее в следующих статьях. Надеюсь теперь сети перестанут казаться чем то невозможным и страшным, а читать умные книги будет легче). Если я что-то забыл упомянуть, возникли дополнительные вопросы или у кого есть, что дополнить к этой статье, оставляйте комментарии, либо спрашивайте лично. Спасибо за прочтение. Буду готовить следующую тему.
Краткий курс — основы компьютерных сетей. В этом материале я расскажу (сжато) об основах компьютерных сетей. Статья предназначена для начинающих, а так же будет полезна школьникам старших классов и студентам. Начнем с базовых определений.
Сеть – совокупность систем связи и систем обработки информации, которая может использоваться несколькими пользователями.
Компьютерная сеть – сеть, в узлах которой содержатся компьютеры и оборудование коммуникации данных.
Вычислительная сеть – соединенная каналами связи система обработки данных, ориентированная на конкретного пользователя.
Компьютерная сеть — представляет собой систему распределенной обработки информации. Что тут важно. Важно то, что в распределенной системе не важно откуда и с какого устройства вы заходите. Вы можете войти в сеть с любого устройства (персональный компьютер, ноутбук, планшетный компьютер, телефон) из любой точки мира где есть интернет.
Краткая история развития компьютерных сетей
Компьютерные сети появились в результате развития телекоммуникационных технологий и компьютерной техники. То есть появились компьютеры. Они развивались. Были телекоммуникационные системы, телеграф, телефон, то есть связь. И вот люди думали, хорошо было бы если бы компьютеры могли обмениваться информацией между собой. Эта идея стала основополагающей идеей благодаря которой появились компьютерные сети.
50-е годы: мейнфреймы
В 50-х года 20-го века появились первые «компьютеры» — мейнфреймы. Это были большие вычислительные машины которые могли занимать по площади современный спортивный зал. Вычислительные мощности были не большие, но факт в том что вычисления уже производила машина.
Начало 60-х годов: многотерминальные системы
В дальнейшем к одному мейнфрейму стали подключать несколько устройств ввода-вывода, появился прообраз нынешних терминальных систем да и сетей в целом.
70-е годы: первые компьютерные сети
?0-е годы, время холодной войны. СССР и США сидели возле своих ракет и думали кто же атакует (или не атакует) первым. Центры управления ракетами США располагались в разных местах удаленных друг от друга. Если в одном центре производится запуск ракет, после которого в центр попадает ракета врага, то вся информация в этом центре — утеряна. Управление перспективных исследовательских проектов Министерства обороны США (Defense Advanced Research Projects Agency (DARPA)) ставит перед учеными задачу — разработать технологию которая позволяла бы передавать информацию из одного стратегического центра в другой на случай его уничтожения.
В 1969 году появляется ARPANET (от англ. Advanced Research Projects Agency Network) — первая компьютерная сеть созданная на основе протокола IP который используется и по сей день. За 11 лет ARPANET развивается до сети способной обеспечить связь между стратегическими объектами вооруженных сил США.
Середина 70-х годов: большие интегральные схемы
На основе интегральных схем появляются «мини компьютеры». Они начинают выходить за пределы министерства обороны и постепенно внедряются в повседневную жизнь. За компьютерами начинают работать бухгалтера, менеджеры, компьютеры начинают управлять производством. Появляются первые локальные сети.
Локальная сеть (Local Area Network, LAN) – объединение компьютеров, сосредоточенных на небольшой территории. В общем случае локальная сеть представляет собой коммуникационную систему, принадлежащую
одной организации.Сетевая технология – согласованный набор программных и аппаратных средств (драйверов, сетевых адаптеров, кабелей и разъемов), а также механизмов передачи данных по линиям связи, достаточный для построения вычислительной сети.
В период с 80-х до начала 90-х годов появились и прочно вошли в нашу жизнь:
- Ethernet.
- Token Ring.
- Arcnet.
- FDDI (Fiber Distributed Data Interface) — волоконнооптический интерфейс передачи данных.
- TCP/IP используется в ARPANET.
- Ethernet становится лидером среди сетевых технологий.
- В 1991 году появился интернет World Wide Web.
Общие принципы построения сетей
Со временем основной целью компьютерных развития сетей (помимо передачи информации) стала цель распределенного использования информационных ресурсов:
- Периферийных устройств: принтеры, сканеры и т. д.
- Данных хранящихся в оперативной памяти устройств.
- Вычислительных мощностей.
Достичь эту цель помогали сетевые интерфейсы. Сетевые интерфейсы это определенная логическая и/или физическая граница между взаимодействующими независимыми объектами.
Сетевые интерфейсы разделяются на:
- Физические интерфейсы (порты).
- Логические интерфейсы (протоколы).
Порт
Из определения обычно ничего не ясно. Порт и порт, а что порт?
Начнем с того что порт это цифра. Например 21, 25, 80.
Это число записывается в заголовках протоколов транспортного уровня (об этом ниже). Порт указывает для какой программы предназначен тот или иной пакет (грубо говоря та или иная информация). Например, http-сервер работает через порт 80. Когда вы открываете браузер, вы отправляете запрос на веб-сервер через 80 порт и сервер понимает что это http запрос и вам нужен сервер который передаст вам страницу в формате html (ответ сервера).
Протокол
Протокол, например TCP/IP это адрес узла (компьютера) с указанием порта и передаваемых данных. Например что бы передать информацию по протоколу TCP/IP нужно указать следующие данные:
Адрес отправителя (Source address):
IP: 82.146.49.11
Port: 2049
Адрес получателя (Destination address):
IP: 195.34.32.111
Port: 53
Данные пакета:
…
Благодаря этим данным информация будет передана на нужный узел.
Пара клиент—сервер
Начнем с определений.
Клиент — это модуль, предназначенный для формирования и передачи сообщений-запросов к ресурсам удаленного компьютера от разных приложений с последующим приемом результатов из сети и передачей их соответствующим приложениям.
Сервер — это модуль, который постоянно, ожидает прихода из сети запросов от клиентов и, приняв запрос, пытается его обслужить, как правило, с участием
локальной ОС; один сервер может обслуживать запросы сразу нескольких клиентов (поочередно или одновременно)/
Проще говоря Сервер — это компьютер на котором установлена программа, или принтер. Клиент — это компьютер который подключается к программе, работает с ней и распечатывает какие-либо результаты, например.
При этом программа может быть установлена на Клиенте, а база данных программы на Сервере.
Топология физических сетей
Под топологией сети понимается конфигурация графа, вершинам которого соответствуют конечные узлы сети (например, компьютеры) и коммуникационной оборудование (например, маршрутизаторы), а ребрам – физические или информационные связи между вершинами.
- Полносвязная (а).
- Ячеистая (б).
- Кольцо (в).
- Звезда (г).
- Дерево (д).
- Шина (е).
Основных топологий сети 6. В целом тут все просто. На сегодняшний день наиболее распространенная топология — Дерево.
Адресация узлов сети
Множество всех адресов, которые являются допустимыми в рамках некоторой схемы адресации, называется адресным пространством. Адресное пространство может
иметь плоскую (линейную) организацию или иерархическую организацию.Для преобразования адресов из одного вида в другой используются специальные вспомогательные протоколы, которые называют протоколами разрешения адресов.
Коммутация
Соединение конечных узлов через сеть транзитных узлов называют коммутацией. Последовательность узлов, лежащих на пути от отправителя к получателю, образует маршрут.
Обобщенные задачи коммутации
- Определение информационных потоков, для которых требуется прокладывать маршруты.
- Маршрутизация потоков.
- Продвижение потоков, то есть распознавание потоков и их локальная коммутация на каждом транзитном узле.
- Мультиплексирование и демультиплексирование потоков.
Уровни сетевой модели OSI и уровни TCP/IP
(OSI) Open System Interconnection — многоуровневая модель взаимодействия открытых систем, состоящая из семи уровней. Каждый из семи уровней предназначен для выполнения одного из этапов связи.
Для упрощения структуры большинство сетей организуются в наборы уровней, каждый последующий возводится над предыдущим.
Целью каждого уровня является предоставление неких сервисов для вышестоящих уровней. При этом от них скрываются детали реализации предоставляемого сервиса.
Протокол – формализованное правило, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне, но в разных узлах.
Протоколы, реализующие модель OSI никогда не применялись на практике, но имена и номера уровней используются по сей день.
- Физический.
- Канальный.
- Сетевой.
- Транспортный.
- Сеансовый.
- Представления.
- Прикладной.
Для лучшего понимания приведу пример. Вы открываете страницу сайта в интернете. Что происходит?
Браузер (прикладной уровень) формирует запрос по протоколу HTTP (уровень представлений и сеансовый уровень), формируются пакеты, передаваемые на порт 80 (транспортный уровень), на IP адрес сервера (сетевой уровень). Эти пакеты передаются по сетевой карте компьютера в сеть (канальный и физический уровень).
Уровни OSI — краткий обзор
Физический уровень. Если коротко и просто, то на физическом уровне данные передаются в виде сигналов. Если передается число 1, то задача уровня передать число 1, если 0, то передать 0. Простейшее сравнение — связать два пластиковых стаканчика ниткой и говорить в них. Нитка передает вибрацию физически.
Канальный уровень. Канальный уровень это технология каким образом будут связаны узлы (передающий и принимающий), тут вспоминает топологию сетей: кольцо, шина, дерево. Данный уровень определяет порядок взаимодействия между большим количеством узлов.
Сетевой уровень. Объединяет несколько сетей канального уровня в одну сеть. Есть, например, у нас кольцо, дерево и шина, задача сетевого уровня объединить их в одну сеть, а именно — ввести общую адресацию. На этом уровне определяются правила передачи информации:
- Сетевые протоколы (IPv4 и IPv6).
- Протоколы маршрутизации и построения маршрутов.
Транспортный уровень обеспечивает надежность при передачи информации. Он контролирует отправку пакетов. Если пакет отправлен, то должно придти (на компьютер который отправлял пакет) уведомление об успешной доставке пакета. Если уведомление об успешной доставке не поступило то нужно отправить пакет еще раз. Например TCP и UDP.
Сеансовый уровень. Отвечает за управление сеансами связи. Производит отслеживание: кто, в какой момент и куда передает информацию. На этом уровне происходит синхронизация передачи данных.
Уровень представления. Уровень обеспечивает «общий язык» между узлами. Благодаря ему если мы передаем файл с расширением .doc, то все узлы понимают что это документ Word, а не музыка. На этом уровне к передаваемым пакетам данных добавляется потоковое шифрование.
Прикладной уровень. Осуществляет взаимодействие приложения (например браузера) с сетью.
Уровни TCP/IP
Набор протоколов TSP/IP основан на собственной модели, которая базируется на модели OSI.
- Прикладной, представления, сеансовый = Прикладной.
- Транспортный = Транспортный.
- Сетевой = Интернет.
- Канальный, физический = Сетевой интерфейс.
Уровень сетевого интерфейса
Уровень сетевого интерфейса (называют уровнем 2 или канальным уровнем) описывает стандартный метод связи между устройствами которые находятся в одном сегменте сети.
Сегмент сети — часть сети состоящая из сетевых интерфейсов, отделенных только кабелями, коммутаторами, концентраторами и беспроводными точками доступа.
Этот уровень предназначен для связи расположенных недалеко сетевых интерфейсов, которые определяются по фиксированным аппаратным адресам (например MAC-адресам).
Уровень сетевого интерфейса так же определяет физические требования для обмена сигналами интерфейсов, кабелей, концентраторов, коммутаторов и точек доступа. Это подмножество называют физическим уровнем (OSI), или уровнем 1.
Например, интерфейсы первого уровня это Ethernet, Token Ring, Point-to-Point Protocol (PPP) и Fiber Distributed Data Interface (FDDI).
Немного о Ethernet на примере кадра web-страницы
Пакеты Ethernet называют кадрами. Первая строка кадра состоит из слова Frame. Эта строка содержит общую информацию о кадре.
Далее в кадре располагается заголовок — Ethernet.
После заголовка кадра идет заголовок протокола IPv4, TCP и HTTP.
В конце идет заголовок HTTP с запросом GET (GET — один из вариантов запроса к веб-серверу).
Таким образом цель кадра — запрос содержимого веб-страницы которая находится на удаленном сервере.
В полном заголовке Ethernet есть такие значения как DestinationAddress и SourceAddress которые содержат MAC-адреса сетевых интерфейсов.
DestinationAddress показывает MAC шлюза в локальной сети, а не веб-сервера, так как протоколы 2-го уровня «не видят» дальше локальной сети.
Поле EthernetType указывает на следующий протокол более высокого уровня в кадре (IPv4).
Коммутаторы считывают адреса устройств локальной сети и ограничивают распространение сетевого трафика только этими адресами. Поэтому коммутаторы работают на уровне 2.
Уровень Интернета
Уровень интернета называют сетевым уровнем или уровнем 3. Он описывает схему адресации которая позволяет взаимодействовать устройствам в разных сетевых сегментах.
На уровне интернета преимущественно работает протокол IP, работающие на уровне 3 устройства — маршрутизаторы. Маршрутизатор читает адрес назначения пакета, а затем перенаправляет сообщение по соответствующему пути в пункт назначения. Подробнее о маршрутизации вы можете почитать в статье маршрутизация в windows.
Если адрес в пакете относится к локальной сети или является широковещательным адресом в локальной сети, то по умолчанию такой пакет просто отбрасывается. Поэтому говорят, что маршрутизаторы блокируют широковещание.
Стек TCP/IP реализован корпорацией Microsoft ну уровне интернета (3). Изначально на этом уровне использовался только один протокол IPv4, позже появился протокол IPv6.
IPv4
Протокол версии 4 отвечает за адресацию и маршрутизацию пакетов между узлами в десятках сегментах сети. IPv4 использует 32 разрядные адреса. 32 разрядные адреса имеют довольно ограниченное пространство, в связи с этим возникает дефицит адресов.
IPv6
Протокол версии 6 использует 128 разрядные адреса. Поэтому он может определить намного больше адресов. В интернете не все маршрутизаторы поддерживают IPv6. Для поддержки IPv6 в интернете используются туннельные протоколы.
В Windows по умолчанию включены обе версии протоколов.
Транспортный уровень
Транспортный уровень модели TCP/IP представляет метод отправки и получения данных устройствами. Так же он создает отметку о предназначении данных для определенного приложения. В TCP/IP входят два протокола транспортного уровня:
- Протокол TCP. Протокол принимает данные у приложения и обрабатывает их как поток байт.Байты группируются, нумеруются и доставляются на сетевой хост. Получатель подтверждает получение этих данных. Если подтверждение не получено, то отправитель отправляет данные заново.
- Протокол UDP.Этот протокол не предусматривает гарантию и подтверждение доставки данных. Если вам необходимо надежное подключение, то стоит использовать протокол TCP.
Прикладной уровень
Прикладной уровень — это этап связи на котором сетевые сервисы стандартизированы. Многие знают протоколы прикладного уровня: POP3, HTTP, Telnet, FTP и другие. Как правило программы работающие с этими протоколами имеют дружественный, интуитивно-понятный интерфейс.
Изучив этот материал вы изучили основы компьютерных сетей.
Подборка актуальных книг по современным сетям, где каждый — от новичка до профессионала — найдет для себя что-то полезное.
В. Олифер, Н. Олифер «Компьютерные сети. Принципы, технологии, протоколы. Учебник» (2016)
Эта книга — один из лучших российских учебников по сетям. Со времени выхода предыдущего издания она претерпела значительные переработки, включив в себя изменения, которые произошли в области компьютерных сетей за последние шесть лет:
- преодоление локальными и глобальными сетями рубежа скорости в 100 Гбит/c и освоение терабитных скоростей;
- повышение эффективности и гибкости первичных оптических сетей за счет появления реконфигурируемых мультиплексоров ввода-вывода (ROADM) и применения супер-каналов DWDM, работающих на основе гибкого частотного плана;
- развитие техники виртуализации сетевых функций и услуг, приведшей к распространению облачных сервисов;
- выход на первый план проблем безопасности.
Издание рекомендовано Министерством образования и науки Российской Федерации в качестве учебного пособия для студентов вузов, обучающихся на технических специальностях. Оно предназначено для студентов, аспирантов и технических специалистов, которые хотели бы получить базовые знания о принципах построения компьютерных сетей, понять особенности традиционных и перспективных технологий локальных и глобальных сетей, изучить способы создания крупных составных сетей и управления такими сетями.
Э. Таненбаум, Д. Уэзеролл «Компьютерные сети» 5-е изд. (2016)
Новейшее издание самой авторитетной книги по современным сетевым технологиям, написанное признанным экспертом в этой области Эндрю Таненбаумом в соавторстве с профессором Вашингтонского университета Дэвидом Уэзероллом.
Первая версия этой книги увидела свет в 1980 году. С тех пор данный труд стал классическим, каждое его издание неизменно становилось бестселлером.
В книге последовательно изложены основные концепции по компьютерным сетям, определяющие современное состояние и тенденции развития. Авторы подробнейшим образом объясняют устройство и принципы работы аппаратного и программного обеспечения, рассматривают все аспекты и уровни организации сетей — от физического до уровня прикладных программ. Изложение теоретических принципов дополняется яркими, показательными примерами функционирования Интернета и компьютерных сетей различного типа.
Пятое издание переработано и дополнено в соответствии с последними изменениями в сфере компьютерных сетей. В частности оно освещает беспроводные сети стандарта 802.12 и 802.16, сети 3G, пиринговые сети и многое другое.
Д. Куроуз, К. Росс «Компьютерные сети. Нисходящий подход» (2016)
Данная книга идеально подойдет начинающим изучение сетевых технологий. Она знакомит с основами построения и функционирования компьютерных сетей на примере пятиуровневой архитектуры сети Интернет. В ней описаны базовые компоненты сети, основные принципы передачи данных, технологии взаимодействия сетей между собой. Отдельная глава посвящена особенностям беспроводных сетей.
Весь материал книги сопровождается примерами и материалом для самостоятельного выполнения упражнений. Пособие универсально и подойдет как студентам, так и системным администраторам, а также всем желающим начать изучение компьютерных сетей или улучшить свои знания в этой области.
А. Сергеев «Основы локальных компьютерных сетей» (2016)
В этом учебном пособии рассматриваются теоретические основы и технологии по локальным компьютерным сетям и их построению. Излагаются вопросы:
- базовых понятий, моделей и способов построения компьютерных сетей;
- организации стека протоколов TCP/IP (IPv4 и IPv6);
- создания серверов общего доступа и служб для IP-сетей (DNS, электронная почта, веб и др.)
Отдельное внимание уделяется вопросам организации локальных сетей на Windows (рабочая группа и домен), физического построения кабельных и беспроводных локальных сетей.
Книга рекомендуется как учебное пособие для студентов, изучающих вопросы теории и практики построения компьютерных сетей, а также всем специалистам сферы компьютерных технологий.
Д. Куроуз, Т. Росс «Компьютерные сети. Настольная книга системного администратора» (2016)
Всемирно известная книга, пережившая шесть переизданий и на протяжении 15 лет возглавляющая рейтинги продаж по всему миру. Несмотря на свой долгий путь, она ничуть не утратила актуальности и продолжает оставаться незаменимым источником знаний для людей, чья работа связана с организацией компьютерных сетей.
Это издание расскажет:
- как функционирует интернет и локальные сети;
- как работают сетевые протоколы и службы;
- об алгоритмах маршрутизации;
- о сетевой безопасности и основах криптографии;
- об основах сетевой администрации.
А. Робачевский «Интернет изнутри. Экосистема глобальной сети» (2017)
Автор книги Андрей Робачевский работал в составе команды по созданию федеральной университетской компьютерной сети России RUNNet. Сейчас он руководит программами, направленными на улучшение безопасности и стабильности инфраструктуры глобального Интернета, а также является председателем программного комитета евразийской группы операторов ENOG.
Книга рассказывает об архитектуре и технологиях Интернета, фокусируясь на его основных компонентах: глобальной адресации и протоколе IP, системе доменных имен и глобальной межсетевой маршрутизации. Рассматриваются аспекты и принципы работы Всемирной сети, вопросы стандартизации, развития и безопасности основных систем Интернета. Обсуждается архитектурная эволюция Интернета в целом, а также связанные с ней вопросы внедрения новых протоколов и технологий.
Особое внимание уделено экосистеме Интернета, ее истории, а также основным организациям, включенным в систему принятия решений в Интернете.
С. Грингард «Интернет вещей. Будущее уже здесь» (2016)
Сэмюэл Грингард предлагает, не откладывая, отправиться в будущее и поразмыслить над важными вопросами, ответы на которые нам вскоре будут буквально жизненно необходимы.
Интернет вещей, умный дом и прочие вещи, еще совсем недавно казавшиеся научной фантастикой, сегодня стали одним из главных трендов текущего времени. Все необходимые технологии уже выходят в серийное производство.
Автор рассматривает перспективы дальнейшего развития интернета вещей, преимущества и угрозы, которые он в себе таит.
У. Одом «Официальное руководство Cisco по подготовке к сертификационным экзаменам CCNA ICND2 200-101. Маршрутизация и коммутация» (2016)
Настоящее академическое издание — исчерпывающий справочник и учебное пособие, знакомящие с фундаментальными концепциями настройки сетей, поиска и устранения неисправностей. Автор бестселлеров и опытный преподаватель Уэнделл Одом делится советами по подготовке к экзамену, помогая вам выявить свои слабые стороны, улучшить концептуальные знания и практические навыки по сетям.
Компания Cisco объявила об изменениях в сертификации CCENT и CCNA маршрутизация и коммутация (CCNA Routing and Switching), а также в связанных с ними экзаменах 100-101 ICND1, 200-101 ICND2 и 200-120 CCNA в начале 2013 года.
Для новичков в сертификации Cisco данное введение начинается с обсуждения основ.
Настоящая книга относится к серии Official Cert Guide Series издательства Cisco Press. Книги этой серии являются официальным первоисточником для подготовки к экзамену, предоставляют теоретические и практические материалы, которые помогут кандидатам на сертификат Cisco Career Certification выявить свои слабые стороны, сконцентрировать усилия по изучению и повысить уверенность в себе по мере приближения дня экзамена.
С веб-сайта книги можно скачать DVD-образ, который содержит около шестисот практических экзаменационных задач, эмулятор ICND2 Network Simulator Lite и 60-минутное обучающее видео.
Другие статьи по теме
6 книг по протоколам TCP/IP
5 книг по проектированию Web API
Компьютерные сети — основа Интернета и неотъемлемая часть технологического прогресса. Мы собрали в одной подборке книги, которые помогут как новичкам, так и более опытным специалистам узнать об устройстве Интернета, стеке протоколов TCP/IP, маршрутизации и многом другом.
Компьютерные сети
Книга «Компьютерные сети» Эндрю Таненбаума и Дэвида Уэзеролла уже стала классикой в сфере сетевых технологий. В ней авторы изложили основные концепции компьютерных сетей. Темы идут последовательно, начиная от физического уровня модели сети и заканчивая прикладным уровнем и безопасностью в сетях.
В пятом издании книги рассматриваются, в частности, беспроводные сети стандарта 802.12 и 802.16, сети 3G, технология RFID, CDN (инфраструктура доставки контента), пиринговые сети, потоковое вещание, интернет-телефония и многое другое.
Компьютерные сети: Принципы, технологии, протоколы
По учебнику «Компьютерные сети: Принципы, технологии, протоколы» во множестве российских вузов преподают дисциплину по компьютерным сетям. В книге подробно, без «воды» и доступным языком изложены многие аспекты сетей. Поэтому её можно использовать не только как пособие, но и как справочник.
Компьютерные сети. Нисходящий подход
В отличие от «Компьютерных сетей» Таненбаума, в книге «Компьютерные сети. Нисходящий подход» Джеймса Куроуза и Кита Росса тема рассматривается сверху вниз в модели сетевой архитектуры, начиная от прикладного уровня и заканчивая канальным. Также в книге авторы уделили внимание сетевой безопасности, администрированию вычислительных сетей, беспроводным и мультимедийным сетевым технологиям. Отлично подойдёт новичкам.
Интернет изнутри. Экосистема глобальной сети
Андрей Робачевский в своей книге рассказал о внутреннем строении Интернета, в частности, о глобальной адресации и IP, системе доменных имен (DNS) и глобальной межсетевой маршрутизации. Также в книге рассматриваются архитектурная эволюция Интернета и его будущее, основные организации, регулирующие глобальную Сеть, а также вопросы стандартизации, развития и безопасности основных систем Интернета.
Автор часто переходит с одной темы на другую и использует малоизвестные термины, поэтому книга больше подойдёт опытным специалистам по компьютерным сетям.
Официальное руководство Cisco по подготовке к сертификационным экзаменам CCNA ICND2 200-105: маршрутизация и коммутация
Опытный преподаватель Уэнделл Одом написал множество книг по компьютерным сетям от издательства Cisco Press, включая книги для подготовки к экзаменам CCNA и по технологиям Cisco QOS, а также принимал участие в написании руководства по подготовке к экзамену CCIE. С 1981 года он работал сетевым инженером, консультантом, системным инженером, инструктором и создателем курсов по компьютерным сетям. Сейчас же он занимается проектированием и разработкой средств сертификации. Его богатый опыт лёг в основу руководства для подготовки к экзамену CCNA ICND2 200-105.
Вы ознакомитесь с подробностями настройки, поиска и устранения неисправностей сети. Книга поможет правильно выстроить свой процесс обучения, устранить пробелы в знаниях компьютерных сетей и проверить себя благодаря множеству экзаменационных вопросов и практических задач.
TCP/IP. Сетевое администрирование
Книга поможет разобраться с настройкой и сопровождением стека TCP/IP. Сначала рассказывается о том, зачем нужны протоколы, как они работают, как адресация и маршрутизация позволяют передавать данные по сети и как настроить интерфейс, маршрутизацию и DNS. Затем вы ознакомитесь с NFS, NIS и DHCP, научитесь настраивать Samba для работы в гетерогенной сети Unix/Windows и изучите настройку сервера Apache. Две последние главы книги посвящены безопасности сети и устранению различных проблем. В конце книги вы найдёте справочник по sendmail, gated, демону named, свободной реализации DHCP-сервера dhcpd.
Routing TCP/IP
Книга в двух томах «Routing TCP/IP» Дойла Кэррола — библия для всех желающих изучить протокол TCP/IP. Она больше ориентирована на практическую составляющую, поэтому хорошо подойдёт инженерам, стремящимся поскорее использовать в работе TCP/IP. С помощью книги вы узнаете «изнанку» TCP/IP, освоите настройку и устранение ошибок протокола маршрутизации BGP-4, работу с протоколами IPv4 и IPv6 и научитесь настройке и развёртыванию NAT.
Хоть книга и является официальным пособием от Cisco, материал в ней, по большей части, независим от платформы. Книга также станет хорошим помощником при подготовке к сертификационному экзамену CCIE проектировщикам сетей, системным администраторам и инженерам.
IP Routing Fundamentals
IP-маршрутизация является основой межсетевого взаимодействия, и книга «IP Routing Fundamentals» поможет начинающим инженерам с ней разобраться. В справочнике вы найдёте информацию по современным протоколам маршрутизации RIP, IGRP, EIGRP и OSPF, узнаете подробнее о классовой и бесклассовой (CIDR) IP-адресации, а также о маске подсети переменной длины (VLSM), являющейся основой бесклассовой адресации.
Книга достойна места на полке любого сетевого инженера, которому необходимо настраивать маршрутизацию. В первой части руководства рассматриваются маршрутизаторы и их роли в сетях. Вторая часть посвящена их внутренней работе. В третьей части уделено внимание эксплуатации протоколов маршрутизации, а в четвёртой — вопросам реализации протоколов и будущему маршрутизации.
Internetworking with TCP/IP Volume One
«Internetworking with TCP/IP» — это классическое пособие от Дугласа Комера по протоколам TCP/IP и межсетевому взаимодействию, пережившее уже шестое издание. Книга охватывает множество элементов, включая TCP, IPv4, IPv6, DHCP и DNS. Кроме того, в книге описаны современные тенденции развития компьютерных сетей и Интернета, включая классификацию пакетов, программно-определяемые сети (Software Defined Networking, SDN) и сетевые протоколы, используемые в Интернете вещей (Internet of Things, IoT).
В книге достаточно много теории, объяснённой академическим языком, поэтому руководство не подойдёт для введения в тему. Однако для тех, кто хочет углубиться в межсетевое взаимодействие и работу протоколов TCP/IP, эта книга-бестселлер станет хорошим подспорьем.
TCP/IP Tutorial and Technical Overview
Официальное руководство по стеку протоколов TCP/IP от IBM «TCP/IP Tutorial and Technical Overview» подойдёт как новичкам, стремящимся изучить TCP/IP, так и уже опытным специалистам, которые хотят привести свои навыки работы с TCP/IP в соответствие с действующими стандартами.
В первой части книги рассказываются основные концепции и история стека TCP/IP и рассматриваются протоколы, входящие в TCP/IP, а также их применение. Во второй части уделено внимание базовым концепциям сетевых приложений, прикладным протоколам в рамках концепций (например FTP), а также приложениям, ставшими по факту стандартом в профессиональном сообществе. Третья часть книги посвящена новым концепциям и расширенным реализациям в архитектуре TCP/IP. В частности, в ней рассматривается постепенное объединение многих ранее разрозненных сетей и служб, использующих технологию IP, его потенциальные опасности и стандарты, используемые для обеспечения безопасности и контроля доступа к сетям и сетевым ресурсам.
Computer Networking: Principles, Protocols and Practice
Свободно распространяемая книга «Computer Networking: Principles, Protocols and Practice» Оливьера Бонавентуры (Olivier Bonaventure) служит введением в тему компьютерных сетей. Первая часть книги содержит материал по основным концепциям, включая создание и настройку сети, адресацию, общий доступ к ресурсам и безопасность. Во второй части книги отдельно рассматриваются многие основные протоколы стека TCP/IP: HTTP, TLS, RPC, TCP, UDP, SCTP, IPv6, система доменных имён (DNS) и другое. В конце книги вы найдёте справочник по различным аббревиатурам, встречающимся в стандартах.
А какими книгами по компьютерным сетям пользовались вы? Или какие книги вам рекомендовали ваши знакомые и преподаватели? Делитесь в комментариях.