计算机网络速成

  • 前言:最近在做一些动态的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.rhkb.cn/news/1538.html

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

相关文章

基于springboot+vue的 嗨玩-旅游网站

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

八股学习 Redis

八股学习 Redis 使用场景常见问题问题1、2示例场景缓存穿透解决方案一解决方案二 问题3示例场景缓存击穿解决方案 问题4示例场景缓存雪崩解决方案 问题5示例场景双写一致性强一致方案允许延时一致方案 问题6RDB方式AOF方式两种方式对比 问题7示例场景惰性删除定期删除 使用场景…

行业案例:高德服务单元化方案和架构实践

目录 为什么要做单元化 高德单元化的特点 高德单元化实践 服务单元化架构 就近接入实现方案 路由表设计 路由计算 服务端数据驱动的单元化场景 总结 系列阅读 为什么要做单元化 单机房资源瓶颈 随着业务体量和服务用户群体的增长,单机房或同城双机房无法支持服…

GO语言实现KMP算法

前言 本文结合朱战立教授编著的《数据结构—使用c语言(第五版)》(以下简称为《数据结构(第五版)朱站立》)中4.4.2章节内容编写,KMP的相关概念可参考此书4.4.2章节内容。原文中代码是C语言&…

Windows核心编程—匿名管道双向通信

注:父进程要创建两个匿名管道,并且STARTUPINFO 里面的两个字段很重要 A进程 void CMFCApplication1Dlg::OnBnClickedButton1() {SECURITY_ATTRIBUTES sa {};sa.nLength sizeof(SECURITY_ATTRIBUTES);sa.bInheritHandle TRUE;CreatePipe(&m_hRead…

基于springboot+vue的洪涝灾害应急信息管理系统设计与实现

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

centos修改/etc/resolv.conf 重启network后又恢复到原来的状态

博主使用的是centos7 问题描述:centos修改/etc/resolv.conf 执行 service network restart 后,/etc/resolv.conf 又恢复到原来的状态 解决方法:/etc/resolv.conf 保存 DNS 是暂时的,当重新启动 network 时,/etc/resol…

MySQL:索引

目录 1.MySQL索引是干什么的 2.铺垫知识 3.单个page的理解 4.页目录 单页情况 多页情况 1.MySQL索引是干什么的 MySQL的索引是提高查询效率,主要提高海量数据的检索速度。 2.铺垫知识 操作系统与磁盘之间IO的基本单位是4kb。 数据库是一个应用层软件&#…

【微服务】面试题 5、分布式系统理论:CAP 与 BASE 详解

分布式系统理论:CAP 与 BASE 详解 一、CAP 定理 背景与定义:1998 年由加州大学科学家埃里克布鲁尔提出,分布式系统存在一致性(Consistency)、可用性(Availability)、分区容错性(Part…

大数据技术Kafka详解 ⑤ | Kafka中的CAP机制

目录 1、分布式系统当中的CAP理论 1.1、CAP理论 1.2、Partitiontolerance 1.3、Consistency 1.4、Availability 2、Kafka中的CAP机制 C软件异常排查从入门到精通系列教程(核心精品专栏,订阅量已达600多个,欢迎订阅,持续更新…

linux自动分区后devmappercentos-home删除后合并到其它分区上

删除其他分区,合并到对应分区上增加磁盘空间 删除开机默认挂载 /dev/mapper/centos-home vim /etc/fstab 把 /dev/mapper/centos-home 这一行删除掉命令行取消挂载 /dev/mapper/centos-home umount /dev/mapper/centos-home删除掉逻辑卷 home lvsdf -hlvremove /…

东芝3525AC彩色复印机复印默认成黑白模式方法

同样适用2010AC等机型 东芝3525AC彩色激光数码复合机基本参数 产品类型:激光数码复合机 颜色类型:彩色 速度类型:中速 复印速度:彩色:35cpm,黑白:35cpm 涵盖功能:复印/打印/扫描…

T-SQL编程

目录 1、T-SQL的元素 1.1 标识符 1. 常规标识符 2. 分隔标识符 1.2 变量 1. 全局变量 2. 局部变量 1.3 运算符 1. 算数运算符 2. 赋值运算符 3. 位运算符 4. 比较运算符 5. 逻辑运算符 6. 字符串连接运算符 7. 一元运算符 8. 运算符的优先级和结合性 1.4 批处…

SpringBoot-Day1

1.Springboot入门 创建Maven工程 导入spring-boot-stater-web起步依赖 编写Controller 提供启动类 2.yml配置信息书写与获取 书写 # 发件人信息 email:user: 172349823457qq.comcode: sajdajlwhjfgfkllwhost: smtp.qq.comauth: true ​ # 学生爱好 hobbies:- 打篮球- 踢…

【Linux】从零开始:编写你的第一个Linux进度条小程序

Linux相关知识点可以通过点击以下链接进行学习一起加油!初识指令指令进阶权限管理yum包管理与vim编辑器GCC/G编译器make与Makefile自动化构建GDB调试器与Git版本控制工具 文章目录 一、知识铺垫1.1 回车与换行概念1.2 缓冲区 二、实现简单倒计时三、进度条3.1 Verrs…

【HarmonyOS之旅】基于ArkTS开发(二) -> UI开发二

目录 1 -> 声明式UI开发指导 1.1 -> 开发说明 1.2 -> 创建页面 1.3 -> 修改组件样式 1.4 -> 更新页面内容 2 -> 创建简单视图 2.1 -> 构建Stack布局 2.2 -> 构建Flex布局 2.3 -> 构建食物数据模型 2.4 -> 构建食物列表List布局 2.5 -…

【React】新建React项目

目录 create-react-app基础运用React核心依赖React 核心思想:数据驱动React 采用 MVC体系package.jsonindex.html好书推荐 官方提供了快速构建React 项目的脚手架: create-react-app ,目前使用它安装默认是19版本,我们这里降为18…

分多个AndroidManifest.xml来控制项目编译

使用场景 公司项目和我的项目的AndroidManifest.xml混在一起,我需要区分开来编译观察app运行 1.在app/src/main/ 下写多个AndroidManifest.xml AndroidManifest.own.xmlAndroidManifest.com.xml 2.编写powershell脚本 第一对脚本com-build.ps1和reset-com-mani…

linux进程

课本概念:程序的⼀个执行实例,正在执行的程序等内核观点:担当分配系统资源(CPU时间,内存)的实体。 进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合.课本上称之为PCB&…

Hadoop•安装JDK

听说这里是目录哦 创建目录❤️‍🔥上传JDK安装包💗查看JDK是否上传成功💘安装JDK💖配置JDK系统环境变量💓验证JDK是否安装成功💞分发JDK安装目录💌分发系统环境变量文件💝若显示没有…