1.7.2、计算机网络体系结构分层的必要性

news2024/11/24 6:52:57

1.7.2、计算机网络体系结构分层的必要性

  • 计 算 机 网 络 是 个 非 常 复 杂 的 系 统 \color{red}计算机网络是个非常复杂的系统 。早在最初的ARPANET设计时就提出了分层的设计理念。

  • " 分 层 \color{red}分层 "可将庞大而复杂的问题,转化为若干较小的局部问题,而这些较小的局部问题就比较易于研究和处理。

  • 下面,我们按照由简单到复杂的顺序,来看看实现计算机网络要面临哪些主要的问题,以及如何将这些问题划分到相应的层次,层层处理。


1.7.2.1、物理层问题

1.采用怎样的传输媒体(介质)

  • 常见的双绞线网线

image-20221111201305463

2. 采用怎样的物理接口

  • 例如,RJ45以太网接口

    image-20221111201401918

3. 使用怎样的信号表示比特0和1

  • 例如,这样的方波信号。低电平表示0,高电平表示1

    image-20221111201525908

说明

  • 严格来说,传输媒体并不属于物理层,它并不包含在体系结构之中
  • 计算机网络中传输的信号,并不是我们举例的方波信号(这里只是容易理解)

1.7.2.2、数据链路层问题

使用的计算机网络,一般都有多台主机构成。

例如:主机ABCDE通过总线互连,构成了一个总线型网络(早已淘汰

假设已经解决的物理层的问题(主机间可以发送信号来传输比特01了)

image-20221111202732543

若主机A要给主机C发送数据。但是,表示数据的信号会通过总线传播到总线上的每一个主机。

image-20221111202810842

那么主机C如何知道该数据是发送给自己的,自己要接受?

而主机B,D,E又如何知道该数据并不是发送给自己的,自己应该如何拒绝呢?

  1. 如何标识网络中的各主机主机编制问题,例如MAC地址)

    • 主机在发送数据时,应该给数据附加上目的地址。
    • 在其他主机收到后,根据目的地址和自身地址,来决定是否接受数据
  2. 如何从信号所表示的一连串比特流中区分出地址和数据

    • 也就是需要解决分组的封装格式问题
  3. 如何协调各主机争用总线

    • 例如,某个时刻总线是空闲的,也就是没有主机使用总线来发送数据。

      片刻之后,主机BD同时向总线发送数据,这必然会造成信号碰撞


现在常用的是使用以太网交换机将多台主机互连形成的交换式以太网

  • 那么以太网交换机是如何实现的呢?

image-20221111203651477

1.7.2.3、网络层问题

我们发现,只要解决了物理层和数据链路层各自所面临的问题,我们就可以实现分组在一个网络上传输了。

但是

  • 我们每天都在使用的因特网是由非常多的网络和路由器互连起来的
  • 仅解决物理层和数据链路层的问题还是不能正常工作

例如:一个由3个路由器。4个网络互连起来的小型互连网。(因特网中的很小一部分)

image-20221111204651582

很显然。我们面临着如何标识各网络以及网络中各主机的问题。

  1. 如何标识各网络以及网络中的各主机(网络和主机共同编址的问题,例如IP地址)
    • 例如:网络N1中各设备的IP地址。
      • 该类IP地址的前三个十进制数用来表示网络,第四个十进制数用来表示主机(C类IP地址)
      • 在本例中,网络N1的网络号为192,168,1
      • 该网络上的笔记本电脑,服务器,以及路由器接口
        • IP地址的前三个数应该都是192,168,1(因为它们都在网络N1上)。
        • 而第四个十进制数为1,2,254,各不相同,用来表示它们自己
    • 同理网络N2中各设备的IP地址

image-20221111205108592

  1. 路由器如何转发分组,如何进行路由选择

    • 源主机与目的主机之间的传输路径往往不止一条

    • 分组从源主机到目地主机可走不同的路径地址

img

1.7.2.4、运输层问题

若我们解决了物理层、数据链路层及网络层各自的问题,则可以实现分组网络间传输的间题。

但是

  • 对于计算机网络应用而言,这仍然不够

例如:假设这台主机中运行着两个与网络通信相关的应用进程(QQ进程,游览器进程)

​ 这台服务器运行着与网络通信相关的服务器进程。

  1. 如何解决进程之间基于网络的通信问题
    • 某个时刻。主机收到了来自服务器的分组,那么这些分组应应该交给览器进程处理呢。还是应该交给回Q进程处理?

image-20221111210147755

  1. 出现传输错误时,如何处理
    • 如果某个分组在传输过程中出现了误码
    • 或者由路由器繁忙。导致路由器丢弃分组。

1.7.2.5、应用层问题

若以上都解决了,则可以实现进程之间基于网络的通信

在此基础上,只需制定各种应用层协议

  1. 通过应用进程间的交互来完成特定的网络应用
    • 支持万维网应用的HTTP协议
    • 支持电子邮件的SMTP协议
    • 支持文件传送的FTP协议

image-20221111210854661

1.7.2.6、统一解决

我们将实现讨算机网络就需要解泱的各种主要问题,分别归到了物理层、数据链路层、网络层运输层和应用层。

进而构成了五层协议体系的原理体系结构。

image-20221111211320299

作为一名程序员,将这些问题将它们划分到不同的模块中,逐模块编程实现

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

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

相关文章

一专多能、创新力十足,南大通用GBase8c数据库获鲲鹏创新应用大赛金奖

被评为openGauss赛道金奖的多模多态分布式数据库GBase 8c其含金量表现在哪些方面?基于openGauss有哪些技术创新? 其商业价值是什么?在哪些场景发挥作用? 面向全球开发者的年度顶级赛事——鲲鹏应用创新大赛已经举办三个年头了。三…

DHCP协议从入门到部署DHCP服务器进行实验

目录 1、DHCP基本概念 2、DHCP的优点 3、DHCP的工作原理 4、通过抓包验证原理 5、在windows server上部署DHCP服务器 6、实验搭建 实验环境 配置R1的中继 常见报文学习 1、DHCP基本概念 路由器可以阻挡DHCP discover的广播报文 2、DHCP的优点 3、DHCP的工作原理 4、通过抓…

Java笔试复盘

目录 1. finalize的含义 2.Statement和PreparedStatement用法 3. 接口能用protected修饰吗 4.java实现分解质因数 今天去参加了一场国企单位的笔试,很基础,但是有些细节的地方还是觉得答得不好,所以复盘一下。 1. finalize的含义 final…

WPF几何绘图(2)

Path的各种线段: LineSegment 直线段。 ArcSegment 圆弧线段。 BezierSegment 三次贝塞尔曲线段(默认贝斯尔曲线是指三次曲线)。 QuadraticBezierSegment 二次贝塞尔曲线段。 PolyLineSegment 多直线段。 PolyBezierSegment 多三次方贝塞…

一篇博文,带你入门数据库SQL语言

目录 📖前言 🎈SQL的分类 🎨数据库的分类 ✨SQL的基础操作 ⚽SQL常用数据类型 🏉数据库的操作 ⚾创建数据库 🥎显示数据库 🏀使用数据库 🏐删除数据库 🍿表的操作 &…

Emgu CV4图像处理之打开Tensorflow训练模型17(C#)

本文测试环境: win10 64位 vistual studio 2019 Emgu CV 4.6.0 环境配置准备: 1 新增控制台项目,.net framework为4.7.2 2 把win-x64目录的native目录下的文件全部拷贝到项目的运行目录Debug目录下 3 项目选择x64 4 添加项目引用…

(CVE-2019-0227)Axis<=1.4 远程命令执行漏洞

结尾附上本文的环境和PoC 一、漏洞介绍 漏洞本质是管理员对AdminService的配置错误。当enableRemoteAdmin属性设置为true时,攻击者可以构造WebService调用freemarker组件中的template.utility.Execute类,远程利用AdminService接口进行WebService发布&am…

Linux_gdb_进程概念

目录 进度条 学习过程 自主实现: Linux的git操作 .gitignore .git git add . git commit git push git log git status git pull 进度条 学习过程 首先创建源文件,这个源文件就是我们要写的进度条的定义 接下来,我们创建文件Ma…

化工行业供应商协同管理系统:助力企业打造良好营商环境,提升运营效率

化工行业是我国工业发展的重要基础,也是国民经济发展和生活不可或缺的一部分。化工产品的更新换代,产业的不断升级,对原材料的采购也提出了更高要求。 由于精细化工行业原材料的质量和成本,与供应商的选择与资质具有重要的关联性…

[附源码]计算机毕业设计JAVAjsp医院网上预约系统

[附源码]计算机毕业设计JAVAjsp医院网上预约系统 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM myb…

关于Python和自动化

最近碰到了好几次面试都需要问Python。 在这里我有一个误区,向各位面试官先陈述一下。 之前的时候,对C和C研究的更加多一点,再加上多年的自动化维护经验,自认为对po封装模式的理解,因此对于自认为对Python是十拿九稳&a…

[Spring MVC6]事务管理与缓存机制

Spring MVC 关于Spring与MaBatis事务管理,这里的事务管理类似于数据库中的transaction,基本操作也都一样。同时介绍了MaBatis缓存模式,特别是一级缓存与二级缓存。 希望对你有所帮助! 目录Spring 事务管理MyBatis 事务管理MyBatis 缓存模式一…

html实现个人空间主页(附源码)

文章目录1.设计思路1.1 欢迎界面1.2 屏保界面1.3 主界面1.4 我的项目界面1.5 我的日记界面1.6 我的日记管理界面2.效果展示和代码展示2.1 动态效果图2.2 主界面代码2.3 欢迎页代码2.4 屏保代码源码下载作者:xcLeigh 文章地址:https://blog.csdn.net/weix…

JavaScript算法 — 二叉树遍历

目录1、构造二叉树2、递归遍历3、非递归遍历3.1 先序3.2 中序3.3 后序1、构造二叉树 树节点: // 二叉树节点的构造函数 function TreeNode(val, left, right) {this.val (valundefined ? 0 : val)this.left (leftundefined ? null : left)this.right (rightu…

给好朋友用代码画一个爱心吧

目录 效果图 html爱心 python爱心 ​编辑 代码 html python 浅浅分析一下《燃烧我,照亮你》剧中的爱心代码 光棍节要到了,不给心意的人写个爱心代码? 话不多说,上才艺,这里有两种爱心,一种是html&a…

Unity功能—— 在VS中快速访问Unity API对应文档

声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改。 Unity功能—— 在VS中快速访问Unity API对应文档 文章目录Unity功能—— 在VS中快速访问Unity API…

光点科技数据口袋数据填报系统满足多类型企业报表需求_光点科技

在招聘过程中,HR对数据处理存在一定的需求,手动整理繁杂的数据无疑是加大招聘工作量,因此,借助数据填报系统更好地进行处理数据工作,不失为帮助HR减轻招聘工作量的良方。 光点数据填报系统利用传统商业报表工具进行数据…

中国热泵空调行业发展趋势及投资风险研究报告

智研瞻产业研究院专注于中国产业经济情报及研究,目前主要提供的产品和服务包括传统及新兴行业研究、商业计划书、可行性研究、市场调研、专题报告、定制报告等。涵盖文化体育、物流旅游、健康养老、生物医药、能源化工、装备制造、汽车电子、农林牧渔等领域&#xf…

基于springboot二手交易平台

开发工具:IDEA 服务器:Tomcat9.0, jdk1.8 项目构建:maven 数据库:mysql5.7 系统分前后台,非前后端分离 前端技术:vue.jselementUI等框架实现 服务端技术:springbootmybatis-pl…

Linux服务器中配置tomcat的服务,并通过端口8888访问

引言: Tomcat是常见的免费的web服务器,前端服务很多都是通过tomcat部署的!所以多了解点肯定没坏处! 一、配置端口 1.防火墙策略中配置8888端口,并允许策略: 二、安装tomcat包 1.新建tomcat文件夹 进入 /usr/local,并新建文件夹…