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

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方式:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【python】Numpy运行报错详细分析:IndexError: too many indices for array

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

【Langchain大语言模型开发教程】基于文档问答

🔗 LangChain for LLM Application Development - DeepLearning.AI Embedding: https://huggingface.co/BAAI/bge-large-en-v1.5/tree/main 学习目标 1、Embedding and Vector Store 2、RetrievalQA 引包、加载环境变量 import osfrom dotenv import…

YOLOv2小白精讲

YOLOv2是一个集成了分类和检测任务的神经网络,它将目标检测和分类任务统一在一个单一的网络中进行处理。 本文在yolov1的基础上,对yolov2的网络结构和改进部分进行讲解。yolov1的知识点可以看我另外一篇博客(yolov1基础精讲-CSDN博客&#xf…

【从零开始实现stm32无刷电机FOC】【实践】【6/7 CMSIS-DSP】

目录 导入CMSIS-DSP库使用CMSIS-DSP 点击查看本文开源的完整FOC工程 CMSIS-DSP库是ARM开源的、对ARM处理器优化的数学库,本文使用了其提供的三角函数、反park变换函数、park变换函数、clarke变换函数、PID控制器。 CMSIS-DSP原始代码仓库是https://github.com/ARM-s…

mongodb数据导出与导入

一、先去检查mongodump mongodump --version 如果报 mongodump version: built-without-version-string 或者其他的较老的版本,直接去下载最新的【传送门】 【以Ubuntu18.04为例】 安装工具 假设你下载的是 .tgz 文件(适用于 Linux 系统)&am…

【ARM】SMMU系统虚拟化整理

目录 1.MMU的基本介绍 1.1 特点梳理 2.功能 DVM interface PTW interface 2.1 操作流程 2.1.1 StreamID 2.1.2 安全状态: 2.1.3 HUM 2.1.4 可配置的操作特性 Outstanding transactions per TBU QoS 仲裁 2.2 Cache结构 2.2.1 Micro TLB 2.2.2 Macro…

昇思25天学习打卡营第23天|ResNet50图像分类

课程打卡凭证 ResNet网络 ResNet(Residual Networks,残差网络)是一种深度神经网络结构,它的核心思想是引入了“残差学习”来解决深度网络中的退化问题。在深度神经网络中,当网络层数增加到一定程度时,网络…

深入理解Linux网络(二):UDP接收内核探究

深入理解Linux网络(二):UDP接收内核探究 一、UDP 协议处理二、recvfrom 系统调⽤实现 一、UDP 协议处理 udp 协议的处理函数是 udp_rcv。 //file: net/ipv4/udp.c int udp_rcv(struct sk_buff *skb) {return __udp4_lib_rcv(skb, &udp_…

什么是单例模式,有哪些应用?

目录 一、定义 二、应用场景 三、6种实现方式 1、懒汉式,线程不安全。 2、懒汉式,线程安全 3、双检锁/双重校验锁(DCL,即 double-checked locking) 4、静态内部类方式-------只适用于静态域 5、饿汉式 6、枚举…

Linux系统编程基础

Linux操作系统 Linux不是一个具体的操作系统,而是一类操作系统的总称,具体版本成为发行版。 Red Hat:目前被IBM收购,收费版,目前最大的Linux供应商CentOS: Red Hat退出的免费版Ubuntu:界面比较友…

【Gin】精准应用:Gin框架中工厂模式的现代软件开发策略与实施技巧(上)

【Gin】精准应用:Gin框架中工厂模式的现代软件开发策略与实施技巧(上) 大家好 我是寸铁👊 【Gin】精准应用:Gin框架中工厂模式的现代软件开发策略与实施技巧(上)✨ 喜欢的小伙伴可以点点关注 💝 前言 本次文章分为上下两部分&…

【C语言】动态内存管理(上)

文章目录 前言1.为什么要存在动态内存2. malloc和free2.1 malloc2.2 free2.3 使用实例(malloc和free) 3. calloc3.1 calloc例子 前言 本文开始将开始学习C语言中一个比较重要的知识点或者是操作——动态内存管理。由于本次的知识比较重要,为…

科技赋能,智慧粮仓视频综合管理方案助力粮食安全

一、背景需求 随着科技的快速发展,智慧化、智能化管理已成为各行各业的重要发展方向。粮食仓储作为国家粮食安全战略的重要组成部分,其管理的科学性和智能化水平直接关系到粮食的存储安全、品质保障和运营效率。 因此,TSINGSEE青犀提出一套…

GaussDB常见调优指南

文章目录 GaussDB常见调优指南一. Analyze 统计信息解析二. Explain 分布式计划解析三. 性能调优总体策略详解四. 性能调优之坏味道 SQL 识别五. 性能调优之好味道表定义六. 性能调优之 SQL 改写七. 性能调优之路径干预八. 性能调优之 Plan hint 运用九. 性能调优之 GUC 参数调…

Linux 12:多线程2

1. 生产者消费者模型 生产者消费者模型有三种关系,两个角色,一个交易场所。 三种关系: 生产者之间是什么关系?竞争 - 互斥 消费者和消费者之间?竞争 - 互斥 消费者和消费者之间?互斥和同步 两个角色: 生产者和消费者 一个交…

git 提交的进阶操作

cherry-pick cherry-pick 是 Git 中的一种操作,允许你从一个分支中选择特定的 commit,并将其应用到另一个分支。它的主要用途是将特定的更改引入到其他分支,而无需合并整个分支历史。这在修复 bug 或者移植某些功能时特别有用。 cherry-pick 的使用场景 Bug 修复: 例如,你…

安卓手机怎么格式化?格式化后数据如何恢复?1篇文章全搞定

随着时间的推移,手机中的数据越积越多,有时候我们可能需要对其进行一次彻底的大扫除——格式化。它就像一把双刃剑,一方面能够清除手机中的冗余数据,提升手机的运行效率;另一方面,如果不慎操作,…

Postman导出excel文件

0 写在前面 在我们后端写接口的时候,前端页面还没有出来,我们就得先接口测试,在此记录下如何使用postman测试导出excel接口。 如果不会使用接口传参可以看我这篇博客如何使用Postman 1 方法一 2 方法二 3 写在末尾 虽然在代码中写入文件名…

Apache BookKeeper 一致性协议解析

导语 Apache Pulsar 是一个多租户、高性能的服务间消息传输解决方案,支持多租户、低延时、读写分离、跨地域复制(GEO replication)、快速扩容、灵活容错等特性。Pulsar 存储层依托于 BookKeeper 组件,所以本文简单探讨一下 BookK…

QXlsx读写excel

QXlsx读写excel 安装 QXlsx使用 qmake使用 CMake 基本用法1. 写入 Excel 文件2. 读取 Excel 文件 详细用法1. 设置单元格样式2. 合并单元格3. 创建图表4. 设置列宽和行高 完整示例 QXlsx 是一个用于在 Qt 应用中读写 Excel 文件的第三方库。它提供了丰富的 API,可以…