中科大计网学习记录笔记(一):Internet | 网络边缘
计算机网络
前言:
学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程
该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信息量过大,有太多无法理解的地方,在我第一次点开的时候也有相同的感受,但经过了一段时间项目的学习,对计网有了更多的了解,所以我准备在这次学习的时候做一些记录并且加入一些我的理解,希望能够帮助到大家。
往期笔记可以看专栏中的内容😊😊😊
资料分享:
视频课件分享链接,提取码pho1
计算机网络(第七版) 自顶向下方法分享链接,提取码7ln4
00. 课程主要内容介绍
课程主要内容:
- 计算机网络和互联网
- 应用层
- 传输层
- 网络层:数据平面
- 网络层:控制平面
- 数据链路层和局域网
- 网络安全
- 无线和移动网络
- 多媒体网络
- 网络管理
0.1 传输的可靠性

TCP 与 UDP 的案例
- TCP(传输控制协议)提供可靠的数据传输。它 确保数据的顺序和完整性,通过确认机制和重传来保证数据的可靠性;相对的,延迟较高。
- UDP(用户数据报协议)是一种无连接的协议,通信不需要事先建立连接。每个数据包都是独立的,相互之间没有关联;不保证数据的可靠性,它不提供确认机制或重传机制。因此,数据包可能会在传输过程中丢失或无序;相对的,延迟较低。
上面的 TCP 与 UDP 是 传输层 的协议,所以课程中提到 “跑在 xxx 之上”,是因为 应用层 是在 传输层 之上的。
0.2 协议
在计算机科学和网络通信中,协议是一组规则和约定,它们定义了数据交换的方式、数据的格式、错误检测和纠正方法等。协议是为了 使不同的系统、设备或软件能够在网络中相互通信而制定的规范。
不同的应用遵守相同的协议就能够实现相互通信。
TCP / IP 的四层架构
- 网络接口层(Network Interface Layer): 也被称为链路层,与 OSI 模型的数据链路层和物理层相对应。它定义了网络硬件的标准和协议,包括物理连接、数据帧的格式等。
- 网络层(Internet Layer): 对应 OSI 模型的网络层。这一层负责在网络上选择最佳的路径,将数据包从源主机传输到目标主机。IP(Internet Protocol)是在这一层工作的主要协议。
- 传输层(Transport Layer): 与 OSI 模型的传输层相对应。这一层提供端到端的通信服务,负责数据的分段、传输和重组。TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是在这一层工作的主要协议。
- 应用层(Application Layer): 对应 OSI 模型的应用层。这一层包括网络应用和用户接口,提供了直接面向用户的服务。在这一层,常见的应用层协议包括HTTP、FTP、SMTP等。
0.3 传统网络与 SDN 网络
网络层:控制平面和数据平面
传统网络:
- 网络设备既负责处理数据包的转发,又负责执行路由、交换等控制功能。
- 传统网络的配置和管理相对较为静态,对于变化的网络需求应对较为困难。
- 配置和管理网络设备通常需要专门的配置命令或者设备特定的管理界面。
SDN(软件定义网络)
- SDN 将控制平面从网络设备中分离出来,形成一个中心化的控制器。
- SDN 提供了更高的灵活性和 可编程性,管理员可以根据应用需求快速调整网络策略,实现更加智能化和动态化的网络管理。
01. 概论
计算机网络分层的思想,上一层是对下面一层的拓展,上一层是在下面一层提供的服务和接口的基础上实现的。
1.1 什么是 Internet?
1.1.1 从构成的角度看 Internet
网络:网络由 节点 和 边 组成,描述节点跟边的关系
计算机网络:联网的计算机构成的一个系统
- 主机节点:数据的 源头
- 数据交换节点:负责数据的转发
- 链路:主机连接到互联网称为 接入网链路,路由器之间的连接称为 主干链路
协议:对等层 实体在通信过程之中应该遵循的规则的集合,包含语法、语义和时序
互联网(Internet):以 TCP / IP 协议为主的一簇协议支撑的一个 计算机网路
端系统(End System)= 主机:计算机网络中的最终节点,即连接网络的终端设备或主机。端系统可以是个人计算机、服务器、智能手机、网络摄像头等各种类型的设备。
1.1.2 协议
协议:对等层 实体在通信过程之中应该遵循的规则的集合,包含语法、语义和时序

遵守同种协议的网络实体才能 相互通信
1.1.3 Internet
Internet:网络的网络,可以看作是由众多可看作整体的网络连接而成的
Internet 标准的修订:
- 互联网工程任务组(IETF)
- 互联网协会(Internet Society)
- 组织负责制定和发布互联网相关的技术标准和文档。互联网标准通常以请求评论(Request for Comments,RFC)的形式发布,并且经过时间的推移会有新的版本和修订。
1.1.4 从服务角度看互联网

看作由 分布式的进程 和 提供通讯服务的基础设施
- 分布式的进程理解为应用层,比如平时用的软件等,这是 Internet 存在的理由提供通讯服务的基础设施理解为应用层一下的所有协议实体
1.2 网络边缘
1.2.1 对网络边缘的理解

接入(access):将边缘接入核心
边缘系统:暂时理解为平时使用的产品,比如电脑、手机等,上面的 应用程序(application)是网络存在的理由
网络核心:接收端系统的数据,将其传给指定的另一个端系统,负责全球范围内所有的节点的数据交换
1.2.1 应用进程通信模式
- 客户端服务器模式(Client-Server Model)
- 是一种很常见的通信模式,所有的资源都存储在服务器上,像我这种从事软件开发的最经常遇到的模式;客户端(浏览器)通过向服务器来发送请求报文来获取数据,比如常用的音乐播放软件其实就是客户端向服务器请求音乐资源来实现播放,这些资源都是存在于服务器上。
- 客户端服务器模式存在的问题,很多人应该都听过服务器挂了这个词语,这是因为当服务器访问量很高(负载很高)的时候,它的性能会存在 断崖式 的下跌,要通过不断加服务器来分发任务实现负载均衡,这也就导致其可拓展性比较差
- 对等模式(Peer-to-Peer,简称P2P)
- 是一种计算机网络架构,其中系统中的节点(peer)之间平等地协作,互相提供服务或资源,而不需要中心化的服务器。在对等网络中,每个节点既是服务的请求者,也是服务的提供者,节点之间直接通信而无需通过中心节点进行中转。
1.2.2 两种通信方式
- 面向连接:面向连接的通信方式是一种网络通信模型,其特点是在通信前需要先建立连接,然后进行数据传输,最后再释放连接。
- TCP 是一种面向连接的、可靠的传输协议,用于在网络上进行数据传输。
- 在通信前,TCP 使用三次握手的过程建立连接,确保通信双方都准备好进行数据传输。
- 数据传输过程中,TCP 采用序列号、确认和重传机制,以保证数据的有序性和完整性。
- 通信结束后,使用四次挥手的过程关闭连接。
- 面向无连接:在面向无连接的通信中,通信双方不需要在传输数据前建立连接。每个数据包都是独立的,单独处理,没有先后顺序的限制,也没有确认机制。
- UDP 是一种面向无连接的传输协议。
- 它不提供像 TCP 那样的可靠性和有序性,数据包可能丢失或乱序。
- 由于没有连接的建立和维护过程,UDP 具有较低的延迟。
- 简单快速:无连接的方式减少了连接的建立和关闭过程,提高了传输速度
不可靠:由于缺乏确认机制,数据包可能在传输过程中丢失或出现乱序
适用于实时应用:适用于一些实时性要求较高、可以容忍一定数据丢失的应用,如音频、视频传输等。
相关文章:
中科大计网学习记录笔记(一):Internet | 网络边缘
计算机网络 前言: 学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程 该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面…...
Shell脚本——免交互
目录 一、Here Document免交互 1、免交互概述 2、语法格式 2.1示例:免交互方式实现对行数的统计,将要统计的内容置于标记EOF之间,直接将内容传给wc-l来统计 3、变量设定 ①变量图换成实际值 ②整行内容作为变量并输出结果 ③使输出内…...
【数据分享】1929-2023年全球站点的逐月最高气温数据(Shp\Excel\无需转发)
气象数据是在各项研究中都经常使用的数据,气象指标包括气温、风速、降水、湿度等指标,其中又以气温指标最为常用!说到气温数据,最详细的气温数据是具体到气象监测站点的气温数据! 之前我们分享过1929-2023年全球气象站…...
CentOS gui 图形界面显示文字乱码
一、现象 CentOS(CentOS 7.5)控制台下显示中文乱码: 或者通过X11 Forwarding远程显示CentOS的图形化程序文字乱码: 二、解决方法 安装中文语言包: yum install kde-l10n-Chinese 注:网上有些文章会推荐安…...
[Vue入门]Vue的使用:vue对象+data+el+插值表达式
总结性内容: 1.想让Vue工作,就必须创建一个Vue的实例,而且要传入一个配置对象 2.root容器中的代码依然符合html规范,只不过混入了一些特殊的Vue语法 3.root容器里的代码被称为Vue模板 <!DOCtype html> <html><head><meta charset"UTF-8">&l…...
Tomcat运维
目录 一、Tomcat简介 二、系统环境说明 1、关闭防火墙,selinux 2、安装JDK 3、安装Tomcat 三、Tomcat目录介绍 1、tomcat主目录介绍 2、webapps目录介绍 3、Tomcat配置介绍(conf) 4、Tomcat的管理 四、Tomcat 配置管理页面(了解) …...
前端开发基于Qunee绘制网络拓扑图总结-02
1、渲染连线颜色 *关键函数一定要调用:graph.invalidate()* graph.forEach(function(element) {if (element instanceof Q.Edge) {let arr [#549BF1, #AA8A6E, #8F54F1,#5A70BC,#BCBF5C, #BC5A76, #67B4D4,#B4C9EF, #676AD4, #A86EAA,#5CBF7F, #EFB4B4];let inde…...
牛客——中位数图(连续子数组和二维前缀和)
链接:登录—专业IT笔试面试备考平台_牛客网 来源:牛客网 题目描述 给出1~n的一个排列,统计该排列有多少个长度为奇数的连续子序列的中位数是b。中位数是指把所有元素从小到大排列后,位于中间的数。 输入描述: 第一行为两个正…...
Java:搭建eladmin复习mvn、springboot、vue等
目录 1.源码平台后端: 2.源码平台前端: 3.操作系统:centos7.9 4.mysql:5.7.x 安装 5.redis:5.0.X 6.maven:3.8 7.java:1.8: 8.nodejs:16.x 9.通过mvn打包eladmin后端 10.npm打包前端项目进行部署 11.访问测试…...
JavaScript入门
第二个知识点:javascript的基本语法 定义变量 在JavaScript里面,没有int,string 之类的数据类型,只有 var var num 1; var string "天玄地号"; 在javascript中,写完一句语句之后可以不加分号ÿ…...
Redis单机-主从集群-哨兵集群-分片集群 搭建教程
Redis集群 本章是基于CentOS7下的Redis集群教程,包括: 单机安装RedisRedis主从Redis分片集群 1.单机安装Redis 首先需要安装Redis所需要的依赖: yum install -y gcc tclredis-6.2.4.tar.gz 然后将Redis安装包上传到虚拟机的任意目录&am…...
湘潭大学-计算机网络-补考
背景 卷面分23,平时分85,各占百分之50,最终54,遗憾挂科 大学第一次补考 计划 首先把湖科大教书匠的计算机网络视频看一遍,并做一些笔记 然后看教材 刚看到老师说最好的复习资料是书和课后作业(想起来…...
SOME/IP SD 协议介绍(五)使用SOME/IP-SD宣布非SOME/IP协议的协议。
使用SOME/IP-SD宣布非SOME/IP协议的协议。 除了SOME/IP之外,车辆内部还使用其他通信协议,例如用于网络管理、诊断或闪存更新。这些通信协议可能需要传递服务实例或具有事件组。 对于非SOME/IP协议,应使用特殊的服务ID,并使用配置…...
svn 安装路径
SVN客户端安装(超详细) 一、SVN客户端安装 1、下载安装包地址:https://tortoisesvn.net/downloads.html 此安装包是英文版的,还可以下载一个语言包,在同界面的下方 一直点击下一步,直到弹出选择红框 然…...
Skywalking trace UI页面中字段信息详解,包括端点、跨度类型和Peer
刚上手Skywalking的同学可能对 trace UI 页面信息中的字段信息不是很了解,在这里就给大家一一讲解,重点关注端点、跨度类型和Peer 服务 :服务的名称 实例:服务对应的实例 端点:端点(Endpoint) 对于特定服务所接收的请求路径, 如…...
【 USRP 相控阵】X波段相控阵开发平台用户指南
包装 一共三件。 1、AD9081-FMCA-EBZ AD9081 MxFE Evaluation Board, https://www.analog.com/eval-ad9081 AD9081 的全功能评估板使用 ACE 软件进行控制的 PC 软件HMC7044 的板载时钟用于管理套件和 FPGA 时钟选择切换到外部直接时钟 AD9081-FMCA-EBZ 评估板包括以各种模…...
C++关键词auto详解
顾得泉:个人主页 个人专栏:《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂,年薪百万! 一、小思考 随着我们对于C的不断学习,遇到的程序越来越复杂,程序中用到的类型也越来越复杂…...
【GPU驱动开发】- GPU架构流程
前言 不必害怕未知,无需恐惧犯错,做一个Creator! 一、总述 GPU(Graphics Processing Unit,图形处理单元)是一种专门用于处理图形和并行计算的处理器。GPU系统架构通常包括硬件和软件层面的组件。 总体流…...
UE5在VisualStudio升级后产生C++无法编译的问题
往期的虚幻引擎项目在VS更新后,编译时会报错,这一般出现在VS升级之后,UE对于VC的编译器定位没有更新导致; 有出现如下问题: 问题1: Running I:/EPCI/Epic Games/UE_5.3/Engine/Build/BatchFiles/Build.ba…...
目标检测:1预备知识
开始涉及目标检测内容,总结一下学习记录 1、目标检测的基本概念 (一)什么是目标检测 目标检测(Object Detection) 的任务是找出图像中所有感兴趣的目标(物体),不同于分类和回归问题…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例
使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件,常用于在两个集合之间进行数据转移,如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model:绑定右侧列表的值&…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)
引言 工欲善其事,必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后,我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集,就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...
