网络架构
计算机科学,离不开算法的设计,其作为人类智慧的结晶,以计算机语言的形式展现出来,是整个计算机学科和人工智能的基础。最近重新温习了一遍本科阶段的一本计算机网络书籍,带着欣赏算法的眼光,来重新梳理了一遍此课程的脉络。
计算机网络是一门讲述计算机之间如何通信的课程。
脉络
- 物理构成:网络外围的主机和网络核心的路由器和交换机
- 逻辑结构:五层结构,物理层,数据链路层,网络层,运输层,应用层
整个计算机通信网络是依靠分组交换的方式,在计算机之间传输报文。物理层负责提供电流通道,信息传输;数据链路层负责将电流通道从逻辑上进行整理,统一管理通道;网络层负责管理报文运输的路由,准确性;运输层负责管理报文运输过程中的质量和效率;应用层负责管理报文中实际应用数据的组织形式。
如果将计算机网络比做交通运输网络,则物理层就是提供车辆行驶的路;数据链路层就是规划的路,如立交桥,车道等;网络层就是车辆运输的起始和终点管理;运输层就是交通工具,轿车,货车等;应用层就是运输的物质,石头,砖块,家禽等等。
当然,有一些比喻不恰当的地方。
如下图所示:
说说路由器与交换机
虽然平时在实验室一直接触到各种各样的路由器和交换机,但是还真没有弄明白它们的区别。
所谓交换机,工作在二层(数据链路层)的集线器或网桥,其将主机连接在一起,完成数据包的交换功能。
路由器,工作在三层(网络层)的路由设备,其完成主机之间寻址功能。
平时家用的小型路由器涵盖了四个交换口和路由器功能。而常见的三层交换机,也是包括了交换功能和路由功能。
感悟
本科时候学习的方法真的很机械,学习TCP差错控制,就是去记忆它是怎么实现差错控制,殊不知,其真正的目的在于实现数据传输的准确性。本科阶段大多课程,继承了高中时期填鸭式的学习方法,大多只是机械的记忆一些方法技巧,而忽略了这些方法技巧的目的和意义。这样就好比将大量文件复制拷贝到了你的大脑存储中,但是你却没有形成对这些文件的索引,长久下去,他们会成为一种累赘。