【计算机网络】0 课程主要内容(自顶向下方法,中科大郑烇、杨坚)(待)

news2024/11/13 14:56:32
1 教学目标

        掌握计算机网络

                基本概念

                工作原理

                常用技术

        为将来学习、应用和研究计算机网络打下坚实基础

2 课程主要内容
  • 1 计算机网络和互联网
  • 2 应用层
  • 3 传输层
  • 4 网络层:数据平面
  • 5 网络层:控制平面
  • 6 数据链路层和局域网
  • 7 网络安全
  • 8 无线和移动网络
  • 9 多媒体网络
  • 10 网络管理
3 每章结构
每章分为两部分,原理 + 实例
3.1 原理:这一层次主要的功能和向上提供的服务
这层的功能是什么,怎么实现

        (功能和服务的差别:功能是我具备的能力,服务是功能的体现)

        每一层的功能都通过向上层提供的这个接口,向上层提供服务。

功能包含的比服务多,我有强悍的功能但是不能被人所使用也不行。

本层的功能实现要通过层间的接口调用下层的服务才能实现。

3.2 实例

如互联网当前层次中,用到的比较多的协议

功能借助于下层所提供的服务怎么样在功能实体的内部采用各种各样的软硬件的安排来实现这样的功能,从而通过接口可以向上层提供更好的服务

1 计算机网络和互联网

介绍大量的计算机网络的关键术语和概念,及计算机网络怎么大致工作的框架性原理

2 应用层

支撑web应用的http协议

支持ftp应用的ftp协议(文件传输协议)

传输和接收电子邮件用的smtp和pop3

应用层协议就是在传输层所提供的这两种类型的服务的基础之上,远程的应用进程(两个应用进程不是跑在一个主机里的,)通过主机联网能够通信,A一个message过去,B一个报文回来。通过报文的交互来实现各种各样的网络应用。这叫应用层协议,

应用进程之间,远程的应用进程之间相互通讯过程中应该遵守的规则和协议,即应用层协议。

浏览器和服务器,我要定义好他们两者如何来交互,从而实现web的应用,ftp的客户端,ftp的服务器,我也要定义客户端和服务器之间如何交互,从而实现文件的上载和下载。要完成用户的认证,list当前目录,只有定义好两者交互的这种语法,语义和时序这样的信息之后,不同厂商定编制的应用程序(chrome/ie/360浏览器)和web服务器(apache/微软的rs),不同厂商生产的网络应用就可以互操作。
-- 你只要遵守这个协议,不同厂商生产应用程序就可以交互

--你只要遵守这个协议,不同厂商生产的网络设备就可以相互--思科的路由器和华为的路由器就可以交互

--你只要遵守这个协议,不同厂商的网卡,新华三的网卡和华为的网卡,能无障碍通信,

3 传输层:

传输层向上层提供什么服务,传输层怎么样借助于网络层所提供的服务才能实现,

传输层协议tcp和udp

tcp 传输控制协议,很多应用都跑在tcp之上,如ftp、telnet,web的应用。http又在传输层tcp之上

udp:用户数据报协议,

tcp与udp提供的服务特性不同

有些应用层的应用,如telnet,ftp传文件,web的应用。对可靠性要求不高

有些应用对可靠性要求很高,数据发出去后,通过下层所提供的协议,就tcp协议所提供的服务。对方就能原本收到这些内容。这是可靠性reliable,

可靠包括哪些特性:不出错,不重复,不丢失,不失去

有些应用对可靠性非常高,它跑在tcp之上,tcp可以向上层的应用(就是传输层的tcp协议实体)向上层提供的是可靠的数据传输这样的一些服务,

有些应用像实时多媒体的点播之类的,跑在udp之上,对实时性要求高,对可靠性要求不高。麦克风收集到现场的声音,打包往外传传给对方,对方再把它播放出来,如果中间丢了一块数据,对整个数据的理解影响不大,卡顿会影响用户体验。还有一些事务性的应用,过去回来,请求对象回来,如果采用tcp,tcp是面向连接,连接建立-连接确认-发请求-对象回来,需要两个往返时间(round trip time),而udp只需要一个往返时间,如果错了重传就好了

可靠的代价:留副本,编号 ,对方收到后要确认,防守端放完之后如果出问题,要重传,检错重传,超时重传,编号,到接收端还有校验,乱序要排序。这些代价会占据的方式和接收方的空间消耗,传上去和收上来的时间传输层是为应用进程提供服务的,多个远程的应用进程提供服务。

4 网络层

传输层是在网络层所提供的端到端的服务基础上来实现。

端到端:主机到主机,两个主机之间,连一个网,通过很多跳,这两个主机之间才能够连在一起,才能够相互的发送和接收,

提供原主机到目标主机之间的,是以ip数据报为单位的数据交互。我把 IP数据报发给你,你把ip数据报发给我。网络层提供这种端到端的,主机到主机的这样一些服务。

传输层在网络层所提供的服务基础上,主机到主机的服务基础上提供了什么好的服务呢?

ip层网络层所提供的服务是主机到主机的,传输层在网络层所提供的服务基础上,把他区分为进程到进程。

哪个颗粒度更细一些:传输层所提供服务进程。因为主机到主机上面有好多应用进程。

传输层是在网络层所提供的主机到主机的传输服务基础之上,细分了他的服务,加强了他的服务。

网络层所提供的服务从一个主机到另外一台主机,这些主机到主机之间可能要经过好多路由器交换机,路由器交换机,才能到达另一个主机

ip层。tcp传输层所提供的服务是在IP的基础上来的。IP所提供的服务是端到端的。主机到主机的。

另外一个特点是,网络层ip这个层次所提供的服务是尽力而为的(Best evil)--没有任何保障。

IP层所提供的服务,能不能传到 -- 不知道;丢不丢 --  有可能丢;出不出错 -- 不确定;乱不乱序 --经常乱序

tcp在ip所提供的基础之上,一个是细分了他的服务,从主机到主机,细分为进程到进程,另外还有一个功能,把IP所提供的不可靠的服务,通过tcp这样传承的协议,把它变成可靠的服务。

网络层所提供的服务是端到端的,包括了若干个点到点,(到相邻的网络交换设备,相邻的网络设备到相应的网络设备,叫point to point(p2p)

端到端end to end(E2E)是多个点到点构成的。网络层所提供的服务是端到端的服务,他必须要在数据链路层所提供的相邻的两点到两点之间的这种传输服务才能够实现。

6 数据链路层和物理层

网络层是在数据链路层所提供的相邻两点提供的点到点的传输服务实现了主机到主机的这样的通讯。

ip层从一个主机传到另外一个主机,中间要经过很多跳,十几跳几十跳都有可能。每一跳从相邻的一个网络交换设备到另外一个,之间怎么跳呢,是借助网卡所提供的数据链路层点到点的服务才能够实现的。

链路层所提供的服务就是这个。

链路层提供相邻两点的这种传输的服务,必须到物理层,把数字的信号要不要发送出去的时候把它变成物理的信号。即发送1010,是不好收到的,需要变成光信号或电磁波信号,这属于有线的网卡,无线的网卡或见到光卡,以光的形式或电磁波的形式传给对方,对方要把物理信号,把它做一个相反的变化,把物理信号变成数字信号,变成0101,最后交给对方的网卡,对方的网卡再把它变成里面的分组取出来,把ip分组取出来交给上层。

物理层做的事情:把数字信号发送的时候变成物理信号。借助于物理的介质(medium)传给相邻的网卡。介质包括:网线,同轴电缆,光纤,电话线,这些都是medium。

medium处于第零层,物理层是在medium之上实现的,相邻的两点之间的这个数字信号和物理信号的转换或者反过来。

为什么要数据平面和控制平面呢,网络也在不断的发展,网络层两种常见的工作方式:

传统方式:互联网的网络层分为IP协议和路由协议。

        路由协议:运营在路由器之上的路由器软件,即路由实体,跟其他路由器的路由实体,路由软件相互的交换一些路由报文。到了一个子网,起跳/多少延迟/有什么样的代价,可以到达,这叫路由信息。路由器之间相互交换路由信息。按照某种路由选择算法来算出路由表,

        路由表包括:IP的子网,该怎么走,(好几个字段描述),这些子网该怎么走,这些路由表是由路由器算出来,IP协议来使用,如何使用:来了一个IP分组,路由器当中同时运行的路由协议,路由实体,算出来路由表,IP协议根据到来的分组,根据算出来的路由表来决定,来了这个分组,插了三个网卡,连三个网络。从这里来了一个IP的分组,到底往哪个方向走,往A方向走他的下一个方向是什么,这个叫转发,网络层基本功能就是路由和转发路由。由路由协议来交换路由信息,由路由算法来算出路由表,算出路由表之后,由IP协议对到来的分组做转发的处理。

        网络层的工作大概分为两部分,一部分是路由,路由器之间相互的交换路由信息,然后按照路由选择算法来算出路由表,路由表谁用呢?这个IP协议来用,IP路由器收到IP分组的时候,根据到来的分组,他不是有标识的目标IP地址吗。根据目标IP查路由表,找到相应的表项之后,再从合适的端口给他转出去,

来了一个IP分组,他有目标IP地址叫da(destination ip address),目标IP,跟路由器算出来的路由表做匹配,判断一下这个IP是不是落在这个表项,找到相应的表项,在这表项中描述了这个IP应该从哪个端口放出去,因此,IP这个路由器包括一些算出来的路由信息,包括真正的语义信息是,哪些IP子网该往哪儿走,来了IP分组之后,这个IP协议,实体IP协议根据到来的分组,他的目标IP的情况,查路由表,找到相应的表项,再通过合适的端口放出去。

传统的路由器(28min)

现代的SDN方式:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1939111.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C2W1.LAB.Vocabulary Creation+Candidates from String Edits

理论课:C2W1.Auto-correct 文章目录 Vocabulary CreationImports and DataPreprocessingCreate Vocabulary法1.集合法法2.词典加词频法Visualization Ungraded Exercise Candidates from String EditsImports and DataSplitsDelete Edit Ungraded Exercise 理论课&…

Linux_实现线程池

目录 1、线程池的实现逻辑 2、创建多线程 3、对线程池分配任务 3.1 任务类 3.2 发送与接收任务 结语 前言: 在Linux下实现一个线程池,线程池就是创建多个线程,然后对这些线程进行管理,并且可以发放任务给到线程池…

【springboot】中使用--WebMvcConfigurer

WebMvcConfigurer 一、页面跳转控制器step1:创建视图,resources/templates/index.htmlstep2:创建SpringMVC配置类step3:测试功能 二、数据格式化step1:创建 DeviceInfo 数据类step2:自定义 Formatterstep3: 登记自定义的 DeviceFormatterstep4: 新建 Con…

杭州外贸网站建设 最好用wordpress模板来搭建

防护服wordpress外贸网站模板 消防服、防尘服、隔热服、防化服、防静电服、电焊服wordpress外贸网站模板。 https://www.jianzhanpress.com/?p4116 工业品wordpress外贸网站模板 机械及行业设备、五金工具、安全防护、包装、钢铁、纺织皮革等工业品wordpress外贸网站模板。…

实现高效离职管理,智慧校园人事管理功能全解析

智慧校园人事管理系统中的离职管理功能,为教职工提供了一个高效、透明且合规的离职流程,同时为学校管理层提供了优化人力资源配置的有力工具。教职工可以在线轻松提交离职申请,系统随即自动记录并启动后续流程,从申请审核到工作交…

C语言 | Leetcode C语言题解之第241题为运算表达式设计优先级

题目: 题解: #define ADDITION -1 #define SUBTRACTION -2 #define MULTIPLICATION -3int* diffWaysToCompute(char * expression, int* returnSize) {int len strlen(expression);int *ops (int *)malloc(sizeof(int) * len);int opsSize 0;for (in…

任务2:python+InternStudio 关卡

任务地址 https://github.com/InternLM/Tutorial/blob/camp3/docs/L0/Python/task.md 文档 https://github.com/InternLM/Tutorial/tree/camp3/docs/L0/Python 任务 Python实现wordcount import re import collectionstext """ Got this panda plush to…

Qt Creator配置以及使用Valgrind - 检测内存泄露

Qt Creator配置以及使用Valgrind - 检测内存泄露 引言一、下载安装1.1 下载源码1.2 安装 二、配置使用2.1 Qt Creator配置2.2 使用2.3 更多详细信息可参考官方文档: 三、参考链接 引言 Valgrind是一个在Linux平台下广泛使用的开源动态分析工具,它提供了一…

ARM体系结构和接口技术(九)异常

文章目录 (一)异常模式(二)Cortex-A7核的异常处理流程分析1. 保存现场(系统自动完成)2. 恢复现场(程序员手动完成)3. 异常处理流程 (三)软中断验证异常处理函…

谷粒商城实战笔记-40-前端基础-Vue-计算属性、监听器、过滤器

文章目录 一,计算属性1,用途2,用法2.1 定义View2.2 声明计算属性 3,注意事项 二,监听器1. 使用 watch 监听属性的变化 三,过滤器1,定义局部过滤器2,定义全局过滤器3,使用…

level 6 day2-3 网络基础2---TCP编程

1.socket(三种套接字:认真看) 套接字就是在这个应用空间和内核空间的一个接口,如下图 原始套接字可以从应用层直接访问到网络层,跳过了传输层,比如在ubtan里面直接ping 一个ip地址,他没有经过TCP或者UDP的数…

如何修复 CrowdStrike 蓝屏错误 Windows 11

如果您的 PC 出现 BSoD 错误,您不是唯一一个,但这里有一个解决方法来缓解该问题。 如果您有一台运行 Windows 11(或 10)的计算机使用 CrowdStrike 的 Falcon Sensor 应用程序连接到组织,并且遇到蓝屏死机 &#xff0…

JavaScript:节流与防抖

目录 一、前言 二、节流(Throttle) 1、定义 2、使用场景 3、实现原理 4、代码示例 5、封装节流函数 三、防抖(Debounce) 1、定义 2、使用场景 3、实现原理 4、代码示例 5、封装防抖函数 四、异同点总结 一、前言 …

AI算法22-决策树算法Decision Tree | DT

目录 决策树算法概述 决策树算法背景 决策树算法简介 决策树算法核心思想 决策树算法的工作过程 特征选择 信息增益 信息增益比 决策树的生成 ID3算法 C4.5的生成算法 决策树的修剪 算法步骤 决策树算法的代码实现 决策树算法的优缺点 优点 缺点 决策树算法的…

深入解析HNSW:Faiss中的层次化可导航小世界图

层次化可导航小世界(HNSW)图是向量相似性搜索中表现最佳的索引之一。HNSW 技术以其超级快速的搜索速度和出色的召回率,在近似最近邻(ANN)搜索中表现卓越。尽管 HNSW 是近似最近邻搜索中强大且受欢迎的算法,…

Latex使用心得1

本周暑期课程大作业需要使用Latex模板,采用的是老师给的IEEE的格式。从最开始不知道Latex是什么,到摸索着把大作业的小论文排版完成,其中也有一些心得体会。写在这里记录一下,以便以后回来再看,有更多的思考沉淀。 1、…

视觉巡线小车——STM32+OpenMV(三)

目录 前言 一、OpenMV代码 二、STM32端接收数据 1.配置串口 2.接收数据并解析 总结 前言 通过视觉巡线小车——STM32OpenMV(二),已基本实现了减速电机的速度闭环控制。要使小车能够自主巡线,除了能够精准的控制速度之外&#xff0…

Java周总结7.20day

一,异常 异常 :指的是程序在运行过程中报错,然后停止运行,控制台显示错误。 注意事项:异常本身是一个类,出现异常会创建一个异常类的对象并抛出, public class DemoTest { public static void …

python—爬虫爬取电影页面实例

下面是一个简单的爬虫实例,使用Python的requests库来发送HTTP请求,并使用lxml库来解析HTML页面内容。这个爬虫的目标是抓取一个电影网站,并提取每部电影的主义部分。 首先,确保你已经安装了requests和lxml库。如果没有安装&#x…

海思arm-hisiv400-linux-gcc 交叉编译rsyslog 记录心得

需要编译rsyslog,参考海思3536平台上rsyslog交叉编译、使用-CSDN博客和rsyslog移植(亲测成功)_rsyslog交叉编译-CSDN博客 首先下载了要用到的一些库的源码,先交叉编译这些库 原来是在centos6上交叉编译的,结果编译时报缺少软件要…