Linux —— 网络基础(一)

目录

一,计算机网络背景

二,网络协议初识

三,网络传输基本流程

四,网络中的地址管理


一,计算机网络背景

网络发展

  • 独立模式,计算机之间相互独立;
  • 网络互联,多台计算机连接在一起,完成数据共享;
  • 局域网LAN,计算机数量更多了,通过交换机和路由器连接在一起;
  • 广域网WAN,将远隔千里的计算机连接在一起;

协议

  • 计算机之间的传输媒介是光信号和点信号,通过“频率”和“强弱”来表示0和1;如想传递各种不同的信息,就需约定好双方的数据格式;

二,网络协议初识

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

分层名称功能每层功能概览
7应用层针对特定应用的协议

电子邮件(电子邮件协议)

远程登陆(远程登陆协议)

文件传输(文件传输协议)

6表示层设备固有数据格式和网络标准数据格式的转换接收不同表现形式的信息如文字、图像、声音等
5会话层通信管理,负责建立和断开通信连接(数据流动的逻辑通路);管理传输层以下的分层;何时建立连接,何时断开连接以及保持多久的连接;
4传输层管理两个节点之间的数据传输,负责可靠传输(确保数据被可靠地传送到目标地址)是否有数据丢失;
3网络层地址管理与路由选择经过哪个路由器传递到目标地址;
2数据链路层互连设备之间传送和识别数据帧数据帧与比特流之间的转换
1物理层以0、1代表电压的高低、灯光的闪灭;界定连接器和网络的规格;比特流与电子信号之间的切换

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

        TCP/IP是一组协议的代名词,包括许多协议,组成了TCP/IP协议簇;TCP/IP通讯协议采用理论五层层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求;

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

一般而言

  • 对于一台主机,操作系统内核实现了从传输层到物理层的内容;
  • 对于一台路由器,实现了从网络层到物理层;
  • 对于一条交换机,实现了从数据链路层到物理层;
  • 对于集线器,只实现了物理层;

三,网络传输基本流程

同一网段内的两台主机进行文件传输,两台计算机通过TCP/IP协议通讯的过程:

跨网段主机的文件传输,数据从一台计算机到另一台计算机传输过程中要经历一个或多个路由器;

数据包封装和分用

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

数据分用

四,网络中的地址管理

IP地址,IP协议有两个版本,IPv4/IPv6

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

MAC地址

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

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

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

相关文章

flink1.15 异步维表Join 用于外部数据访问的异步 I/O scala版本

官方文档 Asynchronous I/O for External Data Access 异步 I/O | Apache Flink 核心问题 问什么有官方文档,我还要写个博客,因为scala Future这块有坑. 1 为什么我的算子显示反压100% 2 为什么我的任务不报错,也没有输出 3 Future对象我该怎么构建,有哪些注意事项. pom …

面试算法32:有效的变位词

题目 给定两个字符串s和t,请判断它们是不是一组变位词。在一组变位词中,它们中的字符及每个字符出现的次数都相同,但字符的顺序不能相同。例如,"anagram"和"nagaram"就是一组变位词。 分析 如果只考虑英文…

【OpenCV实现图片以及视频的读取、显示、保存以及绘图函数】

文章目录 图片视频从文件读取视频保存一个视频绘图函数 图片 OpenCV(Open Source Computer Vision Library)是一个广泛应用于计算机视觉和图像处理领域的开源库。它提供了丰富的图像处理工具和算法,使得开发者能够轻松实现各种图像处理任务。…

科普丨语音芯片烧录流程概述

语音芯片的烧录是将特定的固件或软件加载到芯片中,以使其能够执行特定的语音处理功能。以下是一般的语音芯片烧录过程: 1. 准备固件或软件:开发人员需要编写或获取特定的固件或软件,这些固件或软件包含了语音处理算法和功能的代码…

win11的下载地址,方便查找

win11的下载地址,收藏方便查找 www.microsoft.com/zh-cn/software-download/windows11/

【周末闲谈】VR新视界,“眼”见未来

个人主页:【😊个人主页】 系列专栏:【❤️周末闲谈】 系列目录 ✨第一周 二进制VS三进制 ✨第二周 文心一言,模仿还是超越? ✨第二周 畅想AR 文章目录 系列目录前言虚拟现实(VR)技术虚拟现实技术的原理虚拟现实技术发…

高精度时间测量(TDC)电路MS1022

MS1022 是一款高精度时间测量电路,内部集成了模拟比 较器、模拟开关、施密特触发器等器件,从而大大简化了外 围电路。同时内部增加了第一波检测功能,使抗干扰能力大 大提高。通过读取第一个回波脉冲的相对宽度,用户可以获 得接…

laravel的默认首页怎么改-laravel框架默认欢迎页面如何修改

laravel的默认首页怎么改 搭建好的laravel的默认首页怎么改 我们有两种改动方式: 第一种修改默认路由: 下一步是要移除Laravel应用程序默认的欢迎页路由。这个路由可以在routes/web.php文件的顶部找到,看起来类似于以下代码: …

Cypress 与 Selenium WebDriver

功能测试自动化工具的王座出现了新的争夺:Cypress.io。赛普拉斯速度快吗?是的。赛普拉斯是交互式的吗?是的。赛普拉斯可靠吗?你打赌。最重要的是……这很酷! 但 Cypress 是Selenium WebDriver的替代品吗?S…

React 中的 useState() 是什么?

在 React 中,useState() 是一个用于在函数组件中声明状态的 Hook。它是 React 16.8 引入的一种新的状态管理方式。 useState() 函数返回一个数组,其中包含两个元素:当前的状态值和一个更新状态值的函数。用数组的解构赋值来获取这两个元素。…

CentOS 7 中安装Kafka

文章目录 安装JDK解压环境变量验证 安装ZooKeeper下载解压环境变量配置启动开放端口 安装Kafka下载解压配置启动 CentOS 7.6 JDK 1.8 ZooKeeper 3.5.7 Kafka 2.11-2.4.0 安装JDK 解压 # 解压 tar -xzvf jdk-8u181-linux-x64.tar.gz mv jdk1.8.0_181 /usr/local/jdk1.8环境变量…

OpenGL —— 2.7、绘制多个自旋转的贴图正方体(附源码,glfw+glad)

源码效果 C源码 纹理图片 需下载stb_image.h这个解码图片的库,该库只有一个头文件。 具体代码: vertexShader.glsl #version 330 corelayout(location 0) in vec3 aPos; layout(location 1) in vec2 aUV;out vec2 outUV;uniform mat4 _modelMatrix; …

微信小程序进阶——Flex弹性布局轮播图会议OA项目(首页)

目录 一、Flex弹性布局 1.1 什么是Flex弹性布局 1.1.1 详解 1.1.2 图解 1.1.3 代码演示效果 1.2 Flex弹性布局的核心概念 1.3 Flex 弹性布局的常见属性 1.4 Flex弹性布局部分属性详解 1.4.1 flex-direction属性 1.4.2 flex-wrap属性 1.4.3 flex-flow属性 1.4.4 ju…

DFS(分布式文件系统)与 DFSR(分布式文件系统复制)的区别

DFS(分布式文件系统)和 DFSR(分布式文件系统复制)是两种不同的技术,尽管它们在名称上有一些相似之处,但它们的用途和功能有所不同。 DFS(分布式文件系统) DFS 是一种用于创建和管理…

Win10系统开机启动文件夹在哪里找?

Win10系统开机启动文件夹在哪里找?Win10系统开机启动文件夹是一个非常重要的目录,它决定了电脑在开机的时候,会有哪些应用程序是自动启动。但是,很多新手用户不知道Win10电脑内开机启动文件夹的具体位置,下面小编介绍开…

eNSP笔记②

动态路由 RIP [适用于小型网络] 静态路由是加上非直连的网段,动态路由是加上直连的网段 动态路由就是要宣告它要去的网段,在图中可以看到,一台路由需要宣告两个网段,路由A分别宣告10.0.0.0与192.168.1.0,路由B宣告10.…

ArcGIS在VUE框架中的构建思想

项目快要上线了,出乎意料的有些空闲时间。想着就把其他公司开发的一期代码里面,把关于地图方面的代码给优化一下。试运行的时候,客户说控制台有很多飘红的报错,他们很在意,虽然很不情愿,但能改的就给改了吧…

JSX的本质

一、本质 React.createElement即h函数,返回vnode第一个参数,可能是组件,也可能是html tag组件名,首字母必须大写(React规定) 二、babel试一试 (babel集成了jsx的编译环境) // JSX…

Java:SpringBoot实现JDK动态代理和CGLIB动态代理

目录 1. JDK 动态代理2. CGLIB 动态代理总结参考文章 需要代理的对象 // 接口 public interface PayService {void pay(); }// 实现 public class AliPayService implements PayService {Overridepublic void pay() {System.out.println("AliPayService");} }1. JDK…

【反射】Constructor类

Constructor类中包含了构造方法定义的详细信息,可以使用Constructor类中提供的方法来获取构造方法的信息,下面我们先获取Constructor对象,再介绍如何使用Constructor类中的newInstance方法创建对象。 一、准备工作 在src/test/java目录的cn…