网络——初识网络

news2024/9/28 11:16:56

网络基础

森格

文章目录

  • 网络基础
    • 计算机网络产生的背景
    • 认识网络协议
    • 网络协议初识
      • 协议分层
      • OSI七层模型
      • TCP/IP四层模型
      • 网络传输基本流程
        • 协议报头
      • 认识IP地址
      • 认识MAC地址
          • ifconfig查看主机地址
          • ifconfig查看主机地址

计算机网络产生的背景

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

image-20230803232559586

早期的计算机相互独立。每台计算机都承载着客户数据,那么会出现以下弊端:

  • 计算机之间进行数据传输成本高。在计算机A处理的数据,若需要放到计算机B或C上处理时,需要先将计算机A的数据拷贝到能够承载数据的硬件,然后通过硬件将数据拷贝到计算机B上,才能处理数据。
  • 为了提高效率早期的业务会被分到不同的电脑上,而由于计算机之间相互独立,因此可能出现:小明在电脑A完成了业务一,而需要用到电脑B完成业务二,此时想要使用电脑B的小李就需要等待小明使用完电脑B才能使用。

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

image-20230804104042476

  • 每个人都使用各自的电脑,但业务之间可以随时自由切换,共享数据由服务器集中管理

image-20230804110343822

  • 随着时代的进步,计算机的数量越来越多,那么可以通过交换机和路由器连接在一起,形成局域网LAN

image-20230804111331445

  • 随着经济全球化,计算机网络的范围扩大到全球,形成广域网。实际上广域网和局域网是一个相对的概念,广域网可以看作是比较大的局域网

认识网络协议

  • 协议是一种约定
  • 计算机之间的传输媒介是光信号和电信号. 通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息. 要想传递各种不同的信息, 就需要约定好双方的数据格式。即遵守同一个约定

  • 遵守同一个约定,减少了通信成本。

  • 计算机的产商、操作系统、硬件设备各式各样,因此计算机也是种类繁多。这时候就需要约定一个共同的标准,大家都来遵守这个约定,在计算机层面上顺利完成网络通信。

这里举个例子,在中国讲中文,在美国讲英语,在日本讲日语,当中国人与美国人或日本人交流时就不能只使用一门语言,可能中国人与美国人交流用英语,中国人与日本人交流用中文。但如果大家共同遵守一种“协议”,全世界都能够使用中文交流,那么在上述的情况中就减少了交流成本。

网络协议初识

协议分层

  • 将网络协议栈设计成层状结构,其目的就是为了将层与层之间进行解耦
  • 将功能较为集中、耦合度比较高的模块分为一层,增强其维护性和和可拓展性

OSI七层模型

  • OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型, 是一个逻辑上的定义和规范;
  • 把网络从逻辑上分为了7层. 每一层都有相关、相对应的物理设备,比如路由器,交换机;
  • 它的最大优点是将服务、接口和协议这三个概念明确地区分开来,概念清楚,理论也比较完整. 通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯;
层数分层名称功能每层功能概览
7应用层针对特定应用的协议
6表示层设备固有的数据格式和网络标准数据格式的转换image-20230804155607791
5会话层通信管理。负责建立和断开通信连接(数据流动的逻辑通路)。管理传输层以下的分层。image-20230804160055733
4传输层管理两个节点之间的数据传输。负责可靠传输(确保数据被可靠的传送image-20230804160221933
3网络层地址管理和路由选择image-20230804160513114
2数据链路层互连设备之间传送和识别数据帧image-20230804160550943
1物理层以"0"、"1"代表电压的高低、灯光的闪灭界连接器和网线的规格image-20230804160717343
  • 实际上OSI七层模型即复杂又不实用,因此我们通过TCP/IP四层模型来学习。

TCP/IP四层模型

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

image-20230804161310874

  • 对物理层而言,我们考虑较少,因此很多时候也可以叫做TCP/IP四层模型

  • 通过上图可以看到,OSI七层模型也对应TCP/IP五层模型。OSI的应用层、表示层、会话层对应应用层。而应用层的模型的协议大多数针对应用程序

  • 传输层和网络层的协议大多数针对操作系统。这两层的协议要求所有类型的OS都遵守,也因此协议是OS内部实现的。那么传输层和网络层与应用层之间会存在大量的系统调用

  • 具备上层协议的设备也必须同时具备下层协议

也因此能够总结出以下结论:

  • 对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容
  • 对于一台路由器, 它实现了从网络层到物理层
  • 对于一台交换机, 它实现了从数据链路层到物理层
  • 对于集线器, 它只实现了物理层
  • 实际上并不绝对,还存在着很多交换机也实现了网络层的转发;。很多路由器也实现了部分传输层的内容(比如端口转发)

网络传输基本流程

协议报头

  • 协议存在于每一层,而每一个协议都具备自己的协议报头
  • 协议通常是通过协议报头来进行表达的
  • 每一份数据在经过不同的协议层时,都需要添加上对应层的报头
  • 协议报头用于在不同主机的同一协议层中识别,用于标示,方便进行解包分用
  • 报文=报头+有效载荷
  • 封装:将有效载荷添加上当前层报头的过程
  • 解包:将报头和有效载荷分离的过程
  • 分用:将有效载荷交给指定协议解包的过程

在这里我用同网段的两台主机的网络通信过程进行介绍

image-20230804172238548

  • 一个数据由用户从一台主机录入,然后通过网络传输到另一台主机,数据依次要通过应用层、传输层、网络层、链路层等。并且数据要经过封装、解包分用的过程

  • 数据从上层录入进入应用层,数据需要加上应用层对应的报头。组成报文。而此时数据就是有效载荷

  • 将报文发送到传输层,此时有效载荷=数据+应用层的报头,而在这层的报文=传输层的报头+有效载荷

  • 通过以太网将一台主机的数据传输到另一台主机上。由于传输过来的数据内含有不同协议层的报头,因此此时需要将数据进行解包分用

总结一下

  • 每一层的协议都必须具备相应的报头,而根据自己当前的有效载荷需要交给上层的哪一个协议是每一层都需要面对的问题

  • 下层的报文必须具备上层的协议报头

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

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

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

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

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

##网络中的地址管理

认识IP地址

  • IP地址是在IP协议中, 用来标识网络中不同主机的地址;
  • IP地址有IP4和IP6。对于IPv4来说, IP地址是一个4字节, 32位的整数
  • 我们通常也使用 “点分十进制” 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;
  • 报文包含源IP和目标IP

认识MAC地址

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

6进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)

  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址)
ifconfig查看主机地址

image-20230804185556918

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

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

相关文章

Windows安装JDK和JRE的方法

原文网址:Windows安装JDK和JRE的方法_IT利刃出鞘的博客-CSDN博客 简介 本文介绍Windows安装JDK和JRE(Java8)的方法。 下载 下载入口:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html jdk-8…

docker compose一键部署lnmt环境

创建docker compose 目录 [rootlocalhost ~]# mkdir -p /compose_lnmt 编写nginx的dockerfile文件 创建目录 [rootlocalhost compose_lnmt]# mkdir -p nginx 编写nginx配置文件 [rootlocalhost nginx]# vim nginx.conf user root; #运行身份#nginx自动设置进程…

socket server服务器开发常见的并发模型

两种高效的事件处理模式 服务器程序通常需要处理三类事件:I/O 事件、信号及定时事件。有两种高效的事件处理模式:Reactor和 Proactor,同步 I/O 模型通常用于实现Reactor 模式,异步 I/O 模型通常用于实现 Proactor 模式。 无论是 …

MySQL正则表达式检索数据

目录 一、使用正则表达式进行基本字符匹配 1.使用regexp关键字 2.使用正则表达式 . 二、进行OR匹配 1.为搜索两个串之一,使用 | 2.匹配几个字符之一[] 3.匹配范围 4.匹配特殊字符 过滤数据允许使用匹配、比较、通配符操作来寻找数据,但是随…

Maven依赖爆红的几种解决思路

说明:本文介绍Maven依赖爆红,排查错误的几种思路; 思路一:删除本地仓库.lastupdate文件; 找到本地maven仓库,全局搜索.lastupdate文件,把搜索出来的文件全部删除。.lastupdate后缀名的文件&am…

基础实验篇 | uORB消息读写与自定义实验(二)

导读 uORB是PX4/Pixhawk系统中非常重要且关键的模块之一,是用于无人机模块间通信的协议机制。本篇将详细介绍uORB并详细拆解uORB消息读写与自定义实验全流程(二)。 基础实验篇 | uORB消息读写与自定义实验(二) 01 RflySim平台的uORB消息读写…

分析Python招聘数据,可视化展示招聘信息详情

前言 一. 数据来源分析 1. 明确需求 明确采集网站以及数据内容 数据: 职位信息 网址: https://we.51job.com/pc/search?keywordpython&searchType3&sortType0&metro2. 抓包分析 通过开发者工具进行抓包分析 I. 打开开发者工具: F12 / 右键点击检查选择networ…

Windows下JDK安装与环境变量配置

文章目录 每日一句正能量前言安装步骤配置环境变量验证环境变量是否配置成功后记 每日一句正能量 生命,就像一场永无休止的苦役,不要惧怕和拒绝困苦,超越困苦,就是生活的强者。任何经历都是一种累积,累积的越多,人就越成熟;经历的越多,生命就越有厚度。 本来不想写JDK的安装的&…

基于LLM的SQL应用程序开发实战(二)

基于LLM的SQL应用程序开发实战(二) 16.2 使用LangChain SQL代理 回到案例应用本身,我们使用“Run All”的方式重新运行一下,让大家看见更多内部的内容,如图16-5所示,因为在VSCode代码编辑器中,可以看见Jupyter关于当前应用的变量(variable)。 图16- 5 查询Jupyter V…

新版发布 | Cloudpods v3.10.4 和 v3.9.12 正式发布

Cloudpods v3.10.4 功能优化 【主机】支持 PVE 资源的生命周期管理 【费用】优化阿里云账单资源类型名称(企业版) 【主机】选择 VMware 平台镜像,磁盘支持容量变更 【主机】在线修改密码需先探测 QGA 状态 【主机】热迁移取消”快速收敛…

【ARM64 常见汇编指令学习 13 -- ARM 汇编 ORG 伪指令学习】

文章目录 ARM ORG 指令介绍UEFI 中对 ORG 指令的使用 ARM ORG 指令介绍 在ARM汇编中,"org"是一个汇编器伪指令,用于设置下一条指令的装入地址。"org"后面跟着的是一个表达式,这个表达式的值就是下一条指令的装入地址。如…

基于STM32设计的智能空调

一、项目背景 随着人们生活水平的不断提高,对居住环境的舒适度要求也越来越高。空调作为一种重要的家电设备,已经成为了现代家庭中必不可少的一部分。本文介绍了一种基于STM32的智能空调设计方案,可以自动地根据环境温度进行温度调节。 二、…

单价20块蓝牙耳机卖爆越南市场,现象级爆款出现?

以儒道为文化底蕴的越南,是与中国最为相近的东南亚国家,"快速增长的劳动人口相对年轻的社会群体"是很多人对越南这个国家的基本认知。背靠庞大的Z世代用户群体,越南社会年轻化消费需求暴涨,手机与数码品类商品作为“年轻…

OpenCL编程指南-9.1命令、队列、事件

概述 命令队列是OpenCL的核心。平台定义了一个上下文,其中包含一个或多个计算设备。每个计算设备可以有一个或多个命令队列。提交到这些队列的命令将完成OpenCL程序的具体工作。 在一个简单的OpenCL程序中,提交到一个命令队列的命令会按顺序执行。一个…

ThinkPHP5使用phpqrcode生成二维码

生成指定跳转地址二维码图片: 首先将下载好的phpqrcode.php文件放到指定目录内(我这里用的放在public/phpqrcode目录下),准备调用 之后控制器中调用 public function qrcode(){require_once "./phpqrcode/phpqrcode.php&quo…

浅谈能源管理系统在电子厂房中的应用

贾丽丽 安科瑞电气股份有限公司上海嘉定201801 摘要:以能耗管理系统在工业厂房的应用为例,介绍了系统架构及功能。重点分析能耗管理系统在工业厂房实施过程中遇到的难点,并对系统采集的数据进行分析,提出了相应的节能措施&#…

【百问百答】可靠性基础知识第七期

1.什么是振动频率范围? 振动频率范围表示振动试验由某个频率点到另一个频率点进行往复扫频。 例如:试验频率范围5~500Hz,表示5Hz到500Hz进行往复扫频 2.什么是振动量? 振动量:通常用加速度和位移来表示; 加速度:表…

轻松延长手机待机时长,2步设置让你告别电量焦虑

在现代社会中,手机成为了我们生活中不可或缺的伙伴。然而,随着手机功能的日益增多和使用频率的提高,电池续航时间成为了让许多人苦恼的问题。谁不曾遇到过电量不足的尴尬情况?当我们需要手机时,却发现它只剩下最后一丝…

2023年华数杯大学生数学建模【B题不透明制品最优配色方案设计】详细建模方案

目录 完整思路下载链接:这里获取2023华数杯全国大学生数学建模竞赛题目B 题不透明制品最优配色方案设计✅ 问题1问题1建模思路✅ 问题2问题2建模思路✅ 问题3问题3建模思路✅ 问题4问题4建模思路提供的数据和资料: 完整思路下载链接:这里获取…

高电压功率放大器原理是什么意思

高电压功率放大器是一种特殊类型的功率放大器,它可以将输入信号放大到高电压水平。这种设备通常用于测试和测量应用、电子学研究以及医疗成像等领域。它们的工作原理基于半导体器件(如晶体管或MOSFET)和放大器电路的组合使用,可以…