网络(一)——初始网络

news/2024/9/17 18:59:53/ 标签: 网络, 开发语言, 笔记

文章目录

  • 计算机网络的背景
  • 网络协议初识
  • 网络传输基本流程
  • 数据包封装和分用
  • 网络中的地址管理
    • 认识IP地址
    • 认识MAC地址

计算机网络的背景

网络发展

独立模式:计算机之间相互独立
在最早的时候,计算机之间是相互独立的,如果多个计算机要一起完成某个业务,那么只能等一台计算机处理完后再将数据传递给下一台计算机,然后下一台计算机再进行相应的业务处理;

网络互联:多台计算机连接在一起, 完成数据共享
将这些计算机连接在一起,当某个业务需要多台计算机协同完成时,就可以将共享的数据放到服务器中进行集中管理

局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起
局域网中有一种设备叫做交换机,交换机主要完成局域网内数据的转发工作

广域网WAN: 将远隔千里的计算机都连在一起
我们可以将广域网看成一个大的局域网。

认识 “协议”

网络上通信的时候我们会有下面的问题

  • 如何处理在网络中获取的数据?
  • 丢包了应怎么办?
  • 怎么定位要访问的主机或要访问的进程?
  • 如何确定下一个路由器是谁?

为了解决上面的一些问题,我们不得不制定协议

如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来, 约定一个共同的标准,
大家都来遵守, 这就是 网络协议;

网络协议初识

协议分层

分层最大的好处在于 “封装” . 面向对象
保证代码的可维护性和可扩展性。

在这里插入图片描述
在打电话的时候甲说完话后并不是乙直接接收到,而是甲语言层将甲说的话记录下来,在甲的通信设备层进行编码,传给乙的通信设备层进行解码,最后向上交付给了乙的语言层,乙才通过话筒听到了甲所说的话。

网络分层

在这里插入图片描述

  • 物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.
  • 数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.
  • 网络层: 负责地址管理和路由选择. 例如在IP协议中, 通过IP地址来标识一台主机, 并通过路由表的方式规划出两台主机之间的数据传输的线路(路由). 路由器(Router)工作在网路层.
  • 传输层: 负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机.
  • 应用层: 负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层

网络传输基本流程

在这里插入图片描述

我们需要知道:

  • 每一层都需要有自己的协议
  • 每一层都要有自己的报头
  • 上到下,一定要封装报头
  • 下到上,一定要去掉报头

然后,我们在看上面的图解

数据包封装和分用

  • 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
  • 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装
    (Encapsulation).
  • 首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.
  • 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理
  • 封装过程

  • 分用过程在这里插入图片描述

网络中的地址管理

认识IP地址

IP地址有IPv4和IPv6两种;
IPv4是32个位的,而IPv6是128个位的。;

  1. IP地址是在IP协议中, 用来标识网络中不同主机的地址;
  2. 对于IPv4来说, IP地址是一个4字节, 32位的整数;
  3. 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个
    字节, 范围是 0 - 255;

认识MAC地址

  1. MAC地址用来识别数据链路层中相连的节点;
  2. 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19);
  3. 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可
    能会冲突; 也有些网卡支持用户配置mac地址);

IP地址和MAC地址的区别:

IP地址是指当前主机的起点以及目标主机的终点;
MAC地址是指在我们到达终点之前,我们的当前路由的上一站和下一站

比如西游记中唐僧取经:
源IP地址为东土大唐;
目的IP地址为西天如来佛祖;
经过的五指山、高老庄、流沙河、女儿国都属于MAC地址


http://www.ppmy.cn/news/1474530.html

相关文章

EasyExcel文档链接与使用示例

文档链接 注解 https://blog.csdn.net/estelle_belle/article/details/134508223 官方文档地址 https://github.com/alibaba/easyexcel/tree/master?tabreadme-ov-file 使用示例 依赖版本 <dependency><groupId>com.alibaba</groupId><artifactId>…

【爬虫入门知识讲解:xpath】

3.3、xpath xpath在Python的爬虫学习中&#xff0c;起着举足轻重的地位&#xff0c;对比正则表达式 re两者可以完成同样的工作&#xff0c;实现的功能也差不多&#xff0c;但xpath明显比re具有优势&#xff0c;在网页分析上使re退居二线。 xpath 全称为XML Path Language 一种…

玄机——第五章 linux实战-黑链 wp

文章目录 一、前言二、概览简介 三、参考文章四、步骤&#xff08;解析&#xff09;准备步骤#1.0步骤#1.1找到黑链添加在哪个文件 flag 格式 flag{xxx.xxx} 步骤#1.2webshell的绝对路径 flag{xxxx/xxx/xxx/xxx/} 步骤#1.3黑客注入黑链文件的 md5 md5sum file flag{md5} 步骤#1.…

Mysql LIKE什么时候走索引,什么时候不走索引

在 MySQL 中&#xff0c;LIKE 查询是否走索引&#xff0c;主要取决于通配符的位置和使用的存储引擎。 使用索引的情况 前缀匹配&#xff1a; 当 LIKE 查询中的通配符出现在字符串的末尾时&#xff0c;查询可以利用索引。例如&#xff0c;LIKE abc% 。这种情况下&#xff0c;索…

如何使用Python正则表达式解析多行文本

使用 Python 的正则表达式来解析多行文本通常涉及到使用多行模式&#xff08;re.MULTILINE&#xff09;和 re.DOTALL 标志&#xff0c;以及适当的正则表达式模式来匹配你想要提取或处理的文本块。以下是一个简单的示例&#xff0c;展示了如何处理多行文本&#xff1a; 1、问题背…

基于EMQX+Flask+InfluxDB+Grafana打造多协议物联网云平台:MQTT/HTTP设备接入与数据可视化流程(附代码示例)

摘要: 本文深入浅出地介绍了物联网、云平台、MQTT、HTTP、数据可视化等核心概念&#xff0c;并结合 EMQX、Flask、InfluxDB、Grafana 等主流工具&#xff0c;手把手教你搭建一个支持多协议的物联网云平台。文章结构清晰&#xff0c;图文并茂&#xff0c;代码翔实易懂&#xff0…

MySQL 数据库的 DDL

备份 MySQL 数据库的 DDL&#xff08;数据定义语言&#xff09;语句包括导出数据库结构&#xff08;如表、视图、触发器、存储过程和函数等&#xff09;&#xff0c;但不包括实际数据。通常使用 mysqldump 工具进行此类操作。以下是具体的方法&#xff1a; 备份 DDL 1. 导出数…

免费的AI文生视频哪些比较靠谱?

目前市场上推出了很多文生图&#xff0c;图生视频等各类AI工具网站&#xff0c;但实际上效果如何呢&#xff1f; 可以说&#xff0c;进步很大。从无到有&#xff0c;从有到精&#xff0c;毕竟需要一个时间阶段的。 国内的文生视频大部分都直接需要付费&#xff0c;不付费的比…

近期几首小诗汇总-生活~卷

生活 为生活飘零&#xff0c;风雨都不阻 路见盲人艰&#xff0c;为她心点灯 贺中科大家长论坛成立十五周年 科学家园有喜贺 园外丑汉翘望中 曾一学子入我科 正育科二盼长大 憧憬也能入此家 与科学家论短长 园外翘首听高论 发现有隙入此坛 竟然也能注册成 入园浏览惶然立 此贴…

clean code-代码整洁之道 阅读笔记(第十六章)

第十六章 重构SerialDate 16.1 首先&#xff0c;让它能工作 利用SerialDateTests来完整的理解和重构SerialDate用Clover来检查单元测试覆盖了哪些代码&#xff0c;效果不行重新编写自己的单元测试经过简单的修改&#xff0c;让测试能够通过 16.2 让它做对 全过程&#xff1…

【Go系列】 array、slice 和 map

承上启下 我们上一篇文章中介绍了if和for&#xff0c;这不得练习下&#xff0c;让我们一起来实践一下如何使用 continue 语句来计算100以内的偶数之和。在我们编写代码的过程中&#xff0c;continue 语句将会帮助我们跳过某些不需要的迭代&#xff0c;比如在这个例子中&#xf…

RabbitMQ 高级功能

RabbitMQ 是一个广泛使用的开源消息代理&#xff0c;它支持多种消息传递协议&#xff0c;可以在分布式系统中用于可靠的消息传递。除了基本的消息队列功能外&#xff0c;RabbitMQ 还提供了一些高级功能&#xff0c;增强了其在高可用性、扩展性和灵活性方面的能力。以下是一些主…

一文详解DDL同步及其应用场景

目录 一、什么是DDL&#xff1f; 二、什么是DDL同步&#xff1f; 三、DDL同步的痛点 1、缺少自动DDL同步机制 2、缺少DDL变更监测预警 四、解决方案 五、应用场景及案例 案例一 案例二 案例三 在现代数据管理中&#xff0c;数据库的结构变更频繁且不可避免&#xff0c;特别是在…

AJAX快速入门(一) express框架的安装和使用范例

主打一个有用 首先保证安装了nodejs环境 打开终端 初始化npm npm init安装express npm i express测试样例 目录结构 样例代码 express.js //引入express const express require(express);//创建应用对象 const app express();//创建路由规则 //req是请求对象&#x…

音频demo:使用开源项目lame来将MP3数据解码出PCM数据

1、README 前言 本demo是使用开源项目lame来将MP3数据解码成PCM数据。&#xff08;环境&#xff1a;x86_64 Ubuntu16.04 64位&#xff09; 注&#xff1a;在下面【参考文章】中的第1篇里面提到解码出现过异常情况&#xff08;hip: bitstream problem, resyncing skipping xxx…

LLM-向量数据库中的索引算法总结

文章目录 前言向量数据库介绍索引方法倒排索引KNN 搜索近似 KNN 搜索Product Quantization(PQ)NSW 算法搜索HNSW 前言 向量数据库是当今大模型知识库检索落地实践的核心组件&#xff0c;下图是构建知识库检索的架构图&#xff1a; 首先会将相关文档数据向量化嵌入到向量化数据…

Windows 虚拟机服务器项目部署

目录 一、部署JDK下载JDK安装JDK1.双击 jdk.exe 安装程序2.点击【下一步】3.默认安装位置&#xff0c;点击【下一步】4.等待提取安装程序5.默认安装位置&#xff0c;点击【下一步】6.等待安装7.安装成功&#xff0c;点击【关闭】 二、部署TomcatTomcat主要特点包括&#xff1a;…

力扣71.简化路径

力扣71.简化路径 根据双斜杠 求出每一组夹在里面的字符串 处理有意义的字符串 将所有路径存在字符串数组中最后用所有剩余的路径名称 变为答案 class Solution {public:string simplifyPath(string path) {vector<string> res;string ans;string cnt"";int …

uniapp上架到appstore遇到的问题

1、appstore在美国审核&#xff0c;需要把服务器接口的国外访问权限放开 2、登陆部分 a、审核时只能有密码登陆&#xff0c;可以通过接口响应参数将其他登陆方式暂时隐藏&#xff0c;审核成功后放开即可 b、需要有账号注销功能 3、使用照相机和相册功能时需要写清楚描述文案

Memcached监控与调优:打造高性能缓存策略

标题&#xff1a;Memcached监控与调优&#xff1a;打造高性能缓存策略 Memcached作为广泛使用的高性能分布式内存缓存系统&#xff0c;其监控和调优对于确保应用性能和稳定性至关重要。本文将深入探讨Memcached的监控策略和调优技巧&#xff0c;提供详细的实践指导和代码示例&…