计算机网络-理论部分(一):概览

重点

计算机网络的重点是协议,各种协议,每种协议都有自己对应的应用场景以及对应功能,学好协议,就学好了计算机努网络。

协议分层

协议分层围绕数据的传递展开。数据的传递需要包括:打包数据,控制传递,寻找目的地,拆分成帧传输,每帧数据实际传输。
在这里插入图片描述

因特网五层模型

  • 应用层:HTTP,FTP等协议,对应相应的应用领域。
  • 运输层:TCP,UDP协议,负责控制数据传输速度和可靠性。
  • 网络层:IP协议以及相关配套协议,负责通过协议找到数据的目的地。
  • 链路层:DOCSIS协议等,负责将数据划分为帧并确保每一帧传递到位。
  • 物理层:与实际传输相关的协议,负责实现一个bit一个bit的传输。

在这里插入图片描述

我们常谈的WIFI,4G,5G这些属于数据链路层和物理层,
例如WIFI,物理层采用2.4GHz和5GHz频段,使用 BPSK、QPSK、16-QAM 等调制方式。在数据链路层采用了多种协议,如 IEEE 802.11 系列协议

OSI七层参考模型

比上面多了两层:

  • 表示层:定义了数据如何解释,包括数据加密,数据描述等功能
  • 会话层:提供了数据交换定界和同步功能,包括建立检查点和恢复方案的方法。

因特网五层模型认为这两层的工作应该有应用开发者决定是否需要以及如何实现,算是包括在应用层内的。

从原始数据一层层往下,数据不断被封装,添加首部信息,每层的传输内容分为两部分:首部字段和有效载荷字段,前者是该层协议需要的辅助信息,后者是该层负责传输的信息,一般是上层的首部字段+有效载荷。

计算机网络拓扑结构

互联网,顾名思义就是一个很大的图,普通PC等都是简单节点,为了实现节点间通信,需要有一些特殊节点存储这个“图”的节点信息和连接信息。所以,整个互联网分为两大部分:因特网服务提供商ISP,终端Client和内容提供商Server。前者是服务员,后者是顾客。
在这里插入图片描述

他们之间的链接,也存在一个拓扑结构,像是一个树一样。端系统通过路由器或链路交换机连接到ISP,ISP本身也是一对交换机组成的网络。ISP之间也会进行互联,而且ISP还会链接到更上层的ISP以达到“联网”的效果。底层ISP向高层ISP链接需要根据流量付费,同层次ISP之间可以互联,互相不付费。
在这里插入图片描述

数据真正传输时,是在端系统上packet(分组)传输负责实现传输的这部分API被称为socket interface(套接字),socket是应用层和传输层之间的一个抽象层,它为应用层和传输层之间提供了一个接口。

packet是因为需要复用传输链路。

  • 电路交换采用幅频复用,即不同频道传不同信息。这有点像收音机一样,每个频率是一个频道。
  • packet是时频复用,即传完就释放,只使用链路不占有链路。

socket这个翻译我感觉很怪,我的理解更像是牧民交易时的袖管,你只需要负责把数据放进去就行,里面发生了什么不需要管。

分组传输时,交换机需要先完全接收到一组数据,才会将这组数据转发到下一个目的地,这被称为存储转发,因此如果一个交换机接收到的packet太多,占满了内存空间,再新来的packet就会被丢掉,这被称为丢包,这期间存储转发产生的延时称为存储转发延时,在缓存中排队等待的延时被称为排队延时

Ref

计算机网络自顶向下方法 第8版

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

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

相关文章

开源科学工程技术软件介绍 – EDA工具KLayout

link 今天向各位知友介绍的 KLayout是一款由德国团队开发的开源EDA工具。 KLayout是使用C开发的,用户界面基于Qt。它支持Windows、MacOS和Linux操作系统。安装程序可以从下面的网址下载: https://www.klayout.de/build.html KLayout图形用户界面&…

SpringMVC的视图

目录 一.视图分类 (1)转发视图(Forward View): (2)重定向视图(Redirect View): (3)其他视图技术 二.转发视图 三.重定向视图 四…

Spring IOCDI

1. 什么是Spring 前面介绍了Spring Boot,Spring MVC,那么Spring和他们之间有什么关系呢? Spring简单一句话总结就是:它是一个包含众多工具方法的IOC容器。前面我们也接触过容器,比如List/Map,他俩是数据存…

螺旋矩阵II(leetcode 59)

转圈过程&#xff08;边界处理&#xff09;遵循循环不变量的原则&#xff0c;坚持一个原则处理每一条边&#xff0c;左闭右开处理 class Solution { public:vector<vector<int>> generateMatrix(int n) {vector<vector<int>> num(n, vector<int>…

Vue 中的透传,插槽,依赖注入

1. 透传attributes 在组件上使用透传attribute&#xff1a; 当你在父组件中使用子组件时&#xff0c;你可以添加一些attribute到子组件上&#xff0c;即使这些attribute没有在子组件的props中声明。 父组件&#xff1a; <!-- 父组件&#xff0c;例如 ParentComponent.vue…

基于K8S1.28.2实验rook部署ceph

基于K8S1.28.2实验rook部署ceph 原文链接&#xff1a; 基于K8S1.28.2实验rook部署ceph | 严千屹博客 Rook 支持 Kubernetes v1.22 或更高版本。 rook版本1.12.8 K8S版本1.28.2 部署出来ceph版本是quincy版本 主机名ip1(NAT)系统新硬盘磁盘内存master1192.168.48.101Centos7.910…

node.js中express的基本了解

定义 Express是基于Node.js平台&#xff0c;快速、开放、极简的Web开发框架。 本质 Express是一个npm上的第三方包&#xff0c;提供了快速创建Web服务器的便捷方法。 作用 与Node.js内置的http模块类似&#xff0c;Express也是专门用来创建Web服务器的&#xff0c;但它极大地简…

容器运行时 AND Docker

容器运行时 and Docker 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现&#xff0c;基于 Linux 内核的 cgroup&#xff0c;namespace&#xff0c;以及 AUFS 类的 Union FS 等技术&#xff0c;对进程进行封装隔离&#xff0c;属于 操作系统层面的虚拟化技术…

基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络

一、介绍 垃圾识别分类系统。本系统采用Python作为主要编程语言&#xff0c;通过收集了5种常见的垃圾数据集&#xff08;‘塑料’, ‘玻璃’, ‘纸张’, ‘纸板’, ‘金属’&#xff09;&#xff0c;然后基于TensorFlow搭建卷积神经网络算法模型&#xff0c;通过对图像数据集进…

Scala-数据类型-概述(Scala 3.x 类型层次结构)

Scala Scala-数据类型 Scala1. Any — 顶级类型2. Matchable — 匹配类型3. AnyVal — 值类型的父类4. AnyRef — 引用类型的父类5. Null - 引用类型的子类型Tips: 为什么 null 不推荐使用&#xff1f; 6. Nothing - 底层类型 (Bottom Type)整理不易&#xff0c;对您有帮助的话…

Linux:权限相关知识详解

1.shell命令以及运行原理 1.1初步理解认识shell Linux严格意义上说的是一个操作系统&#xff0c;我们称之为“核心&#xff08;kernel&#xff09;“ &#xff0c;但我们一般用户&#xff0c;不能直接使用kernel。而是通过kernel的“外壳”程序&#xff0c;也就是所谓的shell&…

React中常用的钩子

在当今&#xff0c;React的钩子写法已经逐渐成为了一种主流开发模式&#xff0c;本文将介绍几种在React中常用的钩子 useState 可以用来双向绑定&#xff0c;创建需要监听变化并且使用的数据 使用该钩子定义时&#xff0c;参数可以是一个直接定义好的变量&#xff0c;也可以是…

.NET SDK 各操作系统开发环境搭建

一、Win10&#xff08;推荐&#xff09; 1、VS 2022 社区版 # 下载地址 https://visualstudio.microsoft.com/zh-hans/downloads/ 2、.NET 6 SDK # 下载地址 https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0 3、Hello World 如果需要使用旧程序样式时&#xff0c;则…

Linux 下网络套接字(Socket) 与udp和tcp 相关接口

文章目录 1. socket常见API2 sockaddr结构体及其子类1. sockaddr结构体定义&#xff08;基类&#xff09;2. 子类 sockaddr_in结构体用于(IPv4)3 子类 sockaddr_un(Unix域套接字)4. 总结画出其结构体 3.实现一个简单的tcp Echo 服务器和客户端(cpp&#xff09;3.1 客户端3.2 服…

跨平台WPF框架Avalonia教程 七

数据绑定 Avalonia使用数据绑定将数据从应用程序对象传递到UI控件&#xff0c;根据用户输入更改应用程序对象中的数据&#xff0c;并在响应用户命令时对应用程序对象进行操作。 在这种安排中&#xff0c;控件是绑定目标&#xff0c;而对象是数据源。 Avalonia运行数据绑定系统…

日常ctf

1&#xff0c; [陇剑杯 2021]日志分析&#xff08;问1&#xff09; %2e 为URL编码的符号 "." flag{www.zip} 2&#xff0c; [陇剑杯 2021]日志分析&#xff08;问2&#xff09; 根据之前题目的分析&#xff0c;在获取到源码文件之后&#xff0c;黑客又成功访问了in…

基于微信小程序的校园助手+LW示例参考

1.项目介绍 项目角色&#xff1a;管理员、普通用户功能模块&#xff1a;管理员&#xff08;用户管理、寻物启事管理、物品分类管理、表白广场、吐槽大会、二手交易、拼车出行等&#xff09;、普通用户&#xff08;登录注册、寻物启事、失物招领、表白广场、吐槽大会、拼车出行…

逆向攻防世界CTF系列38-xxxorrr

逆向攻防世界CTF系列38-xxxorrr 64位无壳&#xff0c;很自然的找到main和一个比较函数 以为逻辑很简单了 enc [0x56, 0x4E, 0x57, 0x58, 0x51, 0x51, 0x09, 0x46, 0x17, 0x46,0x54, 0x5A, 0x59, 0x59, 0x1F, 0x48, 0x32, 0x5B, 0x6B, 0x7C,0x75, 0x6E, 0x7E, 0x6E, 0x2F, 0…

数据结构-堆排序笔记

1 思路 总体思路 首先我们会拿到一个无序的数组&#xff0c;我们需要先对其构建成一个堆。下面我们示例将会构建成大顶堆。然后我们对顶堆的元素进行位置之间的交换。交换的同时继续对其维护大顶堆的性质&#xff0c;直至大顶堆只剩下一个元素。 具体思路 首先我们先将一个…

如何在react中使用react-monaco-editor渲染出一个编辑器

一、效果展示 二、基于vite配置 1.首先安装react-monaco-editor和monaco-editor包 npm add react-monaco-editor npm i monaco-editor 2.其次创建一个单独的文件&#xff08;此处是tsx、直接用app或者jsx也行&#xff09; import { useState, useEffect } from react impo…