当前位置: 首页 > 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原生修改定位 第七章 安卓…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

SpringTask-03.入门案例

一.入门案例 启动类&#xff1a; package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)

LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 题目描述解题思路Java代码 题目描述 题目链接&#xff1a;LeetCode 3309. 连接二进制表示可形成的最大数值&#xff08;中等&#xff09; 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素&#xff0c;返回一个新的数组。 特点&#xff1a; 不修改原数组&#xff1a;slice 不会改变原数组&#xff0c;而是返回一个新的数组。提取数组的部分&#xff1a;slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心&#xff0c;直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法&#xff0c;涵盖基础规则、优化算法和容错机制&#xff1a; 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则&#xff1a; 大尺寸/重量积木在下&#xf…...

智能职业发展系统:AI驱动的职业规划平台技术解析

智能职业发展系统&#xff1a;AI驱动的职业规划平台技术解析 引言&#xff1a;数字时代的职业革命 在当今瞬息万变的就业市场中&#xff0c;传统的职业规划方法已无法满足个人和企业的需求。据统计&#xff0c;全球每年有超过2亿人面临职业转型困境&#xff0c;而企业也因此遭…...

解析两阶段提交与三阶段提交的核心差异及MySQL实现方案

引言 在分布式系统的事务处理中&#xff0c;如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议&#xff08;2PC&#xff09;通过准备阶段与提交阶段的协调机制&#xff0c;以同步决策模式确保事务原子性。其改进版本三阶段提交协议&#xff08;3PC&#xf…...

基于单片机的宠物屋智能系统设计与实现(论文+源码)

本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢&#xff0c;连接红外测温传感器&#xff0c;可实时精准捕捉宠物体温变化&#xff0c;以便及时发现健康异常&#xff1b;水位检测传感器时刻监测饮用水余量&#xff0c;防止宠物…...

二叉树-144.二叉树的前序遍历-力扣(LeetCode)

一、题目解析 对于递归方法的前序遍历十分简单&#xff0c;但对于一位合格的程序猿而言&#xff0c;需要掌握将递归转化为非递归的能力&#xff0c;毕竟递归调用的时候会调用大量的栈帧&#xff0c;存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧&#xff0c;而非…...

aurora与pcie的数据高速传输

设备&#xff1a;zynq7100&#xff1b; 开发环境&#xff1a;window&#xff1b; vivado版本&#xff1a;2021.1&#xff1b; 引言 之前在前面两章已经介绍了aurora读写DDR,xdma读写ddr实验。这次我们做一个大工程&#xff0c;pc通过pcie传输给fpga&#xff0c;fpga再通过aur…...