网络基础一

网络发展

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

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

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

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

协议

概念

“协议”是一种约定。


所以,一台计算机内部本质也是一个小型网络结构。


计算机
体系结构中有网络。
网络中有体系结构。

作用

距离过长进行通信
可能会引入新的通信问题

所有的网络问题:本质上都是传输距离变长了!


尽可能减少通信成本:定制协议!!

分层

理解分层

a. 软件设计方面的优势 -- 低耦合
b. 一般我们的分层依据:功能比较集中,耦合度比较高的模块 -- 一层 -- 高内聚
c. 每一层都要解决特定的问题!

网络要解决的问题

下面的每一层都有自己匹配的协议,每一层协议都解决自己的问题

1. 如何把数据交付给和自己直接相连的下一台主机
2. 要有路径选择的能力
3. 容错纠错能力
4. 解决应用方面的问题

OSI七层模型

7. 应用层
6. 表示层
5. 会话层
4. 传输层
3. 网络层
2. 数据链路层
1. 物理层


TCP/IP五层协议

1. 物理层  
负责光/电信号的传递方式,比如现在以太网通用的网线(双绞线)。物理层的能力决定了最大传输速率、传输距离、抗干扰性等。集线器(Hub)工作在物理层。 网卡
2. 数据链路层
负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测
到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层

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

4. 传输层
负责两台主机之间的数据传输. 如传输控制协议 (TCP), 能够确保数据可靠的从源主机发送到目标主机

5. 应用层
负责应用程序间沟通,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等. 我们的网络编程主要就是针对应用层

1. 协议报头 

a. 协议每一层都有,而每一个协议最终表现就是协议都要有报头。

生活例子:

就比如我们在淘宝上买了个篮球,我们收到快递的时候不只有篮球,还有对应的快递盒子和快递单子。快递单就类似于报头,快递单上内容的格式就相当于快递公司的协议。

b. 协议通常是通过协议报头来进行表达的。

c. 每一份数据最终在被发送或者在不同的协议层中,都要有自己的报头。

2. 局域网

a. 两台局域网的主机能够直接通信
b. 局域网通信的原理

每一台机器都有自己的“名字”,每一台主机都有着网卡,每一张网卡有自己的地址。
MAC地址 --> 表明自己在局域网中的唯一性。


查看linux中的IP地址和MAC地址

 

局域网中的通信原理:根据MAC地址来判断这个消息是不是发给自己的。
报文= 报头+有效载荷

我们学习网络协议需要关注的两个问题

1. 如何判断那里是报头,哪里是有效载荷?
2. 如何判断自己的有效载荷要交给上层的哪一个协议呢?

每一层都必须面对的问题,也都需要解决的问题!
每一层协议的报头中,一定要涵盖上面的信息!
所有协议的共性!

只允许一个主机在任何一个时刻在局域网中发送消息,否则发生碰撞。

局域网:碰撞域

如何看待局域网中的网络资源?

站在系统角度:共享资源、临界资源。

局域网通信时自顶向下封装,自底向上解包。

数据包封装和分用

1. 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame)。

2. 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装
(Encapsulation)。

3. 首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息。

4. 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 "上层协议字段" 将数据交给对应的上层协议处理。

网络中的地址管理

认识IP地址

IP协议有两个版本, IPv4和IPv6. 

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地址:

可行性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/6058.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习15:神经网络-Neural Networks

神经网络是特征交叉的更复杂版本。本质上,神经网络会学习适当的特征组合。本文主要介绍神经网络的结构、隐藏层、激活函数等内容。 目录 1.神经网络:结构 2.隐藏层 3.激活函数 3.1 常用激活函数 3.2 小结 4.神经网络小练习 4.1 第一个神经网络 …

【spring源码系列-05】refresh中prepareRefresh方法的执行流程

Spring源码系列整体栏目 内容链接地址【一】spring源码整体概述https://blog.csdn.net/zhenghuishengq/article/details/130940885【二】通过refresh方法剖析IOC的整体流程https://blog.csdn.net/zhenghuishengq/article/details/131003428【三】xml配置文件启动spring时refres…

【嘉立创EDA】层次原理图功能使用,或放置复用图块方法

文章路标👉 文章解决问题主题内容小结文章解决问题 1️⃣ 在一些较为复杂的原理图绘制时,常需要使用到复用图块。何为复用图块,笔者摘取ST MB1136设计原理图纸可以较好表述这个功能,如下图所示: [本图摘取自NUCLEO-F103RB设计图纸 sheet 2 of 5] 图中左上角绿色图块为…

AI 绘画 - 建筑绘图辅助设计之 Controlnet SEG Depth

前情提要 2023-06-17 周六 杭州 雨转阴 小记: 周末的午休感觉还是没有尽兴,说是要乖乖休息却只是躺下闭目养神。 任务清单: a. Sketchup 安装和学习; b. Sketchup 建模学习; c. Controlnet SEG 语义分割基础; d. Controlnet Depth; 简介 应用实践 …

git 的基本操作

1. git建立本地仓库 在想要建立的目录下输入命令 git init 我们可以看一下 .git目录下有什么 2. 配置git本地仓库 配置用户的 name 和 email 命令:git config [...] 配置完后,我们像查看一下 刚才的配置 2.1 查看配置命令 git config -l 2.2 删除…

PyTorch的ONNX结合MNIST手写数字数据集的应用(.pth和.onnx的转换与onnx运行时)

在PyTorch以前的模型都是.pth格式,后面Meta跟微软一起做了一个.onnx的通用格式。这里对这两种格式文件,分别做一个介绍,依然使用MNIST数据集来做示例 1、CUDA下的pth文件 那pth文件里面是什么结构呢?其实在以前的文章就有介绍过…

HTML 超链接标签、图片标签

超链接标签 超链接描述 HTML使用标签<a>来设置超文本链接 超链接可以是一个字&#xff0c;一个词&#xff0c;或者一组词&#xff0c;也可以是一幅图像&#xff0c;您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分。 <a href"url">链接文…

图片加载失败捕获上报及处理

图片加载失败捕获上报及处理 前端页面中加载最多的静态资源之一就是图片了&#xff0c;当出现图片加载失败时&#xff0c;非常影响用户体验。这时候我们就需要对图片是否成功加载进行判断&#xff0c;并对图片加载失败进行处理。 图片加载监听 单个捕获 HTML中的img标签可以…

微信小程序浏览docx,pdf等文件在线预览使用wx.openDocument

wx.downloadFile({ url: fileUrl,//pdf链接success(res) {wx.openDocument({ //打开文档filePath: res.tempFilePath,fileType: "pdf",//文档类型showMenu: true,success: function (res) {wx.showToast({title: 打开文档成功,})},fail: function (res) {wx.showToas…

springboot整合xxl-job

文章目录 前言一、xxl-job是什么&#xff1f;二、使用步骤1.下载源码,并部署好2.模仿xxl-job-executor-sample-springboot 自己建立一个服务1 引入xxl-job核心依赖2 创建服务,配置yml3 创建一个配置类,用于读取上述配置,并配置好handel信息4 创建一个执行器的任务类,用于执行真…

阵列模式综合第三部分:深度学习(附源码)

一、前言 这个例子展示了如何设计和训练卷积神经网络&#xff08;CNN&#xff09;来计算产生所需模式的元素权重。 二、介绍 模式合成是阵列处理中的一个重要课题。阵列权重有助于塑造传感器阵列的波束图案&#xff0c;以匹配所需图案。传统上&#xff0c;由于空间信号处理和频…

举例说明什么是卷积神经网络

卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;是一种深度学习模型&#xff0c;主要应用于计算机视觉任务&#xff0c;如图像分类、物体检测等。它通过卷积层、池化层和全连接层等组件来实现对图像的特征提取和分类。 现在我们以一个简单的图像分类任…