真正了解网络?

时间:2009-10-22 05:07:25

标签: unix networking admin

我了解Lan等网络基础知识。我知道许多协议是什么以及如何在C中构建客户端/服务器套接字程序。但我真正想要的是非常好地理解网络的实际工作方式。不仅来自编程方面,还来自应用程序方面。我正在寻找一些材料(最好是一本书),这将给我一个很好的基础。我正在想成为一名程序员或UNIX管理员,所以我真的应该学习并知道如何应用网络基础知识。

是否存在这样简洁的资源?通过购买网络书籍(例如来自Tanenbaum或Kurose的网络书籍)进入更具学术性的路线会更好吗,或者更好地选择网络管理文本或认证书籍的It路线。

非常感谢你们。

6 个答案:

答案 0 :(得分:3)

已故的理查德史蒂文斯'book是一部杰作 - 比Tanenbaum(未研究Kurose)更实用,更直接适用。顺便说一下,在同一作者的作品中,我同样热烈推荐“TCP / IP Illustrated”系列中的书籍,以及Advanced Programming in the Unix Environment - 对于想成为“程序员或Unix管理员”的书来说,很少有书籍,或许ESR's

答案 1 :(得分:3)

以下是我推荐的方式:

  • 了解互联网如何发展,这将为您提供他们需要它的原因
  • 了解不同的协议 - HTTP,telnet,ssh,特别是安全的SFTP,HTTPS等
  • 了解套接字和套接字的类型
  • 了解如何进行套接字编程。我建议你使用Python sockets进行编程
  • 了解TCP / IP网络堆栈。这将是有益的
  • 了解routing works,这对学习非常重要
  • 尝试对DNS等主题有充分的了解,这非常重要
  • 获取VirtualBox并安装各种操作系统并尝试互联网。使用操作系统的网络堆栈。

答案 2 :(得分:2)

我不清楚你究竟在寻找什么,所以我只想把它扔出去:

开始将自己的东西联网。创建一个局域网。了解如何创建和管理Linux防火墙而不是消费者防火墙。安装Active Directory只是为了咧嘴笑。在该Active Directory服务器上运行您自己的DHCP和DNS服务器。

一旦你走得那么远,如果你仍然感兴趣,那么如果你有500台计算机,就开始考虑如何规划你的局域网。了解虚拟LAN(VLAN)。

我认为特别是网络是一个开始修补的好地方,因为A)没有人受伤,B)它大部分是免费的。

答案 3 :(得分:1)

哇..网络是一个非常重要的领域。要真正理解一切都需要PHD或几个PHD。

以下是我认为您需要学习的一些方面。

1)您需要了解网络的历史。协议中的许多策略都是由于时间的限制而制定的。了解协议的历史,了解其工作原理的“原因”。

2)编程是关于网络如何在最低级别工作的极好知识来源。学习用C编写一些套接字代码.BSD套接字是一个很好的起点。您可以在Internet上找到很多BSD套接字的引用。

3)* nix命令提供有关配置和管理网络的丰富知识。优秀的网络管理员知道如何使用最基本的网络工具构建复杂的网络操作的许多技巧。 GNU网络工具是一个很好的起点。

4)如果你做到了,有几个证书,如MCSE和CCNA,它们有网络模块。这些论文可用于获取特定类型网络的知识。我从坐在MCSE论文中学到了很多关于Windows NT领域模型的知识,尽管我从来没有真正玩过很多领域。

还有更多方面。问问自己,你更喜欢哪一个?

一点个人经历。 我作为软件开发人员工作了10年。我也是我办公室里的“无偿”网络大师。不知何故,我不得不戴上超过1顶帽子作为开发人员,因为网络是我工作的软件的一部分。

答案 4 :(得分:1)

对于基础知识,你可能想要获得W. Richard Stevens Classic, TCP/IP Illustrated,也可能想要获得其他书籍。也不会be any more of them

答案 5 :(得分:0)

听起来你正在寻找的是那种只能通过经验才能真正达到的理解。每个人都会有不同的看待事物的方式,取决于对他们有意义的东西 - 解释可以帮助,但实际上解决问题无法替代学习。