价值 1k 嵌入式面试题-计算机网络 OSI

Top 50 Software Engineering Interview Questions and Answers - GeeksforGeeks

开门见山

请讲下 OSI 各层协议的主要功能?

常见问题

  1. 回答不系统
  2. 回答不确切
  3. 无法和实际网络协议做关联对应

答题思路

  • OSI 代表了开放互联系统中信息从一台计算机的一个软件应用流到另一个计算机的另一个软件应用的参考模型

  • OSI 包含 7 层,每一层负责特定的网络功能

  • OSI 模型由国际标准化组织在 1984 年开发,到现在已经成为计算机互联通信的架构模型

  • OSI 模型将整个网络传输任务划分为 7 个更小的、易于管理的子任务,每一层负责一个具体的任务

  • 每一层都是独立的,这样每一层都可以独立的处理对应的任务

OSI 模型的特点:

OSI Model

  • OSI 模型主要两个大层:上层和底层

  • OSI 模型上层主要处理应用相关的事务,通常由软件实现;应用层是离终端用户最近的一层,终端用户和应用层和软件应用进行交互,上一层协议会引用毗邻的下一层协议

  • OSI 模型底层协议主要处理数据传输事务,数据链路层和物理层由软、硬件实现,物理层是 OSI 模型的最底层也是距离物理媒介最近的层。物理层主要负责将信息放到物理媒介上

OSI 共有 7 层,每层负责不同的功能,7 层分别为:

  1. 物理层
  2. 数据链路层
  3. 网络层
  4. 传输层
  5. 会话层
  6. 表示层
  7. 应用层

OSI Model

1 物理层

OSI Model

  • 物理层的主要功能是将比特位从一个节点传输到另一个节点

  • 物理层是 OSI 模型最低层协议

  • 物理层负责物理连接的建立和维护

  • 物理层指定了机械、电气以及接口规范

物理层具体功能:

  • 连接配置: 物理层定义了两个或者多个设备物理上如何连接起来.

  • 数据传输: 物理层定义了网络中两个设备间的传输类型:单工、半双工、全双工.

  • 网络拓扑: 物理层定义了网络设备布置方式.

  • 信号: 理层定义了用于传输信息的信号类型.

2 数据链路层

OSI Model

  • 数据链路层负责数据帧的无差错传输
  • 数据链路层定义了网络传输中的数据格式
  • 数据链路层为两个或多个设备提供了可靠、高效的通信方式
  • 数据链路层主要负责一个局部网络中设备的唯一标识
  • 数据链路层包含两个子层:
    • 逻辑链路控制层 LLC
      • LLC 负责将网络层数据包传输给接收者的网络层

      • LLC 通过数据包 header 标识网络层协议的地址

      • LLC 提供流控

    • 媒体访问控制层 MAC
      • MAC 层介于是 LLC 和物理层之间

      • MAC 层用于在网络中传输数据包

数据链路层主要功能:

  • 数据帧封装: 数据链路层将物理原始比特转换成数据包分组(数据帧),并在收尾增加帧头和帧尾,帧头包含了源头和目的地的物理地址.

OSI Model

  • 物理地址表示: 数据链路层在帧头中添加了目的地的地址,数据帧会被发送给地址表示的计算机.

  • 流控: 流控是数据链路层的主要功能,流控是一种收发双方为确保传输数据完整、不破损而维护的一套数据率调整技术,通过流控能够保证处理能力强的一方的发送速率不会超过处理能力弱的一方的数据率.

  • 错误控制: 错误控制是通过循环冗余校验 CRC 实现的,CRC 校验值在每次数据包交给物理层前计算并放入帧尾中,如果发生错误,接收者就可以告知发送者数据帧错误需要重传.

  • 访问控制: 当多个设备连接到一个网络上时,数据链路层协议会决定在给定时间内哪个设备具有媒介的控制权.

3 网络层

OSI Model

  • 网络层是 OSI 第三层协议,用来管理设备地址、跟踪设备网络状态

  • 网络层决定了数据从源头计算机到目的计算机的最佳路径,主要根据网络环境、服务优先级、以及其他因素

  • 网络层负责数据的路由转发,最终的数据包会交给数据链路层

  • 这里需要提到的是,路由器就是典型的三层设备,提供网间的路由服务

  • 用于路由网络数据的协议就成为网络层协议,比如 IP 协议、Ipv6 协议

网络层主要功能:

  • 网络互联: 网络互联是网络层协议主要职责,网络层协议为设备间的连接抽象了一个逻辑连接.

  • 寻址: 网络层在数据帧头和尾增加了源和目的地的地址,这样就可以用来识别网络上的设备.

  • 路由: 路由是网络层的主要功能,路由决定了源和目的地间的最佳路径,其实网络互联也是通过路由实现.

  • 打包: 网络层接收上层的数据包并把它转换成网络层数据包,整个功能由 IP 协议实现.

4 传输层

OSI Model

  • 传输层是第四层协议,它保证了消息以指定的顺序传输并且不会有少发或者多发

  • 传输层的主要职责是将数据完整的发送到对端

  • 传输层从上层接收数据并将其转换为更小的分片

  • 传输层可以被称作点到点传输,它提供了点-点之间的数据的可靠传输

传输层的两种协议:

  • 传输控制协议 TCP
    • TCP 是让网络间各个系统实现通信功能的标准协议

    • TCP 在主机之间建立和维护连接

    • 当数据通过 TCP 连接发送时,TCP 协议会将数据分割为更小的单位(分片,segment),每个分片由各种路径发送到网络上,并以不同的顺序到达目的计算机。TCP 协议会重新整理数据包顺序,然后交给接收端

  • 用户数据报协议
    • 用户数据报协议 UDP 也是一种传输层协议

    • UDP 是一种不可靠传输,接收者在接到数据包后并不会发送应答数据包,发送者也不会等待应答。

传输层的主要功能:

  • 端口地址: 计算机上同时会有多个程序同时运行,这就导致了其实并不是一台计算机和另一台计算机通信,而是一个程序和另一个程序通信。传输层在包头增加了识别程序的地址,即端口号,网络层的职责是将消息从一台计算机传输到另一台计算机,而传输层是将消息传递到对应的程序.

  • 分包和重组: 当传输层从上层接收到消息时,首先会将其分割称为多个分片,每个分片会分配一个序列号来唯一标识该分片。当消息到达目的地后,传输层会根据序列号重新将消息组包

  • 连接控制: 传输层提供了两种服务,一种是面向连接的服务,另一种是面向非连接的服务;无连接服务将每个分片是做一个数据包,每个数据包在网络中独立路由,而面向连接的服务会在发送数据包前和目标机器的传输层建立连接,所有数据包使用相同的路由方式发送.

  • 流控: 传输层也负责流控,但是它侧重的是端到端而不是特定的某一条链路.

  • 错误控制 传输层也负责错误控制,错误控制也是端到端,传输层发送端必须保证消息没有没有任何差错被发送到对端.

5 会话层

OSI Model

  • 会话层用于对通信设备间的交互进行建立、维护、同步

会话层的主要功能:

  • 对话控制: 会话层充当了一个对话控制器,在两个通信程序间创建一个全双工或半双工的会话.

  • 同步: 会话层在传输数据时会增加一些检查点,如果传输数据过程中出现错误,那么传输会从上一个检查点继续进行,整个过程我们称为同步和恢复.

6 表示层

OSI Model

  • 表示层关心的主要是通信系统间交互信息的语法和语义.

  • 表示层充当网络的数据转换器.

  • 表示层操作系统上的一部分,用来将一种表示形式转换为另一种表示形式.

  • 表示层也被称为语法层.

表示层的主要功能:

  • 转换: 两个系统上的程序通过字符、数字等交互信息,不同的计算机采用不同的编码方式,表示层主要保持多个编码方法间的互操作性,将发送端的数据格式转换成通用格式,然后再将通用格式转换为目标系统的数据格式.

  • 加密: 加密主要用来维护隐私性,加密是一个将发送信息转换为另一种形式然后再发送到网络上的一种形式.

  • 压缩: 数据压缩通过对数据进行压缩减少传输的数据量,数据压缩在文本、音视频多多媒体应用中非常关键.

7 应用层

OSI Model

  • 应用层是面向用户、应用程序来访问网络服务的服务窗口

  • 应用层主要处理网络透明性和资源分配等.

  • 应用层并不是一个应用程序,而是扮演应用层功能的角色.

  • 应用层为终端用户提供网络服务.

应用层的主要功能:

  • 文件传输、访问、管理(FTAM): 应用层允许用户访问远程计算机上的文件,从远程计算机下载文件以及对远程文件进行管理

  • 邮件服务: 应用层提供邮件转发和存储服务.

  • 目录服务: An application provides the distributed database sources and is used to provide that global information about various objects应用程序提供分布式数据资源,用来提供不同对象的全局信息.

以上内容,根据重要程度需要依次了解网络层、传输层、数据链路层和物理层,进一步的可以和 TCP/IP 模型对接起来~

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

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

相关文章

java中使用Jsoup和Itext实现将html转换为PDF

1.在build.gradle中安装所需依赖: implementation group: com.itextpdf, name: itextpdf, version: 5.5.13 implementation group: com.itextpdf.tool, name: xmlworker, version: 5.5.13 implementation group: org.jsoup, name: jsoup, version: 1.15.32.创建工具…

网络安全进阶学习第十课——MySQL手工注入

文章目录 一、MYSQL数据库常用函数二、MYSQL默认的4个系统数据库以及重点库和表三、判断数据库类型四、联合查询注入1、具体步骤(靶场演示):1)首先判断注入点2)判断是数字型还是字符型3)要判断注入点的列数…

selenium官网文档阅读总结(day 2)

1.selenium元素定位方法 1.1selenium命令 当我们使用chormdriver打开网页后,接下来就要用python操作元素,模拟用户会作出的操作,这些操作元素的方法就是命令。比如 (1) click:点击(按钮,单选框&#xff…

2024年浙师大MBA项目招生信息全面了解

2024年全国管理类硕士联考备考已经到了最火热的阶段,不少考生开始持续将注意力集中在备考的规划中!杭州达立易考教育整合浙江省内的MBA项目信息,为大家详细梳理了相关报考参考内容,方便大家更好完成择校以及针对性的备考工作。本期…

为什么list.sort()比Stream().sorted()更快?

真的更好吗&#xff1f; 先简单写个demo List<Integer> userList new ArrayList<>();Random rand new Random();for (int i 0; i < 10000 ; i) {userList.add(rand.nextInt(1000));}List<Integer> userList2 new ArrayList<>();userList2.add…

使用 RediSearch 在 Redis 中进行全文检索

原文链接&#xff1a; 使用 RediSearch 在 Redis 中进行全文检索 Redis 大家肯定都不陌生了&#xff0c;作为一种快速、高性能的键值存储数据库&#xff0c;广泛应用于缓存、队列、会话存储等方面。 然而&#xff0c;Redis 在原生状态下并不支持全文检索功能&#xff0c;这使…

备战秋招 | 笔试强训24

目录 一、选择题 二、编程题 三、选择题题解 四、编程题题解 一、选择题 1、请指出选择排序&#xff0c;冒泡排序&#xff0c;快速排序的时间复杂度分别是&#xff08;&#xff09; A. O(n^2)、O(n^2)、O(n*log2n) B. O(n*log2n)、、O(n^2)、O(n*log2n&#xff09; C. O(n…

[虚幻引擎 MongoDB Client 插件说明] DTMongoDB MongoDB数据库连接插件,UE蓝图可以操作MongoDB数据库增删改查。

本插件可以在UE里面使用蓝图操作MongoDB数据库&#xff0c; 对数据库进行查询&#xff0c;删除&#xff0c;插入&#xff0c;替换&#xff0c;更新操作。插件下载地址在文章最后。 1. 节点说明 DT MongoDB | Client Create MongoDB Client - 创建客户端对象 创建一个 MongoDB 客…

【ONE·Linux || 基础IO(二)】

总言 文件系统与动静态库相关介绍。 文章目录 总言2、文件系统2.1、背景知识2.2、磁盘管理2.2.1、磁盘文件系统图2.2.2、inode与文件名 2.3、软硬链接 3、动静态库3.1、站在编写库的人的角度&#xff1a;如何写一个库&#xff1f;3.1.1、静态库制作3.1.3、动态库制作 3.2、站在…

AI编程工具Copilot与Codeium的实测对比

csdn原创谢绝转载 简介 现在没有AI编程工具&#xff0c;效率会打一个折扣&#xff0c;如果还没有&#xff0c;赶紧装起来&#xff0e; GitHub Copilot是OpenAi与github等共同开发的的AI辅助编程工具&#xff0c;基于ChatGPT驱动&#xff0c;功能强大&#xff0c;这个没人怀疑…

服务器中了360后缀勒索病毒怎么解决,360后缀勒索病毒解密数据恢复

某医药公司是一家小型企业&#xff0c;拥有自己的服务器存储重要数据和文件。某天早上&#xff0c;IT管理员发现企业服务器中了360后缀的勒索病毒&#xff0c;所有数据文件都被加密了。这个病毒的入侵让公司业务受到严重影响&#xff0c;企业立即启动了勒索病毒解密数据恢复的措…

机器学习笔记 - YOLO-NAS 最高效的目标检测算法之一

一、YOLO-NAS概述 YOLO(You Only Look Once)是一种对象检测算法,它使用深度神经网络模型,特别是卷积神经网络,来实时检测和分类对象。该算法首次在 2016 年由 Joseph Redmon、Santosh Divvala、Ross Girshick 和 Ali Farhadi 发表的论文《You Only Look Once: Unified, Re…

Stable Diffusion - Stable Diffusion WebUI 支持 SDXL 1.0 模型的环境配置

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/132056980 SDXL 1.0 版本 是 Stable Diffusion 的最新版本&#xff0c;是基于潜在扩散模型的文本到图像生成技术&#xff0c;能够根据输入的任何文…

单片机复位电路分析

来分析一下这个电路&#xff1a; 首先这里面有电容&#xff0c;所以是一个动态电路。哈哈哈 假设左上角的电压源是5V的代号为VOLT。 可以知道电容capacitor C1左边的电压也是5V&#xff0c;电容中间隔着一个绝缘体&#xff0c;所以不导电&#xff0c; 这个时候电流无法通过…

利用XSS在线平台获取用户cookie

//XSS弹窗&#xff1a; <script>alert("xss")</script> XSS漏洞&#xff1a; //XSS弹窗&#xff1a; <script>alert("xss")</script> //XSS在线平台&#xff1a; <ScRipT sRc//7ix7kigpovxdbtd32fuspgffmtmufo3wwzgnzaltddewtb…

TS协议之PMT(节目映射表)

TS协议之PAT&#xff08;节目关联表&#xff09; 1.概要 PMT&#xff1a;节目映射表&#xff0c;与PAT成对出现&#xff0c;包含了该节目下所有的节目元素。 PMT数据结构如下&#xff1a; 字段分析&#xff1a; 字段字段描述表id标识一个TS PSI分段的内容是节目关联分段&am…

MacOS上配置docker国内镜像仓库地址

背景 docker官方镜像仓库网速较差&#xff0c;我们需要设置国内镜像服务 我的MacOS docker版本如下 设置docker国内镜像仓库地址 点击Settings点击Docker Engine修改配置文件&#xff0c;添加registry-mirrors {"builder": {"gc": {"defaultKeepS…

Java实现数据库表中的七种连接【Mysql】

Java实现数据库表中的七种连接【Mysql】 前言版权推荐Java实现数据库表中的七种连接左外连接右外连接其他连接 附录七种连接SQL测试Java测试转换方法类 Cla1类 Cla2类Cla3 最后 前言 2023-8-4 16:51:42 以下内容源自《【Mysql】》 仅供学习交流使用 版权 禁止其他平台发布时…

docker配置远程连接端口

配置docker 配置远程连接端口 vi /lib/systemd/system/docker.servicesystemctl daemon-reload && systemctl restart docker firewall-cmd --zonepublic --add-port2375/tcp --permanenthttp://node2:2375/version

pycharm——漏斗图

import pyecharts.options as opts from pyecharts.charts import Funnel""" Gallery 使用 pyecharts 1.1.0 参考地址: https://echarts.apache.org/examples/editor.html?cfunnel目前无法实现的功能:1、暂时无法对漏斗图的长宽等范围操作进行修改 ""…