2009-10-22 6 views
1

Я понимаю основы таких сетей, как Lan и прочее. Я знаю, что такое многие из протоколов и как создать программу для сокета-клиента/сервера в C. Но то, что я действительно хочу, - это очень хорошее понимание того, как работают сети. Не только с точки зрения программирования, но и с аспектом приложения. Я ищу какой-то материал (желательно книгу), который даст мне очень хорошую основу для ухода. Я в середине желаю быть программистом или администратором UNIX, поэтому я действительно должен научиться и знать, как применять сетевые основы.Поистине понимание сети?

Существует ли такой сжатый ресурс? Было бы лучше перейти на более академичный путь, купив сетевую книгу (например, из Tanenbaum или Kurose), или лучше пойти по этому маршруту, возможно, изучив текст сетевого администратора или книги по сертификации.

Спасибо вам большое.

ответ

3

Позже Ричард Стивенс book является шедевром - гораздо практичнее и сразу же применим, чем Tanenbaum's (не изучали Kurose). Кстати, одним и тем же автором, я так же горячо рекомендую книги в серии «TCP/IP Illustrated», а Advanced Programming in the Unix Environment - несколько книг более важны для программиста, который хочет стать «программистом» или «администратором Unix», за исключением, возможно, ESR's!

0

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

1

Whoa .. networking - серьезное большое поле. Чтобы по-настоящему понять, все потребует PHD или несколько PHD.

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

1) Вам необходимо узнать историю сетевого взаимодействия. Многие из политик, встроенных в протоколы, были сделаны из-за ограничений времени. Изучите историю протоколов, чтобы узнать «Почему», как это работает.

2) Программирование - отличный источник знаний о том, как сеть работает на самом низком уровне. Научитесь писать код сокета в C. Сокеты BSD - это хорошее место для начала. Вы можете найти много ссылок на сокеты BSD в Интернете.

3) * Команды nix предоставляют множество знаний по настройке и управлению сетями. Хорошие администраторы сети знают множество трюков о том, как создавать сложные сетевые операции, используя только самые основные сетевые инструменты. Сетевые инструменты GNU - это хорошее место для начала.

4) Если у вас есть это, есть несколько сертификатов, таких как MCSE и CCNA, которые имеют модули в сети. Эти документы могут быть полезны для получения знаний о конкретном типе сети. Я много узнал о моделях доменов Windows NT, сидящих за бумагу MCSE, хотя я никогда не играл с доменами.

Есть больше аспектов. Спросите себя, что вам больше нравится?

немного личного опыта. Я работал разработчиком программного обеспечения в течение 10 лет. Я также «неоплачиваемый» сетевой гуру в своем офисе. Так или иначе, я должен носить более 1 шляпу в качестве разработчика, потому что сетевое взаимодействие является частью программного обеспечения, над которым я работаю.

2

Своего рода неясного мне, что именно вы ищете, так что я просто хочу, чтобы бросить это там:

Старт сети свой собственный материал вместе. Создайте локальную сеть. Подумайте, как создать и управлять брандмауэром Linux вместо потребительского. Установите Active Directory только для усмешек. Запустите собственные серверы DHCP и DNS на этом сервере Active Directory.

Как только вы доберетесь до этого, если вы все еще заинтересованы, начните думать о том, как вы планируете свою ЛВС, если бы у вас было 500 компьютеров. Узнайте о виртуальных локальных сетях (VLAN).

Я думаю, что сетевое взаимодействие - отличное место, чтобы начать возиться, потому что A) никто не пострадал, B) его в основном бесплатно.

+0

+1, я думаю, что это действительно хорошая идея подумать о том, как вы планируете сетевую инфраструктуру. – mdegges

3

Вот как я бы рекомендовал:

  • Узнайте, как Интернет Evolved, это даст вам причину, почему они необходимы ему
  • Изучите различные протоколы - HTTP, Telnet, SSH ЭСП безопасные те, SFTP, HTTPS и т. Д.
  • Узнайте, какие разъемы и типы разъемов
  • Узнайте, как вы можете программировать сокеты. Я предлагаю вам использовать Python sockets для программирования
  • Изучите сетевой стек TCP/IP. Это было бы полезно
  • Узнайте, как routing works, это важно для изучения
  • Try, чтобы иметь хорошие знания тем, как DNS, это очень важно
  • Получить VirtualBox и установить различные ОС и попытаться InterNetwork их. Играйте с сетевым стеком ОС.
Смежные вопросы