Действительно разбираетесь в нетворкинге?[закрыто]
-
05-07-2019 - |
Вопрос
Я разбираюсь в основах сетевых технологий, таких как локальная сеть и прочее.Я знаю, что такое многие протоколы и как создать программу сокета клиент / сервер на C.Но чего я действительно хочу, так это очень хорошего понимания того, как на самом деле работают сети.Не только с точки зрения программирования, но и с точки зрения приложения.Я ищу какой-нибудь материал (желательно книгу), который даст мне очень хорошую основу для продолжения работы.Я нахожусь в процессе становления программистом или администратором UNIX, поэтому мне действительно следует изучить и знать, как применять основы сетевого взаимодействия.
Существует ли какой-нибудь такой краткий ресурс?Было бы лучше пойти по более академическому пути, купив книгу по сетевому взаимодействию (например, у Таненбаума или Куросе), или лучше пойти по ИТ-пути, возможно, заглянув в учебники по сетевому администрированию или сертификации?
Большое вам всем спасибо.
Решение
Книга покойного Ричарда Стивенса - шедевр, гораздо более практичный и немедленно применимо, чем у Таненбаума (не изучал Куросе). Кстати, тем же автором, я так же горячо рекомендую книги в «Проиллюстрированном TCP / IP». серии и расширенное программирование в среде Unix - немногие книги более важны для хочу быть "программистом или администратором Unix", возможно, сохраните ESR !
Другие советы
Вот способ, который я бы порекомендовал:
- Узнайте, как развивался Интернет, это дало бы вам причину, по которой он был им нужен
- Изучите различные протоколы - HTTP, telnet, ssh, особенно безопасные SFTP, HTTPS и т. Д
- Узнайте, что такое розетки и их типы
- Узнайте, как вы можете программировать сокеты.Я предлагаю вам использовать Сокеты Python для выполнения программирования
- Изучите сетевой стек TCP/IP.Это было бы полезно
- Узнайте как маршрутизационные работы, это важно для обучения
- Постарайтесь хорошо разбираться в таких темах, как DNS, это очень важно
- Получите VirtualBox, установите различные операционные системы и попробуйте подключить их к сети.Поиграйте с сетевым стеком операционной системы.
Мне как-то неясно, что именно вы ищете, поэтому я просто добавлю это:
Начните создавать свои собственные сети вместе. Создать ЛВС. Пойди разберись, как создать и управлять брандмауэром Linux вместо потребительского. Установите Active Directory только для улыбок. Запустите свои собственные серверы DHCP и DNS на этом сервере Active Directory.
Как только вы доберетесь до этого, если вы все еще заинтересованы, начните думать о том, как бы вы планировали свою локальную сеть, если бы у вас было 500 компьютеров. Узнайте о виртуальных локальных сетях (VLAN). Р>
Я думаю, что создание сетей, в частности, является отличным местом для начала работы, потому что A) никто не пострадает, B) это в основном бесплатно.
Вау .. сетевое взаимодействие - это очень большое поле. Чтобы по-настоящему понять все, потребуется доктор наук или несколько докторов наук. Р>
Вот некоторые аспекты, которые, я думаю, вам необходимо изучить.
1) Вам необходимо изучить историю создания сетей. Многие из политик, встроенных в протоколы, были сделаны из-за нехватки времени. Изучите историю протоколов, чтобы узнать " Почему " о том, как это работает.
2) Программирование является отличным источником знаний о том, как сеть работает на самом низком уровне. Научитесь писать некоторый код сокета на C. Сокеты BSD - хорошее место для начала. Вы можете найти множество ссылок на разъемы BSD в Интернете.
3) * Команды nix предоставляют богатые знания по настройке и управлению сетями. Хорошие сетевые администраторы знают много хитростей о том, как создавать сложные сетевые операции, используя только самые основные сетевые инструменты. Сетевые инструменты GNU - хорошее место для начала.
4) Если есть возможность, есть несколько сертификатов, таких как MCSE и CCNA, которые имеют модули для работы в сети. Эти документы могут быть полезны для получения знаний о конкретном типе сети. Я много узнал о моделях доменов Windows NT, сидя на бумаге для MCSE, хотя никогда особо не играл с доменами.
Есть больше аспектов. Спросите себя, что вам больше нравится? Р>
немного личного опыта. Я работал разработчиком программного обеспечения в течение 10 лет. Я также "неоплаченный" Сетевой гуру в моём офисе. Так или иначе, я должен носить более 1 шляпу как разработчик, потому что работа в сети является частью программного обеспечения, над которым я работаю.
В качестве основы вы можете получить W. Ричард Стивенс Классик, TCP / IP Illustrated и, возможно, другие его книги. их больше не будет .
Звучит так, как будто вы ищете понимание, которое действительно может быть достигнуто только через опыт. Каждый человек будет по-разному смотреть на вещи, в зависимости от того, что для них имеет смысл - объяснения могут помочь, но ничто не заменит обучения фактическим решением проблем.