论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com
»
论坛
›
数据库
›
分布式数据库
›
【计算机网络】窥伺计网全貌:说说计算机网络体系结构? ...
【计算机网络】窥伺计网全貌:说说计算机网络体系结构? ...
守听
论坛元老
|
2025-1-14 18:12:05
|
显示全部楼层
|
阅读模式
楼主
主题
1024
|
帖子
1024
|
积分
3072
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
标签
难度
考察频率
综合题
⭐⭐⭐
60%
这个问题在计算机网络知识体系中是一个比较紧张的问题,只有完整地相识计算机网络的体系结构才气清楚地熟悉网络的运行原理。
在回答这个问题时,笔者认为有几个比较紧张的点:
首先肯定要分清楚前置条件,明确口试官问的是 OSI 模型照旧 TCP/IP 模型。
留意各层的序次肯定要是对的。
比较清楚地回答出各层级的功能以及之间的协作关系。
最好回答出各层级中常见的协议或者特点。
系统性学习过计算机网络的同砚应该都能找到这个问题的一个非常显着的“坑”在哪,那就是在讨论计算机网络体系结构时,我们往往会根据模型不同给出不同的分类情况,好比 OSI 七层模型、TCP/IP 四层模型等。
笔者就曾经在这个地方吃过亏,当时并不是很清楚这几种分类,在被问到网络分层问题时一律回答的都是五层,在后面学习了之后才发现这个紧张的问题。
该问题其实还可以表现成以下几种情况:
OSI 七层模型
是什么?都有哪七层?各层的功能是什么?
TCP/IP 五层模型
是什么?都有哪七层?各层的功能是什么?
五层体系结构
是什么?都有哪七层?各层的功能是什么?
OSI 模型有几层?TCP/IP 模型有几层?
相识每一层对应的协议吗?
……
这个问题的变式另有很多,但是只要把握了整个问题的核心内容,无论怎么变化回答的逻辑是不会变的。
下面笔者将从
TCP/IP 五层模型
出发,详细讲解各层级的功能、不同模型中各层级的区别以及在口试时应该怎样回答这个问题。
为什么要分层?
在正式学习各层级之间的功能之前,我们先来搞明确这样一个问题,那就是为什么要分层?为什么不能把所有的功能集中到一起,这样不是更简单省事吗。
其实不是这样的,把所有的功能集中到一起在初期开发的过程中会给我们一种简单省事的错觉,但是在后期工程变大以及维护时就会发现其中的弊端,内容过多导致在出现问题时不好修改,出现牵一发而动全身的情况。
简化系统计划
由于计算机网络是一个极为复杂的系统,计划到众多的硬件、软件和通信协议。将其划分为若干个条理,每个条理专注于特定的功能,使得网络系统的计划、实现和维护变得更加简单和清楚。例如,在互联网中,我们不需要在计划应用步调时考虑底层的物理传输细节,只需要关注应用层的功能实现,底层的工作由其他条理负责。这样,不同条理可以独立进行计划和改进,低落了整个系统的复杂度。
实现模块化和分工协作
分层结构使得网络系统可以按照功能模块进行划分,不同的条理由不同的专业团队或人员负责开发和维护。每个条理都有明确的接口和功能定义,层与层之间通过尺度的接口进行通信。这就好比汽车制造,不同的工厂分别负责生产发动机、底盘、车身等部件,然后通过尺度的接口进行组装。例如,网络装备制造商可以专注于开发物理层和数据链路层的装备,如网卡、交换机等;软件开发商则可以专注于应用层和传输层的软件开发,如浏览器、电子邮件客户端等。这种分工协作提高了开发效率和系统的可维护性。
提高系统的可拓展性
在计算机行业中,我们常常会提到这样一句话:“
计算机科学范畴的任何问题,都是可以通过增加一个间接的中间层来解决的。
”
随着技能的发展和用户需求的增加,网络系统需要不断进行扩展和升级。分层结构使得系统的扩展变得更加轻易,只需要在相应的条理上进行修改或添加新的功能,而不会影响到其他条理的正常运行。例如,当出现新的网络应用需求时,只需要在应用层开发新的应用步调,而不需要对底层的网络结构进行大规模的改动。同样,当网络传输技能发生变化时,只需要更新物理层和数据链路层的装备和协议,上层的应用步调可以继续正常运行。
促进尺度化
分层结构为网络协议的尺度化提供了良好的底子。每个条理都有明确的功能和接口定义,不同的厂商可以根据这些尺度来开发自己的产物,从而保证了不同厂商的产物之间的兼容性和互操作性。例如,国际尺度化组织(ISO)订定的开放系统互连(OSI)参考模型,为计算机网络的尺度化提供了一个通用的框架。不同的厂商按照这个尺度来开发网络装备和软件,使得不同的网络系统可以相互连接和通信。
几种分类方式
计算机网络体系结构通过复杂的网络通信分解成不同的条理,来尺度化交互的过程。常见的模型包罗
OSI 七层模型
、
TCP/IP 四层模型
和
五层体系结构
。
OSI 是理论上的网络通信模型,
这模型很牛逼。
但是现在基本是存在教科书的啦,学习网络的同砚都是知道有这个模型,实际情况使用很少的。
TCP/IP 是实际应用层面上的网络通信模型,在日常工作中接触最多的是上两层,偶尔会去触碰网络层。网络接口层不是软件开发工程师的工作范围。当然如果是一些专门的网络安全部门,网管等岗位,下面几层就黑白常熟悉的。
五层结构是为了方便理解和影象。
应用层
最上层的,也是我们能直接接触到的就是
应用层(Application Layer)
。
应用层时计算机网络与用户交互的接口或界面,直接向用户提供服务。
我们的电脑或手机使用的应用软件都是在应用层实现的。那么,当两个不同的装备的应用需要通信的时间,应用九八应用数据传输给下一层,也就是传输层。
应用层只需要专注于为用户提供应用功能,好比 HTTP、FTP、Telnet、DNS、SMTP等。
所以很明了,应用层解决的问题就是
如作甚用户提供服务,以及提供高效、可靠、满意的服务
。应用层是不用去关心数据是怎样传输的,就类似于我们寄快递的时间,只需要把包裹交给快递员,由他负责运输快递,我们不需要关心快递是怎样被运输的。
而且应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态。
总结下
,
应用层是为用户提供服务接口或者界面
,同时要解决服务的高效、可靠、满意。
在 OSI 七层模型中,应用层和传输层之间还会有下面两个层级,即表现层和会话层。
表现层
表现层要解决的问题就是
确保一个系统发送的信息可以被另一个系统的应用层读取
。它负责的是
数据的转换、压缩和加密
。
例如,PC步调与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换尺度码(ASCII)来表现雷同的字符。如有须要,表现层会通过使用一种通格式来实现多种数据格式之间的转换。
会话层
管理用户的会话,控制网络上两节点间的会话和数据交换的管理。它
负责建立、维护和终止会话
。
通过传输层(端口号:传输端口吸收端口)建立数据传输的通路。主要在你的系统之间发起会话或者担当会话请求(装备之间需要相互熟悉可以是 IP 也可以是 MAC 或者是主机名)。
传输层(段)
应用层的数据包会传给传输层(Transport Layer)是为了给应用层提供网络支持的。
负责
端到端
的通信,是
面向网络通信的第三层和面向信息处理惩罚的高三层之间的中间一层
,起到
桥梁作用
。很显着了,传输层要解决的问题就是
端到端的传输问题
。
在传输层会有两个传输协议,分别是 TCP 和 UDP。
TCP 的全称为
传输控制协议(Transmission Control Protocol)
,大部分应用使用的正是 TCP 传输层协议,好比 HTTP 应用层协议。TCP 比 UDP 多了很多特性,好比流量控制、超时重传、拥塞控制等,这些都是为了保证数据包能可靠地传输给对方。
UDP 相对来说就很简单,简单到只负责发送数据包,不保证数据包是否能抵达对方,但它及时性相对更好,传输效率也高。当然,UDP 也可以实现可靠传输,把TCP的特性在应用层上实现就可以,不过要实现一个商用的可靠 UDP 传输协议,也不是一件简单的事情。
应用需要传输的数据可能会非常大,如果直接传输就不好控制,因此当传输层的数据包大小超过
MSS(TCP最大报文段长度)
,就要将数据包分块,这样即使中途有一个分块丢失或破坏了,只需要重新发送这一个分块,而不用重新发送整个数据包。在 TCP 协议中,我们把每个分块称为一个 TCP 段(TCP Segment)。
当装备作为吸收方时,传输层则要负责把数据包传给应用,但是一台装备上可能会有很多应用在吸收或者传输数据,因此需要用一个编号将应用区分开来,这个编号就是
端口。
好比 80 端口通常是 Web 服务器用的,22 端口通常是远程登录服务器用的。而对于浏览器(客户端)中的每个标签栏都是一个独立的进程,操作系统会为这些进程分配临时的端口号
由于传输层的报文中会携带端口号,因此吸收方可以识别出该报文是发送给哪个应用。
思考一个问题:网络层不是已经把数据转发到对应的主机了吗,为什么还要需要传输层?
位于两台网络主机间的真正数据通信主体不是这两台主机,而是两台主机中的各种
网络应用进程
,也就是应用步调。一台主机上有很多应用步调,很多应用步调都在进行网络通信,这时间就必须使用到传输层的知识去解决了。
怎样完成端到端的传输呢?分为两个步调:
一是虚拟传输连接的建立(此处仍仅针对面向连接的传输层协议);
二是源端用户数据沿着传输连接传送到目标端;
在整个数据传输过程中,传输层服务需要完成以下8个方面的基本功能:传输层寻址、传输连接建立、数据传输、传输连接释放、流量控制、拥塞控制、多路复用息争复用、瓦解恢复。
总结下,传输层主要是为相识决
端到端
(这里的端到端指的是
进程到进程
)的通信,起到网络通信桥梁作用。
网络层(包)
网络层也被称为
中转层
,是网络体系结构中
非常紧张的一层
,在技能上又是
非常复杂的一层
,因为它
既要解决不同网络的节点间通信的路由和协议识别问题,又要通过路由选择计谋解决网络拥塞问题,尽可能提高网络通信的可靠性。
网络层解决的主要问题是,从A主机把数据运送到B主机是走高速呢、飞机呢、照旧火车呢或者是多种混合的方案呢。一句话就是,网络层关注的是怎样将分组从源端沿着网络路径传送到目标端(这个端指的是主机不是应用步调)。
为了实现这个目标,网络层必须知道通信子网的拓扑结构,而且在拓扑结构中选择得当的路径。同时网络层还必须谨慎地选择路由路径,以避免发生某些通信线路和路由器负载过重,而其他线路和路由器空闲的情况。
总结下
,
网络层主要是为相识决不同网络之间数据传输和转发问题。
数据链路层(帧)
物理层中也有很多规程或协议,但它们是用来构建物理传输线路、建立物理意义的网络通信,不是用来
控制数据传输
的。
计划数据链路层的主要解决的问题就是在原始的、有差错的物理传输线路的底子上,采取差错检测、差错控制与流量控制等方法,将有差错的物理线路改进成逻辑上无差错的数据链路,以便向它的上一层(网络层)提供高质量的服务。一句话总结就是
控制数据传输
。
总结下,
数据链路层是为相识决数据传输的控制作用
。
物理层 (比特流)
物理层位于各计算机网络体系结构的最底层,主要负责在物理介质上为数据链路层提供
原始比特流
传输的
物理链接
。
物理层解决的问题就是
数据传输
。上面的所有层都是封装数据和管理,物理层是传输数据的唯一出口,
所有数据到达物理层都会变成二进制的载波信号。
总结下
,物理层就是真正传输数据。
怎样回答?
OSI 七层模型
OSI(Open System Interconnection)七层参考模型是一个网络架构模型,有网络尺度化组织(ISO)提出,用于形貌和尺度化计算机网络的功能和过程。这七层从低到高分别是:
应用层:
最靠近用户的层,负责
处理惩罚待定的应用步调细节
。这一层提供了网络服务与用户应用软件之间的接口。例如:Web 浏览器、FTP 客户端和服务器、电子邮件客户端等。
表现层:
确保一个系统发送的信息可以被另一个系统的应用层读取,它
负责数据的转换、压缩和加密
。例如:确保数据从一种编码格式转换为另一种,如 ASCII 到 EBCDIC。
会话层:
管理用户的会话,控制网络上两节点间的会话和数据交换的管理。它
负责建立、维护和终止会话
。例如:建立一个会话令牌,以便在网络上的两个节点之间转达。
传输层:
提供端到端的通佩服务,保证
数据的完整性
和
正确序次
。这一层包罗 TCP 和 UDP。
网络层:
负责在多个网络之间进行数据传输,确保数据可以或许在复杂的网络结构中找到从源到目标地的最佳路径,这层使用的是 IP(Internet Protocol)协议。
数据链路层:
在物理连接中提供可靠的传输,负责建立和维护两个相邻节点的链路。包罗帧同步、MAC(媒体访问控制)。
物理层:
负责在物理媒介上实现原始的数据传输,好比电缆、管线和无线信号传输。计划的内容包罗电压、接口、针脚、电缆的规格和传输速率。
TCP/IP 四层模型
TCP/IP 四层模型是互联网的核心,定义了一系列协议和尺度,确保装备可以可靠地进行数据传输。
应用层:
直接面向用户和应用步调,提供各种网络服务。它包含了用于特定应用的协议和服务,如 HTTP、FTP、SMTP 等。
传输层:
提供端到端的通佩服务,确保数据的可靠传输。它负责分段数据、流量控制、错误检测和纠正。常见的传输层协议有 TCP 和 UDP。
网际层:
或者叫网络层,负责在不同网络之间路由数据包,提供逻辑地址(IP 地址)和网络寻址功能,用于处理惩罚数据包的分组、转发和路由选择,确保数据可以从源端传输到目标端。
网络接口层:
或者叫链路层,负责奖数字信号在物理通道中准确传输,定义了怎样在单一网络链路上传输数据,如那边置惩罚数据帧的发送和担当,包罗物理地址(MAC 地址)的剖析。
五层体系结构
应用层:
作为网络服务和终极用户之间的接口。它提供了一系列供应用步调使用的协议,如 HTTP(网页)、FTP(文件传输)、SMTP(邮件传输)等。使用户的应用步调可以访问网络服务。
传输层:
提供进程到进程的通信管理,这一层确保数据按序次、无错误地传输。主要协议包罗 TCP 和 UDP。
网络层:
负责数据包从源到目标地的传输和路由选择,包罗跨越多个网络(即互联网)。它使用逻辑地址(如 IP 地址)来唯一标识装备。路由器是网络层装备。
数据链路层:
确保从一个节点到另一个节点的可靠、有效的数据传输。交换机、网桥是数据链路层装备。
物理层:
电缆、光纤、无线电频谱、网络适配器等。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
守听
论坛元老
这个人很懒什么都没写!
楼主热帖
【网络编程】从零开始搭建一个开源博客 ...
Vulnhub靶机-Al-Web-1
Python学习:import的正确用法
报错building for iOS Simulator, but ...
jdbc如何连接sqlserver数据库呢? ...
【CSDN云VS腾讯云】要不然怎么说CSDN开 ...
面试官:BIO、NIO、AIO是什么,他们有 ...
TCP协议
如何成为一名开发人员——第 3 部分: ...
通达OA,长途下令执行漏洞复现 ...
标签云
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表