Для чего читать Таненбаума?
=============================

 Друзья, есть ли смысл читать Таненбаума Компьютерные сети?  

Я открыл его, почитал и закрыл.  

Это либо куча воды, либо абстракция такого уровня, что я не способен просто ее понять.  
  

Можно ли эти книги применять на практике?   

Меня интересует именно тема сетевого программирования  

Хочу понять, что конкретно лежит, за реализацией сокетов, на примере ОС Linux.  

Для этого я открыл Таненбаума, но даже идеи как его слова перевести в код - нет.  
  

Была идея, чтобы понять что лежит за сокетами, почитать исходники Linux, но понять алгоритмы, без знания сетевых технологий, глупая затея.  

Получается такой бесконечный цикл.  
  

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

И как это сделать? 

> Для чего читать Таненбаума?

Для того, чтобы разобраться как работает сеть.  
  

> Для этого я открыл Таненбаума, но даже идеи как его слова перевести в код - нет.

Разумеется, так и должно быть. Книга не имеет отношения к программированию, она просто объясняет работу сети.  
  

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

На практике вы вынесете понимание работы сети, и ничего более.  

А уж потом можете использовать это понимание хоть для администрирования, хоть для программирования.  
  

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

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

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

Глава 2. Физический уровень. Есть кусок кабеля. Думаем, как по нему переслать информацию. Как пропустить еще больше? Наворачиваем дуплекс, частотное уплотнение и т. д. Аналогично с воздушной линией.  

Глава 3. Канальный уровень. Передавать научились, теперь исправляем ошибки передачи.  

Глава 4. Как бы нам теперь этот кабель подключить к нескольким компам, чтобы они не конфликтовали?  

Глава 5. Сетевой уровень. А теперь по всей стране?  

И т.д. Приходит понимание той или иной реализации, предпосылки и причины появления. 

 Для программирования сетей читайте Стивенса "Unix. Разработка сетевых приложений" 2007 год. Книга не новая, но лучшего описания программирования сетей я не встречал. 

 А вот я Таненбаума не читал. Сети можно изучить и без него, например   

"Компьютерные сети. Принципы, технологии, протоколы. Учебник для вузов", Олифер & Олифер.