快生活 - 生活常识大全

计算机网络实验计算机网络这门课怎么自学


  一些立志要学好计算机网络的读者常常有这样的问题:有没有一本类似百科全书的读物,只需要一本就可以学好计算机网络?
  我的回答通常是没有,如果有,请及时通知我,我也买一本。计算机网络实验-
  英语学习,把单词记住了,了解了句型,阅读一些文章,掌握了句型与单词,很容易就会学好。
  计算机网络,是人类创新发明,网卡、网线、路由器、交换机可以看得见,里面的流量看得见吗?
  看不见!
  计算机网络实验,学习计算机网络为何要看见流量?
  就好比病人去医院,医生需要借助验血报告、B超、X光报告,才能研究病情。
  计算机网络的存在,就是为了承载各式各样的流量,研究流量其实就是研究计算机网络本身!
  看不见流量去学习计算机网络,如同盲人摸象,摸到什么程度完全凭自己的想象力!计算机网络实验-
  所为了更好地研究网络,第一步要学会看到流量,这个很简单,电脑上下载并安装一个抓包软件,每次想看流量只要点击"capture",就可以将进出网卡的所有流量展现在你的面前!
  问题来了,抓到的流量形形色色,成千上万行流量,一行行研究吗?
  计算机网络实验,估计到80岁退休了也研究不完,也没有那个必要研究所有的流量,因为流量虽多,但流量类型通常就那么几种、或几十种。
  以一个经典面试题为例,来讲解如何捕获并过滤流量?计算机网络实验-
  首先,你得有理论,理论哪里来?从书上来,书上会告诉你第一个出现的协议应该是DNS,这就是时序,不要小看理论,它是你做实验的导师,没有它,你的一切实验都是盲目而低效的。
  此时应该问自己一个问题,为何DNS是第一个发生?计算机网络实验-
  计算机网络实验,因为所有的端到端流量承载工具,都是IP报文,而IP报文必须有www.zhihu.com的IP地址,而DNS恰恰可以帮助完成。
  okay,既然DNS第一个发生,先把它过滤出来,问题来了,DNS工作端口是多少?
  这个自己去找,okay,DNS过滤出来了,看看是什么样的封装格式,看看二层目的MAC地址是谁?
  肯定是网关的!问自己,为何是网关的,而不是zhihu.com 服务器的?
  问题又来了,怎么样获得网关的MAC地址的?
  ARP广播。
  那再做一次实验吧,将ARP cache清理干净,然后再过滤出ARP协议,看看细节。计算机网络实验-
  接下来就是TCP三次握手了,再通过源IP + 目的IP + TCP,将zhihu.com 流量的TCP完全过滤出来,看看三次握手怎么实现的、数据是如何传输的,如何确认,最后如何释放连接。
  做完实验,会有一些概念,至少会知道流量的时序,DNS - ARP - TCP - Http,如果你能问自己另外一个问题,自己的IP地址、掩码、网关、以及DNS服务器哪里来了?
  通过DHCP动态分配来的,那时序应该修正为:
  DHCP - DNS - ARP - TCP - Http
  计算机网络实验,如果能问自己一个问题,为何不能通过ARP广播发现www.zhihu.com 服务器的MAC,而一定要发现网关的MAC,那学好计算机网络只是一个时间问题!
  要回答这个问题,读者需要理解网络掩码、以及路由器天然屏蔽广播报文!
  计算机网络是抽象的,要用生活中很类似的事物来帮助自己理解,曾经用快递公司来比喻TCP/IP协议,当掌握了这些协议,这些比喻当然就是多余的。
  在学习过程中,不要被动看书,以为反复看几遍就会学好,这是不可能的事!要积极主动,多问自己几个问题,带着这些问题看书做实验,然后用学到的知识来回答自己的提问,最后我对于初学者的问题是:
  既然DHCP是通过广播去发现DHCP服务器,是不是意味着每一个广播域都要有一台服务器?计算机网络实验-
  如果是,一个公司广播域如果成百上千,服务器成本你考虑过没有?
  如果不是,如何实现?通过什么技术?
  最后再问一下,什么是广播域?
  计算机网络实验,一个大公司为何不能使用一个广播域?
  如何在一个二层交换机上分割广播域,什么技术?计算机网络实验-
  学习如同马拉松比赛,跑急了容易退赛,只有抱定必胜的信念,掌握科学的比赛方法,才会笑到最后!
网站目录投稿:寄容