如何理解网络—网络框架介绍

news2025/2/25 0:25:48

目录

前言

一.计算机网络背景

二.局域网和广域网

三.网络协议

3.1产生的背景

3.2分层实现

四.OSI七层模型

4.1OSI七层模型的结构

4.2如何理解OSI七层模型

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

六.网络传输基本流程

7.网络中的地址管理

7.1IP地址

7.2MAC地址

7.3MAC地址和IP地址的区别和联系

总结


前言

        网络在现代生活中已经成为人们生活中重要的一部分,在直观的认识上网络存在的意义就是可以将人与人之间联系起来,可以实现远程数据共享。那此时有好奇的小伙伴就会问了,网络是如何实现将数据共享呢?接下来在这篇文章中将为大家进行讲解,相信看完这篇文章,你对网络的的许多疑惑就能够解开了!

一.计算机网络背景

        网络是在计算机的基础上诞生的,在早期计算机没有网络的时候只能作为一种计算工具,如果多台计算机远程想共享数据的时候就无法实现,为了打破这种限制,网络在人们的努力下慢慢诞生了,因此网络的本质是将多台计算机连接在一起的一种工具。

二.局域网和广域网

        一般网络分为局域网和广域网,相信看到这里有小伙伴就会问了,什么是局域网?什么是广域网?为什么存在局域网和广域网?局域网和广域网有什么差别和联系?

不要着急,下面为大家一一解释:

         局域网就是将局部的计算机通过路由器连接在一起,局部可以理解为相对较小的范围内,例如家庭、学校、办公室等建立的网络,一般简称LAN。

        广域网是指跨越较大地理范围,连接不同地区或国家的计算机网络,一般简称WAN。

为什么存在局域网和广域网?

        是为了满足不同的通信需求,为用户提供更加优质的网络服务。同时,局域网和广域网之间也可以相互连接,形成更加复杂的网络结构,以满足不同的应用需求。

局域网和广域网有什么区别?

        范围:局域网通常覆盖相对较小的区域,如家庭、办公室或者校园等;而广域网则覆盖更大的范围,可能跨越城市、国家甚至是跨越整个地球。

        传输速度:局域网通常有更高的传输速度和更低的延迟,因为它们覆盖的范围更小,网络拓扑更简单,数据传输路径更短;而广域网则通常具有较低的传输速度和较高的延迟,因为它们的传输距离更远,网络拓扑更复杂。

        管理方式:局域网通常由一个组织或者个人负责管理,可以根据需要进行配置和维护;而广域网则通常由多个组织或者个人共同管理,需要遵守更多的网络规则和标准。

        安全性:局域网相对于广域网来说,更容易被保护和控制,因为它们的访问范围更小;而广域网则更容易受到攻击和入侵,因为它们的访问范围更广,安全隐患更多。

局域网和广域网有什么联系?

        互联互通:局域网和广域网可以通过网关、路由器等设备进行互联互通,实现不同区域内的计算机之间的通信和数据交换。

        数据共享:局域网和广域网之间可以通过文件共享、数据库共享等方式进行数据共享,提高数据的利用效率和共享程度。

         网络拓扑:局域网和广域网之间的网络拓扑可以相互连接,形成更加复杂的网络结构,以满足不同的应用需求。

        管理方式:局域网和广域网的管理方式也可以相互借鉴,局域网可以借鉴广域网的安全管理、网络监控等方面的经验,广域网可以借鉴局域网的灵活性、易维护性等方面的优点。

        看到这里相信关于局域网和广域网就有了一个整齐的认识,明白了什么是局域网和广域网以及它们存在的意义!

接下来,我们继续探索,在有网络之后,网络通信是如何具体实现的:

三.网络协议

3.1产生的背景

        其实网络通信本质上与人与人之间的通信有异曲同工之妙,人与人在面对面进行交流的时候通过声音带动空气震动,然后让另一个人进行信息识别,实现数据共享,计算机在通信的时候通过网络介质进行数据传输。网络通信在远程通信的时候就如同在两个人在相隔较远的地方进行信息传输与接受,相隔较远的时候就会出现许多外在的因素干扰,对比到计算机通信中也有相同的问题,所以为了解决这个问题,在计算机中引入了一个新的概念就是网络协议,本质就是在解决网络通信的时候出现的差异,减少通信成本。

3.2分层实现

         谈到分层实现,有小伙伴又会有疑问了,为什么要进行分层实现,如何分层实现?

        分层的原因是因为数据在计算机中传输的时候不是直接将数据传输到网络,再由网络传输到另一台主机中,而是在一台计算机内部就要经过多层传输,一般要经过应用层->表示层->会话层->传输层->网络层->数据链路层->物理层,最后通过物理层进行信息传输。将多层传输被称为是OSI七层模型。

四.OSI七层模型

4.1OSI七层模型的结构

如图所示:

4.2如何理解OSI七层模型

         相信许多小伙伴看到OSI七层模型心里一定会有疑问,实现网络通信为什么要经过七层传输呢?划分为七层传输本质上是因为实现数据共享的过程中会遇到下面这些问题:

1.如何把数据交给下一台主机

2.要有路径选择的能力

3.要有容错纠错的能力

4.解决应用方面的问题

        针对以上产生的四个问题,计算机内部在实现网络通信的时候划分了七层模型,每一层都要解决特定的问题。细心的小伙伴可能也发现了,这样的设计理念也符合计算机高内聚低耦合的思想,低耦合体现在划分七层模型实现软件和软件之间的解耦,高内聚体现在将功能比较集中,耦合度比较高的划分为一层。

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

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

物理层: 负责光/电信号的传递方式. 比如现在以太网通用的网线(双绞 线)、早期以太网采用的的同轴电缆(现在主要用于有线电视)、光纤, 现在的wifi无线网使用电磁波等都属于物理层的概念。物理层的能力决定了最大传输速率、传输距离、抗干扰性等. 集线器(Hub)工作在物理层.

数据链路层: 负责设备之间的数据帧的传送和识别. 例如网卡设备的驱动、帧同步(就是说从网线上检测到什么信号算作新帧的开始)、冲突检测(如果检测到冲突就自动重发)、数据差错校验等工作. 有以太网、令牌环网, 无线LAN等标准. 交换机(Switch)工作在数据链路层.

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

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

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

如何理解TCP/IP五层(或四层)模型?

下面通过一张图片展示与OSI七层模型的对比:

与OSI七层模型对比可以发现TCP/IP模型将应用层,表示层和会话层统一封装为一层,并且对与物理层一般关注比较少,所以很多时候也可以称为 TCP/IP四层模型

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

六.网络传输基本流程

        在上面了解了网络传输过程中的宏观结构和相关协议的概念,下面我们继续学习一下网络传输过程中具体是如何实现的,每一层数据的传输的时候都是如何实现的:

        前面了解到数据在网络中传输的时候需要解决出现的问题,而解决的方式是通过协议,在计算机中协议是通过报头的形式表现的,每一层都有自己的协议,相应的每一层都有自己的报头。

如何理解报头呢?

        举个生活中的例子,可以将报头理解为快递单,可能在生活中对于快递单并没有十分注意,但是仔细想想快递单中包含了快递的相关属性信息,保证了发送方和接受方能够准确传输,类比到计算机网络中数据传输是报文的形式进行传输的,而报文又包含报头和有效载荷,报头中在数据传输时的相关属性信息。

如下图所示,展示了数据在传输的时候,每一层之间的封装和分用:

 通过上面的方式就能实现数据在每一层准确的传输。

接下来介绍两个数据传输的相关概念:

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

有效载荷:通常指的是在网络通信中传输的数据或信息,不包括协议头和其他控制信息

7.网络中的地址管理

网络中数据传输的时候是实现不同设备数据共享,那不同设备是如何标识的呢?

不同主机是通过地址进行标识的,一般地址分为两种,IP地址和MAC地址

7.1IP地址

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

IP地址是在IP协议中, 用来标识网络中不同主机的地址

对于IPv4来说, IP地址是一个4字节, 32位的整数;
我们通常也使用 "点分十进制" 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

一般用于广域网;

7.2MAC地址

MAC地址用来识别数据链路层中相连的节点;

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

一般用于局域网

7.3MAC地址和IP地址的区别和联系

MAC地址是阶段性地址,IP地址是终极地址。

如何理解阶段性地址和终极地址呢?

举个生活中的一个例子,加入你要从上海出发到北京,阶段性地址是指从上海出发到达北京中间可能会经过许多的过程,比如从家里到飞机场等。阶段性地址是不断变化的,但是终极地址是不变的

总结

        通过上面的学习,可能有小伙伴看完之后会觉得里面好多的东西都不知道是什么意思,不要着急,这章只是介绍一个框架,让我们对网络有了一个宏观的认识,接下来我会继续更新在网络中如何实现编码完成数据传送的。

加油,你是最棒的!

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

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

相关文章

2021-2023浙江省内八大MBA项目招生情况:注意大小年啊~

现如今国内的MBA教育呈现出一片繁华景象,过去的这些年来每年几乎都有新增加的MBA招生院校,浙江省内目前共有九大MBA招生院校,除了浙大独领风骚之外,其余八个MBA项目也都有自己的一席之地。纵观2023年的招生录取,小立老…

ValueError: Object arrays cannot be loaded when allow_pickle=False

一、问题 使用numpy读取数据时出现错误,ValueError: Object arrays cannot be loaded when allow_pickleFalse。 查了一下numpy.load()函数 用法 numpy.load(file, mmap_modeNone, allow_pickLeFalse, fix_mportsTrue, encoding‘ASCII’) 参数 file:…

【Android】AMS(三)APP启动流程

启动方式 在 Android 系统中,启动一个应用程序可以分为三种启动方式:热启动、冷启动和温启动。它们分别表示了不同的启动方式和启动过程。 热启动 热启动是指在已经打开并处于后台运行的应用程序中,再次通过图标进入应用程序的启动方式。这…

Spring Security OAuth停更了?探索官方进化版Spring Authorization Server的革新之处!

1、背景 Spring Security OAuth(spring-security-oauth2)停更 主要意思是:生命周期终止通知 Spring Security OAuth(spring-security-oauth2)项目已达到生命周期结束,不再由VMware,Inc.积极维护。 此项目已被Spring Security和Spring Author…

信创办公–基于WPS的EXCEL最佳实践系列 (设置多级列表)

信创办公–基于WPS的EXCEL最佳实践系列 (设置多级列表) 目录 应用背景操作步骤1、删除重复项2、部门绑定3、填入相关信息 应用背景 当我们在使用电子表格时,很多类型重复输入很麻烦,看起来也很复杂,我们就可以设置多级…

关于输入输出格式符的测试

对输出%m.nf的测试 m代表宽度,表示数据可以占m列n代表精确,表示小数占n列 以下用%6.3f进行测试,有两个问题: 1、这个m是包括小数点位数吗?(todo未果) 2、精确度n超过了是怎么处理的&#xff1f…

2023年第六届广西大学生程序设计竞赛(正式赛)题解

比赛题目链接,可以继续提交代码: 2023年第六届广西大学生程序设计竞赛(正式赛) | 知乎:如何评价第六届广西大学生程序设计竞赛? 难度题号备注签到题A J K已给出题解和代码普通题B D E H已给出题解和代码中等题C G–难题F I L M–…

机器学习方法在生态经济学领域中的应用

查看原文>>>基于R语言机器学习方法在生态经济学领域中的实践技术 近年来,人工智能领域已经取得突破性进展,对经济社会各个领域都产生了重大影响,结合了统计学、数据科学和计算机科学的机器学习是人工智能的主流方向之一&#xff0c…

moviepy快速切分视频并保存片段

文章目录 1、直接使用ffmepg2、使用moviepy本身 moviepy安装最新版本: pip install moviepy --pre --upgrade版本是v2.0.0.dev2。 有两种方法一种快速的: 1、直接使用ffmepg from moviepy.video.io.ffmpeg_tools import ffmpeg_extract_subclip ffmpeg…

Lecture 12 Discourse

目录 Discourse 语篇三个关键的语篇任务Discourse Segmentation 语篇分段Unsupervised Approaches 无监督方法Supervised Approaches 有监督方法有监督语篇分段器Discourse Analysis 语篇解析语篇解析RST: Discourse UnitsRST: Discourse RelationsNucleus vs. Satellite 核心 …

2022计算机系统期末

直接导入无图片,先不改了,不过图片都是原题目,不影响对答案。 计算机系统2022期末 本课程的复习请以知识点复习为重,全部内容共有大小280个知识点,都可能在期末考试出现,仅通过往年试卷复习是远远不够的&…

从小白到大神之路之学习运维第35天---第三阶段---mysql数据库之主从复制配置

第三阶段基础 时 间:2023年6月7日 参加人:全班人员 内 容: Mysql数据库之主从复制配置 目录 前提环境配置 MySQL 5.7 版本的主从复制配置步骤 主 库 1. 在主库上开启二进制日志记录功能 2. 在主库上创建一个用于从库访问的备份用户 3. 在主…

VTK学习之光照和相机

目录 一、VTK光照 1、关于vtkLight常用的方法 2、最终效果 二、相机设置 1、相机设置 2、效果 一、VTK光照 通过设置光照,可以达到不同颜色的目的,参考博客: VTK修炼之道7_三维场景基本要素:光照_vtk 光照_沈子恒的博客-CSDN博客 1…

吴恩达 ChatGPT Prompt Engineering for Developers 系列课程笔记--02 Guidelines

02 Guidelines 本节将配合代码,介绍一些构建Prompt的基本原则和策略。 1) OpenAI API 首先开发者需要在OpenAI网站(https://platform.openai.com/account/api-keys)注册一个key,然后通过pip install openai安装openai三方库,再将key导入当…

Express路由

一、目标 能够使用express.static()快速托管静态资源能够使用express路由精简项目结构能够使用常见的express中间件能够使用express创建API接口能够在express中启用cors跨域资源共享 二、目录 初始ExpressExpress路由Express中间件使用Express写接口 1.1Express简介 1.什么…

微信小程序原生开发功能合集二十:导航栏、tabbar自定义及分包功能介绍

本章实现导航栏及tabbar的自定义处理的相关方法介绍及效果展示。   另外还提供小程序开发基础知识讲解课程,包括小程序开发基础知识、组件封装、常用接口组件使用及常用功能实现等内容,具体如下:    1. CSDN课程: https://edu.csdn.net/course/detail/37977    2. 5…

uCOSii系统的中断管理

uCOSii系统的中断管理 1、在使用uCOSii系统时,中断服务程序需要调用两个函数OSIntEnter()和OSIntExit()。 OSIntEnter() 进入中断时,用OSIntNesting来统计中断嵌套次数,告知uCOSii系统,当前中断服务程序正在执行; OS…

Java实战和面试宝典

这是一篇记录工作和学习过程中遇到的一些问题的文章,每个问题都很有代表性,值得不断回顾和深入思考的,答案未必十分准确,但可以作为一种参考,共勉! 读了这篇不一样的八股文,你将至少拥有三年经…

社交媒体品牌:如何通过11个步骤提升您的战略

您是否正在努力在社交媒体上留下自己的印记?您是否觉得您的品牌在无尽的视频和表情包中迷失了方向?在本文中,我们将为您提供11个技巧,帮助您制定社交媒体品牌战略并脱颖而出。但首先,让我们探讨什么是社交媒体品牌&…

正版软件 | DaisyDisk:Mac 电脑一流的磁盘空间管理工具

使用 Mac 工作时,平时创建并下载大量文件,但很容易忘记或者很少删除这些内容。但是有一天,您发现启动磁盘已红,但是自己又好似没有安装啥软件,这时候就会想到底是哪些数据占用了这么大的空间?! …