计算机网络0-课程内容简介
这篇文章是学习中科大自动化系郑烇老师《计算机网络》MOOC的笔记。课程录像可以在 这里 观看,教材是《计算机网络-自顶向下方法(第7版)》,课件可以在 这里 下载。
本篇内容对应课程录像的 P1 课程目标 和 P2 课程内容,欢迎讨论交流。
课程大纲
- 分为三部分:导论、各层详解、应用选讲
- 导论是介绍计算机网络整体和各层的基本概念,内容较多,相当于一个微缩版的课程
- 各层详解将分别详细解读应用层、传输层、网络层、数据链路层和物理层(后两者合二为一)。
-
每一层大体会分为两部分,即原理(包括功能和服务)与实例:
功能要调用下层的接口来实现;
服务是本层向上层提供的接口。 -
实例部分会介绍该层的常见协议,比如应用层的HTTP/FTP,传输层的TCP/UDP等(下一部分包含了此处的延伸内容)
-
- 应用选讲:包含网络安全、无线和移动网络、多媒体网络、网络管理四个部分。本课将会至少讲解网络安全这一部分,后三部分根据课时安排而定。
延伸内容
本部分是老师在介绍课程大纲”各层详解“部分时即兴补充的一些基本概念和原理。
传输层:TCP和UDP
应用层协议规范的是两个远程程序之间通信的方式,而传输层管理的是进程到进程的交互,又被称为端到端交互(E2E),是在网络层提供的服务基础上进行了加强。
TCP和UDP是传输层常见的两种协议。两种协议在数据传输上各有侧重:TCP侧重于传输的可靠性,而UDP则侧重于实时性。
可靠性的要点:无错误、无重复、无丢失、无乱序。
根据其特点的不同,对于可靠性要求较高的应用(如登录认证)一般使用TCP协议通信,而对于实时性要求较高的应用(如网络直播)一般使用UDP协议通信。具体情境中,要根据数据传输的需求在两个协议之间做Trade-off。
网络层
网络层提供的是”尽力而为“的主机到主机的IP服务,又被称为点到点交互(P2P)。
尽力而为的含义:无法保证可靠性,需要更高一层功能来保障。
主机到主机之间可能会有多跳,因此网络层的功能是基于链路层提供的相邻两点的传输服务实现的。
网络层主要有两种工作方式:传统方式和SDN[Software Defined Network]方式。 传统的方式借助IP和路由协议实现,其功能较为单一,且部署后极难变动;SDN方式将网络层分为数据平面-交换机和控制平面-NOS,允许可编程的IP和路由实现方式,使得网络的部署和升级更加灵活;从SDN的视角来看,传统方式只是SDN的一个特例。