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

【计算机网络笔记一】网络体系结构

IP和路由器概念

两台主机如何通信呢?

首先,主机的每个网卡都有一个全球唯一地址,MAC 地址,如 00:10:5A:70:33:61

查看 MAC 地址:

  • windows: ipconfig / all
  • linux:ifconfig 或者 ip addr

同一个网络的多台计算机通过交换机互连:

在这里插入图片描述

其次使用 IP 来标识网络和主机,一个 IP 包含两部分信息:

  • ① 网络号 — IP 所属网络

  • ② 主机号 — 一个网络中的主机

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

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

在这里插入图片描述

总结:

  • 每个网卡都有一个全球唯一的 MAC 地址
  • 同一个网络中的不同主机之间通过交换机来通信,交换机根据MAC地址和接口号来区分
  • 不同网络的主机之间通过路由器来进行通信,路由器通过网关地址和接口号来区分
  • ISP 互联网服务提供商(如中国电信中国移动)从互联网管理机构申请很多成块的 IP 地址,用户上网是跟 ISP 对接

网络分层

在这里插入图片描述

七层、四层还是五层网络模型呢?

为了使不同体系结构的计算机网络都能互连,国际化标准化组织于 1977 年成立了专门机构研究该问题,他们提出了一个试图使各种计算机,在世界范围内互连成网的标准框架,也就是“开放系统互连参考模型”,简称 OSI

OSI 七层体系概念很清楚,理论也比较完整,但它既复杂又不实用,所以我们基本不使用 OSI 体系结构,我们而是使用应用更为广泛的 TCP/IP 体系结构。

在这里插入图片描述

TCP/IP 四层体系结构

OSI 的七层协议体系结构是法律上的国际标准,而 TCP/IP 四层协议模型是事实上的国际标准。为了更加清楚的学习 TCP/IP 四层体系结构,我们还是把网络接口层分成数据链路层物理层

TCP/IP 协议中的网际层其实就是 OSI 中的网络层,之所以使用网际层这个名字,是为了强调这一层是解决不同网络的互连问题。

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

总结:

在这里插入图片描述

分层执行流程

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

分层传输的整个流程有点像寄快件 - 收快递的过程,从上往下其实就是一层一层打包的过程,从下往上其实就是一层一层拆包的过程。

下面是分层执行流程详图:

在这里插入图片描述

总结:

在这里插入图片描述

在这里插入图片描述

  • 应用层对用户传输的原始数据添加HTTP报文段,使之符合http协议,能在应用层之间进行相互解析

  • 传输层对应用层的http报文添加一个TCP首部,使之成为一个TCP报文段,TCP首部包含了源端口号目标端口号,以及序号、确认号和标志位等,TCP首部的作用是:区分应用进程,实现可靠传输。

  • 网络层:对传输层的TCP报文添加一个IP首部,使之成为一个IP数据报,IP首部包含了源IP地址目标IP地址,以及版本号和协议等,IP首部的作用:使IP数据报可以在互联网上传输,也就是可以被路由器转发。

  • 数据链路层:对网络层的IP数据报添加一个首部和一个尾部,使之成为一个,首部中包含了源MAC地址目标MAC地址等,首部的作用:使帧可以在一段链路上传输。

  • 物理层:对数据链路层的帧添加一个前导码,将对应的01二进制数据转换成对应的电信号进行传输。

  • 在源主机上按分层的顺序从上到下添加首部进行打包,在目标主机上同样按分层的顺序从下到上进行拆包解析。

  • 路由器的每一个接口相当于一个网卡,都需要解决网络层、数据链路层、物理层三个子问题,数据在路由器中传输时,也是按照上面分层结构中的包装和解析流程进行的。

网络协议概念

什么是协议?

通信规则一般包括三要素:

  • 语法,即传输数据或者控制信息的格式或者结构;
  • 语义,即需要发出何种请求,做出何种响应和动作;
  • 时序,即发出请求,做出响应和动作的先后顺序。

在这里插入图片描述

什么是网络协议的实体?

网络协议的实体通信对象,一个实体(entity) 表示任何可发送或接收信息的硬件软件模块

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

什么是服务?

协议是“水平的”,即协议是控制对等实体之间通信的规则。但服务是“垂直的”,即服务是由下层向上层通过层间接口提供的,在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务。

在这里插入图片描述

电路交换 VS 分组交换:

在这里插入图片描述

电路交换的优缺点

优点:

  • ① 实时性强
  • ② 有序传输
  • ③ 控制简单

缺点:

  • ① 建立连接时间长
  • ② 线路独占,使用效率低
  • ③ 灵活性差

分组交换的优缺点

优点:

  • ① 无需建立连接
  • ② 线路利用率高
  • ③ 减少重发数据量

缺点:

  • ① 转发时延
  • ② 传输额外信息
  • ③ 相对复杂

网络分类

按照网络覆盖范围划分网络:

  • 广域网(Wide Area Network, WAN):覆盖范围通常为几十公里到几千公里,可以覆盖一个国家、地区,甚至横跨几个洲。

    广域网是因特网的核心部分,其任务是通过长距离(例如,跨越不同的国家)运送主机所发送的数据。连接广域网各结点交换机的链路一般都是高速链路,具有较大的通信容量

  • 城域网 (Metropolitan Area Network, MAN) :作用范围一般是一个城市,可跨越几个街区甚至整个的城市,其作用距离约为5~50km。

    城域网可以为一个或几个单位所拥有,但也可以是一种公用设施,用来将多个局域网进行互连。目前,很多城域网采用的是以太网技术,因此城域网有时也常纳入局域网的范围进行讨论。

  • 局域网 (Local Area Network,LAN):一般用微型计算机或工作站通过高速通信线路相连(速率通常在 10Mb/s 以上),但地理上则局限在较小的范围(如1km左右)。

    在局域网发展的初期,一个学校或工厂往往只拥有一个局域网,但现在局域网已非常广泛地使用,一个学校或企业大都拥有许多个互连的局域网(这样的网络常称为校园网或企业网)。

  • 个人区域网(Personal Area Network,PAN) :在个人工作的地方把属于个人使用的电子设备(如便携式电脑等)用无线技术连接起来的网络,因此也常称为无线个人区域网 WPAN(Wireless PAN),其范围大约在10m左右,比如手机热点 。

拓扑结构分类网络:

  • 总线型网络
  • 星型网络
  • 环型网络
  • 网状型网络

在这里插入图片描述

这四种网络结构进行组合可以构成更加复杂的网络结构。

相关文章:

【计算机网络笔记一】网络体系结构

IP和路由器概念 两台主机如何通信呢? 首先,主机的每个网卡都有一个全球唯一地址,MAC 地址,如 00:10:5A:70:33:61 查看 MAC 地址: windows: ipconfig / alllinux:ifconfig 或者 ip addr 同一个网络的多…...

硕士应聘大专老师

招聘信息 当地人社局、学校(官方) 公众号(推荐): 辅导员招聘 厦门人才就业信息平台 高校人才网V 公告出完没多久就要考试面试,提前联系当地院校,问是否招人。 校招南方某些学校会直接去招老师。…...

Gram矩阵

Gram矩阵如何计算 Gram 矩阵是由一组向量的内积构成的矩阵。如果你有一组向量 v 1 , v 2 , … , v n v_1, v_2, \ldots, v_n v1​,v2​,…,vn​,Gram 矩阵 G G G 的元素 G i j G_{ij} Gij​ 就是向量 v i v_i vi​ 和向量 v j v_j vj​ 的内积。数学上&#x…...

【数据结构】七大排序算法详解

目录 ♫什么是排序 ♪排序的概念 ♪排序的稳定性 ♪排序的分类 ♪常见的排序算法 ♫直接插入排序 ♪基本思想 ♪算法实现 ♪算法稳定性 ♪时间复杂度 ♪空间复杂度 ♫希尔排序 ♪基本思想 ♪算法实现 ♪算法稳定性 ♪时间复杂度 ♪空间复杂度 ♫直接选择排序 ♪基本思想 ♪算法…...

OpenCV之VideoCapture

VideoCaptrue类对视频进行读取操作以及调用摄像头。 头文件&#xff1a; #include <opencv2/video.hpp> 主要函数如下&#xff1a; 构造函数 C: VideoCapture::VideoCapture(); C: VideoCapture::VideoCapture(const string& filename); C: VideoCapture::Video…...

ESP32微控制器与open62541库: 详细指南实现OPC UA通信协议_C语言实例

1. 引言 在现代工业自动化和物联网应用中&#xff0c;通信协议起着至关重要的作用。OPC UA&#xff08;开放平台通信统一架构&#xff09;是一个开放的、跨平台的通信协议&#xff0c;被广泛应用于工业4.0和物联网项目中。本文将详细介绍如何在ESP32微控制器上使用C语言和open…...

怎样快速打开github.com

访问这个网站很慢是因为有DNS污染&#xff0c;被一些别有用心的人搞了鬼了&#xff0c; 可以使用火狐浏览器开启火狐浏览器的远程dns解析就可以了.我试了一下好像单独这个办法不一定有用&#xff0c;要结合修改hosts文件方法&#xff0c;双重保障 好像就可以了...

【C#】.Net基础语法二

目录 一、字符串(String) 【1.1】字符串创建和使用 【1.2】字符串其他方法 【1.3】字符串格式化的扩展方法 【1.4】字符串空值和空对象比较 【1.5】字符串中的转移字符 【1.6】大写的String和小写的string 【1.7】StringBuilder类的重要性 二、数组(Array) 【2.1】声…...

C++之this指针总结(二百二十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…...

C++——如何正确的使用STL中的vector?

什么是vector&#xff1f; 在STL&#xff08;标准模板库&#xff09;中&#xff0c;vector是一种动态数组容器&#xff0c;可根据需要自动增长或缩小。它可以存储任意类型的元素&#xff0c;并且支持快速的随机访问。 vector是表示可变大小数组的序列容器vector采用的是连续的…...

【C语言】模拟实现内存函数

本篇文章目录 相关文章1. 模拟 memcpy 内存拷贝2. 模拟 memmove 内存移动 相关文章 【C语言】数据在内存中是以什么顺序存储的&#xff1f;【C语言】整数在内存中如何存储&#xff1f;又是如何进行计算使用的&#xff1f;【C语言】利用void*进行泛型编程【C语言】4.指针类型部…...

Jenkins学习笔记3

gitgithubjenkins&#xff1a; 架构图&#xff1a; 说明&#xff1a;jenkins知道github有更新了&#xff0c;就pull进行构建build&#xff0c;编译、自动化测试。然后部署到应用服务器。 maven java的项目构建工具。 在开发者电脑上创建空密码密钥对。 [rootgit-developer ~…...

基于单片机火灾报警器仿真设计

一、系统方案 1、本设计采用51单片机作为主控器。 2、DS18B20采集温度值送到液晶1602显示。 3、MQ2采集烟雾值&#xff0c;送到液晶1602显示。 4、按键设置温度报警值&#xff0c;大于报警值&#xff0c;声光报警。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计…...

阿里测开面试大全(一)附答案完整版

万字长文&#xff0c;建议收藏 1 什么是POM&#xff0c;为什么要使用它&#xff1f; POM是Page Object Model的简称&#xff0c;它是一种设计思想&#xff0c;而不是框架。大概的意思是&#xff0c;把一个一个页面&#xff0c;当做一个对象&#xff0c;页面的元素和元素之间操…...

STL-常用容器

string容器 string构造函数 string本质&#xff1a;类 string和char*区别&#xff1a; char* 是一个指针 string是一个类&#xff0c;类内部封装了char*&#xff0c;管理这个字符串&#xff0c;是一个char*型的容器。 特点&#xff1a; string类内部封装了很多成员方法 …...

【owt】关闭microk8s 等无关服务

打算部署下owt,发现之前跑了microk8s ,一直运行:操作指令 // 1. 启动 microk8s.start// 2. 关闭 microk8s.stop// 3. kubectl 操作 // --- 查看 cluster microk8s.kubectl cluster-info// --- 查看 nodes microk8s.kubectl get nodes// --- 查看 pods microk8s.kubectl get …...

【面试题】——Spring

1.Spring是什么&#xff1f; Spring是一个开源的Java应用框架&#xff0c;它提供了广泛的基础设施支持&#xff0c;用于构建Java应用程序。极大提高了开发效率。它提供了一种轻量级的编程模型&#xff0c;通过依赖注入&#xff08;Dependency Injection&#xff09;和面向切面…...

【算法思想-排序】根据另一个数组次序排序 - 力扣 1122 题

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…...

毕业设计|基于stm32单片机的app视频遥控抽水灭火小车设计

基于stm32单片机的app视频遥控抽水灭火水泵小车设计 1、项目简介1.1 系统构成1.2 系统功能 2、部分电路设计2.1 L298N电机驱动电路设计2.2 继电器控制电路设计 3、部分代码展示3.1 小车控制代码3.1 水泵控制代码 4 演示视频及代码资料获取 1、项目简介 视频简介中包含资料http…...

编译原生安卓aosp源码,实现硬改以及定位

系列文章目录 第一章 安卓aosp源码编译环境搭建 第二章 手机硬件参数介绍和校验算法 第三章 修改安卓aosp代码更改硬件参数 第四章 编译定制rom并刷机实现硬改(一) 第五章 编译定制rom并刷机实现硬改(二) 第六章 不root不magisk不xposed lsposed frida原生修改定位 第七章 安卓…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...

Vite中定义@软链接

在webpack中可以直接通过符号表示src路径&#xff0c;但是vite中默认不可以。 如何实现&#xff1a; vite中提供了resolve.alias&#xff1a;通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

用递归算法解锁「子集」问题 —— LeetCode 78题解析

文章目录 一、题目介绍二、递归思路详解&#xff1a;从决策树开始理解三、解法一&#xff1a;二叉决策树 DFS四、解法二&#xff1a;组合式回溯写法&#xff08;推荐&#xff09;五、解法对比 递归算法是编程中一种非常强大且常见的思想&#xff0c;它能够优雅地解决很多复杂的…...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...

嵌入式面试常问问题

以下内容面向嵌入式/系统方向的初学者与面试备考者,全面梳理了以下几大板块,并在每个板块末尾列出常见的面试问答思路,帮助你既能夯实基础,又能应对面试挑战。 一、TCP/IP 协议 1.1 TCP/IP 五层模型概述 链路层(Link Layer) 包括网卡驱动、以太网、Wi‑Fi、PPP 等。负责…...