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

【Linux】网络基础1

文章目录

  • 网络基础1
    • 1. 计算机网络背景
      • 1.1 网络发展
    • 2. 认识协议
      • 2.1 网络协议
      • 2.2 OSI七层模型
      • 2.3 TCP/IP五层(或四层)模型
    • 3. 网络传输基本流程
      • 3. 1 数据报封装和分用
    • 4. 网络中的地址管理
      • 4.1 认识IP地址
    • 5. 认识MAC地址

网络基础1

1. 计算机网络背景

1.1 网络发展

独立模式:计算机之间相互独立

网络互联:多台计算机连在一起,完成数据共享

局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起

7ow7sy8zik-1691558754512.png

广域网WAN:将相隔千里的计算机都连在一起

image-20230809132611223

这里所谓的“局域网”和“广域网”都是相对的

2. 认识协议

“协议”就是一种约定

计算机生产的厂商很多,计算机的操作系统也很多,计算机的网络硬件也很多。怎么让这些计算机之间能够相互通信那?

就需要约定一个共同的标准,这就是“网络协议”

2.1 网络协议

4x8dve4se9-1691559118526.png

软件分层之后,每一层只关注自己同层的功能,只使用下层的接口,任何一层出现问题都不会影响到下一层,大大减少开发者的维护成本

高内聚、低耦合

2.2 OSI七层模型

它的最大优点是将服务、接口、协议三个概念明显的区分开来,但是它复杂又不实用,所以一般都谈TCP/IP四层模型

2.3 TCP/IP五层(或四层)模型

image-20230809133904848

3. 网络传输基本流程

网络传输流程图:

ynwdiud4ag-1691559801557.png

两台计算机TCP/IP协议通讯的过程如下:

image-20230809134415606

3. 1 数据报封装和分用

  1. 每一层都会把上一层给自己的数据,作为有效载荷
  2. 每一层都有自己的协议报头
  3. 对应的层 报头 + 有效载荷 = 发送的报文(封装)
  4. 在逻辑上同层协议都认为自己在和对方的同层协议通信
  5. 同层协议,能够相互认识对方的报头
image-20230809134838164

4. 网络中的地址管理

4.1 认识IP地址

IP协议有两个版本,IPV4和IPV6。对于IPV4来说,IP地址是一个四字节32位的整数

局域网通信的原理:

局域网任何时刻只允许一个人向局域网中发送消息,任何人要通信都要有一个唯一的标识符,对于计算机来说每台计算机都配有网卡。网卡在出厂的时候就写入了sn号,MAC地址全球唯一

5. 认识MAC地址

MAC地址是用来识别数据链路层中的相邻的节点,在网卡出厂时就已经确定了并且不能修改,mac地址是唯一的

  1. 先将数据通过操作系统,将数据发送到目标主机TCP/IP协议完成,IP可以标识互联网上的唯一的一台主机
  2. 在本主机收到的数据推送给上层指定的进程。端口号可以标识对应主机内唯一的一个进程
    送到目标主机TCP/IP协议完成,IP可以标识互联网上的唯一的一台主机
  3. 在本主机收到的数据推送给上层指定的进程。端口号可以标识对应主机内唯一的一个进程
  4. 计算机的大小端问题,如果两个计算机的大小端存数据的方式不一样,接收到的数据可能不太理想。所以规定网络序列必须是大端

相关文章:

【Linux】网络基础1

文章目录 网络基础11. 计算机网络背景1.1 网络发展 2. 认识协议2.1 网络协议2.2 OSI七层模型2.3 TCP/IP五层(或四层)模型 3. 网络传输基本流程3. 1 数据报封装和分用 4. 网络中的地址管理4.1 认识IP地址 5. 认识MAC地址 网络基础1 1. 计算机网络背景 1…...

HTML - Javascript - 原生的JS HTTP请求:实用主义的一篇文章

HTML - Javascript - 原生的JS HTTP请求:实用主义的一篇文章 前言 虽然现在使用JQuery等可以做到很方便的HTTP请求,但是这样做毕竟要引入一些JS文件。 如果想使用原生的JS进行HTTP网络请求应该怎样呢?可以使用XMLHttpRequest。 使用方法 …...

Intellij IDEA运行报Command line is too long的解决办法

想哭,vue前端运行起来,对应的后端也得起服务。 后端出的这个bug,下面的博客写的第二种方法,完整截图是下面这个。 ​​​​​​​​​​​​​​​​​​​​Intellij IDEA运行报Command line is too long的解决办法 - 知乎 (zh…...

信号槽传输过程中指针所指对象的生命周期

在子线程中的一个槽函数,当读取到dxf文件完成后,结果通过在该槽函数中的 dx_data* pDxfData 指针变量读取。 然后通过QVariant封装该指针变量。发送到主线程中。 void qcWorker::slotReadDxfFile(QString dir) {bool bRtn{ false }; //定义一个局部指针…...

c++ 递归锁的使用

非递归锁 同一个线程里&#xff0c;在锁未释放的情况下反复加锁&#xff0c;会导致死锁。 示例 #include <iostream> #include <mutex> #include <thread> #include <unistd.h> using namespace std;std::mutex m_mutex;void Func() {m_mutex.lock(…...

Oracle TDE wallet

1. 钱夹密码千万不能忘记&#xff0c;这也是使用TDE 需要承担的风险。 2. 只要将wallet cwallet.sso 拷贝过去&#xff0c;加密没有意义&#xff01; 钱夹的备份 正如上述&#xff0c;已经加密过的表列或者表空间&#xff0c;钱夹必须打开才能够查询到里面的数据。如果钱夹丢…...

多模态学习

一、目标 三、多模态核心任务 题目&#xff1a;...

Android学习之路(2) 文本设置

Android学习之路(1) 文本 一、设置文本内容 设置文本内容的两种方式&#xff1a; 一种是在XML文件中通过属性android:text设置文本代码如下 <TextViewandroid:id"id/tv_hello"android:layout_width"wrap_content"android:layout_height"wrap_c…...

手写springboot

前言 首先确定springboot在spring基础上主要做了哪些改动&#xff1a;内嵌tomcatspi技术动态加载 一、基本实现 1. 建一个工程目录结构如下&#xff1a; springboot: 源码实现逻辑 user : 业务系统2.springboot工程项目构建 1. pom依赖如下 <dependencies>…...

报错Uncaught (in promise) Error: Manifest request to...

在使用nuxt框架时&#xff0c;出现如下报错&#xff1a; 解决方案&#xff1a; 不要打开两个以上的开发者工具更换nuxt的端口号 参考资料&#xff1a;https://github.com/nuxt/nuxt.js/issues/6202...

微信私域更好玩了

之前分享过&#xff0c;“小绿书”“公众号文章转音频”等内测中或悄悄已升级的功能。 其实&#xff0c;微信还在内测很多新功能&#xff0c;只是没公开 今天&#xff0c;小编又发现新升级 就是『附近』功能 增加了一个本地生活的入口&#xff0c;这里面是短视频和图文 展示…...

基于ant-design的a-modal自定义vue拖拽指令

写一个dragDialog.js 在main.js中引入 import ‘./core/directives/dragDialog.js’ // 让 dialog 支持鼠标拖动 import Vue from vueVue.directive(DragDialog, {update: function (el, binding, vnode) {if (!binding.value || !binding.value.reset) returnconst dialog e…...

【ES】笔记-模板字符串(template string)是增强版的字符串`${expresions}`

模板字符串 传统的 JavaScript 语言&#xff0c;输出模板通常是这样写的&#xff08;下面使用了 jQuery 的方法&#xff09;。 $(#result).append(There are <b> basket.count </b> items in your basket, <em> basket.onSale </em> are on sal…...

利用 OLE 对象漏洞的 HWP 恶意文件浮出水面

ASEC 分析人员发现了一个利用 OLE 对象的恶意 HWP 文件&#xff0c;尽管其使用了 2020 年就被识别的恶意 URL&#xff0c;但仍然使用了 Flash 漏洞&#xff08;CVE-2018-15982&#xff09;&#xff0c;需要用户谨慎对待。 打开 HWP 文件时会在 %TEMP%文件夹中生成如下文件。攻…...

【CSS】倾斜按钮

效果 index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"/><meta http-equiv"X-UA-Compatible" content"IEedge"/><meta name"viewport" content"widthdevice-…...

js 正则表达式

js 正则表达式 http://tool.oschina.net/regex https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions 11 22...

心理咨询预约管理系统javaweb医院挂号jsp源代码mysql

本项目为前几天收费帮学妹做的一个项目&#xff0c;Java EE JSP项目&#xff0c;在工作环境中基本使用不到&#xff0c;但是很多学校把这个当作编程入门的项目来做&#xff0c;故分享出本项目供初学者参考。 一、项目描述 心理咨询预约管理系统javaweb MVC模式&#xff0c;普…...

Linux中安装Node

安装 先从 官方网站 下载安装包&#xff0c;有时 node 版本太新会导致失败&#xff0c;详见下方的常见问题第2点 cd /home // 创建目录&#xff0c;将下载好的 node 安装包上传到此目录 mkdir Download mkdir /usr/local/lib/node解压 // 解压&#xff0c;前面是文件当前路径…...

爬虫011_元组高级操作_以及字符串的切片操作---python工作笔记030

获取元组的下标对应的值 注意元组是不可以修改值的,只能获取不能修改 但是列表是可以修改值的对吧...

JVM虚拟机篇

JVM组成 面试题1&#xff1a;什么是程序计数器&#xff1f; 面试题2&#xff1a;你能给我详细的介绍Java堆吗? 面试题3&#xff1a;什么是虚拟机栈&#xff1f; 面试题4&#xff1a;垃圾回收是否涉及栈内存&#xff1f; 垃圾回收主要指就是堆内存&#xff0c;当栈帧弹栈以后…...

NunchukLib:轻量级嵌入式Nunchuk驱动库设计与应用

1. NunchukLib 库概述NunchukLib 是一个专为嵌入式平台设计的轻量级 C 语言库&#xff0c;用于驱动任天堂 Wii 游戏机配套的 Nunchuk 手柄模块。该手柄通过标准 IC 总线与主控 MCU 通信&#xff0c;内部集成三轴加速度计&#xff08;MMA7260Q 或兼容型号&#xff09;、双轴模拟…...

Windows PDF处理终极方案:5分钟部署Poppler完整工具包

Windows PDF处理终极方案&#xff1a;5分钟部署Poppler完整工具包 【免费下载链接】poppler-windows Download Poppler binaries packaged for Windows with dependencies 项目地址: https://gitcode.com/gh_mirrors/po/poppler-windows 还在为Windows系统上的PDF文档处…...

【4月论文查重急救】还在纯手改?DeepSeek+文心一言两步走,实测AIGC率80%极限降至10%

论文降ai这个环节&#xff0c;现在真的成了很多同学的必修课。 为了让语言表达更符合学术规范&#xff0c;我尝试了很多方法来降低ai率。 其实呢&#xff0c;很多时候我们并不是没认真写&#xff0c;而是用了AI辅助润色&#xff0c;结果被判定AIGC过高。 为了找到合规且有效…...

Lumafly:让空洞骑士模组管理变得像呼吸一样简单

Lumafly&#xff1a;让空洞骑士模组管理变得像呼吸一样简单 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly 还在为空洞骑士模组安装的繁琐流程而烦恼吗&#xf…...

抖音批量下载神器:5分钟搞定无水印视频批量下载

抖音批量下载神器&#xff1a;5分钟搞定无水印视频批量下载 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…...

FreakStudio炭

环境安装 pip install keystone-engine capstone unicorn 这3个工具用法极其简单&#xff0c;下面通过示例来演示其用法。 Keystone 示例 from keystone import * CODE b"INC ECX; ADD EDX, ECX" try: ks Ks(KS_ARCH_X86, KS_MODE_64) encoding, count ks.…...

AI Agent集成实时口罩检测:智能机器人视觉系统设计

AI Agent集成实时口罩检测&#xff1a;智能机器人视觉系统设计 1. 引言 在智能机器人快速发展的今天&#xff0c;视觉感知能力成为机器人智能化水平的关键指标。特别是在公共场所服务、医疗辅助、安防巡检等场景中&#xff0c;机器人需要具备实时识别和响应能力。口罩检测作为…...

保姆级教程:在Ubuntu 20.04上从零配置MoveIt!控制Franka Panda机械臂(含libfranka避坑指南)

保姆级教程&#xff1a;在Ubuntu 20.04上从零配置MoveIt!控制Franka Panda机械臂&#xff08;含libfranka避坑指南&#xff09; 当第一次看到Franka Panda机械臂优雅地完成抓取动作时&#xff0c;那种精密机械与智能算法完美融合的震撼感&#xff0c;至今记忆犹新。作为一款广泛…...

利用screen高效管理串口会话:从基础操作到高级技巧

1. 为什么选择screen管理串口&#xff1f; 第一次接触串口调试时&#xff0c;我和大多数人一样用的是minicom。直到有次调试某款嵌入式设备&#xff0c;发现minicom显示BIOS信息时色彩混乱&#xff0c;这才开始寻找替代方案。screen这个看似普通的终端复用工具&#xff0c;在串…...

Graphormer部署进阶:Prometheus+Grafana监控GPU利用率与QPS指标

Graphormer部署进阶&#xff1a;PrometheusGrafana监控GPU利用率与QPS指标 1. 项目概述 Graphormer是一种基于纯Transformer架构的图神经网络&#xff0c;专门为分子图&#xff08;原子-键结构&#xff09;的全局结构建模与属性预测而设计。该模型在OGB、PCQM4M等分子基准测试…...