计算机网络速成

  • 前言:最近在做一些动态的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)。

应用层:

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

总结

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

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

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

相关文章

【React】静态组件动态组件

目录 静态组件动态组件创建一个构造函数(类)使用 class 实现组件**使用 function 实现类组件** 静态组件 函数组件是静态组件: 组件第一次渲染完毕后,无法基于内部的某些操作让组件更新「无法实现自更新」;但是,如果调用它的父组…

Qt/C++ 基于 QGraphicsView 的绘图软件 (附源码下载链接)

基于 Qt 的 QGraphicsView 绘图软件项目进行深入讲解,分析其核心代码与功能实现,帮助开发者理解 QGraphicsView 的用法。 项目概览 该项目实现了一个简单的绘图应用,用户可以在界面中创建和编辑矩形、椭圆、直线、多边形和文本等图形对象。功…

Vue2+OpenLayers给2个标点Feature分别添加独立的点击事件(提供Gitee源码)

前言:之前开发都是将所有的点位存放在一个图层上面,并统一赋予它们相同的点击事件,如果其中某些点的点击事件不一样呢,这种问题如何解决呢,本篇博客就是解决这个通点。 目录 一、案例截图 二、安装OpenLayers库 三…

李宏毅机器学习课程笔记03 | 类神经网络优化技巧

文章目录 类神经网络优化技巧局部最小值local minima 与 鞍点saddle pointSaddle Point 的情况更常见 Tips for training:Batch and MomentumSmall Batch vs Large Batch回顾:optimization优化 找到参数使L最小问题:为什么要用Batch&#xff…

如何学习网络安全?有哪些小窍门?

学好网络安全其实没有所谓的捷径,也没有什么小窍门。 入门网络安全首先要有浓厚的学习兴趣,不然很容易就变成了从入门到放弃了。 其次要能静下心,踏踏实实的打好基础。如果你是零基础,建议从Web安全入手,课程难度相对…

测试工程师的linux 命令学习(持续更新中)

1.ls """1.ls""" ls -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 ls -l等同于 ll第一列共10位,第1位表示文档类型,d表示目录,-表示普通文件,l表示链接文件。…

K8S 亲和性与反亲和性 深度好文

今天我们来实验 pod 亲和性。官网描述如下: 假设有如下三个节点的 K8S 集群: k8s31master 是控制节点 k8s31node1、k8s31node2 是工作节点 容器运行时是 containerd 一、镜像准备 1.1、镜像拉取 docker pull tomcat:8.5-jre8-alpine docker pull nginx…

Nginx三种不同类型的虚拟主机(基于域名、IP 和端口)

🏡作者主页:点击! Nginx-从零开始的服务器之旅专栏:点击! 🐧Linux高级管理防护和群集专栏:点击! ⏰️创作时间:2025年1月15日13点14分 目录 1. 基于域名的虚拟主机 …

解析OVN架构及其在OpenStack中的集成

引言 随着云计算技术的发展,虚拟化网络成为云平台不可或缺的一部分。为了更好地管理和控制虚拟网络,Open Virtual Network (OVN) 应运而生。作为Open vSwitch (OVS) 的扩展,OVN 提供了对虚拟网络抽象的支持,使得大规模部署和管理…

【Flink系列】9. Flink容错机制

9. 容错机制 在Flink中,有一套完整的容错机制来保证故障后的恢复,其中最重要的就是检查点。 9.1 检查点(Checkpoint) 9.1.1 检查点的保存 1)周期性的触发保存 “随时存档”确实恢复起来方便,可是需要我…

《Keras 3 在 TPU 上的肺炎分类》

Keras 3 在 TPU 上的肺炎分类 作者:Amy MiHyun Jang创建日期:2020/07/28最后修改时间:2024/02/12描述:TPU 上的医学图像分类。 (i) 此示例使用 Keras 3 在 Colab 中查看 GitHub 源 简介 设置 本教程将介…

openssl s_server源码剥离

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…

51单片机 DS18B20温度储传感器

DS18B20温度传感器 64-BITROM:作为器件地址,用于总线通信的寻址,是唯一的,不可更改 SCRATCHPAD(暂存器):用于总线的数据交互 EEPROM:用于保存温度触发阈值和配置参数 暂存器 单总线…

[操作系统] 深入理解操作系统的概念及定位

概念 任何计算机系统都包含⼀个基本的程序集合,称为操作系统(OS)。 其核心功能如图片所示,包括: 内核 (Kernel): 内核是操作系统的核心部分,被认为是狭义上的操作系统,直接与硬件打交道。负责进程管理、内…

Java并发编程——线程池(基础,使用,拒绝策略,命名,提交方式,状态)

我是一个计算机专业研0的学生卡蒙Camel🐫🐫🐫(刚保研) 记录每天学习过程(主要学习Java、python、人工智能),总结知识点(内容来自:自我总结网上借鉴&#xff0…

nginx 配置代理,根据 不同的请求头进行转发至不同的代理

解决场景:下载发票的版式文件,第三方返回的是url链接地址,但是服务是部署在内网环境,无法访问互联网进行下载。此时需要进行走反向代理出去,如果按照已有套路,就是根据不同的访问前缀,跳转不同的…

docker在不删除容器的情况下修改端口映射

注意:必须先停止docker服务!!!! 1) 停止容器 2) 停止docker服务(systemctl stop docker) 3) 修改这个容器的hostconfig.json和config.v2.json文件中的端口 先查看容器id docker inspect jenkins 进入该目录 hostcon…

【js进阶】设计模式之单例模式的几种声明方式

单例模式&#xff0c;简言之就是一个类无论实例化多少次&#xff0c;最终都是同一个对象 原生js的几个辅助方式的实现 手写forEch,map,filter Array.prototype.MyForEach function (callback) {for (let i 0; i < this.length; i) {callback(this[i], i, this);} };con…

专题 - STM32

基础 基础知识 STM所有产品线&#xff08;列举型号&#xff09;&#xff1a; STM产品的3内核架构&#xff08;列举ARM芯片架构&#xff09;&#xff1a; STM32的3开发方式&#xff1a; STM32的5开发工具和套件&#xff1a; 若要在电脑上直接硬件级调试STM32设备&#xff0c;则…

-bash: /java: cannot execute binary file

在linux安装jdk报错 -bash: /java: cannot execute binary file 原因是jdk安装包和linux的不一致 程序员的面试宝典&#xff0c;一个免费的刷题平台