计算机网络基础:局域网、广域网及OSI七层模型解析

文章目录

  • 一、局域网和广域网
    • 1、局域网(LAN - Local Area Network)
    • 2、广域网(WAN - Wide Area Network)
    • 3、对比局域网和广域网
  • 二、OSI七层模型
    • 1、OSI的七层网络结构
    • 2、OSI的数据传输方式
    • 3、网络与操作系统的关系

一、局域网和广域网

1、局域网(LAN - Local Area Network)

局域网(LAN)是指覆盖较小地理范围的网络,通常用于连接办公室、学校、家庭等有限区域内的计算机和其他设备。

特点

  1. 地理范围:通常覆盖一栋建筑、一层楼或一个小型园区,范围一般在几百米到几公里之内。

  2. 所有权:通常由单个组织或个人拥有和管理。

  3. 数据传输速度:高速连接,常见的速率有100Mbps、1Gbps甚至10Gbps。

  4. 技术和协议:常用以太网技术,协议主要包括IEEE 802.3(有线)和IEEE 802.11(无线)。

  5. 硬件设备:使用交换机、路由器、无线接入点等网络设备。计算机数量多的话,通过交换机和路由器连接在一起。

优势:高速传输,低延迟;简单的网络管理和维护;资源共享,例如打印机、文件服务器等。

常用于办公室内连接计算机、打印机和服务器的网络;家庭中的家庭网络,用于连接电脑、智能电视和手机。

2、广域网(WAN - Wide Area Network)

广域网(WAN)是指覆盖较大地理范围的网络,通常用于连接不同城市、国家甚至全球的多个局域网。

特点

  1. 地理范围:通常覆盖几公里到几千公里,甚至可以是全球范围。

  2. 所有权:由多个组织、政府机构或电信公司共同拥有和管理。

  3. 数据传输速度:速度较局域网慢,常见的速率有几Mbps到几百Mbps,但光纤等高端设备可以达到更高的速率。

  4. 技术和协议:使用广域网技术,如MPLS(多协议标签交换)、Frame Relay、ATM(异步传输模式)等。

  5. 硬件设备:使用路由器、光纤传输设备、卫星、调制解调器等。

优势:能够连接分布在广泛地理区域的多个局域网;支持远程访问和全球通信。

常用于公司在不同城市的办公室之间的网络连接;互联网是最大的广域网,连接全球的计算机网络。

3、对比局域网和广域网

特性局域网(LAN)广域网(WAN)
地理范围小范围(几百米到几公里)大范围(几公里到全球)
传输速度高速(100Mbps - 10Gbps)低速到中高速(几Mbps - 几百Mbps)
组网成本较低较高
网络延迟较高
所有权由单个组织或个人拥有和管理由多个组织、政府或电信公司拥有和管理
使用设备交换机、路由器、无线接入点等路由器、光纤设备、卫星、调制解调器等
技术和协议以太网(IEEE 802.3)、Wi-Fi(IEEE 802.11)MPLS、Frame Relay、ATM等

局域网(LAN)和广域网(WAN)是计算机网络的两种主要类型,分别用于小范围和大范围的设备连接。局域网通常用于办公室、家庭等小范围的高速连接,而广域网用于不同地理位置之间的网络连接,如城市、国家乃至全球范围。了解它们的特点、优势和应用场景有助于更好地设计和管理网络系统。

路由器实现数据包的跨网络转发。


二、OSI七层模型

在OSI的七层模型结构中,从纵向即单个主机的角度来看,每一层与本层的上下两层从逻辑上是分开的,即A的网络层和数据链路层是分开的。这种方式使得每层为上一层提供服务,依赖于下层的数据并为上一层提供接口。同时各层之间的规则是相互独立的,例如数据的格式、通信的方式,这成为本层的协议。

不同主机相同层之间是对等的,例如主机 A 中的应用层和主机 B中的应用层是相同的层次,这两个层互为对等层,对等层之间的规则是一致的,但实现不一定相同。例如,UNIX网络协议栈运行在主机A上,Windows的网络协议栈运行在主机B上,只要它们的规则一致就可以:例如A上的FTP服务器可以与B上的FTP客户端实现互相通信。

一个主机上运行的网络规则实现的集合称为协议栈,主机利用协议栈来接收和发送数据。OSI/ISO的7层网络结构模型可以将网络协议栈的不同层的实现划分为不同的层次,将问题简化,方便网络协议栈的实现。

1、OSI的七层网络结构

在这里插入图片描述

物理层(Physical Layer): 它规定了物理线路和设备的触发、维护、关闭物理设备的机械特性、电气特性、功能特性和过程,为上层的传输提供了一个物理介质,本层是通信端点之间的硬件接口。本层中数据传输的单位为 比特(b)。属实际使用中的设备如网卡、集线器等属于本层。

数据链路层(Data Link Layer): 数据链路层在物理介质基础之上提供可靠的数据传输,在这一层利用通信信道实现无差错传输,提供物理地址寻址、数据成帧、数据的检测重发、流量控制和链路控制等功能。在数据链路层中数据的单位为 (frame)。属于本层定义的规范有 SDLC、HDLC、PPP、STP、帧中继等,实际中的 MAC 属于本层。以太网、令牌环网(Token Ring)和无线局域网(Wireless LAN)也都是工作在数据链路层的网络技术。

网络层(NetWork Layer):: 负责地址管理和路由选择。网络层将各个子网之间的数据进行路由选择,将数据从一个主机传送到另一个主机,其功能包括网际互联、流量控制和拥塞控制等。在本层中数据的单位为数据包(packet)。属于本层定义的规范有IP、IPX、RIP、OSPF等,实际中的路由器属于本层。

传输层(Transport Layer): 传输层将上层的数据处理为分段的数据,提供可靠或者不可靠的传输,为上层掩盖下层细节,保证会话层的数据信息能够传送到另一方的会话层(但不一定传送到另一方的应用层)。在传输层中数据的单位为数据段(segment)。属于本层定义的规范有TCP、UDP、SPX等。

会话层(Session Layer): 会话层管理主机之间的会话过程,包括会话的建立、终止和会话过程中的管理,来提供服务请求者和提供者之间的通信。属于本层定义的规范有 TCP、UDP、SPX等。

表示层(Presentation Layer): 表示层对网络传输的数据进行变换,使得多个主机之间传送的信息能够互相理解,包括数据的压缩、加密、格式的转换等,例如片数据的发送前压缩和接收后的解压。属于本层定义的有ASCI、JPEG、MPEG婷标准。

应用层(Application Layer): 应用层为应用程序提供访问网络服务的接口,为用户提供常用的应用,例如经常使用的电子郎件应用程序,网络浏览器等都基于本层、在本层之上定义。属于本层定义的规范有TeInet、FTP、HTTP、SNMP、P2P等应用层协议。

在OSI模型中,每一层都为其上一层提供服务,同时依赖于下层提供的数据传输服务。这种分层关系如下:

  • 物理层为数据链路层提供比特传输服务。
  • 数据链路层为网络层提供帧传输服务。
  • 网络层为传输层提供数据包传输服务。
  • 传输层为会话层提供可靠的端到端传输服务。
  • 会话层为表示层提供会话管理服务。
  • 表示层为应用层提供数据表示和转换服务。
  • 应用层为最终用户提供各种网络应用服务。

2、OSI的数据传输方式

下图是一个运行于主机A上的程序,通过网络发送数据到B上的应用程序。数据流通过主机A由上至下依次经过网络协议栈,通过网络发送给主机B,主机B上又自下而上的经过OSI七层网络协议结构。

在这里插入图片描述

在局域网通信的过程中,数据报文在传输时会经历一个自顶向下不断被封装的过程。在每一层,数据报文会被添加上该层的协议报头,形成新的数据单元。这个过程称为封装

数据单元(如数据帧、数据报等)包含了有效载荷,以及为了传输而附加的控制信息和元数据。

解封(又称解包)时,每一层会读取并处理其协议报头,将有效载荷交付给上层协议。这种过程确保了数据能够逐层传递,最终到达目的地应用程序。

能够将报头和有效载荷进行分离(解包),并将有效载荷交付给上层协议(分用)的协议中,报头通常包含上层协议的标识信息。

任何协议都需要有以下功能:可以将报头和有效载荷进行分离(解包),可以将自己的有效载荷交付给上层的那个哪议(分用)。报头中需要包含上层协议是谁。同层协议都可以认为自己在和对方直接通信。

应用层的数据单元:请求/响应(Request/Response)

传输层的数据单元:数据段(Segment)

网络层的数据单元:数据报(Datagram)

链路层 的数据单元:数据帧(Frame)

3、网络与操作系统的关系

系统调用 应用接口 用户 -> 应用层(基于系统软件的开发称为应用层。对网络系统调用进行封装得到网络库,因此网络库属于用户空间)

  1. 底层硬件 -> 物理层(网卡)

    • 在计算机系统中,物理层对应的就是网卡等硬件设备,这些硬件负责数据的实际传输。
  2. 驱动程序 -> 数据链路层(网卡的驱动程序)

    • 网卡的驱动程序运行在数据链路层,这一层负责数据帧的传输和错误检测等功能。
  3. 操作系统 -> 网络层(IP) + 传输层(TCP/UDP)

    • 操作系统在网络层和传输层之间起到了桥梁的作用。IP协议运行在网络层,负责将数据包路由到目的地址。传输层则主要由TCP和UDP协议组成,负责端到端的数据传输和连接管理。(OS内部实现,网络也是OS源代码的一部分){因此存在网络方面的系统调用} TCP/IP协议栈
  4. 系统调用、应用接口、用户 -> 应用层

    • 在应用层,开发者通过操作系统提供的系统调用和网络库来构建应用程序。操作系统将底层的网络功能封装成系统调用接口供用户程序使用,因此用户程序不必直接处理底层的网络通信细节。网络库运行在用户空间,将系统调用封装成更易于使用的接口,供应用程序调用。

简而言之,网络和操作系统的关系可以被理解为操作系统提供了一组网络服务,通过系统调用和库函数接口,使得应用程序能够方便地进行网络通信。这种封装使得开发者可以专注于应用层的逻辑,而不必深入理解底层的网络实现细节。

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

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

相关文章

基于自编码器和孪生框架的乳腺组织病理图像分类方法

乳腺癌组织病理图像的自动分类是计算机辅助诊断系统的重要任务之一。由于乳腺癌组织病理图像具有类间差异小、类内差异大的特点,提取用于乳腺癌分类的特征比较困难。为了解决这一问题,设计了一种改进的自编码器(AE)网络,该网络使用Siamese框架…

【BUG】已解决:TypeError: object of type ‘int‘ has no len()

已解决:TypeError: object of type ‘int‘ has no len() 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市…

【windows|015】UDP协议详解

🍁博主简介: 🏅云计算领域优质创作者 🏅2022年CSDN新星计划python赛道第一名 🏅2022年CSDN原力计划优质作者 ​ 🏅阿里云ACE认证高级工程师 ​ 🏅阿里云开发者社区专家博主 💊交流社…

学懂C语言(四):C语言数据类型

目录 一、数据类型分类 二、存储大小和值范围 三、类型转换 在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。 一、数据类型分类 C 中的类型可分为以下几…

内六角螺丝外观检测有多严格?

沉头内六角螺丝是一种常见的螺丝类型,具有内部六角孔和沉头设计。这种螺丝通常需要使用内六角扳手或扳手来拧紧或松开。沉头设计让螺丝头部潜入被连接的物体表面,使其表面平整,不会凸起。 沉头设计使螺丝头部潜入物体表面,实现隐…

PAT甲级真题1042判断二叉搜索树

镜像后的树 样例是前序遍历,中序序列就是把前序序列sort一下,然后根据中序序列和前序序列构造一棵树,和树的遍历一样 前序序列:8 6 5 7 10 8 11 中序序列:5 6 7 8 8 10 11 镜像后的中序序列:11 10 8 8 7 6 5 ###在中序序列中有多个相同的根结点,取第一个 ###如果在中序序列中…

解决element-ui e-table表格中使用多选,当翻页时已选中的数据丢失

用element-ui中的table时&#xff0c;当有多选又有翻页功能时&#xff0c;点击翻页后之前选中的数据会丢失&#xff0c;怎么使表格具有记忆功能呢 element-ui API中有几个属性可以供我们完美解决这个问题 1.单元格的属性和方法&#xff1a; 2.表格的方法&#xff1a; <el-…

数据预处理在建模中的重要性与常见方法(二):数据变化篇

1. 数据标准化 数据标准化是将数据转换到同一量纲&#xff0c;以消除不同量纲之间的影响&#xff0c;使数据具有可比性。常见的标准化方法包括Min-Max标准化和Z-score标准化。 &#xff08;1&#xff09;Min-Max标准化 应用场景&#xff1a;适用于对特征范围有要求的模型&…

AI发展除了带来失业,还带来了不少副业兼职,一键无脑生成,月入1W+

前言 今天&#xff0c;我想和大家分享一下在当前经济下行、就业压力加大的背景下&#xff0c;个人如何利用AI技术开展副业&#xff0c;实现月入过万。 近年来&#xff0c;AI技术的发展虽然带来了不少就业岗位的流失&#xff0c;但同时也为我们提供了许多新的副业机会。今天我…

LNMP环境配置问题整理

首先是一键安装直接报错: 换教程:搭建LNMP,步骤最详细,附源码,学不会打我-CSDN博客 mysql安装成功之后: MySQL 启动报错:Job for mysqld.service failed because the control process exited with error code. 如果所有方法都试过之后卸载后重装可以快速解决: 参考…

matlab PID tuner整定工具箱的用法

从主页的APP中搜索到它&#xff1a; 按照下图IMPORT导入被控对象的传递函数 在下图的Inspect按钮中可以看到导入的被控对象的传函。 在下图的Type中选择控制器类型&#xff1a; 在下图的Form中选择PID的形式&#xff1a;有两种可选&#xff1a;平行式Parallel和标准式Standard …

【Vue3 ts】echars图表展示统计的月份数据

图片展示 此处内容为展示24年各个月份产品的创建数量。在后端统计24年各个月份产品数量后&#xff0c;以数组的格式发送给前端&#xff0c;前端负责展示。 后端 entity层&#xff1a; Data Schema(description "月份统计")public class MonthCount {private Stri…

SCSA第九天

DPI和DFI的对比 1&#xff0c;DFI仅对流量行为分析&#xff0c;只能对应用类型进行笼统的分类&#xff0c;无法做到精细的识别 2&#xff0c;如果流量进行加密的话&#xff0c;DPI可能在没有解密的情况无法进行识别&#xff0c;但是DFI不受影响 IPS&#xff08;入侵防御&…

HarmonyOS介绍

一、什么是HarmonyOS HarmonyOS是新一代的智能终端操作系统&#xff0c;为不同设备的智能化、互联与协同提供了统一的语言&#xff0c;为用户带来简捷、流畅、连续、安全可靠的全场景交互体验。 二、HarmonyOS的核心理念 1、一次开发 多端部署 指的是一个工程&#xf…

基于SpringBoot+Vue的广场舞团系统(带1w+文档)

基于SpringBootVue的广场舞团系统(带1w文档) 基于SpringBootVue的广场舞团系统(带1w文档) 广场舞团&#xff0c;为用户随时随地查看广场舞团信息提供了便捷的方法&#xff0c;更重要的是大大的简化了管理员管理广场舞团信息的方式方法&#xff0c;更提供了其他想要了解广场舞团…

Java多线程用法(附20道练习题)

目录 一、多线程的实现方式1. 继承Thread类2. 实现Runnable接口3. 实现Callable接口4. 三种方式的对比 二、多线程的常用的实现方法三、守护线程、礼让线程和插队线程1. 守护线程 thread.setDaemon(true)2. 礼让线程 Thread.yield()3. 插队线程 thread.join(); 四、Java中线程的…

Go 语言 UUID 库 google/uuid 源码解析:UUID version7 的实现

google/uuid 库地址 建议阅读内容 在阅读此篇文章之前&#xff0c;建议先了解 UUIDv1 的构成、UUIDv4 的 API 以及掌握位运算。 了解 UUIDv1 的构成可以参考Go 语言 UUID 库 google/uuid 源码解析&#xff1a;UUID version1 的实现 或 RFC 9562。 了解 UUIDv4 的 API 可以看…

husky 和 lint-staged 构建代码项目规范

目录 前言 最简单的方法 过 scripts 来解决如果检测工具多&#xff0c;需要多次处理 通过 husky(哈士奇)来解决容易遗忘的问题 1. 安装 2. husky init 3. 试一试​ lint-stadge 只 lint 改动的 1. 安装 2. 修改 package.json 配置 3. 添加 npm 脚本: 4.使用 Husky…

成为git砖家(1): author 和 committer 的区别

大家好&#xff0c;我是白鱼。一直对 git author 和 committer 不太了解&#xff0c; 今天通过 cherry-pick 的例子搞清楚了区别。 原理 例如我克隆了著名开源项目 spdlog 的源码&#xff0c; 根据某个历史 commit A 创建了分支&#xff0c; 然后 cherry-pick 了这个 commit …

卡片式组件封装demo

效果视频&#xff1a; 卡片组件 样式还得细调~&#xff0c;时间有限&#xff0c;主要记录一下逻辑。 html结构&#xff1a; 目录 父组件数据处理数据格式 父组件的全部代码 子组件数据处理props参数 样式部分三个圆点点击三圆点在对应位置显示查看弹框点击非内容部分隐藏查看…