Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Пикабу Игры +1000 бесплатных онлайн игр

Захватывающая аркада-лабиринт по мотивам культовой игры восьмидесятых. Управляйте желтым человечком, ешьте кексы и постарайтесь не попадаться на глаза призракам.

Пикман

Аркады, На ловкость, 2D

Играть
Классический арканоид для любителей ретро-игр. Защитите космический корабль с Печенькой (и не только) на борту, проходя уровни в арканоиде.

Арканоид Пикабу

Арканоид, Аркады, Веселая

Играть
Собирайте комбинации из блоков! Бесконечный режим, более 100 уровней, ежедневные задания и турниры.

Расслабьтесь и отдохните: игра без ограничений по времени.

Проверьте свою смекалку: головоломка для любителей

Блоки Судоку - расслабляющая головоломка

Головоломки, Гиперказуальные, Мобильная

Играть
Классический пинбол, как в древнем игровом автомате или в компактной игрушке: есть пружины, шарики и препятствия. В нашем варианте можно не только зарабатывать очки: чтобы пройти уровень, придется выполнить дополнительную миссию.

Пинбол Пикабу

Аркады, На ловкость, Казуальные

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

Пикабомбер

Аркады, Пиксельная, 2D

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • AlexKud AlexKud 26 постов
  • StariiZoldatt StariiZoldatt 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Internet over Ethernet

7 постов сначала свежее
233
justdoit4bigbro
5 лет назад

Какие данные собирает Google, и как их скачать, или как узнать о человеке всё, взломав только его почту?⁠⁠

Как известно, Google хранит большое количество данных о своих пользователях, чем его непрерывно попрекают. Под давлением и критикой в Google создали механизм, который позволяет выкачать все свои данные. Этот сервис называется Takeout, и у него могут быть разные интересные применения, о которых мы и поговорим. А заодно детально изучим то, что он выдает на руки пользователю.

Источник статьи телеграм канал IT Books

Какие данные собирает Google, и как их скачать, или как узнать о человеке всё, взломав только его почту? Google, Hack News, Hacker Evolution: Untold, Network, Internet over Ethernet, Длиннопост

Как скачать сохраненные в Google данные

Причины взять и забрать всё могут быть разными. Например, вы хотите мигрировать на другой сервис и перенести туда свои данные: без конвертации вряд ли обойдется, но иногда это оправданная морока. Или, может быть, вы хотите сделать какую-то аналитическую систему в духе лайфлоггинга и quantified self и вам в этом помогут накопленные в Google данные. Или страна, в которой вы живете, вдруг решила отгородить свой интернет каким-нибудь великим файрволом, после чего Google окажется за бортом.


Итак, чтобы получить свои данные, нужно зайти по адресу takeout.google.com, выставить галочки напротив интересующих вас сервисов и подождать некоторое (ощутимое) время. Когда я запросил полный архив, ссылка пришла через день, то есть больше чем через 24 часа. В письме робот Google бодро сообщил, что данные собраны по 36 продуктам, занимают 63,6 Гбайт и разбиты по трем архивам. Причем основной объем пришелся на первые два, а третий оказался зазипованной страницей с каталогом всего выданного.


Если не хотите качать такие объемы, то заказывайте частичные архивы, которые будут включать не все сервисы. Например, если выключить Photos, YouTube и Gmail, а также Drive, если вы там храните что-то помимо тестовых документов, то может получиться всего несколько сот мегабайтов. Кстати, чем меньше архив, тем быстрее приходит ссылка на скачивание.


Какие данные собирает Гугл

В этой главе я расскажу, о каждом (собирающем пользовательские данные) сервисе Google. Начнем с самых популярных и часто используемых.


Какие данные собирает поиск Google

Начнем с одной из самых занимательных вещей — истории поисковых запросов. Она лежит в папке Searches и разбита на файлы по три месяца, к примеру 2018-01-01 January 2018 to March 2006.json. Если открыть один из них, то увидите, что информация о каждом запросе состоит всего из двух вещей: времени в формате Unix и искомой строки.


Для перевода времени можно использовать какой-нибудь онлайновый конвертер, а если нужно будет сконвертировать массово, то это делается одной строкой на Python (замените слово «время» на свое значение):


datetime.datetime.fromtimestamp(int("время")).strftime('%d-%m%-%Y %H:%M:%S')

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


Если у вас gron, можете написать что-то в таком духе:


$ for F in *; do cat "${F}" | gron | grep "deepwebteam"; done

И увидите все свои запросы со словом spysoftnet за все время. Какие еще ключевики можно попробовать? Ну например, слово «скачать».


Или вот занятная идея: если поискать символ @, то вы найдете все почтовые адреса и аккаунты Twitter, которые вы пробивали через Google.


Обратите внимание, что здесь нет поиска по картинкам и видео, но мы их еще обнаружим в папке My Activity.


Какие данные собирает чат Google

Возможно, у вас уже где-то спрятана папка со старыми логами ICQ и вы бы хотели присовокупить к ней еще и все когда-либо написанное через Google Talk и Hangouts. Это вполне реально, но, к сожалению, читать переписку в том виде, в котором она приходит из Takeout, практически невозможно (в отличие, кстати, от логов ICQ).

Весь текст экспортируется как единственный файл JSON плюс горка приложенных картинок — все это лежит в папке Hangouts. С картинками никаких проблем, а вот в JSON на каждое написанное сообщение приходится порядка двух десятков строк метаданных. Но пожалуй, главная головная боль — в том, что вместо имени отправителя здесь ID пользователя.


Наверное, самое простое, что мы можем сделать, — это выкинуть всю мишуру и оставить только текст. По крайней мере можно увидеть какие-то, пусть и обезличенные, беседы.


$ gron Hangouts.json | grep '.text'

Так хотя бы есть шанс что-то выловить.


Какие данные собирает Google+

Что действительно есть смысл бэкапить — это посты из социальной сети Google+, которая стремительно становится артефактом прошлого. Если вы, конечно, вообще когда-либо ей пользовались.


Данные поделены на три папки: Google+ Stream, Circles и Pages. Давайте заглянем в них по порядку.


Circles — это контакты людей, организованные по «кругам» из Google Plus. Формат — vCard (VCF) с той информацией, которую люди сами о себе заполнили. Можно при желании одним махом импортировать в любую адресную книгу.


Папка Pages будет присутствовать в том случае, если у вас имелись публичные страницы. Но ничего интересного там нет, разве что юзерпик и обложка страницы.


Также к данным Google+ стоит отнести папку Profile. В ней содержится JSON с копией всех тех данных, что вы заполнили о себе в этой соцсети. Основные интересные вещи лежат в структурах urls (ссылки на другие профили в соцсетях) и organizations (места работы с датами). Забавная деталь: при том, что у меня в профиле не указан возраст, здесь присутствует поле «ageRange»: {«min»: 21}, значение которого Google, кажется, определил самостоятельно.


Самое главное вы найдете в папке Google+ Stream. Здесь в качестве отдельных HTML свалены все ваши посты с комментариями и даже отдельные комментарии. Можно полистать и поностальгировать, а можно парой строк на Python с BeautifulSoup выдрать, к примеру, только тексты постов. Выбирать нужно будет элементы с классами entry-title и entry-content.


К сожалению, картинки из постов не бэкапятся автоматически — они так и остаются ссылками на сервер Google, который еще и не отдаст их без авторизации. Недоработочка!


Какие данные собирает сервис Карты

Еще одна большая и важная категория личных данных. Начнем с простого — папки MyMaps. Это маршруты, созданные вами в Google Maps, — по одному файлу KMZ на маршрут.


KMZ — это формат Google Earth, который поддерживается и в других картографических приложениях. Ну а по сути это ZIP, в котором лежит файл KML, являющийся валидным XML. Если для ваших целей это по каким-то причинам не подходит, можете воспользоваться сервисом GeoConverter и сконвертировать его, например, в GeoJSON, работать с которым немного попроще.


Папка Maps (your places) содержит один файл — Saved Places.json. В нем собраны все ваши закладки из Google Maps в виде очередной заковыристой структуры. Каждая из закладок — это элемент массива features, у которого есть заголовок, дата добавления, дата изменения и ссылка на Google Maps. А вот геокоординаты могут быть записаны по-разному: как поле geometry с массивом coordinates или как Location с полями Latitude и Longitude, но оно же (чтобы жизнь медом не казалась) может называться, например, Geo Coordinates. В общем, при желании учесть все эти особенности не слишком тяжело, но могло бы быть и попроще.


Наконец, самая занимательная папка — это Location History — файл со всей историей ваших перемещений с мобильным телефоном в кармане за все время. У меня эти данные занимают 7,5 Мбайт.


Файл устроен очень просто, особенно в сравнении с другими архивами. Это огромный массив из структур, включающих в себя: время в формате Unix, широту, долготу и точность определения. Иногда к ним добавляются (вероятно, когда их удавалось определить) направление движения в градусах, высота в метрах и точность определения высоты.


Что делать с этим файлом, кроме как сохранить на память?


Например, можете поупражняться в его анализе на Python или на R. Есть и специализированный софт для ковыряния таких данных — Location History Visualizer Pro (стоит 70 долларов), а также любительские сервисы вроде They Know Where You’ve Been (если вы совсем уж не опасаетесь делиться этими данными со случайными людьми).


Однако сам сервис Google здесь пока что вне конкуренции. К Google Maps прилагается утилита Timeline, где накопленные данные можно отсматривать по дням, и здесь, помимо голых данных, которые выдаются через Takeout, есть всякая аналитика. Google, например, определяет названия мест и заведений, которые вы посещали, и прекрасно различает транспортные средства (и может легко понять, например, на мотоцикле вы передвигались, на машине или на велосипеде).


Какие данные собирает Google Chrome

Это крайне интересная папка, которая содержит всю облачную часть Google Chrome (а может быть, и не всю — никогда нельзя быть уверенным!). Вот что в ней лежит.


Bookmarks.html — содержимое закладок в виде списка HTML. Распарсить его не составит труда — хватайте данные из a href и делите на секции по содержимому h3. Для многих закладок указано время добавления в формате Unix.

Dictionary.csv — по всей видимости, здесь должны быть исключения для проверки орфографии, которых у меня нет.

Extensions.json — данные об установленных расширениях.

SearchEngines.json — данные о дополнительных поисковиках. Если вам когда-нибудь понадобятся правила составления поисковых запросов к разным поисковикам, этот файл как раз пригодится. В остальных случаях — вряд ли.

SyncSettings.json — настройки Chrome.

Autofill.json — в теории здесь должны быть данные для автоматического заполнения форм, но у меня только пустой массив. Похоже, если понадобится, эти данные проще вытащить из самого Chrome.

BrowserHistory.json — честно говоря, я ожидал увидеть в этой папке огромный кладезь личной информации: шутка ли — полный список всех сайтов, которые я когда-либо открывал в Chrome! Однако меня ждало разочарование: в этом файле перечислены лишь четырнадцать ссылок, которые я успел открыть в мобильном Chrome, когда скачал его посмотреть. На десктопе при этом внушительный список сайтов и включена галочка Sync Everything. Глюк Takeout?

Если с последним пунктом вам повезет больше, то вы с легкостью сможете проанализировать историю своих перемещений по интернету. Google сохраняет: тип перехода (по ссылке — LINK или напрямую — TYPED), заголовок страницы, URL, ID клиента (полезно, чтобы отличить свой десктоп от телефона и планшета) и время в формате Unix.


Какие данные собирает сервис My Activity

Это, пожалуй, одна из самых интересных папок, возможно даже более интересная, чем история поиска. Ее содержимое дает ответ на вопрос о том, как именно Google следит за пользователями. Пройдясь по папкам, вы можете своими глазами увидеть, что он записывает каждые:


переход на сайт, аффилированный с Google Adwords;

книгу, открытую в Books;

сайт, на который вы заходил через Chrome;

использованный API (папка Developers);

котировку, открытую в Finance;

запрос к Goggles (поиск объектов на снимке);

просмотр страницы в Google Play Store;

обращение к справке (папка Help);

запрос к Image Search и переход по ссылке;

просмотр объекта на карте (Maps);

поиск в Google News и чтение статьи на сайте-источнике;

поисковый запрос и переход по ссылке из результатов (папка Search);

поиск товара или покупку в магазине (папка Shopping);

просмотр поездок в Google Trips;

поиск видео и переход из результатов (Video Search);

голосовой поиск (папка Voice and Audio);

поисковый запрос и просмотр роликов на YouTube.

Отмечу, что история сайтов Chrome у меня была такая же полупустая, как и в папке самого Chrome, а раздел Shopping вообще никуда не годится: за двенадцать лет Google едва отследил пару настоящих покупок. Тем не менее массив информации очень внушительный. Особенно радуют файлы MP3 в папке Voice and Audio: вы можете послушать собственный голос, который произносит фразы из серии «Окей, Гугл…».


Всю ту же информацию вы можете просматривать и фильтровать на сайте «Моя активность». Там же можно удалить отдельные записи и отключить отслеживание отдельных активностей.


При этом формат, в котором все это выгружается, оставляет желать много лучшего. Это снова HTML с не самой удобоваримой разметкой и 150-килобайтным куском Material Design в каждом файле. Я на скорую руку сочинил вот такой скриптик на Python, который можно закинуть в любую из папок и запустить.


import re
text = open('MyActivity.html', 'r').read()
result = re.findall(r'body-1">(.+?)</div>', text)
for r in result:
for s in r.split('>'):
print s.split('<')[0]

На выходе получите очищенный текст, который можно, например, отправлять на вход grep или продолжить структурировать дальше. В общем, огромное поле для деятельности.


Другие сервисы Google собирающие пользовательские данные

Подробно разбирать данные четырех десятков продуктов мы не будем, но вкратце все же пройдемся по оставшимся сервисам.


Сервис +1 — HTML со списком страниц, которые вы когда-либо лайкали через Google+. В моем случае — четыре случайные страницы.


Bookmarks — то же самое, но для закладок. У меня по невыясненным причинам здесь оказались исключительно закладки из Google Maps — то есть звездочки, которыми можно отметить место на карте. Формат — HTML со ссылками на Google Maps. Открыв его в редакторе, можно дополнительно вытащить время добавления и в некоторых случаях — геокоординаты. Все эти данные, впрочем, полностью продублированы в папке Maps (your places), и в более удобном виде.


Calendar — пользовательские календари из Google Calendar в формате iCalendar (.ics), который поддерживается многими программами-календарями (в том числе Outlook, Thunderbird и эппловский Calendar). Так что их можно импортировать напрямую.


Photos. Если вы активно пользуетесь Photos, то в этой папке будет огромный список подкаталогов — по одному на каждый день, на который приходится хоть один снимок. Хорошая новость заключается в том, что все фотографии хранятся и выгружаются в их исходном формате, даже если это огромные RAW. И (что немаловажно) даже если вы используете бесплатную версию Photos, где вроде бы присутствует ограничение на качество снимков. К каждому снимку прилагается JSON с метаданными.


YouTube. В первую очередь вы здесь найдете все ролики, которые когда-либо загружали на YouTube. Так же, как и фотографии, — в их исходных форматах. И конечно, к каждому прилагается JSON с метаданными. Также есть плей-листы, подписки в формате OPML, история просмотров и поисков в HTML (аналог того, что мы видели в My Activity) и даже комментарии — тоже в HTML.


Classic Sites — сайты, созданные при помощи не особенно популярного сервиса Google Sites. Я когда-то давно сделал пару тестовых сайтов, после чего не трогал сервис годами. Тем не менее они до сих пор существуют и экспортируются через Takeout. Перекрестные ссылки работают локально, а вот картинки остаются на сервере Google. И внутрь страниц лучше не заглядывать — вместо исходников вы увидите горы оптимизированного JS.


Drive — все документы из Google Drive. Текст экспортируется как DOCX, таблицы — XLSX, комментарии — как HTML с теми же названиями, что и документ. Удобно, что названия файлов соответствуют заголовкам и структура папок тоже сохраняется.


Google Pay. Информация из этого сервиса разделена на две папки. Google Pay Send — список транзакций, произведенных через Google Pay (у меня — пустой файл CSV) и Google Pay rewards, gift cards, offers (у меня — пустой PDF).


Mail — полный архив писем Gmail. В папке лежит всего один файл — All mail Including Spam and Trash.mbox. Его заголовок говорит сам за себя: это вся-вся почта, включая спам и мусор. Формат — Mbox, то есть, по сути, огромный текстовый файл, где подряд идут все письма с заголовками. Его несложно импортировать в большинство почтовиков, но гораздо проще будет подключить их непосредственно к Gmail и по IMAP выкачать только нужные папки. Takeout тут пригодится разве что в том случае, если вы захотите забрать вообще все одним махом и так в виде архива и сохранить на будущее.


Google My Business — здесь в моем случае вообще ничего интересного, только JSON буквально из трех строчек: номер аккаунта, имя и фамилия и пометка personal.


Contacts — адресная книга из Gmail. Контакты разбиты на папки по группам, плюс есть папка All Contacts, которая объединяет (и дублирует) содержимое остальных. Внутри каждой папки — файл vCard и картинки с юзерпиков. Забавный эффект — тут картинки отображаются целиком, в том виде, в котором их загружали в Google. То есть если кто-то поместил свое лицо в кружок и решил, что остальное никто никогда не увидит, то он ошибается.


G Suite Marketplace — плагины для приложений Google, которые вы выставляли в фирменный магазин. Я не выставлял, поэтому у меня лишь один файл — readme.


Tasks — вот уже десять лет в глубинах Google существует сервис, предназначенный для ведения списков дел. Встретить его можно, например, в Gmail и Calendar. Здесь же вы можете найти его «отгрузку» в виде довольно мудреной структуры в JSON.


Google Play Books — увидев, что в этой папке лежат подкаталоги с названиями книг, я уже было обрадовался: неужели найден способ получать копии книг, купленных в Play Books? Ха-ха. Нет, конечно. Вместо этого в каждом из подкаталогов — HTML с названием книги, именем автора, временем, когда книга была открыта последний раз, внутренним ID Play Books и ссылкой. Польза, конечно, сомнительная, но если книг много, то при желании можно вытащить их список, взяв названия и имена авторов из элементов с классами header и author.


Остается еще несколько продуктов, по которым в моем архиве ничего не было из-за того, что я ими никогда не пользовался. Это Blogger, Classroom, Fit, Play Music, Groups, Handsfree, Hangouts on Air, Keep, Search Contributions и Voice. Пожалуй, наибольшее упущение — это Keep, но вот в этом репозитории вы можете найти готовый парсер для его данных.


Выводы

Получается, что самые важные архивы, помимо почты, фотографий и документов, — это Searches, Location History, BrowserHistory.json из папки Chrome и My Activity.


Можно ли в итоге сказать, что через Takeout выдают все личные данные? Вряд ли. Отсутствуют как минимум старые сервисы, поддержка которых прекращена: нет ни данных Google Reader, ни волн из Wave.


В выгрузке Takeout при желании можно найти и другие пробелы. Отсутствие данных из десктопного Chrome я уже упоминал, но есть и менее очевидные вещи. Например, страница для онлайнового просмотра активностей содержит не только поисковые запросы, но и привязку к месту, откуда вы их делали. В папке My Activity ничего похожего пока нет.


Однако, несмотря на все эти недочеты, сотрудникам Google стоит сказать спасибо: редко когда разработчики сервиса тратят столько усилий на улучшение портативности данных и повышение прозрачности их сбора. В результате Takeout полезен не только для того, чтобы забрать свои вещички и скрыться с ними, но и для самой разной аналитики.

Дисклеймер: Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данного поста.

Показать полностью 1
[моё] Google Hack News Hacker Evolution: Untold Network Internet over Ethernet Длиннопост
32
37
ventricola
ventricola
7 лет назад
Лига Сисадминов

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса⁠⁠

Итак, перейдем в практическую плоскость, в этой части попробуем разобраться с тем, как же все-таки происходит обмен данными в нашей маленькой IP сети.


Если что-то будет непонятно попробуйте прочитать снова предыдущий пост, здесь теоретической части будет минимум :).


Для построения модели сети я воспользуюсь эмулятором GNS3 2.0.3, создав проект соответствующий приведенной в прошлой статье топологии:

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Длиннопост
Хосты сети представлены узлами GNS3 – VPCS (virtual PC, пылесос), Switch (шина эзернет), l3 IOU (маршрутизатор таймкапсуль), Cloud (облако, подключение к Интернет). Узел l3 IOU это эмулятор Cisco IOS маршрутизатора для Linux.
IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Длиннопост

Для работы нам потребуется сниффер, в роли которого в стандартной поставке GNS3 используется WireShark.


В маршрутизатор загружена конфигурация, эмулирующая домашний роутер:


На интерфейсе LAN – 192.168.0.1/25, dhcp server, на интерфейсе WAN – dhcp client и nat. Все, что может дополнительно пересылать пакеты в сети (cdp, keepalive etc.) выключено. Включен dns server. Конфиг можно посмотреть в конце поста.


В пылесосе включен dhcp client.


В начальном состоянии сети пылесос и маршрутизатор выключены.


Включим пылесос. Итак сначала пылесос попытается автоматически подключиться к сети и получить настройки для сетевого подключения.

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Длиннопост
1 0.000000 :: ff02::2 ICMPv6 62 Router Solicitation
2 0.050110 0.0.0.0 255.255.255.255 DHCP 406 DHCP Discover - Transaction ID 0x9f2d780f
3 1.050229 0.0.0.0 255.255.255.255 DHCP 406 DHCP Discover - Transaction ID 0x9f2d780f
4 4.050303 0.0.0.0 255.255.255.255 DHCP 406 DHCP Discover - Transaction ID 0x9f2d780f

Видно 4 кадра, 1-й — попытка автонастройки IPv6, остальные — запросы DHCP.

Разберем подробнее 4-й фрейм:

Frame 4: 406 bytes on wire (3248 bits), 406 bytes captured (3248 bits) on interface 0
Ethernet II, Src: Private_66:68:00 (00:50:79:66:68:00), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 0.0.0.0, Dst: 255.255.255.255
User Datagram Protocol, Src Port: 68, Dst Port: 67
Bootstrap Protocol (Discover)

В 1й строке общие параметры кадра, во 2-й параметры заголовка ethernet (источник, src -

00:50:79:66:68:00; получатель, dst – ff:ff:ff:ff:ff:ff), в 3-й строке параметры заголовка IP, в 4-й транспортного протокола (UDP), в 5-й параметры протокола прикладного уровня и полезная нагрузка (payload). Нажав на каждую из строк можно посмотреть более подробную информацию о кадре. В нижней части окна виден HEX- и ASCII-дампы кадра, понятно, что кадр это просто последовательность байт, в которой слева направо расположены заголовки от нижних уровней TCP/IP к верхним.


Включим маршрутизатор и посмотрим на дамп:

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Длиннопост

Маршрутизатор после включения отправил в интерфейс несколько gratuitous ARP пакетов (5-9), о них позже, а вот после этого 10-м снова видим уже знакомый нам DHCP discover, а за ним еще 3 пакета DHCP. Про DHCP тоже позже поговорим, пока что они нужны только для автонастройки интерфейса пылесоса. Я специально развернул подробную информацию в нижней строке, чтобы можно было сравнить содержимое кадров discover и offer.

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Длиннопост
IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Длиннопост

Теперь наша сеть полностью функционирует и можно пробовать что-то по ней передавать.

Итак. Очистим дампы и начнем с чистого листа.


Посмотрим настройки интерфейсов маршрутизатора и пылесоса (кто не работает с командной строкой - привыкайте, без нее в сетевой инженерии жизни нет).


TimeCapsule#sh run int e0/0
Building configuration...
Current configuration : 210 bytes
!
interface Ethernet0/0
description LAN
ip address 192.168.0.1 255.255.255.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat inside
ip virtual-reassembly in
no cdp enable
no mop enabled
end
iSuck> show
NAME IP/MASK GATEWAY MAC LPORT RHOST:PORT
iSuck 192.168.0.100/24 192.168.0.1 00:50:79:66:68:00 10006 127.0.0.1:10007
fe80::250:79ff:fe66:6800/64

Начнем с ауканья, для него есть прекрасные инструменты в виде целого протокола ICMP, пока самое простое - ping:


iSuck> ping 192.168.0.1
84 bytes from 192.168.0.1 icmp_seq=1 ttl=255 time=0.245 ms
84 bytes from 192.168.0.1 icmp_seq=2 ttl=255 time=0.267 ms
84 bytes from 192.168.0.1 icmp_seq=3 ttl=255 time=0.392 ms
84 bytes from 192.168.0.1 icmp_seq=4 ttl=255 time=0.354 ms
84 bytes from 192.168.0.1 icmp_seq=5 ttl=255 time=0.343 ms
iSuck>

Давайте разберемся, что же сейчас произошло.

IP over Ethernet #2.1 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Длиннопост

Начнем с самого конца. Для того чтобы отправить ping echo request (как и любой другой IP пакет) хосту 192.168.0.1, хосту (sic! ;-D) 192.168.0.100 доcтаточно упаковать этот пакет в эзернет кадр с нужным мак адресом назначения и отправить в соответствующий эзернет интерфейс. Чтобы упаковать этот пакет в эзернет кадр с нужным мак адресом назначения, нужно этот мак адрес откуда-то узнать. Чтобы этот мак адрес откуда-то узнать, нужно спросить хост 192.168.0.1, что у него за мак, зная при этом, что он доступен по эзернет.


Получается почти замкнутый круг, но попробуем из него вырваться. Главная штука, которая нам в этом может помочь - маршрутизация, а точнее таблицы маршрутизации на наших хостах!


Сначала давайте разберемся откуда они вообще взялись, но тут все довольно просто, они построены на основании информации в настройках интерфейсов. То есть в простейшем случае, когда на интерфейсе настраивается IP адрес, определенные маршруты добавляются в таблицу маршрутизации.

iSuck> show ip
NAME : iSuck[1]
IP/MASK : 192.168.0.100/24
GATEWAY : 192.168.0.1
DNS : 192.168.0.1 8.8.8.8
DHCP SERVER : 192.168.0.1
DHCP LEASE : 81750, 86400/43200/75600
DOMAIN NAME : local
MAC : 00:50:79:66:68:00
LPORT : 10006
RHOST:PORT : 127.0.0.1:10007
MTU: : 1500
iSuck>

На VPC узле не очень информативно, зато очень информативно на IOU:

TimeCapsule#sh ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
Gateway of last resort is 10.255.255.254 to network 0.0.0.0
S* 0.0.0.0/0 [1/0] via 10.255.255.254
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.255.255.0/24 is directly connected, Ethernet1/0
L 10.255.255.143/32 is directly connected, Ethernet1/0
192.168.0.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.0.0/24 is directly connected, Ethernet0/0
L 192.168.0.1/32 is directly connected, Ethernet0/0
TimeCapsule#

Пока нам интересны 2 строки -

C 192.168.0.0/24 is directly connected, Ethernet0/0
L 192.168.0.1/32 is directly connected, Ethernet0/0

Означают они следующее - адрес 192.168.0.1/32 - локальный, настроен на интерфейсе Et0/0, подсеть 192.168.0.0/24 - подключена непосредственно к интерфейсу Et0/0. На практике при обработке пришедших IP пакетов к тайкапсулю он будет действовать по следующему алгоритму: пакеты к 192.168.0.1 предназначены ему, дальше отправляются в соответствующие локальные подсистемы. Пакеты к остальным адресам из 192.168.0.0/24 отправляются в интерфейс Et0/0 соответствующему эзернет узлу сети. Все существующие реализации TCP/IP стеков, работают приблизительно одинаково. Данные строки добавляются в таблицу маршрутизации после добавления IP адреса и маски к интерфейсу.


На пылесосе соответственно должно быть:
C 192.168.0.0/24 is directly connected, E0
L 192.168.0.100/32 is directly connected, E0

Посмотреть это, к сожалению никак нельзя, но это так.

После запуска команды ping 192.168.0.1 и формирования пакета, пылесос ищет в таблице маршрутизации запись соответствующую подсети с самой большой маской, в которую входит адрес назначения. В нашем случае это C 192.168.0.0/24 is directly connected, E0. После определения того факта, что подсеть подключена к нему непосредственно по эзернет, пылесос попробует определить мак адрес назначения для хоста 192.168.0.1. Для этого он широковещательно отправит запрос в эзернет интерфейс E0 с вопросом - у кого из вас, соседи, такой адрес. Такой запрос является частью протокола ARP, необходимого для создания таблицы сопоставления IP-MAC. Это видно в дампе - 

1 0.000000 Private_66:68:00 Broadcast ARP 64 Who has 192.168.0.1? Tell 192.168.0.100

Далее в IPoE все основано на доверии и необходимый хост ответит ARP ответом -

2 0.000233 aa:bb:cc:00:01:00 Private_66:68:00 ARP 60 192.168.0.1 is at aa:bb:cc:00:01:00 ,

что приведет к обновлению временных ARP таблиц (или кэшей) на обоих хостах:

iSuck> arp
arp table is empty
iSuck> ping 192.168.0.1
84 bytes from 192.168.0.1 icmp_seq=1 ttl=255 time=0.240 ms
84 bytes from 192.168.0.1 icmp_seq=2 ttl=255 time=0.326 ms
84 bytes from 192.168.0.1 icmp_seq=3 ttl=255 time=0.487 ms
84 bytes from 192.168.0.1 icmp_seq=4 ttl=255 time=0.338 ms
84 bytes from 192.168.0.1 icmp_seq=5 ttl=255 time=0.315 ms
iSuck> arp
aa:bb:cc:00:01:00 192.168.0.1 expires in 113 seconds
iSuck>
TimeCapsule#sh ip arp
Protocol Address Age (min) Hardware Addr Type Interface
Internet 10.255.255.143 - aabb.cc00.0101 ARPA Ethernet1/0
Internet 10.255.255.254 0 0000.5e00.010b ARPA Ethernet1/0
Internet 192.168.0.1 - aabb.cc00.0100 ARPA Ethernet0/0
Internet 192.168.0.100 1 0050.7966.6800 ARPA Ethernet0/0
TimeCapsule#
а также к обновлению таблиц коммутации в свичах.


Используя таблицу маршрутизации и ARP, хосты становятся способными к обмену IP траффиком в эзернет сети.


Продолжение следует...

TimeCapsule#sh run
Building configuration...
Current configuration : 2763 bytes
!
version 15.4
no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname TimeCapsule
!
boot-start-marker
boot-end-marker
!
aqm-register-fnf
!
!
no aaa new-model
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
no ip source-route
no ip gratuitous-arps
no ip icmp rate-limit unreachable
!
!
!
!
!
!
!
ip dhcp excluded-address 192.168.0.1
!
ip dhcp pool LAN
network 192.168.0.0 255.255.255.0
default-router 192.168.0.1
domain-name local
dns-server 192.168.0.1 8.8.8.8
!
ip dhcp pool LAN100
host 192.168.0.100 255.255.255.0
client-identifier 0100.5079.6668.00
client-name iSuck
!
!
!
no ip bootp server
ip name-server 10.255.255.254
ip name-server 8.8.8.8
ip dhcp-server 192.168.0.1
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
!
!
!
!
!
!
redundancy
!
no cdp run
!
ip tcp synwait-time 5
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Ethernet0/0
description LAN
ip address 192.168.0.1 255.255.255.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat inside
ip virtual-reassembly in
no cdp enable
no mop enabled
!
interface Ethernet0/1
no ip address
shutdown
!
interface Ethernet0/2
no ip address
shutdown
!
interface Ethernet0/3
no ip address
shutdown
!
interface Ethernet1/0
description WAN
ip address 10.255.255.143 255.255.255.0
no ip redirects
no ip unreachables
no ip proxy-arp
ip nat outside
ip virtual-reassembly in
no cdp enable
no mop enabled
!
interface Ethernet1/1
no ip address
shutdown
!
interface Ethernet1/2
no ip address
shutdown
!
interface Ethernet1/3
no ip address
shutdown
!
interface Serial2/0
no ip address
shutdown
serial restart-delay 0
!
interface Serial2/1
no ip address
shutdown
serial restart-delay 0
!
interface Serial2/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial2/3
no ip address
shutdown
serial restart-delay 0
!
interface Serial3/0
no ip address
shutdown
serial restart-delay 0
!
interface Serial3/1
no ip address
shutdown
serial restart-delay 0
!
interface Serial3/2
no ip address
shutdown
serial restart-delay 0
!
interface Serial3/3
no ip address
shutdown
serial restart-delay 0
!
ip forward-protocol nd
!
!
no ip http server
no ip http secure-server
ip dns server
ip nat inside source list 100 interface Ethernet1/0 overload
ip route 0.0.0.0 0.0.0.0 10.255.255.254
!
!
!
access-list 100 remark NAT
access-list 100 permit ip 192.168.0.0 0.0.0.255 any
!
control-plane
!
!
!
!
!
!
!
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login
transport input none
!
!
end
TimeCapsule#
Показать полностью 6
[моё] Интернет Ethernet Internet over Ethernet IP Длиннопост
8
50
ventricola
ventricola
8 лет назад
Лига Сисадминов

IP over Ethernet #2 Таблица маршрутизации для утюга и пылесоса⁠⁠

Предыдущая часть.


После долгих раздумий о судьбах мира и созерцания пупка было принято волевое решение продолжить писать всякое. Однако я считаю, что для дальнейшего продвижения в дебри эзернет простого резонерства на тему фреймов, без ухода хотя бы немного в практическую плоскость, недостаточно, нужно добавлять хотя бы зачатки того, зачем это все. А если отбросить разные сантименты, то на вопрос зачем же все это, ответ будет однозначным - в подавляющем большинстве случаев для передачи IP.


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


Тут я начну не с истории, а с практики. Представьте обычную советскую семью поклонников продукции эплл, у них в квартире наверняка есть устройства, которые что-то передают по IP. Предлагаю рассмотреть пылесос, который по заполнению мусорника отправляет в облако эппл соответствующие фоточки голой хозяйки данные о необходимости почистить или заменить пакет, ну и периодически шлет сообщения о необходимости замены расходников на новые оригинальные. Ну или в крайнем случае утюг, утюг может быть был бы даже лучше, но пусть все-таки будет пылесос. Облако в свою очередь шлет что надо в АНБ хозяйке на айфон. Большая часть коммуникаций работает в IP сетях. А IP сети, прошу прощения за тавтологию, в свою очередь в ethernet сетях.


Что же делает пылесос, когда ему надо передать информацию?! (Предлагаю профантазировать о модели пылесоса с подключением к таймкапсулю по вайфаю).

IP over Ethernet #2 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Римские цифры, Длиннопост

Предположим, что все автоматизировано, как положено в эппл и пылесос автоматически подключается к сети и получает настройки для сетевого подключения. Внутри пылесоса для функционирования передачи данных в облака при такой схеме должен быть предусмотрен какой-то компьютер-контроллер, который содержит программно-аппаратные средства для осуществления контроля параметров работы пылесоса, обработки данных и передаче данных куда нужно. Как минимум нам интересны сетевая карта вайфая (сетевой интерфейс) и операционная система с tcp/ip стеком.


В момент включения пылесос подключится к вайфай сети, запросит и получит настройки сетевого подключения, в числе которых скорее всего:

1. IP адрес

2. Маску сети

3. Шлюз по умолчанию

4. IP адреса ДНС серверов

IP over Ethernet #2 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Римские цифры, Длиннопост

В L3 схеме сети это будет выглядеть так:

IP over Ethernet #2 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Римские цифры, Длиннопост

Отличия вайфай сети от эзернета я пока рассматривать не буду, просто пока примем, что вайфай в таймкапсуле работает в режиме точки доступа, который эмулирует эзернет. Эзернет на схеме показан как труба, к которой подключены маршрутизатор и пылесос, так в схемах сетей обозначают разные шинные топологии.


Итак что же произошло при получении пылесосом настроек сети? Сетевой интерфейс пылесоса произвел автонастройку параметров, необходимых для полноценной передачи данных в соответствии с информацией, полученной от dhcp сервера таймкапсуля. Предположим он получил от домашнего маршрутизатора (таймкапсуля)

1. IP адрес - 192.168.0.100

2. Маску сети - 255.255.255.0

3. Шлюз по умолчанию - 192.168.0.1

4. IP адреса ДНС серверов - 192.168.0.1, 8.8.8.8

Итак зачем все это нужно.

IP адрес - идентификатор хоста в IP сети, уникальное в сети 32хбитное число, представляемое для удобства человека чаще всего как набор из 4х 8мибитных десятичных чисел (байтов или октетов). Октет это восьмиразрядное двоичное число, например 11111111. В большинстве случаев сейчас байт тоже восьмиразрядное двоичное число, поэтому в данном контексте они тождественны.

192.168.0.100 - 11000000101010000000000001100100 или 3232235620 (в десятичной системе), или 11000000.10101000.00000000.01100100 с разделением октетов точками.


Тут нужно опять сделать отступление. Представьте, что вам нужно перемножить 2 числа -

LXXVIII * CXI, для многих задача покажется невыполнимой, потому что я привел числа, записанные римскими цифрами, а данная система записи чисел - непозиционная.

В то врtмя как мы привыкли использовать арабские цифры и позиционную систему записи чисел с основанием в 10.


LXXVIII * CXI = 78 * 111 = 78*100+78*10+78*1 = 7800+780+78 = 7000+800+700+80+70+8 =

= 7000+1500+150+8=8658, ну или в столбик. Эти все итерации в примере возможны потому, что каждая цифра может обозначать разные числа, находясь в разных позициях, позиции определяют соответствующие степени основания системы счисления (для нас привычно степени 10ти - 10^0 - единицы, 10^1 - десятки, 10^2 -сотни и т.д.), а цифра в позиции определяет их количество. То есть 111 = 1 единица + 1 десятка + 1 сотня.


Эти же принципы используются в системах счисления с другим основанием (двоичной, восьмеричной, шестнадцатиричной), нас будет интересовать двоичная система.


В двоичной системе основание не 10, а 10, шутка, а нет, не шутка - основание 2 то есть в двоичной записи - 10, цифр соответственно не 10 (0-9), а 2 (0,1), переход в числа в следующую позицию осуществляется при исчерпании цифр в текущей позиции. То есть как в десятичной системе, пока можно увеличивать число изменяя цифру в позиции, количество позиций не изменяется. Например число будет одноразрядным, пока для единиц хватает цифр - 1, 2, 3, 4, 5, 6, 7, 8, 9, а вот цифры закончились, дальше для увеличения числа нужно изменять разряд. 10,11,12..99, опять закончились цифры уже в десятках, опять добавляем разряд, и следующее число - 100.


Еще раз в двоичной системе цифр только 2 (0,1), поэтому натуральный ряд чисел выглядит так - 1, 10, 11, 100, 101, 110, 111 и т. д. Его не трудно перевести на человеческий (десятичный), это соответственно 1, 2, 3, 4, 5, 6, 7.


Еще раз:

1-1

2-10

3-11 (почти 99)

4-100

5-101 (дальше как с 909)

6-110 (а тут как с 990)

7-111 (а это похоже на 999).


Теперь попробуем подвести это к IP адресам, то есть к их частям - октетам. Возьмем последние октеты наших устройств (таймкапсуль-маршрутизатор - 192.168.0.1, пылесос - 192.168.0.100), то есть 1 и 100, и переведем их в двоичную систему с сохранением количества цифр в октете.

1 - 00000001 (1)

100 - 01100100 (1100100)

Чтобы количество цифр сохранялось равным 8ми (это важно), в части чисел нужны лидирующие нули.


Далее нужно понять зачем все это. А все это для маршрутизации.


У каждого компьютера, оборудованного сетевым интерфейсом с настроенным IP есть таблица маршрутизации, которая создается после настройки IP адреса на интерфейсе и некоторых дополнительных параметров.


Посмотрим как выглядит такая таблица у пылесоса, после настройки сети.


После добавления IP адреса 192.168.0.100 и маски сети 255.255.255.0 к интерфейсу в таблицу маршрутизации добавилось 2 записи:

1. - 192.168.0.100 255.255.255.255 - локальный адрес

2. - 192.168.0.0 255.255.255.0 - сеть непосредственно подключена к интерфейсу


После добавления шлюза по умолчанию - 192.168.0.1 в таблицу маршрутизации добавилась 1 запись:

3. - 0.0.0.0 0.0.0.0 - через шлюз 192.168.0.1.


Итого, еще раз, в таблице маршрутизации пылесоса появилось 3 записи:

1. - 192.168.0.100 255.255.255.255 - локальный адрес

2. - 192.168.0.0 255.255.255.0 - сеть непосредственно подключена к интерфейсу

3. - 0.0.0.0 0.0.0.0 - через шлюз 192.168.0.1.


Записи обычно сортируются по возрастанию, так что при просмотре это будет выглядеть так:

0.0.0.0 0.0.0.0 - через шлюз 192.168.0.1.

192.168.0.0 255.255.255.0 - сеть непосредственно подключена к интерфейсу

192.168.0.100 255.255.255.255 - локальный адрес


Вот как это выглядит,например, в windows 7:

$ netstat -nr
===========================================================================
Список интерфейсов
14...6c 71 d9 84 cb 57 ......Atheros AR9485WB-EG Wireless Network Adapter
13...74 d0 2b b0 64 a7 ......Qualcomm Atheros AR8161/8165 PCI-E Gigabit Ethernet Controller (NDIS 6.20)
12...6c 71 d9 84 cb 56 ......Устройства Bluetooth (личной сети)
1...........................Software Loopback Interface 1
17...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP
27...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP #2
16...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP #3
15...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
===========================================================================
IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес  Маска сети  Адрес шлюза  Интерфейс  Метрика
0.0.0.0  0.0.0.0  192.168.0.1  192.168.0.100  20
192.168.0.0  255.255.255.0  On-link  192.168.0.100  276
192.168.0.100  255.255.255.255  On-link  192.168.0.100  276
192.168.0.255  255.255.255.255  On-link  192.168.0.100  276
127.0.0.0  255.0.0.0  On-link  127.0.0.1  306
127.0.0.1  255.255.255.255  On-link  127.0.0.1  306
127.255.255.255  255.255.255.255  On-link  127.0.0.1  306
255.255.255.255  255.255.255.255  On-link  127.0.0.1  306


Здесь кроме тех маршрутов, что я перечислял выше, есть еще несколько, но про них позже.

Теперь надо сказать несколько слов откуда эти маршруты взялись и что с ними можно делать. Представьте, что пылесосу нужно отправить какие-то данные хосту 8.8.8.8, на котором находится публичный ДНС гугла, ну типа "привет, пока, пшел вон, тупая железяка!", так сказать приветствие от IoT компании эппл, сервису компании гугл. Для отправки данного месседжа, его необходимо поместить в IP пакет с соответствующими заголовками, по минимуму как-то так:

1. IP адрес отправителя

2. IP адрес получателя

3. Тип данных

4. TTL и т. д.

Хост готовит пакет, в котором IP адрес отправителя - 192.168.0.100, IP адрес получателя - 8.8.8.8, остальное пока не важно. Далее встает вопрос куда же это отправлять? За ответом хост отправляется выбирать из собственной таблицы маршрутизации маршрут, по которому отправить пакет.

Выбор маршрута происходит просто - из таблицы выбирается маршрут для которого выполняются следующие условия:

1. IP адрес получателя входит в диапазон адресов, описанных сетевым адресом и маской сети

2. Из нескольких подходящих маршрутов выбираются те, у которых маска сети максимальна

3. Из оставшихся выбираются те, у которых метрика минимальна.


Теперь нужно понять, зачем нужны маски и как все это работает.


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


Итак в большинстве машинных языков наряду с арифметическими операциями используются также разные операции логические. Логику сейчас в школе не изучают, что прискорбно, но нам нужен минимум.

Чаще всего эквивалентом истинности чего-либо в вычислениях является двоичная единица, а эквивалентом лжи - ноль.


Теперь к сути операций, сначала Логическое И (умножение или AND):

Истина И Истина = Истина, Ложь И (Истина или Ложь) = Ложь, (если есть хоть немного лжи, то все целиком - ложь) или так:

1 И 1 = 1, 1 И 0 = 0, 0 И 1 = 0, 0 И 0 = 0, или так:

1 * 1 = 1, 1 * 0 = 0, 0 * 1 = 0, 0 * 0 = 0.

То есть если один из операндов - ноль, результат тоже ноль.


Далее Логическое ИЛИ (сложение или OR):

Истина ИЛИ Истина = Истина, Истина ИЛИ Ложь = Истина, Ложь ИЛИ Ложь = Ложь (если есть хоть немного истины, то все целиком - истина) или так:

1 ИЛИ 1 = 1, 1 ИЛИ 0 = 1, 0 ИЛИ 1 = 1, 0 ИЛИ 0 = 0, или так:

1 + 1 = 1 (сумма, конечно, 2, но главное, что она больше нуля, то есть результат суммирования не 0), 1 + 0 = 1, 0 + 1 = 1, 0 + 0 = 0.

То есть если один из операндов - единица, то результат тоже единица.


Логическое НЕ (отрицание или инверсия, или NOT):

НЕ Истина = Ложь, а НЕ Ложь = Истина, или так:

НЕ 1 = 0, а НЕ 0 = 1.

То есть после операции результат будет противоположным операнду.


Теперь вернемся к маскам. Маски представляют собой некий числовой трафарет (похожий на решетку Кардано), который нужен для необходимых в маршрутизации IP пакетов расчетов.

IP over Ethernet #2 Таблица маршрутизации для утюга и пылесоса Интернет, Ethernet, Internet over Ethernet, IP, Римские цифры, Длиннопост

Чаще всего это набор единиц слева направо в 32х-разрядном двоичном числе. Например:

10000000000000000000000000000000 - маска /1 (1 единица) или 128.0.0.0,

11000000000000000000000000000000 - маска /2 (2 единицы) или 192.0.0.0,

11100000000000000000000000000000 - маска /3 (3 единицы) или 224.0.0.0,

11111111.00000000.00000000.00000000 - маска /8 (8 единиц) или 255.0.0.0,

11111111.11111111.00000000.00000000 - маска /16 (16 единиц) или 255.255.0.0,

11111111.11111111.11111111.00000000 - маска /24 (24 единицы) или 255.255.255.0.


Маски (32 бита) накладывается на IP адреса (32 бита), чтобы производить разнообразные расчеты.


В нашем примере с пылесосом маска 255.255.255.0 накладывается на IP адрес интерфейса - 192.168.0.100 для расчетов записей, добавляемых в таблицу маршрутизации:

Повторю еще раз 192.168.0.100 это в двоичной системе -

11000000.10101000.00000000.01100100,

а 255.255.255.0 -

11111111.11111111.11111111.00000000.

Итак на первом этапе стек рассчитывает из комбинации адреса и маски адрес IP сети, непосредственно подключенный к интерфейсу при помощи побитовой операции И:

11000000.10101000.00000000.01100100 И

11111111.11111111.11111111.00000000 =

11000000.10101000.00000000.00000000 или 192.168.0.0.

Расчетный адрес подсети соответственно - 192.168.0.0 с маской 255.255.255.0, нужно отметить, что в знакоместах адреса биты, закрытые единицами маски, не изменились, а в знакоместах закрытых нулями все единицы изменились на нули.


Далее производится операция инвертирования маски - НЕ

11111111.11111111.11111111.00000000 =

00000000.00000000.00000000.11111111

это 0.0.0.255.

Данное число называется wildcard. Это эквивалент количества адресов в данной сети.

Таким образом минимальный адрес в сети, подключенной к вайфай интерфейсу пылесоса -

192.168.0.0, а максимальный (192.168.0.0+0.0.0.255) - 192.168.0.255.

Для адресов из данного диапазона пылесос будет отправлять IP пакеты непосредственно в интерфейс, а хосты с адресами из данного диапазона будут соответственно доступны пылесосу непосредственно, то есть без промежуточных шлюзов.


Все это нужно, чтобы при настройке интерфейса добавить в таблицу маршрутизации запись, указанную ранее:


192.168.0.0 255.255.255.0 - сеть непосредственно подключена к интерфейсу.


А также чтобы определять принадлежность произвольного адреса назначения в IP пакете определенной сети из таблицы маршрутизации.


Например 8.8.8.8 совершенно точно не входит в 192.168.0.0 255.255.255.0, но в таблице маршрутизации была еще одна запись:


0.0.0.0 0.0.0.0 - через шлюз 192.168.0.1,


Как понимать что такое сеть 0.0.0.0 0.0.0.0.


Давайте посчитаем.

Адрес 0.0.0.0 это:

00000000.00000000.00000000.00000000, маска такая же:

00000000.00000000.00000000.00000000, после операции И, получим

00000000.00000000.00000000.00000000, это 0.0.0.0 - адрес сети (а также и минимальный адрес в данной сети), после инверсии маски:

00000000.00000000.00000000.00000000, получим

11111111.11111111.11111111.11111111, то есть 255.255.255.255 (wildcard, количество адресов в сети), после арифметического сложения адреса сети и wildcard (0.0.0.0+255.255.255.255) получим 255.255.255.255 - максимальный адрес в сети.


После данных операций становится понятно, что сеть 0.0.0.0 0.0.0.0 (короткая запись с маской, указывающей на количество единиц маски, - 0.0.0.0/0) содержит все IPv4 адреса в сети IP. Адреса 8.8.8.8, 192.168.0.1 и 192.168.0.100 являются частью данной сети.


Продолжение следует...

Показать полностью 4
[моё] Интернет Ethernet Internet over Ethernet IP Римские цифры Длиннопост
16
38
ventricola
ventricola
8 лет назад
Лига Сисадминов

IP over Ethernet #1 Введение в Ethernet коммутацию.⁠⁠

Продолжение IP over Ethernet. Часть 0.2 со ссылками на 0.1 и 0.


Итак поговорим о ethernet коммутаторах.

Сначала кратенько о том как было до них:


Для понимания функционирования любой эзернет сети нужно знать немного, но все-таки кое-что нужно:

1. Адресация. Если не упоминать ранние реализации, а начинать сразу с актуальных (ethernet v2), то у каждого устройства в сети (для удобства дальше все такие устройства буду называть хостами (host) как в tcp/ip независимо от контекста L2 или L3 пока речь будет идти о связанных с tcp/ip технологиях) должен существовать уникальный физический адрес - MAC, уникальность обеспечивается координацией IEEE производителей оборудования. Каждый MAC-адрес это 48 битный идентификатор, для удобства восприятия человеком обычно представленный шестнадцатиричными цифрами, объединенными в блоки:


00:0f:9f:c5:c3:c3 - разделенные двоеточиями на 8-мибитные блоки (байты или октеты) - один из наиболее популярных видов записи;

00-0f-9f-c5-c3-c3 - то же, но с дефисами, так, обычно, в длинках;

c04a.003c.044b - разделенные точками 16-тибитные блоки - принятый вид записи в Cisco IOS;


Первые 3 октета это префикс, соответствующий вендору, а следующие 3 октета - уникальный идентификатор, назначенный производителем.


Кроме идентификаторов хостов есть MAC адреса специального назначения. Во-первых широковещательный адрес или broadcast (ff:ff:ff:ff:ff:ff), MAC адрес, который используется, когда отправляемый эзернет кадр предназначается всем хостам в сети. Во-вторых и далее разные адреса для многоадресного (multicast) трафика, vrrp и прочих.


2. Общие сведения об струтуре кадра эзернет. Минимум, который нужно знать:

IP over Ethernet #1 Введение в Ethernet коммутацию. Интернет, Ethernet, Internet over Ethernet, Длиннопост

Кадр состоит из 3х частей - заголовка, полезных данных и контрольной суммы. Пока нам для последующего разбора надо знать из чего состоит заголовок. На рисунке заголовок представлен 14ю байтами из которых 6 - адрес назначения (destination, dst, d), 6 - адрес источника (source, src, s), 2 - тип кадра. Надо сказать, что на физическом уровне перед заголовком есть еще и преамбула, состоящая из 8ми байт, а после кадра межпакетный пропуск, но для начального понимания коммутации они несущественны. После нехитрого подсчета минимального payload в 46 и checksum в 4 байта получим минимальный кадр размером в 64 байта.


До появления коммутаторов все кадры в эзернет сети приходили всем хостам. То есть в такой сети (для удобства среда просто обозначена как шина):

IP over Ethernet #1 Введение в Ethernet коммутацию. Интернет, Ethernet, Internet over Ethernet, Длиннопост

Кадр отправленный от A к C с адресами в заголовке dst 00:00:00:00:00:03 и src 00:00:00:00:00:01 приходил и к B, B соответственно должен был его отбросить, так как кадр не для него, а C принять и обработать, A во время отправки ничего принимать не мог. Если C ответит A, то кадр также попадет и к A, где будет обработан, и к B, где будет отброшен. Любой кадр с dst ff:ff:ff:ff:ff:ff приходил ко всем и обрабатывался всеми, кроме отправителя, который, как водится, ничего не мог принимать во время отправки.


Сеть на концентраторах (хабах) принципиально ничего не меняла, кадры доставлялись точно также всегда всем.

IP over Ethernet #1 Введение в Ethernet коммутацию. Интернет, Ethernet, Internet over Ethernet, Длиннопост

Сеть на коммутаторах функционирует совершенно иначе, хотя для хостов все осталось как было и вроде бы ничего не изменилось.

IP over Ethernet #1 Введение в Ethernet коммутацию. Интернет, Ethernet, Internet over Ethernet, Длиннопост

Картина почти идентична предыдущей, но на ней не хватает существенных деталей, которые раньше не были существенными - номеров портов, исправим.

IP over Ethernet #1 Введение в Ethernet коммутацию. Интернет, Ethernet, Internet over Ethernet, Длиннопост

Теперь разберемся, что происходит в такой сети при таком же трафике как в предыдущих примерах.

Кадр отправленный от A к C с адресами в заголовке dst 00:00:00:00:00:03 и src 00:00:00:00:00:01 приходит в 3й порт свича. С этого момента все совсем не так как раньше. Я писал, что свич это специализированный сетевой компьютер. У него есть центральный процессор и память (ЗУ).


Итак шаг за шагом:


1. Приняв кадр на 3м порту с src-mac 00:00:00:00:00:01, свич, используя специализированную часть ЗУ, называемую CAM таблицей, запомнит на некоторое время, что хост A с MAC адресом 00:00:00:00:00:01 подключен где-то за 3м портом. CAM таблица представляет собой специализированное ЗУ, называемое ассоциативной памятью или АЗУ, в котором поиск данных по уникальным ключам происходит очень быстро.


2. Изучив dst-mac 00:00:00:00:00:02 из заголовка и определив, что это не адрес специального назначения, свич начнет поиск записи в CAM таблице, соответствующей ключу в виде этого адреса, если записи там нет (предположим в момент, когда сеть только включилась), то кадр будет отправлен во все порты кроме того, в который пришел этот кадр. То есть дальше кадр уйдет в порты 6 и 8, где будет обработан или отброшен соответствующими хостами.


3. Если C ответит A, то кадр с dst 00:00:00:00:00:01 и src 00:00:00:00:00:03 будет принят 8м портом свича.  Свич добавит в CAM таблицу запись о том, что хост C с MAC адресом 00:00:00:00:00:03 подключен где-то за 8м портом.


4. Изучив dst-mac 00:00:00:00:00:01 из заголовка и определив, что это не адрес специального назначения, свич начнет поиск записи в CAM таблице, соответствующей ключу в виде этого адреса, найдет запись о том, что хост с MAC адресом 00:00:00:00:00:01 подключен где-то за 3м портом. Дальше кадр уйдет только в порт 3, где будет обработан хостом A. В остальные порты кадр скоммутирован не будет.


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


5. Любой кадр с dst ff:ff:ff:ff:ff:ff будет после соответствующего обновления CAM таблицы по src-mac будет отправлен во все порты, кроме того на котором он был получен. Кадр будет обработан всеми хостами, кроме отправителя.


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


В конце приведу несколько полезных ссылок в качестве, так сказать, дополнительной литературы.


Сети для самых маленьких. Часть вторая. Коммутация

Про MAC-таблицы в коммутаторах

Всё, что вы хотели знать о Ethernet фреймах, но боялись спросить, и не зря

В Интернет через Ethernet - Nag.ru

Показать полностью 5
[моё] Интернет Ethernet Internet over Ethernet Длиннопост
12
29
ventricola
ventricola
8 лет назад
Лига Сисадминов

IP over Ethernet #0.2 с чего все начиналось или какой быстрый ездок не любит русскую?!⁠⁠

Продолжение IP over Ethernet. Часть 1. Часть 2.


Итак революция в ethernet с появлением коммутаторов стала началом революции в телекоммуникациях. В любой отрасли революций хватает, это и антибиотики с вакцинацией в медицине, и методы получения пластмасс в химии, и появление транзисторов в радиоэлектронике, ну и т. д., список огромен. В передаче информации революций тоже хватало: телеграф, телефон, цифровая передача данных, разнообразные сети. Так что появлением новых устройств и протоколов удивить можно было мало кого.


Однако не в этом случае. Современный коммутатор эзернет отличается от хаба

чуть менее чем палка-копалка от шагающего экскаватора, хотя сначала разница и была немного меньше. Собственно поэтому и современный эзернет так же отличается от 10BASE2.
IP over Ethernet #0.2 с чего все начиналось или какой быстрый ездок не любит русскую?! Интернет, Ethernet, Internet over Ethernet, Длиннопост

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


В коммутаторе же принимаемые на каждом порту электрические сигналы сначала декодировались в ethernet пакеты (называемые фреймами или кадрами), специальным образом обрабатывались и передавались дальше в другие порты. Это изменило сущность эзернета. Можно, не углубляясь пока в конкретику, немного подытожить уже сейчас.


1. Разделяемая среда передачи перестала быть разделяемой. Исчезли коллизии. Стало возможным передавать и принимать одновременно; там где раньше было 10 мбит/с на всех (но не всегда доступных из-за коллизий), стало потенциально возможным 10 мбит/с на каждого одновременно на прием и передачу (full duplex).


2. Исчезли ограничения на каскадирование (подключение хаба к хабу) устройств. При каскадировании пассивных хабов уровень сигнала в сети затухал, после некоторого количества устройств становясь неотличимым от шума, нужны были активные хабы - аналоговые регенераторы сигнала. Каждый свич же был одновременно и цифровым регенератором, так как работал не с электрическими сигналами а с информационными пакетами.


3. Цифровая обработка пакетов создала предпосылки для эволюции ПО и вхождения коммутации в работу сетевого инженера как полноценной отдельной дисциплины.


В следующей заметке скорее всего с номером 1 попробую более подробно остановиться на введении в эзернет коммутацию, а пока продолжу рассказ о покорении эзернетом телекоммуникационного олимпа.


Следующей революцией в эзернет стало появление fast ethernet протокола и немедленное внедрение его в жизнь. Эзернет и так был очень дешев по сравнению с SDH и ATM в пересчете на единицу передаваемой информации за единицу времени. И если 1 Мбит/с SDH и ATM были еще более-менее подъемными для телеком бизнеса начала 2000х, то 100 Мбит/с их же стоили таких конских денег, что заставляли плакать от вожделения тогдашних водителей тогдашних 600х мерсов. За fast ethernet уже буднично воспоследовал gigabit ethernet ну и так далее, и так далее.


Но все это было хорошо и можно было, пользуясь свободной пропускной способностью коммутируемого эзернета уже передавать голос и даже, о ктулху, потоковое видео по офису, другое дело, что ATM позволял пусть дороже и не видео, но на километры. А километры были ой какими значимыми, даже ой-ой-ой какими, а вот эзернет на километры не позволял.


Ну и тут мы внезапно подходим к последним революционным событиям. В середине 2000х внезапно очень сильно подешевело одномодовое оптическое волокно (для которого в семействе технологий эзернет уже было несколько стандартов физического уровня), а за волокнами оптоволоконные кабеля, а за ними оптические приемопередатчики. Сама битва между Стекляшкиным и Хозяйкой медной горы достойна отдельного описания, но тут на небе Луна вошла в Юпитер Южный крест правление Юкоса все, короче, сошлось в очень благоприятный для эзернет расклад. И он вдруг внезапно тоже стал на километры и даже сотни километров за приемлемые деньги.


Параллельно этому развивалось программное обеспечение коммутаторов, которое к середине-концу 2000х стало вполне годным, а врожденные уродства эзернета, не позволявшие применять его за пределами офисных ЛВС, где-то превратились в достоинства, а где-то были закостылены до неузнаваемости.


Таким образом вчерашняя ЛВС для офиса стала чуть ли не технологией №1 для канального уровня сетевой модели, вытеснив все остальное в нишевые применения. Приведу свою цитату из комментариев к 1й части:

Я написал не про то, что нет ATM, а про то, что технологии для каждого (как ее позиционировали и прогнозировали) из нее уже не получится. Даже у сотовиков огромные куски передачи голоса переехали на ethernet/IP/MPLS, где-то жив SDH и надолго еще останется, где-то ATM, а где-то развернуты OTN и прочие WDM. Но все так или иначе замыкается на эзернет, во всех сегментах от ядер сетей до последних миль и сетей в квартирах. Этим должен был стать ATM, но не стал, и вот мы здесь.
Показать полностью 1
[моё] Интернет Ethernet Internet over Ethernet Длиннопост
13
90
ventricola
ventricola
8 лет назад
Лига Сисадминов

IP over Ethernet #0.1 с чего все начиналось или кому мутаторы⁠⁠

Продолжение IP over Ethernet.  Часть 1.


Итак об локальных сетях.


Цифровая передача данных как полезная штука начала широко входить в жизнь простого бюргера в 80х годах XX века. Появились телетексты, минители, а с ISDN и разные пользовательские терминалы, объявления, службы такси, прогнозы погоды и т. д. и т. п. Это не считая RS-232 с модемами. Некоторой части общественности стали доступны локальные сети на работе, а некоторые даже занимались промышленной автоматизацией, используя какие-нибудь MODBUS/RS-485 или CAN.


Сети были относительно молодыми и нужны были для разного. К RS-485, например, подключались какие-нибудь промышленные контроллеры, передававшие телеметрию из какого-нибудь большого адронного гудронного коллайдера в недрах какой-нибудь ТЭЦ районной котельной, где не нужны были эти ваши мегабиты, а пары килобит хватало за глаза, да и доморощенных кулхацкеров на таких предприятиях обычно быстро выкидывали на мороз.


В офисах и на заводах жили arcnet, ethernet и token-ring. Причем где надо было качественно передавать данные - преимущественно аркнет и токенринг, а где надо было дешево и быстро - преимущественно эзернет. Собственно вот это главное.


А дальше будет не менее главное второстепенное.


RS-485, arcnet, ethernet и token-ring - сети с множественным доступом (каждый участник может передавать каждому) на то время использовавшие общую разделяемую физическую среду передачи (за исключением токенринга, где все несколько сложнее/проще). Одной из существенных проблем, которую обязательно нужно решить в такой схеме - необходимость передачи информации в сети от только одного участника в каждый момент времени при молчании всех остальных. Если передавать одновременно будут несколько устройств, в сети произойдет смешение сигналов с последующей потерей данных. Решить эту проблему технически можно разными способами. Один из самых простых вариантов в MODBUS поверх RS-485 - master-slave модель, при таком варианте одно устройство в сети назначается ведущим, а остальные ведомыми, ведущее устройство опрашивает ведомые по очереди, после запроса у ведомых есть определенное время на ответ в течение которого ведущее устройство молчит и ждет, не отправляя новых запросов.


В аркнет с токен-рингом использовалась передача маркера, при этом владеющее маркером устройство могло передавать информацию, а остальные молчали и ждали, после истечения времени маркер передавался следующему устройству участнику сети, а предыдущее устройство замолкало.


Два вышеописанных примера - маркерный доступ и модель ведущий-ведомый это варианты так называемого детерминированного доступа к среде передачи. В эзернет же использовался случайный или недетерминированный доступ с механизмом распознавания коллизий,  не особенно хороший и довольно сложный, иногда делавший 10ти-мегабитную эзернет сеть менее эффективной чем 2х-мегабитный аркнет.


И тем не меннее вокруг нас один сплошной эзернет, а остальные почили, ну RS-485 нет, но он и не ЛВС, а промышленная сеть, а вот новых arcnet и token-ring нам скорее всего уже не увидеть.


Итак сначала об топологиях ЛВС на то время:

Эзернет - шина, токенринг - кольцевая шина, нет кольцо,нет даже сложно точно сформулировать, скорее точка-точка-кольцо или точка1->точка2->точка3->точка1, кольцевые бусы?, аркнет смешанная шина/звезда, сеть-мечта с практически произвольной топологией. В эзернет и аркнет для создания физической среды передачи применялся коаксиальный кабель, в токенринге неэкранированная витая пара.


Что было хорошего у аркнет - отсутствие коллизий, почти произвольная топология, передача данных в общей среде передачи всем участникам одновременно, у токенринга - отсутствие коллизий, 4 мбит/с против 2.5 мбит/с у аркнет, международный стандарт, у эзернет - 2 и 10 мбит/с, международный стандарт. В отличии от сетей с маркерным доступом, где очевидно были ограничения на размерность сетевого адреса и соответственно на количество устройств в сети, в эзернет довольно быстро появились 48-битные уникальные MAC адреса с механизмом их получения для производителей устройств, что позволяло теоретически запилить сеть с сотнями или тысячами устройств.


Дальше произошло несколько событий, определивших текущее положение вещей.


Сначала у эзернет появилась звездчатая топология с концентраторами/хабами (hub) внутри (как у аркнет), использующая витую пару (как у токенринг). И это произвело революционные изменения в дальнейшем. После появления сетей с хабами оказалось возможным коренным образом изменить все, заменив хаб на новое устройство, которое незамедлительно появилось. Называлось оно коммутатор или switch (свич) и представляло собой специализированный сетевой компьютер, обрабатывающий пакеты данных как пакеты, а не как электрические сигналы. Появление свичей сделало эзернет совершенно отличным от других ЛВС технологий, управление сетью стало более простым, надежность и скорость работы сети значительно увеличились, увеличилась качественно и сетевая безопасность. Доступ к среде передачи стал почти детерминированным как у конкурентов, коллизии практически ушли в прошлое. Цифровая обработка пакетов сразу предоставила громадные возможности для фантазии и творчества разработчикам программного обеспечения для сетевых устройств на десятилетия вперед.


Токенринг и аркнет создали новые высокоскоростные протоколы, но на подножку уходящего перрона запрыгивать было уже поздно...


Мутация из хабов в коммутаторы стала первой из череды особо значимых революций эзернета, во многом предопределив более 25 лет назад, то что происходит сегодня.


Продолжение следует...

Показать полностью
[моё] Интернет Ethernet Internet over Ethernet Длиннопост Текст
18
116
ventricola
ventricola
8 лет назад
Лига Сисадминов

IP over Ethernet #0 с чего все начиналось⁠⁠

В связи с очень полезным начинанием пикабушницы @virrasha попробую в меру сил продолжить ликбез. Обдумывая с чего же начать, решил не мудрствовать и начать с истории, тем более, что похожие попытки популярно это объяснить довольно редки, известные мне - "В Internet через ethernet" на nag.ru.


Все нижеописанное это совсем непрофессиональная и, вероятно, не общепринятая, а очень частная точка зрения на сегодняшнее положение вещей в мире передачи информации в компьютерных сетях и как оно к этому пришло :). Поэтому комментарии и исправления ошибок и неточностей от знающих людей всячески приветствуются.


Начало электросвязи это телефония, которая почти век и была практически монопольной электросвязью в головах большинства человеков. Были еще конечно телеграфы и телетайпы и многое другое, но телефония, пожалуй, это более 90% передаваемой электронными каналами информации, по крайней мере измеряемой в конечных пользователях, в течение очень долгого, долгого времени.


В этом месте нужно сделать первое отступление о коммутации. Все я разбирать не буду, остановлюсь на 2х важных вариантах: 1й - коммутация каналов, 2й - коммутация пакетов.


Так вот, телефония изначально была коммутацией каналов, вспомните фразу "Девушка, Смольный!". Использование людей-операторов, кстати, для коммутации телефонных линий до сих пор практикуется, хотя технологии стремительно шли вперед и довольно быстро появились механические АТС, а за ними всякие квазиэлектронные и электронные.

IP over Ethernet #0 с чего все начиналось Интернет, Ethernet, Internet over Ethernet, Длиннопост

Большинство событий в начале эпохи цифровой передачи данных были подчинены телефонии и парадигме коммутации каналов. Цифровая передача данных в начале при всем своем отличии от механических вариантов коммутации была заточена под то же самое. Первые технологии цифровой передачи данных PDH и SDH это 50е-80е годы XX века, это технологии коммутации каналов с мультиплексированием во времени. Каналы делились на таймслоты по 64 килобита/с и из них создавался результирующий канал определенной пропускной способности T1, E1, E2 и т.д. При, например, звонке от Васи к Пете для передачи голоса резервировалось нужное количество временных интервалов (таймслотов) для передачи голосового траффика в реальном времени. Эти таймслоты при неиспользовании или недогруженности информацией для других целей использовать в сети было уже нельзя.

IP over Ethernet #0 с чего все начиналось Интернет, Ethernet, Internet over Ethernet, Длиннопост

Для передачи чистых цифровых данных (фоточек котиков сообщений электронной почты, например) SDH годился, но с соответствующими издержками коммутации каналов. Для развития чистой передачи цифровых данных в 70х-80х того же века был разработан ATM.


ATM в виде ISDN и DSL был довольно распространен и популярен до 2000х, он подразумевал коммутацию пакетов, возможности передачи поверх SDH/PDH, был все еще тесно связан с телефонией. Для передачи информации использовались цифровые ячейки (пакеты фиксированного размера по 53 байта с заголовком в 6 байт и с полезной нагрузкой в 48 байт) в которые могли инкапсулироваться самые разные данные от текстовых файлов до голосовых звонков в реальном времени, имелись механизмы управления качеством обслуживания, коммутация пакетов позволяла эффективнее использовать пропускную способность канала для передачи чистых цифровых данных в компьютерных сетях чем SDH/PDH. А заложенные изначально в оборудование и технологию развитые возможности для работы с конечными абонентами с корнями из телефонии позволяли операторам строить эффективные сети для продажи услуг цифровой связи.

IP over Ethernet #0 с чего все начиналось Интернет, Ethernet, Internet over Ethernet, Длиннопост

У ATM было светлое долгое будущее, которое, однако не наступило... Поскольку рядом существовала и развивалась еще одна технология электросвязи - Ethernet. Это была технология создания локальных, а не глобальных компьютерных сетей, предназначенная исключительно для создания офисных, ну максимум кампусных сетей, но обгадившая однако телефонистам много малины. И продолжающая стабильно обгаживать дальше еще больше.


Продолжение следует...

Показать полностью 3
[моё] Интернет Ethernet Internet over Ethernet Длиннопост
37
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии