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

Linux: 网络基础

1.协议

为什么要有协议:减少通信成本。所有的网络问题,本质是传输距离变长了。
什么是协议:用计算机语言表达的约定。

2.分层

软件设计方面的优势—低耦合。
一般我们的分层依据:功能比较集中,耦合度比较高的模块层—高内聚。
每一层都要解决特定的问题!都有匹配的协议。

3.网络要解决的问题:

具有“下一跳”的能力,如何将数据交付给直接相连的下一台主机。
路径选择能力。
容错纠错能力。
目标主机收到数据后,解决应用的问题。

4.OSI七层模型

会话层、表示层、应用层;都被工程中合并为应用层。

5.TCP/IP五层(四层)模型

物理层:
了解集线器(当信息长距离传输时,信号衰减过多集线器可以对信息做信号放大)。
模拟信号(振幅)用于网络传输,数字信号(0/1的离散信号)适合家庭内部路由器二进制解释。
调制解调器(猫mode--光纤/双绞线-网线),装网:光纤先接到猫(适配网络发送和本地局域网做数据解释,数字信号和模拟信号)上,再从猫接一根线和路由器连接。
连接局域网中的设备是路由器,路由器识别的是0/1二进制的数字信号。
网卡:有很多寄存器,其中储存很多0/1序列,它是连接计算机和局域网传输介质的一个硬件。

数据链路层:如何将数据交给相邻的主机。

网络层:负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层。

传输层:解决纠错和容错的能力。解决两台主机之间数据通信时的可靠性问题。

应用层:收到对发送的请求,应用层解释。

6.网络传输的基本流程 

6.1协议报头

a.协议每一层都有,而每一个协议最终表现就是协议都要有报头。
b.协议通常是通过协议报头来进行表达的,包头就是数据包经过每一层协议对其的封装。
c.每一份数据最终在被发送或者不同的协议层中,都要有自己的报头。
在网络协议中,我们可以认为同层协议在直接通信,也可以理解成向下交付,这是两种不同的认知。

 —如何判断哪里是报头,哪里是有效载荷—每一层协议的报头中,一定要涵盖这些信息。
—如何判断自己的有效载荷该交给上层的哪个协议—封装报头采用的方式。

6.2局域网

a.局域网中两台主机可以直接通信吗? ——可以,两台相连的主机。(WIFI热点就是一个局域网)
b.局域网通信的原理:每一台主机都有网卡,每一张网卡都有自己的地址,这个地址称之为mac地址,48位的二进制数据可以按照16位进行解释,一串字符用来标识网卡的唯一性,被写进网卡里。全球内唯一,但不应用于全球,而是用在局域网中表征自己的唯一性。基本设备都有它们的序列号,方便溯源促使厂商产品迭代。
局域网主机之间是可以通信的,它们通过MAC地址识别信息是不是发送给自己的信息,如果不是就丢弃,是就进行处理。
常见局域网:
以太网:在局域网中任何一个时刻只允许一台主机发消息,否则就会发生碰撞—在一个冲突域内,这个局域网内的网络资源可以被称作共享资源,发生碰撞了该数据作废发送失败,要重新发送。
令牌环网:在局域网内只允许拿到特定数据的主机发送数据,一并发给另一台主机,另一台主机会拥有发送数据的权利...
无线LAN:以太网的变种。(以太:宇宙中可以传播光的一种介质)

6.3主机间跨网络通信

两台主机在同一网络内可以通过TCP/IP协议通过交换机/集线器直接交流;跨网段的主机的文件传输. 数据从一台计算机到另一台计算机传输过程中要经过一个或多个路由器。一个设备至少要横跨两个网络,才能实现数据报跨网络转发->路由器必须要横跨至少两个网络->有两个网络连接接口。
在链路层局域网有多种通信标准,在网络层往上都认为整个互联网全部是IP协议—屏蔽底层网络的差异;如今的互联网能够应用全球就是得益于IP协议屏蔽底层的差异。
请求与响应->数据段->数据包->数据帧
每一层要明确1>将报头和有效载荷分离 2>根据报头的字段决定将有效载荷交付给上层的哪些协议
###后续学习怎么理解在C语言中把一块内存空间划分成报头区域和有效载荷区域###

7.IP地址和MAC地址

当一台主机跨网络给另一台主机发信息时,会先根据IP地址查找对应的MAC地址(通过ARP协议或路由表),并在每跨一个网段时更改源MAC地址和目的MAC地址以适应新的网络段和传输路径(在该段局域网/网段中查找下一个路由/目标主机根据MAC地址)。而源IP地址和目的IP地址则保持不变,用于指导数据包在网络中的路由选择。总之在网络传输中,在每次路由选择时参考IP地址来更改下一个目标MAC地址,直到改成目标主机的IP地址完成数据传输。

7.1IP地址

IP地址是在IP协议中, 用来标识网络中不同主机的地址。IP地址4个字节32个bit位,IPV6是由于IPV4的IP地址不够的产物;IPV6(16字节-128bit位)在局域网环境已经开始推行。IP地址即在局域网中使用又在广域网中使用。
性质:IP地址是逻辑地址,不具备唯一性(私有地址在局域网内可重复,但公网地址全球唯一),是可以改变的,通常由网络管理员分配和管理‌。
应用:IP地址用于标识网络上的主机或设备,用于不同网络之间的通信,实现跨网络的路由和数据传输‌;IP地址在OSI模型中的第三层网络层工作,网络层基于IP地址转发报文‌。

7.2 MAC地址

MAC地址用来识别数据链路层中相连的节点。能够表示一张唯一的网卡,表现在局域网(主机间可以直接通信不用路由器转换)中。
性质:MAC地址是物理地址,具有唯一性,每个硬件制造出的MAC地址是固定的,全球唯一不可变‌。
应用:MAC地址作用是控制数据包在局域网中(数据链路层)的传输,用于局域网内设备间的通信‌;MAC地址在OSI模型中的第二层数据链路层工作,数据链路层基于MAC地址进行转发数据帧‌。

相关文章:

Linux: 网络基础

1.协议 为什么要有协议:减少通信成本。所有的网络问题,本质是传输距离变长了。 什么是协议:用计算机语言表达的约定。 2.分层 软件设计方面的优势—低耦合。 一般我们的分层依据:功能比较集中,耦合度比较高的模块层…...

CSS 背景与边框:从基础到高级应用

CSS 背景与边框:从基础到高级应用 1. CSS 背景样式1.1 背景颜色示例代码:设置背景颜色 1.2 背景图像示例代码:设置背景图像 1.3 控制背景平铺行为示例代码:控制背景平铺 1.4 调整背景图像大小示例代码:调整背景图像大小…...

GnuTLS: 在 pull 函数中出错。 无法建立 SSL 连接。

提示信息 [root@localhost ~]# wget https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz --2025-02-06 12:45:34-- https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz 正在解析主机 download.docker.com (download.docker.…...

ES6 const 使用总结

1. 声明不可变性 1.1 基本类型的不可变性 // 基本类型声明后不能修改 const name John; name Jane; // TypeError: Assignment to constant variableconst age 25; age 26; // TypeError: Assignment to constant variableconst isValid true; isValid false; // Ty…...

大学资产管理系统中的下载功能设计与实现

大学资产管理系统是高校信息化建设的重要组成部分,它负责记录和管理学校内所有固定资产的信息。随着信息技术的发展,下载功能成为提高资产管理效率的关键环节之一。 系统架构的设计是实现下载功能的基础。一个良好的系统架构能够确保数据的高效传输和存储…...

【华为OD机试python】日志采集系统【 E卷 | 2023 Q1 |100分】

目录 题目描述 输入描述 输出描述 示例1 输入输出示例仅供调试,后台判题数据一般不包含示例 说明 示例2 输入输出示例仅供调试,后台判题数据一般不包含示例 说明 解题思路 考点 代码 题目描述 日志采集是运维系统的的核心组件。日志是按行生成,每行记做一条,由采…...

园区网设计与实战

想做一个自己学习的有关的csdn账号,努力奋斗......会更新我计算机网络实验课程的所有内容,还有其他的学习知识^_^,为自己巩固一下所学知识。 我是一个萌新小白,有误地方请大家指正,谢谢^_^ 文章目录 前言 这个实验主…...

DeepSeek-R1 本地电脑部署 Windows系统 【轻松简易】

本文分享在自己的本地电脑部署 DeepSeek,而且轻松简易,快速上手。 这里借助Ollama工具,在Windows系统中进行大模型部署~ 1、安装Ollama 来到官网地址:Download Ollama on macOS 点击“Download for Windows”下载安装包&#x…...

git进阶--5---git reset 和 git revert 的区别与联系

git进阶–5—git reset 和 git revert 的区别与联系 1. 相同点 都是对版本做出一些改变 2. 不同点 git reset 是进行版本回退,根据不同的参数,是定是否复原索引和工作区git revert 是撤销上一次的提交,不会改变过去的历史,安全…...

AI绘画:解锁商业设计新宇宙(6/10)

1.AI 绘画:商业领域的潜力新星 近年来,AI 绘画技术以惊人的速度发展,从最初简单的图像生成,逐渐演变为能够创造出高度逼真、富有创意的艺术作品。随着深度学习算法的不断优化,AI 绘画工具如 Midjourney、Stable Diffu…...

单硬盘槽笔记本更换硬盘

背景 本人的笔记本电脑只有一个硬盘槽,而且没有M.2的硬盘盒,只有一个移动硬盘 旧硬盘:512G 新硬盘:1T 移动硬盘:512G 参考链接:https://www.bilibili.com/video/BV1iP41187SW/?spm_id_from333.1007.t…...

保姆级教程:利用Ollama与Open-WebUI本地部署 DeedSeek-R1大模型

1. 安装Ollama 根据自己的系统下载Ollama,我的是Linux,所以我使用如下命令进行下载安装: curl -fsSL https://ollama.com/install.sh | sh2. 安装Open-WebUI 使用 Docker 的方式部署 open-webui ,使用gpu的话按照如下命令进行 …...

机器学习模型--线性回归、逻辑回归、分类

一、线性回归 级别1:简单一元线性回归(手工实现) import numpy as np import matplotlib.pyplot as plt# 生成数据 X np.array([1, 2, 3, 4, 5]) y np.array([2, 4, 5, 4, 5])# 手动实现梯度下降 def gradient_descent(X, y, lr0.01, epo…...

使用scoop 下载速度慢怎么办

在国内使用 Scoop 下载速度慢是一个常见问题,主要是因为 Scoop 默认的软件源(bucket)和下载服务器通常位于国外。以下是一些提高下载速度的方法: 1. 更换 Scoop 镜像源(Bucket 镜像): 原理&…...

Kafka 可靠性探究—副本刨析

Kafka 的多副本机制提升了数据容灾能力。 副本通常分为数据副本与服务副本。数据副本是指在不同的节点上持久化同一份数据;服务副本指多个节点提供同样的服务,每个节点都有能力接收来自外部的请求并进行相应的处理。 1 副本刨析 1.1 相关概念 AR&…...

openwebui入门

1 简介 ‌Open WebUI‌(网址是openwebui.com)是一个高度可扩展、功能强大且用户友好的自托管Web用户界面,专为完全离线操作设计,编程语言是python。它支持对接Ollama和OpenAI兼容的API的大模型。‌ Open WebUI‌在架构上是一种中…...

Windows下怎么安装FFFmpeg呢?

在Windows下使用Open-webui报错,说Couldnt find ffmpeg or avconv,解决open-webui报错Couldn‘t find ffmpeg or avconv-CSDN博客于是尝试解决问题,那么Windows下怎么安装FFFmpeg呢? 尝试了两种方法。 第一种方法pip安装(失败&…...

无公网IP 外网访问 Jupyter Notebook

Jupyter Notebook 是一个开源的Web应用程序,允许用户创建和共享包含实时代码、方程式、可视化和叙述文本的文档。它支持超过40种编程语言。 本文将详细的介绍如何用 Docker 在本地安装部署 Jupyter Notebook,并结合路由侠内网穿透实现外网访问本地部署的…...

C语言按位取反【~】详解,含原码反码补码的0基础讲解【原码反码补码严格意义上来说属于计算机组成原理的范畴,不过这也是学好编程初级阶段的必修课】

目录 概述【适合0基础看的简要描述】: 上述加粗下划线的内容提取版: 从上述概述中提取的核心知识点,需背诵: 整数【包含整数,负整数和0】的原码反码补码相互转换的过程图示: 过程详细刨析:…...

基于 .NET 8.0 gRPC通讯架构设计讲解,客户端+服务端

目录 1.简要说明 2.服务端设计 2.1 服务端创建 2.2 服务端设计 2.3 服务端业务模块 3.客户端设计-控制台 4.客户端设计-Avalonia桌面程序 5.客户端设计-MAUI安卓端程序 1.简要说明 gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用…...

深入浅出 DeepSeek V2 高效的MoE语言模型

今天,我们来聊聊 DeepSeek V2 高效的 MoE 语言模型,带大家一起深入理解这篇论文的精髓,同时,告诉大家如何将这些概念应用到实际中。 🌟 什么是 MoE?——Mixture of Experts(专家混合模型&#x…...

玩转Gin框架:Golang使用Gin完成登录流程

文章目录 背景基于Token认证机制简介常见的Token类型Token的生成和验证在项目工程里创建jwt.go文件根目录新建.env文件 创建登录接口 /loginToken认证机制的优点 背景 登录流程,相信大家都很熟悉的。传统网站采用session后端验证登录状态,大致流程如下&…...

Java实习生面试题汇总

Java实习生面试题汇总 简介 本人是二本大三学生,下半年大四。暑假在上海这边找实习工作,面了几家公司,所问到的问题记录在下面。 因为是在校生,没任何实习经历,一般找我面试的都是小公司,一般问的比较简…...

Java 如何覆盖第三方 jar 包中的类

目录 一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理 背景: 在我们日常的开发中,经常需要使用第三方的 jar 包,有时候我们会发现第三方的 jar 包中的某一个类有问题,或者我们需要定制化修改其中的逻辑&#xff0c…...

解密 Java Lambda 表达式中的 “effectively final“ 陷阱

文章目录 1. 引言 (Introduction)1.1. 核心问题1.2. 博客目标1.3. 目标读者1.4. 阅读收获 2. 重现错误 (Reproducing the Error)2.1. 代码示例 (LambdaErrorExampleCorrected.java)2.2. 逐步演示2.2.1. 没有错误的代码版本 (list 满足 effectively final)2.2.2. 导致错误的代码…...

react的antd中Cascader级联选择如何回显

如果你的数据都是这个样子的 {"id": 1015,"pid": 0,"name": "电力、热力、燃气及水生产和供应业","children": [{"id": 1403,"pid": 1015,"name": "热力",},{"id": 140…...

深度学习系列--04.梯度下降以及其他优化器

目录 一.梯度概念 1.一元函数 2.二元函数 3.几何意义上的区别 二.梯度下降 1.原理 2.步骤 3.示例代码(Python) 4.不同类型的梯度下降 5.优缺点 三.动量优化器(Momentum) 适用场景 1.复杂地形的优化问题 2.数据具有噪声的问…...

k8s常见面试题2

k8s常见面试题2 安全与权限RBAC配置如何保护 Kubernetes 集群的 API Server?如何管理集群中的敏感信息(如密码、密钥)?如何限制容器的权限(如使用 SecurityContext)?如何防止容器逃逸&#xff0…...

云计算行业分析

云计算作为数字经济的核心基础设施,未来十年将持续重塑全球科技格局,并渗透到几乎所有行业的数字化转型中。 一、云计算的发展潜力 1. 技术融合驱动爆发式创新 AI与云计算的深度耦合 - **智能云服务**:云厂商将提供预训练模型、自动化ML工…...

【C语言篇】“三子棋”

一、游戏介绍 三子棋,英文名为 Tic - Tac - Toe,是一款简单而经典的棋类游戏。游戏在一个 33 的棋盘上进行,两名玩家轮流在棋盘的空位上放置自己的棋子(通常用 * 和 # 表示),率先在横、竖或斜方向上连成三个…...