Linux网络——网络初识

目录

1. 认识协议

2. 协议的分层

3. OSI 七层模型 && TCP/IP 五层(四层)模型

4. 网络传输的基本流程

5. 以太网的通信原理 

6. 数据的跨网络传播

7. 认识 IP 地址

① IP 是什么

② IP 与 MAC 的关系

③ 为什么需要 IP


在谈及网络之前,我们要先对学的知识有一个了解

网络的本质就是获取数据,而系统的本质就是加工数据

1. 认识协议

而我们要从网络上获取数据,这之中一定会出现很多的问题,比如

  • 如何处理发送过来的数据? -> 应用层 (http, https, ftp, smtp)
  • 长距离传输导致数据丢失了怎么办? -> tcp 协议
  • 如何定位主机呢? -> ip 协议
  • 如何保证数据能够传输到下一个设备呢? -> 数据链路层

那么为什么会出现这些问题呢?——其实是两个设备之间传输数据的距离变长了而已。对于 A 与 B 两个设备来说,整个通信的过程其实就是一个封装与识别的过程!

既然如此,只要我们通信两台设备并约定好协议就可以了吗?——当然不行,计算机的型号有很多,OS 也有很多,硬件一定更多。因此我们只能约定一个共同的标准——即网络协议。

2. 协议的分层

网络协议在实际意义上被分成了层级,在 C++ 中实际是通过继承来实现的,即使用虚拟文件指针在硬件和软件间分层。那么好端端的为什么要分层呢?——满足高内聚,低耦合,举个例子

对于通信设备层来说,我们可以将电话替换成无线电,这对上层的人是没有影响的,也就是解耦了!这会给我们带来一个好处——更加方便维护。在事实上,我们认为人和电话在沟通;在逻辑上,我们认为人和人,电话与电话在沟通。那为什么协议也要分层呢?——协议本身就是层状的。

3. OSI 七层模型 && TCP/IP 五层(四层)模型

OSI (Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范。它把网络从逻辑上分为了7层,每一层都有相关、相对应的物理设备,比如路由器,交换机。
OSI 七层模型是一种框架性的设计方法,其最主要的功能使就是帮助不同类型的主机实现数据传输。它最大的优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整。通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。

图示如下 


但是,它既复杂又不实用。所以我们按照 TCP/IP 五层(四层)模型来讲解,即

应用层:如何处理数据?

传输层(TCP):数据出问题怎么办?

网络层(IP):如何选择路径?

数据链路层:保证任意两台主机能通信

物理层:保证信号的发送效率

这之中网络层与传输层最为重要因为它们与 OS 联系最为紧密,我们来看看 OS 与网络协议栈的关系,如图

我们的用户想做出动作本质就是访问硬件,但是我们又无法直接访问,因此这个过程一定会贯穿 OS ,其中传输层与网络层就是 Linux 内核中的一个模块。所以我们可以知道,整个网络通信的本质实际上就是一个贯穿协议栈的过程,即

4. 网络传输的基本流程

实际上,网络协议栈的层状结构中,每一层都有协议,举个例子

应用层:Telnet, FTP, HTTP, SMTP

传输层:TCP, UDP

网络层:IP, ICMP, IGMP

数据链路层:MAC

 我们现在来简单模拟一下网络传输的基本流程,如图

可以看到,从上往下是一个封装的过程,而从下向上则是一个解包分用的过程。那为什么一定是网卡拿到数据并向上传递呢?——冯诺依曼体系是这样规定的!所以,通信的过程本质就是在不断地进行封装与解包的过程。

只有理解了下面这两点,面对封装与解包我们才不会困惑,即

1. 几乎任何层的协议,都要提供一种能力——将有效载荷与报头分离的能力

2. 几乎任何层的协议,都要在报头中提供 将自己的有效载荷交付给上层的哪一个协议的能力

这是大部分协议的共性,我们以后学习各种各样的协议时都会提出对应的问题。

5. 以太网的通信原理 

接下来我们来看看以太网是如何互相通信的,我们先讲一个例子来引入

当我们坐在教室里上课时,老师在讲台上点名,此时老师点了“张三”,坐在教室里的所有同学在实际意义上都收到了这个信息,然后每个同学将“张三”这个信息和自己的名字作对比,如果相同那就是点到了自己,否则不理会即可

同样的,每台主机在局域网上都要有自己的唯一编号,如图

此时H1想与H7互相通信,H1 就向局域网中发送一个报文,这个报文会被每个主机看到,每个主机拿到这个报文后,会将其中的 dst 与自己作比较,如果不同就舍弃,如果相同就将报头与有效载荷分离以得到数据。

那我们如何看待局域网这个东西呢?——局域网是多台主机所共享的临界资源。那假如在同一时刻多台主机向局域网中发送大量报文,那么就会出现一定程度上的报文丢失,我们将这个问题称为以太网发送数据碰撞问题!所以,我们要使用让发送主机尽量避免碰撞的算法。

为了解决这个麻烦,就出现了交换机这个东西,比如在 H3 与 H8 之间存在一个交换机, H1 与 H7 都在交换机的左边,就会让报文不传递到交换机右边,以此来降低碰撞概率,这实际上是一种基于划分碰撞域的东西。

6. 数据的跨网络传播

如图

可以看到,在整个过程中 IP 协议屏蔽了底层网络的差异化(红线以下部分),靠的就是工作在 IP 层的路由器。也就是说, IP 实现了全球主机的虚拟层,即一切都是 IP 报文!

注:令牌与锁类似,只有持有特殊标识符的主机才能发送消息。

7. 认识 IP 地址

上面说到了 IP,我们就来认识认识 IP

① IP 是什么

IP 一般指 IPv4,它有4个字节,32个比特位,其风格类似于 10.65.181.55

② IP 与 MAC 的关系

在这里我们举个例子,如果我们想从北京到上海,肯定在一路上要路过相当多的省份,而在这之中

从哪里来(srcip),到哪里去(dstip)始终是不变的!其类似于 IP 地址;

而上一站从哪里来(srcmac),下一站到哪里去(dstmac)始终是变化的,其变化依据是我最终去哪里!其类似于 MAC 地址。

根据之前的学习,以太网中的主机设备凭什么将数据交给路由器呢?——根据 IP 判断是否在同一网段。 

③ 为什么需要 IP

对于 IP 地址来说,尤其是目的 IP ,一般都是不会改变的,且可以协助我们进行路径选择;对于 mac 地址来说,在出了局域网后,其源 mac 地址与目的 mac 地址都要丢弃,再经由路由器重新封装。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数字IC后端低功耗设计实现案例分享(3个power domain,2个voltage domain)

下图所示为咱们社区T12nm A55低功耗实现项目。其实这个项目还可以根据产品的需求做一些改进。改进后项目实现的难度会大大增加。也希望通过今天的这个项目案例分享,帮助到今年IC秋招的同学。 芯片低功耗设计实现upf编写指南(附低功耗项目案例&#xff0…

Ubuntu从入门到精通(一)系统安装

Ubuntu从入门到精通(一) 1 Ubuntu镜像选择 下载Ubuntu 20.04系统ISO镜像 安装 Ubuntu 20.04系统,就必须有 Ubuntu 20.04系统软件安装程序可以通过浏览器访问Ubuntu20.04的官方站点, 然后在导舰栏找划 Dowwnloads->Mirrors链接&#xff…

说说软件工程中的“协程”

在软件工程中,协程(coroutine)是一种程序运行的方式,可以理解成“协作的线程”或“协作的函数”。以下是对协程的详细解释: 一、协程的基本概念 定义:协程是一组序列化的子过程,用户能像指挥家…

【linux】进程等待与进程替换

🔥个人主页:Quitecoder 🔥专栏:linux笔记仓 目录 01.进程等待系统调用获取子进程status常用宏使用示例 02.进程替换替换函数关键点解释:代码详细分析execvpe 函数的使用 01.进程等待 任何子进程,在退出的…

认证鉴权框架SpringSecurity-5--权限管理篇

上面两篇我们重点介绍了如何在代码上集成springSecurity,同时完成登录认证和token认证的过程。我们直到springSecurity处理能帮我们完成认证外,还可以帮助我们完成权限校验的工作,这篇我们来重点介绍下springSecurity是如何实现鉴权的。 一、…

RK3588开发板Android12-SDK更新通知

迅为RK3588开发板Android12 SDK升级至RK的android-12.1-mid-rkr14版本 内核版本:升级至 5.10.160 版本,提供更好兼容性和性能。 rkbin 版本:支持最新的 1.17 版本 bin 和 1.46 版本的 bl31。

stm32教程:OLED屏显示字母、汉字、图片工程讲解

早上好啊,大佬们,今天带来的是我们 stm32系列的第一个外设——OLED,相信大家对于OLED都不陌生了吧,这个可以说每一个项目里的必需品了,单片机离不开OLED就像西方离不开耶路撒冷。 在生活中,我们见到的OLED的…

力扣 LeetCode 28. 找出字符串中第一个匹配项的下标(Day4:字符串)

解题思路: KMP算法 需要先求得最长相等前后缀,并记录在next数组中,也就是前缀表,前缀表是用来回退的,它记录了模式串与主串(文本串)不匹配的时候,模式串应该从哪里开始重新匹配。 next[ j - 1 ] 记录了 …

我与Linux的爱恋:进程间通信 匿名管道

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:Linux的学习 文章目录 匿名管道pipe 匿名管道 匿名管道(Anonymous Pipes)是Unix和类Unix操作系统中的一种通信机制,用于在两个进程之间传递数据。匿名…

Java之JDBC,Maven,MYBatis

前言 就是用来操作数据库的 1.JDBC快速入门 注意在使用前一定要导入jar包 在模块那里新建目录,新建lib,粘贴复制jar包,我这个jar设置的是模块有效 package test1017;import java.sql.Connection; import java.sql.DriverManager; import…

基于Matlab的碎纸片的自动拼接复原技术

碎纸片的自动拼接复原技术 摘要:破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。目前发现对碎纸片的拼接大部分由人工完成,准确率较高,但耗费大量人力财力及时间,效率很低。随着计算机技术的…

STM32 设计的较为复杂的物联网项目,包括智能家居控制系统,涵盖了硬件和软件的详细设计。

使用 STM32 设计的较为复杂的物联网项目,包括智能家居控制系统,涵盖了硬件和软件的详细设计。 一、硬件设计 微控制器:选择 STM32F4 系列微控制器,如 STM32F407ZGT6,具有高性能和丰富的外设资源。 传感器模块&#x…

1.7 JS性能优化

从输入url到页面加载完成都做了些什么 输入 URL - 资源定位符 http://www.zhaowa.com - http 协议 域名解析 https://www.zhaowa.com > ip 1. 切HOST? > 浏览器缓存映射、系统、路由、运营商、根服务器 2. 实际的静态文件存放? 大流量 > 多个…

LPDDR4芯片学习(四)——DDR Training

一、ZQ Calibration DDR 学习时间 (Part B - 6):DRAM ZQ 校正 - 知乎 (zhihu.com) 从原理上解释什么是DDR的ZQ校准? - 知乎 (zhihu.com) LPDDR4的训练(training)和校准(calibration)--ZQ校准(Calibration)_wonder_coole-腾讯云开发者社区 01 ZQ校准的…

pycharm分支提交操作

一、Pycharm拉取Git远程仓库代码 1、点击VCS > Get from Version Control 2、输入git的url,选择自己的项目路径 3、点击Clone,就拉取成功了 默认签出分支为main 选择develop签出即可进行开发工作 二、创建分支(非必要可以不使用&#xf…

鸿蒙实战:页面跳转

文章目录 1. 实战概述2. 实现步骤2.1 创建项目2.2 准备图片素材2.3 编写首页代码2.4 创建第二个页面 3. 测试效果4. 实战总结 1. 实战概述 实战概述:本实战通过ArkUI框架,在鸿蒙系统上开发了一个简单的两页面应用。首页显示问候语和“下一页”按钮&…

IDEA部署AI代写插件

前言 Hello大家好,当下是AI盛行的时代,好多好多东西在AI大模型的趋势下都变得非常的简单。 比如之前想画一幅风景画得先去采风,然后写实什么的,现在你只需描述出你想要的效果AI就能够根据你的描述在几分钟之内画出一幅你想要的风景…

深入理解 Spark 中的 Shuffle

Spark 的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 Spark on YARN:Spark集群模式…

常用在汽车PKE无钥匙进入系统的高度集成SOC芯片:CSM2433

CSM2433是一款集成2.4GHz频段发射器、125KHz接收器和8位RISC(精简指令集)MCU的SOC芯片,用在汽车PKE无钥匙进入系统里。 什么是汽车PKE无钥匙进入系统? 无钥匙进入系统具有无钥匙进入并且启动的功能,英文名称是PKE&…

人力资源招聘系统-提升招聘效率与质量的关键工具

在当今这个竞争激烈的商业环境中,企业要想在市场中立于不败之地,关键在于拥有高素质的人才队伍。然而,传统的招聘方式往往效率低下,难以精准匹配企业需求与人才特质,这无疑给企业的发展带来了不小的挑战。 随着科技的飞…