当前位置: 首页 > news >正文

计算机网络速成

  • 前言:最近在做一些动态的crypto,但是配置总搞不好,正好也有学web的想法,就先学学web再回去做密码,速成视频推荐b站建模老哥

    目录

    • 计算机网络概述
      • 网络的范围分级
      • 电路交换网络(电路交换)
      • 报文交换网络和分组交换网络(包交换)
      • 常见的网络拓扑结构
      • OSI七层模型
      • TCP/IP四层模型
      • 网络的性能指标
    • 物理层
      • 通信基本概念
      • 传输介质
      • 基带传输与数字编码
      • 多路复用技术
      • 中继器和两个计算公式
    • 数据链路层
      • 冗余码的计算
      • 点到点信道
      • 数据的透明传输
      • 广播信道的数据链路
      • 以太网
      • PDU地址的概念
      • 虚拟局域网(VLAN)
    • ip地址
      • ip地址概述
      • IP地址格式
        • 子网掩码
      • 定长子网的划分
      • 变长子网的划分
      • 合并网段
    • 网络层
      • 网络层概述
      • 地址解析协议ARP
      • 路由相关协议
      • ICMP报文
      • 虚拟专用网(VPN)
    • 传输层
      • 传输层的功能
      • 进程标识
      • UDP协议
      • TCP协议
        • 三次握手,四次挥手
    • 计算机网络为什么要分层,每一层解决了什么问题
      • 为什么要分层
      • OSI 七层模型与 TCP/IP 模型
        • OSI 七层模型:
        • TCP/IP 模型:
      • 每一层解决的具体问题
        • 物理层:
        • 数据链路层:
        • 网络层:
        • 传输层:
        • 会话层:
        • 应用层:
      • 总结

计算机网络概述

网络的范围分级

在这里插入图片描述

电路交换网络(电路交换)

在这里插入图片描述在这里插入图片描述

报文交换网络和分组交换网络(包交换)

  • 将信息打包后在各个结点直接依次传输在这里插入图片描述

常见的网络拓扑结构

在这里插入图片描述

OSI七层模型

层与层之间通过接口访问,从下到上的记忆顺序物联网书卉试用(谐音梗不扣钱)
在这里插入图片描述
在这里插入图片描述

TCP/IP四层模型

其实是对OSI七层模型的一个合并简化
在这里插入图片描述

网络的性能指标

在这里插入图片描述

物理层

通信基本概念

在这里插入图片描述
在这里插入图片描述

传输介质

在这里插入图片描述

基带传输与数字编码

在这里插入图片描述
在这里插入图片描述

多路复用技术

  • 频分复用:假设a用高频,b用低频
  • 码分复用:a和b一起运输,到目的地再各自分开

在这里插入图片描述

中继器和两个计算公式

  • 中继器:信息在传输过程中会衰减,通过中继器将其进行放大整形操作抗衰减,集线器是单进多出的中继器
    在这里插入图片描述

数据链路层

链路:结点到结点,中间没有路由器

数据链路层是OSI七层模型中的第二层,介于物理层和网络层之间,主要负责在相邻设备之间可靠地传输数据帧,确保数据的完整性和正确性。其主要功能包括帧的封装与解封装、错误检测与纠正、流量控制等。

数据链路层的主要功能

  1. 帧的封装与解封装
    功能描述:
    数据链路层将来自网络层的数据(通常是分组)封装成数据帧,以便通过物理层进行传输。
    数据帧由帧头(Header)、帧数据(Payload)和帧尾(Trailer)组成,分别包含控制信息、数据以及校验信息。
    具体操作:
    封装:为数据包添加必要的帧头和帧尾信息,形成数据帧。
    解封装:接收数据帧后,移除帧头和帧尾,并将数据传递给网络层。
  2. 物理地址(MAC地址)寻址
    功能描述:
    数据链路层使用物理地址(如MAC地址)标识网络设备,确保数据能够准确送达目标设备。
    源设备在帧头中添加目标设备的MAC地址和源设备的MAC地址。
    应用场景:
    局域网中设备之间的通信需要基于MAC地址。
  3. 错误检测与纠正
    功能描述:
    数据链路层负责检测数据在传输过程中是否出错(如比特翻转、丢失等)。
    通常在帧尾中添加校验信息(如CRC循环冗余校验),接收端对数据进行校验以判断是否出错。
    某些协议支持简单的错误纠正功能,例如请求重传机制。
    常见方法:
    奇偶校验:通过比特数量判断是否出错。
    CRC校验:广泛用于数据链路层的错误检测。
    在这里插入图片描述

冗余码的计算

在这里插入图片描述

点到点信道

在这里插入图片描述

数据的透明传输

透明”:表示链路层对上层数据不进行解释或干预,数据内容是什么就按什么样子进行传输,不会因为链路层的操作而对数据内容产生影响。
核心目标:无论数据内容如何变化,链路层都能将其正确封装为帧,并通过物理链路完整地传递到接收端,同时让接收端可以还原出发送端的数据。
在这里插入图片描述在这里插入图片描述

在这里插入图片描述

广播信道的数据链路

在这里插入图片描述
在这里插入图片描述

以太网

在这里插入图片描述
集线器:工作在物理层在这里插入图片描述
网桥:工作在数据链路层,用于优化以太网,隔离冲突,识别帧的结构
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

PDU地址的概念

在这里插入图片描述
在不同层PDU地址和传输数据类型不一样在这里插入图片描述

虚拟局域网(VLAN)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

ip地址

ip地址概述

路由器连不同网段,交换机处理同一网段内的交换信息
在这里插入图片描述

IP地址格式

在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

子网掩码

  • 用于区分出ip地址中哪些是网络地址,哪些是主机地址
    在这里插入图片描述
    网络地址和广播地址除外,如果网络地址相同,则不需要通过交换机进行通信
    在这里插入图片描述
  • 注:私有地址是不能直接转发到网上的,需要转为公有地址
    在这里插入图片描述

定长子网的划分

本质上是从主机地址中取出一些位数,用来标记不同的子网
在这里插入图片描述

变长子网的划分

在这里插入图片描述

合并网段

在这里插入图片描述

网络层

网络层概述

在这里插入图片描述

地址解析协议ARP

即通过目标的ip地址找到mac地址,从而找到转发结点在这里插入图片描述

路由相关协议

在这里插入图片描述

ICMP报文

用于检测发送过程中的错误
在这里插入图片描述
在这里插入图片描述

虚拟专用网(VPN)

在这里插入图片描述
将私有地址映射为一个可以通过网络传输的公有地址在这里插入图片描述

传输层

传输层的功能

网络层解决了不同主机之间通信的问题,而传输层解决了同一主机中不同进程之间通信的问题在这里插入图片描述

进程标识

采用端口号来标识进程,这也就能理解为什么ctf连接时都是连某个端口了在这里插入图片描述

UDP协议

特点就是快,但是不可靠在这里插入图片描述

TCP协议

在这里插入图片描述

三次握手,四次挥手

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

计算机网络为什么要分层,每一层解决了什么问题

计算机网络分层是一种模块化设计方法,它将网络通信过程分解为多个层次,每一层解决不同的网络问题。通过分层,网络协议的设计和实现变得更加清晰和易于管理,同时也提高了网络的可扩展性、可维护性和互操作性。

分层设计的思想在 OSI 七层模型和 TCP/IP 模型中得到了广泛应用。每个模型有不同数量的层次,但它们的设计思想和目的都是相同的。


为什么要分层

  1. 简化网络设计和实现
    网络功能复杂,分层可以将每个网络问题局限于一个层,减少了跨层之间的复杂性,使得开发人员可以专注于单一层的功能。

  2. 增强可扩展性
    新的协议和技术可以仅在某一层进行替换或更新,而不影响其他层。例如,当出现新的传输协议(如 QUIC 替代 TCP)时,只需要修改传输层的实现,其他层(如应用层、网络层)不需要改变。

  3. 提高模块化和灵活性
    分层使得每一层的协议和技术具有独立性,可以针对不同需求优化和升级。例如,应用层可以采用不同的协议(如 HTTP、FTP),而无需关心底层的传输细节。

  4. 实现跨平台的互操作性
    通过定义标准接口和协议,各个层之间可以独立工作,允许不同厂商、不同技术的设备在相同的网络中协同工作。

  5. 便于故障排除和管理
    分层设计使得网络故障可以被局限到特定的层,便于定位和排除问题。例如,如果数据包丢失,可能是网络层的路由问题;如果传输错误,可能是传输层的问题。


OSI 七层模型与 TCP/IP 模型

OSI 七层模型TCP/IP 模型是计算机网络协议体系结构的两种常见分层模型。每个模型有不同数量的层次,但它们的设计思想和目的都是相同的。

OSI 七层模型:

  1. 物理层(Physical Layer)

    • 解决问题:传输介质和信号的物理特性。确保比特在物理媒介(如电缆、无线信号)上传输。
    • 例如:电压、信号强度、线缆类型、光纤、无线电波等。
  2. 数据链路层(Data Link Layer)

    • 解决问题:节点之间的数据帧传输和错误检测。提供可靠的点对点数据传输,确保数据帧从源节点正确传输到目标节点。
    • 例如:以太网、Wi-Fi、帧检验序列(FCS)、MAC 地址。
  3. 网络层(Network Layer)

    • 解决问题:数据包的路由与转发,选择从源到目的地的最佳路径。提供不同网络之间的互联。
    • 例如:IP 协议、路由协议(如 OSPF、BGP)。
  4. 传输层(Transport Layer)

    • 解决问题:端到端的数据传输,提供可靠性、流量控制和差错检测。确保数据按顺序传输且没有丢失。
    • 例如:TCP、UDP。
  5. 会话层(Session Layer)

    • 解决问题:会话管理和数据同步。提供不同应用之间的通信会话,管理会话的建立、维护和终止。
    • 例如:NetBIOS、RPC(远程过程调用)。
  6. 表示层(Presentation Layer)

    • 解决问题:数据格式化与转换,确保不同系统之间的数据可以理解。例如,数据编码、加密、解密、压缩等。
    • 例如:JPEG、MPEG、SSL/TLS、ASCII、EBCDIC 编码。
  7. 应用层(Application Layer)

    • 解决问题:直接为用户提供网络服务,定义应用程序与网络之间的通信方式。处理具体的应用协议。
    • 例如:HTTP、FTP、SMTP、DNS、SSH。

TCP/IP 模型:

TCP/IP 模型是一个四层的模型,实际上是基于 OSI 模型的简化版本。它被广泛用于现代互联网中。

  1. 网络接口层(Network Interface Layer)

    • 对应于 OSI 模型中的物理层和数据链路层,负责数据在物理媒介上的传输。
  2. 互联网层(Internet Layer)

    • 对应于 OSI 模型中的网络层,负责数据包的路由和转发,处理 IP 地址、子网、路由等。
  3. 传输层(Transport Layer)

    • 对应于 OSI 模型中的传输层,提供端到端的通信服务。常用的协议有 TCP 和 UDP。
  4. 应用层(Application Layer)

    • 对应于 OSI 模型中的应用层、会话层和表示层,负责处理特定应用的请求和响应。

每一层解决的具体问题

物理层:

  • 问题:如何在物理介质上传输比特流(如电缆、光纤、无线电波等)。
  • 解决方案:定义信号的电气特性、传输媒介、传输速率等。

数据链路层:

  • 问题:如何可靠地在局部网络中传输数据帧。
  • 解决方案:通过帧检验、错误检测和纠正、MAC 地址来确保数据正确传输。

网络层:

  • 问题:如何从源到目的地传送数据包,并在网络中进行路由选择。
  • 解决方案:使用 IP 协议进行数据包的寻址和路由选择,确保数据在多个网络中传输。

传输层:

  • 问题:如何在两个端点之间建立可靠的数据传输,解决数据的顺序、完整性和丢失问题。
  • 解决方案:使用 TCP 提供可靠传输、重传机制、流量控制等;使用 UDP 提供不可靠但低延迟的传输。

会话层:

  • 问题:如何管理通信会话(即通信的持续时间、同步、恢复等)。
  • 解决方案:通过建立、维护和终止会话来协调不同应用程序之间的通信。### 表示层:
  • 问题:如何将数据进行格式化、压缩、加密等转换,使不同系统间的数据能够理解。
  • 解决方案:使用标准数据格式(如 JPEG、MPEG)、加密和解密技术(如 SSL/TLS)。

应用层:

  • 问题:如何让用户或应用程序与网络服务进行交互。
  • 解决方案:定义具体的网络协议,支持用户的各类需求,如文件传输、网页浏览、电子邮件等。

总结

网络分层的目的是将复杂的网络通信过程分解成若干个可管理、可维护、可优化的模块,每个层次专注于解决特定的网络问题。分层不仅提高了网络协议的灵活性和可扩展性,还增强了故障排查和协议互操作性的能力。每一层解决不同的问题,从物理层的比特传输到应用层的用户需求,每一层都发挥着至关重要的作用。

相关文章:

计算机网络速成

前言:最近在做一些动态的crypto,但是配置总搞不好,正好也有学web的想法,就先学学web再回去做密码,速成视频推荐b站建模老哥 目录 计算机网络概述网络的范围分级电路交换网络(电路交换)报文交换网…...

spring.profiles.active不同优先级

1、在editConfiguration中配置profiles.activedev会同时影响项目取application-dev.properties、bootstrap-dev.yaml,且这种方式优先级最高,会覆盖application.properties、bootstrap.yaml中的spring.profiles.active配置 2、在application.properties配…...

我这不需要保留本地修改, 只需要拉取远程更改

如果你不需要保留本地修改,只需要拉取远程更改并强制将本地分支与远程分支同步,可以按照以下步骤操作: 1. 丢弃本地修改 首先,丢弃所有本地未提交的修改: git reset --hard这会重置工作目录和暂存区,丢弃…...

源码编译安装httpd 2.4,提供系统服务管理脚本并测试(两种方法实现)

下载 httpd 2.4 源码: wget https://dlcdn.apache.org/httpd/httpd-2.4.x.tar.gztar -zxvf httpd-2.4.x.tar.gzcd httpd-2.4.x配置、编译和安装: ./configure --prefix/usr/local/apache2 --enable-so --enable-ssl --enable-cgi makesudo make install实…...

深度学习在自动化测试中的创新应用:提升运维效率与质量

《深度学习在自动化测试中的创新应用:提升运维效率与质量》 一、引言 在当今快速发展的软件行业中,自动化测试是确保软件质量和可靠性的关键环节。随着软件系统的日益复杂,传统的自动化测试方法在处理复杂场景、提高测试覆盖率和准确性方面面临着诸多挑战。深度学习作为人…...

单独编译QT子模块

单独编译QT子模块 系统 win qt-everywhere-src-5.12.12 下载源码: https://download.qt.io/archive/qt/5.12/5.12.12/single/ 参考: https://doc.qt.io/qt-5/windows-building.html 安装依赖 https://doc.qt.io/qt-5/windows-requirements.html Per…...

学习华为熵减:激发组织活力(系列之三)

目录 为什么学习华为? 学习华为什么? 一、势:顺势而为,在风口上猪都会飞起来。 二、道:就是认识和利用规律层面,文化和制度创新就是企业经营之道。 三、法:就是一套价值管理的变革方法论。…...

CNCF云原生计算基金会

CNCF,全称为云原生计算基金会(Cloud Native Computing Foundation),成立于2015年,是一个隶属于Linux基金会的非营利组织。CNCF旨在促进和支持开源技术的发展,特别是那些支持云原生(cloud native…...

STM32 FreeRTOS时间片调度---FreeRTOS任务相关API函数---FreeRTOS时间管理

目录 时间片调度简介 FreeRTOS任务相关API函数介绍 延时函数介绍 时间片调度简介 在FreeRTOS中,同等优先级的任务会轮流分享相同的CPU时间,这个时间被称为时间片。在这里,一个时间片的长度等同于SysTick中断的周期。 FreeRTOS任务相关API…...

SQL LAST()

SQL中的LAST()函数是一个用于返回指定列中最后一个记录值的函数。然而,需要注意的是,这个函数并不是SQL标准的一部分,因此并不是所有数据库系统都支持它。具体来说,只有MS Access直接支持LAST()函数【0†source】。 在其他数据库…...

云服务信息安全管理体系认证,守护云端安全

在数据驱动的时代,云计算已成为企业业务的超级引擎,推动着企业飞速发展。然而,随着云计算的广泛应用,信息安全问题也日益凸显,如同暗流涌动下的礁石,时刻威胁着企业的航行安全。这时,云服务信息…...

【Hive】新增字段(column)后,旧分区无法更新数据问题

TOC 【一】问题描述 Hive修改数据表结构的需求,比如:增加一个新字段。 如果使用如下语句新增列,可以成功添加列col1。但如果数据表tb已经有旧的分区(例如:dt20190101),则该旧分区中的col1将为…...

C# (图文教学)在C#的编译工具Visual Studio中使用SQLServer并对数据库中的表进行简单的增删改查--14

目录 一.安装SQLServer 二.在SQLServer中创建一个数据库 1.打开SQL Server Manager Studio(SSMS)连接服务器 2.创建新的数据库 3.创建表 三.Visual Studio 配置 1.创建一个简单的VS项目(本文创建为一个简单的控制台项目) 2.添加数据库连接 四.简单连通代码示例 简单连…...

4G DTU赋能智能配电环网柜通信运维管理

在智能电网建设持续推进下,智能配电环网柜作为配电网的关键节点设备,其稳定、高效运行对保障电力可靠供应是品质生活的基本保障。通信系统是实现智能配电环网柜远程监控与管理的核心纽带,而4G DTU(数据传输单元)凭借其…...

快速上手 HarmonyOS 应用开发

一、DevEco Studio 安装与配置 1. DevEco Studio 简介 DevEco Studio 是 HarmonyOS 的一站式集成开发环境(IDE),提供了丰富的工具和功能,支持 HarmonyOS 应用开发的全流程。 2. DevEco Studio 下载与安装 下载地址&#xff1a…...

解决nginx: [emerg] unknown directive “stream“ in /etc/nginx/nginx.conf问题 --九五小庞

参考链接:https://blog.csdn.net/User_bie/article/details/128102168 Nginx在编译安装时,需指定安装的模块...

Object类和hashcode方法

一.Object类. 1.所有类的父类,如果一个类没有继承那个类,那么都是默认继承于Object这个类。 2.object中存在的方法:(画横线的方法代表过时了,但是能用) 3.这里能用equals的方法是因为默认继承了Object这个…...

速通Docker === 介绍与安装

目录 Docker介绍 Docker优势 Docker组件 Docker CLI (命令行接口) Docker Host (Docker 守护进程) 容器 (Container) 镜像 (Image) 仓库 (Registry) 关系总结 应用程序部署方式 传统部署 (Traditional Deployment) 虚拟化部署 (Virtualization Deployment) 容器部署…...

OpenStack 网络服务的插件架构

OpenStack 的网络服务具有灵活的插件架构,可支持多种不同类型的插件以满足不同的网络需求。以下是对 OpenStack 网络服务插件架构中一些常见插件类型的介绍: 一、SDN 插件 Neutron 与 SDN 的集成:在 OpenStack 网络服务里,SDN 插…...

SAP SD销售模块组织架构介绍(销售组织、分销渠道等)

【SAP系统研究】 #SAP #SD #销售管理 #销售组织 一、销售组织 Sales Organization,是为企业销售而建立的组织单元,用于物料和服务的销售。销售组织下又可以分为若干个分销渠道,用于不同的市场服务;分销渠道又可以按产品组的不同…...

CMake学习笔记(2)

1. 嵌套的CMake 如果项目很大,或者项目中有很多的源码目录,在通过CMake管理项目的时候如果只使用一个CMakeLists.txt,那么这个文件相对会比较复杂,有一种化繁为简的方式就是给每个源码目录都添加一个CMakeLists.txt文件&#xff…...

Linux下源码编译安装Nginx1.24及服务脚本实战

1、下载Nginx [rootlocalhost ~]# wget -c https://nginx.org/download/nginx-1.24.0.tar.gz2、解压 [rootlocalhost ~]# tar xf nginx-1.24.0.tar.gz -C /usr/local/src/3、安装依赖 [rootlocalhost ~]# yum install gcc gcc-c make pcre-devel openssl-devel -y4、 准备 N…...

4、dockerfile实现lnmp和elk

dockerfile实现lnmp 使用dockerfile n:nginx,172.111.0.10 m:mysql,172.111.0.20 p:php,172.111.0.30 安装配置nginx 1、准备好nginx和wordpress安装包 2、配置dockerfile 3、配置nginx主配置文件ngin…...

Portainer.io安装并配置Docker远程访问及CA证书

Portainer.io安装并配置Docker远程访问及CA证书 文章目录 Portainer.io安装并配置Docker远程访问及CA证书一.安装 Portainer.io2.启动容器 二.docker API远程访问并配置CA安全认证1.配置安全(密钥)访问2.补全CA证书信息3.生成server-key.pem4.创建服务端签名请求证书文件5.创建…...

探索 Transformer²:大语言模型自适应的新突破

目录 一、来源: 论文链接:https://arxiv.org/pdf/2501.06252 代码链接:SakanaAI/self-adaptive-llms 论文发布时间:2025年1月14日 二、论文概述: 图1 Transformer 概述 图2 训练及推理方法概述 图3 基于提示的…...

Flutter 多终端测试 自定义启动画面​​​​​​​ 更换小图标和应用名称

多终端测试 flutter devices flutter run -d emulator-5554 flutter run -d emulator-5556 自定义启动画面 之前: 进入assert 3x 生成 1x 2x dart run flutter_native_splash:create dart run flutter_native_splash:remove 现在(flutter_nativ…...

rsarsa-给定pqe求私钥对密文解密

题目: Math is cool! Use the RSA algorithm to decode the secret message, c, p, q, and e are parameters for the RSA algorithm.p 96484230290105156765905517400104265349457376392357398006439893520398525072984913995610350091634270503701075707336333…...

flutter开发-figma交互设计图可以转换为flutter源代码-如何将设计图转换为flutter源代码-优雅草央千澈

flutter开发-figma交互设计图可以转换为flutter源代码-如何将设计图转换为flutter源代码-优雅草央千澈 开发背景 可能大家听过过蓝湖可以转ui设计图为vue.js,react native代码,那么请问听说过将figma的设计图转换为flutter源代码吗?本文优雅草央千澈带…...

Deep4SNet: deep learning for fake speech classification

Deep4SNet:用于虚假语音分类的深度学习 摘要: 虚假语音是指即使通过人工智能或信号处理技术产生的语音记录。生成虚假录音的方法有"深度语音"和"模仿"。在《深沉的声音》中,录音听起来有点合成,而在《模仿》中…...

3 前端: Web开发相关概念 、HTML语法、CSS语法

文章目录 前言:导学1 Web开发相关概念2 Web标准(网页标准)3 软件架构(CS/BS)(1)C/S: Client/Server 客户端 / 服务器端(2)B/S: Browser/Server 浏览器 / 服务器端VSCode配置前段开发环境一、HTML概念1 概念2 HTML快速入门(1)语法快速入门(2)VSCode一个 !(快捷键…...