面试题:计算机网络中的七四五是什么?

2024-06-01 10:20

本文主要是介绍面试题:计算机网络中的七四五是什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

面试题:计算机网络中的七四五是什么?

计算机网络中说的七四五是指:OSI 七层模型、TCP/IP 四层模型、OSI 与 TCP/IP 的综合五层模型

OSI 七层模型

OSI 将计算机网络分为了七层,每一层抽象底层的内容,并遵守一定的规则。基于 OSI 模型,网络中的节点(物理设备)得以进行通信。

  • 同一层中的各个节点层次结构和功能相同。

  • 同一节点相邻层通过接口通信

  • 每一层使用底一层提供的服务,并向顶一层提供服务

  • 同一层中的不同节点按照协议实现对等层的通信

img
层(从底层到顶层)数据单元作用可能会出现的问题
物理层比特通过网线、电缆等方式将设备物理连接电缆失效(电线损坏、连接器村换等)
网络硬件设备故障(电路损坏)
数据链路层,包括帧头(源节点和目的节点的 MAC 地址)、主体(传输的比特)、帧尾(检测错误信息)定义了数据的传输格式(将比特流封装为数据帧);
进行了线路规划(谁交流?交流多久?传输信息的持续多久?)与流量控制(传输的数据量是多少?);
进行了错误检测与校正(主要关注检测)。
总:允许局域网内的各物理设备彼此互相通信。
可能发生在物理层的所有问题
物理设备之间的会话建立失败
帧冲突
网络层数据包,一个数据包封装了一个帧及设备 IP 地址。数据包中的数据又称负载。通过路由器网络间进行通信(路由器可以跨越多个网络移动数据包)可能发生在之前层的所有问题
路由器或物理设备故障
IP 地址配置错误
可以使用 ping 命令进行错误排查
传输层数据包(对于 TCP);数据报(对于 UDP)(网络层的 MAC + IP 可以确定数据包发送给哪个设备,而传输层中)通过 TCP 或 UDP 将数据发送给设备的特定端口,从而建立数据通信(套接字 = IP 地址 + 端口号)可能发生在之前层的所有问题
端口被封锁(防火墙、访问控制列表 ACL)
服务质量设置(Qos)
会话层数据负责建立、维持和终止两个用户应用程序之间的连接。会话层响应来自表示层的请求,并向传输层发起请求。服务器不可用
服务器配置失误
会话断连、超时
表示层数据负责数据格式化(字符编码控制、将数据转换为另一种格式,如图片)与数据加密(SSL 或 TLS 协议,确保传输的数据抵御恶意用户的攻击)驱动程序不存在或损坏
OS 用户访问级别错误
应用层数据负责支持用户程序使用的服务可能发生在之前层的所有问题
软件应用程序配置不正确

补充说明

  • 物理层:根据物理设备的发送、接收比特的形式,分为单工(只能收或只能发)、半双工(可以收也可以发,但不能同时进行)、全双工模式(可以同时进行收发)。

  • 数据链路层:数据链路层包含两个子层,介质访问控制层(MAC)(负责分配唯一标识网络设备的硬件标识号 —— MAC 地址)、逻辑链路控制层(LLC)(处理帧的寻址与流量控制)。

  • 网络层

    • 物理设备一旦连接到因特网,就会被赋予一个因特网协议(IP)地址。IP 地址分为 IPv4 和 IPv6 两种形式。IP 地址通过地址解析协议(ARP)与物理设备的 MAC 地址关联,因此 APR 可以用物理设备的 IP 地址解析出 MAC 地址
    • 路由器通过连接到网络服务商(ISPs)提供因特网访问;同时记录了其所连接的网络,以及这些网络中路由数据包的路径。
    • 网络层的传输是无连接的,只会将数据发送给对应的地方,也仅此而已。
  • 传输层:传输层有两个重要协议,传输控制协议(TCP)、用户数据报协议(UDP)

    协议类型特点1特点2
    传输控制协议面向连接的协议优先保证数据质量而不是传输速度(需要进行握手)可以确保数据包以正确的顺序交付或重组
    用户数据报协议无连接的协议优先保证传输速度而不是数据质量(不需要进行握手)并非所有的数据都能成功传输,也无从得知哪些数据传输失败;如果信息被拆分为多个数据包,这些多个数据包必须包含一个序列号,否则无法正确重组数据包
  • 会话层:根据所使用的应用程序,会话可能支持单工,半双工,全双工模式。此外,会话层及以上的网络层关注:如何与用户应用程序建立连接 + 如何向用户展示数据。

  • 应用层:应用层包含若干协议,文件传输协议(FTP)、安全壳协议(SSH)、简单邮件传输协议(SMTP)、因特网消息访问协议(IMAP)、域名服务(DNS)、超文本传输协议(HTTP)

TCP/IP 四层模型

TCP/IP 四层模型可以看作是对 OSI 七层模型的简化

img
层(从底层到顶层)功能
数据链路层(网络访问层、网络接口层)包含了 OSI 物理层和数据链路层,通过物理手段连接设备,并对比特流数据进行分组
网络层(IP 层)处理 IP 数据包的传输,建立主机间通信
传输层定义端口,标识应用程序,实现端口到端口的通信(两台主机间进程通信)包含 TCP/IP 协议
应用层包含 OSI 会话层、表示层和应用层,负责建立连接、数据格式转换、呈现给用户内容

五层网络模型

五层网络模型结合了 OSI 和 TCP/IP 模型

image-20240531113630005
层(从底层到顶层)功能
物理层通过物理手段连接设备,确保数据可以在各种物理媒介上传输,为数据传输提供环境
数据链路层将数据包装成帧,便于后续的数据传输
网络层处理 IP 数据包的传输,建立主机间通信
传输层定义端口,标识应用程序,实现端口到端口的通信(两台主机间进程通信)包含 TCP/IP 协议
应用层包含 OSI 会话层、表示层和应用层,负责建立连接、数据格式转换、呈现给用户内容

REFERENCES

https://www.freecodecamp.org/chinese/news/osi-model-networking-layers/

https://cloud.tencent.com/developer/article/2183899

这篇关于面试题:计算机网络中的七四五是什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020732

相关文章

荣耀嵌入式面试题及参考答案

在项目中是否有使用过实时操作系统? 在我参与的项目中,有使用过实时操作系统。实时操作系统(RTOS)在对时间要求严格的应用场景中具有重要作用。我曾参与的一个工业自动化控制项目就采用了实时操作系统。在这个项目中,需要对多个传感器的数据进行实时采集和处理,并根据采集到的数据及时控制执行机构的动作。实时操作系统能够提供确定性的响应时间,确保关键任务在规定的时间内完成。 使用实时操作系统的

一些其他面试题

阿里二面:那你来说说定时任务?单机、分布式、调度框架下的定时任务实现是怎么完成的?懵了。。_哔哩哔哩_bilibili 1.定时算法 累加,第二层每一个格子是第一层的总时间400 ms= 20 * 20ms 2.MQ消息丢失 阿里二面:高并发场景下引进消息队列有什么问题?如何保证消息只被消费一次?真是捏了一把汗。。_哔哩哔哩_bilibili 发送消息失败

zookeeper相关面试题

zk的数据同步原理?zk的集群会出现脑裂的问题吗?zk的watch机制实现原理?zk是如何保证一致性的?zk的快速选举leader原理?zk的典型应用场景zk中一个客户端修改了数据之后,其他客户端能够马上获取到最新的数据吗?zk对事物的支持? 1. zk的数据同步原理? zk的数据同步过程中,通过以下三个参数来选择对应的数据同步方式 peerLastZxid:Learner服务器(Follo

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

计算机网络基础概念 交换机、路由器、网关、TBOX

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么?二 、交换机三、路由器四、网关五、TBOXTelematics BOX,简称车载T-BOX,车联网系统包含四部分,主机、车载T-BOX、手机APP及后台系统。主机主要用于车内的影音娱乐,以及车辆信息显示;车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控

【Kubernetes】常见面试题汇总(三)

目录 9.简述 Kubernetes 的缺点或当前的不足之处? 10.简述 Kubernetes 相关基础概念? 9.简述 Kubernetes 的缺点或当前的不足之处? Kubernetes 当前存在的缺点(不足)如下: ① 安装过程和配置相对困难复杂; ② 管理服务相对繁琐; ③ 运行和编译需要很多时间; ④ 它比其他替代品更昂贵; ⑤ 对于简单的应用程序来说,可能不

【附答案】C/C++ 最常见50道面试题

文章目录 面试题 1:深入探讨变量的声明与定义的区别面试题 2:编写比较“零值”的`if`语句面试题 3:深入理解`sizeof`与`strlen`的差异面试题 4:解析C与C++中`static`关键字的不同用途面试题 5:比较C语言的`malloc`与C++的`new`面试题 6:实现一个“标准”的`MIN`宏面试题 7:指针是否可以是`volatile`面试题 8:探讨`a`和`&a`

Laravel 面试题

PHP模块 PHP7 和 PHP5 的区别,具体多了哪些新特性? 性能提升了两倍 结合比较运算符 (<=>) 标量类型声明 返回类型声明 try…catch 增加多条件判断,更多 Error 错误可以进行异常处理 匿名类,现在支持通过new class 来实例化一个匿名类,这可以用来替代一些“用后即焚”的完整类定义 …… 了解更多查看文章底部链接 PHP7 新特性 为什么 PHP

【吊打面试官系列-Redis面试题】说说 Redis 哈希槽的概念?

大家好,我是锋哥。今天分享关于 【说说 Redis 哈希槽的概念?】面试题,希望对大家有帮助; 说说 Redis 哈希槽的概念? Redis 集群没有使用一致性 hash,而是引入了哈希槽的概念,Redis 集群有 16384 个哈希槽,每个 key 通过 CRC16 校验后对 16384 取模来决定放置哪个槽, 集群的每个节点负责一部分 hash 槽。

【Kubernetes】常见面试题汇总(一)

目录 1.简述 etcd 及其特点? 2.简述 etcd 适应的场景? 3.简述什么是Kubernetes? 4.简述 Kubernetes和 Docker的关系? 1.简述 etcd 及其特点? (1)etcd 是Core0s 团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用的分布式键值(keyvalue)数据