中科大计网学习记录笔记(一):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…

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

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

【PyQt】02-基本UI

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

Django模型(二)

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

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

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

Java多线程共享变量控制volatile

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

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

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

dockerpipwork相关测试过程

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

Altium Designer的学习

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

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

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

Hadoop3.x基础(2)- HDFS

来源:B站尚硅谷 目录 HDFS概述HDFS产出背景及定义HDFS优缺点HDFS组成架构HDFS文件块大小(面试重点) HDFS的Shell操作(开发重点)基本语法命令大全常用命令实操准备工作上传下载HDFS直接操作 HDFS的API操作HDFS的API案例…

springboot 怎么设置局域网访问

如何配置Spring Boot应用以实现局域网访问 在开发一个Spring Boot应用时,我们通常会通过localhost来访问和测试我们的应用。但是,当我们想要在局域网中分享我们的应用,供其他设备访问时,仅仅使用localhost是不够的。本文将引导你…

Linux系统卸载重装JDK

CentOS 系统是开发者常用的 Linux 操作系统,安装它时会默认安装自带的旧版本的 OpenJDK,但在开发者平时开发 Java 项目时还是需要完整的 JDK,所以我们部署 CentOS 开发环境时,需要先卸载系统自带的 OpenJDK,再重新安装…

汽车销量可视化分析

目录 一.分析的背景、目的、意义 1、背景 2、目的 3、意义 二.数据来源 三.图表分析 1、汽车品牌销量柱状图 2、中国汽车销量柱状图 3、汽车销量前10排行柱状图 4、汽车厂商销量折线图 ​编辑5、汽车销量词云图 6、汽车车型销量 7、汽车价格分布雷达图 8、汽车分…

免费的ChatGPT网站(7个)

还在为找免费的chatGPT网站或者应用而烦恼吗?博主归纳总结了7个国内非常好用,而且免费的chatGPT网站,AI语言大模型,我们都来接触一下吧。 免费!免费!免费!...,建议收藏保存。 1&…

深入浅出HBase:一文理解HBase基础概念(列存储、时间戳、key-value)、架构特点以及适合的使用场景

文章目录 一. HBase 数据模型1. 行存储与列式存储1.1. 行存储1.2. 列存储 2. HBase 数据模型2.1. 模型概览2.2. 列与列族2.3. 时间戳:定义数据版本2.4. HBase的Key-Value 三. HBase架构1. HBase读写流程简述2. HRegionServer内部内部数据流转:HRegion &l…

Web前端入门 - HTML JavaScript Vue

ps:刚开始学习web前端开发,有什么不正确、不标准的内容,欢迎大家指出~ Web简介 90年代初期,Web1.0,静态页面,不和服务器交互,网页三剑客指Dreamweaver、Fireworks、Flash2000年代中期&#xf…

MySQL事务隔离级别

什么是事务? 事务是逻辑上的一组操作,要么都执行,要么都不执行。 事务最经典也经常被拿出来说例子就是转账了。假如小明要给小红转账1000元,这个转账会涉及到两个关键操作就是:将小明的余额减少1000元,将小红的余额…