中科大计网学习记录笔记(一):Internet | 网络边缘

计算机网络

前言:

学习视频:中科大郑烇、杨坚全套《计算机网络(自顶向下方法 第7版,James F.Kurose,Keith W.Ross)》课程
该视频是B站非常著名的计网学习视频,但相信很多朋友和我一样在听完前面的部分发现信息量过大,有太多无法理解的地方,在我第一次点开的时候也有相同的感受,但经过了一段时间项目的学习,对计网有了更多的了解,所以我准备在这次学习的时候做一些记录并且加入一些我的理解,希望能够帮助到大家。
往期笔记可以看专栏中的内容😊😊😊

资料分享:
视频课件分享链接,提取码 pho1
计算机网络(第七版) 自顶向下方法分享链接,提取码 7ln4

00. 课程主要内容介绍

课程主要内容:

  • 计算机网络和互联网
  • 应用层
  • 传输层
  • 网络层:数据平面
  • 网络层:控制平面
  • 数据链路层和局域网
  • 网络安全
  • 无线和移动网络
  • 多媒体网络
  • 网络管理

0.1 传输的可靠性

TCP 与 UDP 的案例

  1. TCP(传输控制协议)提供可靠的数据传输。它 确保数据的顺序和完整性,通过确认机制和重传来保证数据的可靠性;相对的,延迟较高
  2. UDP(用户数据报协议)是一种无连接的协议,通信不需要事先建立连接。每个数据包都是独立的,相互之间没有关联;不保证数据的可靠性,它不提供确认机制或重传机制。因此,数据包可能会在传输过程中丢失或无序;相对的,延迟较低

上面的 TCP 与 UDP 是 传输层 的协议,所以课程中提到 “跑在 xxx 之上”,是因为 应用层 是在 传输层 之上的。

0.2 协议

在计算机科学和网络通信中,协议是一组规则和约定,它们定义了数据交换的方式、数据的格式、错误检测和纠正方法等。协议是为了 使不同的系统、设备或软件能够在网络中相互通信而制定的规范

不同的应用遵守相同的协议就能够实现相互通信。

TCP / IP 的四层架构

  1. 网络接口层(Network Interface Layer): 也被称为链路层,与 OSI 模型的数据链路层和物理层相对应。它定义了网络硬件的标准和协议,包括物理连接、数据帧的格式等。
  2. 网络层(Internet Layer): 对应 OSI 模型的网络层。这一层负责在网络上选择最佳的路径,将数据包从源主机传输到目标主机。IP(Internet Protocol)是在这一层工作的主要协议。
  3. 传输层(Transport Layer): 与 OSI 模型的传输层相对应。这一层提供端到端的通信服务,负责数据的分段、传输和重组。TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是在这一层工作的主要协议。
  4. 应用层(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 应用进程通信模式
  1. 客户端服务器模式(Client-Server Model)
    • 是一种很常见的通信模式,所有的资源都存储在服务器上,像我这种从事软件开发的最经常遇到的模式;客户端(浏览器)通过向服务器来发送请求报文来获取数据,比如常用的音乐播放软件其实就是客户端向服务器请求音乐资源来实现播放,这些资源都是存在于服务器上。
    • 客户端服务器模式存在的问题,很多人应该都听过服务器挂了这个词语,这是因为当服务器访问量很高(负载很高)的时候,它的性能会存在 断崖式 的下跌,要通过不断加服务器来分发任务实现负载均衡,这也就导致其可拓展性比较差
  2. 对等模式(Peer-to-Peer,简称P2P)
    • 是一种计算机网络架构,其中系统中的节点(peer)之间平等地协作,互相提供服务或资源,而不需要中心化的服务器。在对等网络中,每个节点既是服务的请求者,也是服务的提供者,节点之间直接通信而无需通过中心节点进行中转。
1.2.2 两种通信方式
  1. 面向连接:面向连接的通信方式是一种网络通信模型,其特点是在通信前需要先建立连接,然后进行数据传输,最后再释放连接。
    • TCP 是一种面向连接的、可靠的传输协议,用于在网络上进行数据传输。
    • 在通信前,TCP 使用三次握手的过程建立连接,确保通信双方都准备好进行数据传输。
    • 数据传输过程中,TCP 采用序列号、确认和重传机制,以保证数据的有序性和完整性。
    • 通信结束后,使用四次挥手的过程关闭连接。
  2. 面向无连接:在面向无连接的通信中,通信双方不需要在传输数据前建立连接。每个数据包都是独立的,单独处理,没有先后顺序的限制,也没有确认机制。
    • UDP 是一种面向无连接的传输协议。
    • 它不提供像 TCP 那样的可靠性和有序性,数据包可能丢失或乱序。
    • 由于没有连接的建立和维护过程,UDP 具有较低的延迟。
    • 简单快速:无连接的方式减少了连接的建立和关闭过程,提高了传输速度
      不可靠:由于缺乏确认机制,数据包可能在传输过程中丢失或出现乱序
      适用于实时应用:适用于一些实时性要求较高、可以容忍一定数据丢失的应用,如音频、视频传输等。

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

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

相关文章

【JavaSE篇】——内部类

目录 🎓内部类 🎈内部类的分类 🚩实例内部类 一.如何实例内部类对象 二.实例内部类中为什么不能有静态成员变量 (用final解决) 三.在实例内部类对象时,如何访问外部类当中相同的成员变量?…

SpringMVC-基本概念

一、引子 我们在上篇文章Spring集成Web中抛出了一个问题:为什么我们一直在自用Java Web阶段使用的Servlet来承接客户端浏览器的请求呢,我们熟知甚至是已经在日常开发中经常使用的Controller又与之有什么关系呢?我们将在本篇文章解答读者的这…

检测CUDA 是否能访问GPU时回应速度慢【笔记】

SUPWEMICRO 418G-Q20X12 维护记录: 两台设备均已安装CUDA与Pytorch,在检测CUDA 是否能访问GPU,执行torch.cuda.is_available()命令时,一台设备速度秒回应True,但另外一台设备回应速度慢(1分钟左右&#xff…

华为网络设备:核心命令一览

1.华为交换机基础配置命令 # 常用命令视图 常用视图名称进入视图视图功能用户视图用户从终端成功登录至设备即进入用户视图,在屏幕上显示:在用户视图下,用户可以完成查看运行状态和统计信息等功能。系统视图在用户视图下,输入命…

本地部署whisper模型(语音转文字)

Whisper是 OpenAI 2022年发布的一款语音预训练大模型,集成了多语种ASR、语音翻译、语种识别的功能。 Whisper使用弱监督训练的方法,可以直接进行多任务的学习 1. 安装ffmpeg 1.1 更新yum yum update1.2 安装gcc yum install gcc1.3 在线安装ffmpeg 1.3.1 Install the EP…

(c语言版)使用随机函数rand

随机函数rand()详解 随机生成1-31号红球5个&#xff0c;随机生成1-16号白球2个&#xff0c;红球白球分别按照从小到大的顺序排序 #include<stdio.h> #include<stdlib.h> int main() {int n 0;int a[7] {0};while (n < 5) {a[n] rand() % 32;}a[n] rand() % …

node,node-sass,sass-loader之间的版本关系

前言 安装配置node-sass 以及 sass-loader想必是很多前端的噩梦–一不小心又不成功还得装个半天。 下面说一下这个问题。 当然&#xff0c;你肯定遇到过&#xff1a; Node Sass version 9.0.0 is incompatible with ^4.0.0-这样的问题&#xff0c;这个也是因为三者关系对不上…

【PyQt】02-基本UI

文章目录 前言一、首先了解什么是GUI&#xff1f;二、初学程序1.界面展示代码运行结果 2.控件2.1按钮展示代码运行结果 2.2 纯文本和输入框代码运行结果 3、重新设置大小 -resize4、移动窗口-move()5、设置界面在电脑中央5.1 代码运行结果 6、设置窗口图标代码运行结果 7、布局…

[linux] which和find有什么区别?

which 和 find 都是 Unix/Linux 系统中的命令&#xff0c;但它们的用途和工作方式有很大的不同。 which 命令&#xff1a;which 命令是用来查找并显示用户可以在当前环境下执行的命令的完整路径。这些命令通常位于 PATH 环境变量中指定的目录中。例如&#xff0c;which python …

Django模型(二)

一、更新数据库表结构 不管是新增模型,还是修改已有模型后,只需要执行行命令即可: 1.1、创建迁移 在项目根目录的cmd中运行: $ python manage.py makemigrations model_app备注 model_app是子应用的名称,如果不指定,那么就是对所有 INSTALLED_APPS 中的应用都进行预备…

开发数据产品+AI产品通关上岸课程

该课程全面解析数据产品和人工智能产品的开发与设计。学员将学习产品规划、数据分析以及AI技术应用&#xff0c;通过案例实践掌握产品开发流程&#xff0c;致力于帮助他们成功进入数据和人工智能产品领域。 课程大小&#xff1a;9.8G 课程下载&#xff1a;https://download.cs…

Java多线程共享变量控制volatile

1. volatile实现可见性&#xff08;jdk 1.5后&#xff09; 1. 可见性 如果一个线程对共享变量值的修改&#xff0c;能够及时的被其他线程看到&#xff0c;叫做共享变量的可见性。如果一个变量同时在多个线程的工作内存中存在副本&#xff0c;那么这个变量就叫共享变量 volati…

【OCPP】ocpp1.6协议第3.5章节:本地授权和离线行为-介绍及翻译

目录 3.5章节 概述 3.5 本地鉴权和离线行为-译文(Local Authorization & Offline Behavior) 3.5.1 鉴权缓存-译文(3.5.1. Authorization Cache) 3.5.2 本地鉴权列表-译文(Local Authorization List) 3.5.3 授权缓存和本地授权列表之间的关系-译文(Relation between A…

如何从零开始开发一个PS5浏览器 | How to develop a PS5 browser

环境&#xff1a;Windows PS5一台 问题&#xff1a;PS5折腾需要使用PKG浏览器访问特定网址&#xff0c;如何自定义网址呢&#xff1f; 解决办法&#xff1a;使用开发套件PS Multi Tools开发一个空应用&#xff0c;利于deeplinkUri 参数访问网页 背景&#xff1a;PS5折腾后&…

dockerpipwork相关测试过程

pipework可以减轻docker实施过程中的工作量&#xff0c;在网上也找了几篇类似的文章&#xff0c;按照相应配置&#xff0c;结果并不相同 如下测试过程记录下&#xff1a; docker run -it --rm --name c1 busybox docker run -it --rm --name c2 busyboxpipework br1 c1 192…

Linux命令-arch命令(显示当前主机的硬件架构类型)

概要 arch [OPTION]...arch 命令输出结果有&#xff1a;i386、i486、i586、alpha、sparc、arm、 m68k、mips、ppc、i686等。 语法 下面是arch命令的语法和语法说明&#xff1a; 选项功能-k显示内核架构-s显示系统架构-i显示所有可用的架构 示例&#xff1a; # 显示当前系…

Altium Designer的学习

PCB设计流程 1.新建空白工程&#xff1a; 创建一个新的工程 新建四个文件&#xff0c;并且保存&#xff1a; 每次打开文件时&#xff0c;打开以.PrjPcb结尾的文件 2.元件符号的创建&#xff1a; 在绘制图形的时候设置成10mil,为了在原理图中显得不那么大。 在绘制引脚的时候设…

拦截器,AOP,自定义注解的使用

自定义注解AOP&#xff0c;实现 进入方法打印参数日志 /*** 定义进入方法前打印日志注解* author zy*/ Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) Documented public interface PrintLog {} /*** 定义一个切面&#xff0c;在使用PrintLog注解的方法进…

【算法学习】编程中的位运算

位运算 位运算是直接对二进制的每一位进行逻辑操作的运算方式 用途&#xff1a;位运算一般用于考察异或的性质、状态压缩、与位运算相关的特殊数据结构、构造题等。 基本的位运算共 6 种&#xff0c;分别为按位与、按位或、按位异或、按位取反、左移和右移。 按位与 & …

华为数通方向HCIP-DataCom H12-831题库(填空题)

第01题 通过执行(Port-isolate mode all )命今,可以使同一VLAN的不同端口用户二三层彻底隔离无法通信。 (请使用英文小写字母将命令补全,且命令不能缩写) port-isolate mode l2 配置端口隔离模式为二层隔离三层互通;port-isolate mode all 配置端口隔离模式为二层三层都隔离…