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

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

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

OSI 七层模型

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

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

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

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

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

层(从底层到顶层) 数据单元 作用 可能会出现的问题
物理层 比特 通过网线、电缆等方式将设备物理连接 电缆失效(电线损坏、连接器村换等) 网络硬件设备故障(电路损坏)
数据链路层 ,包括帧头(源节点和目的节点的 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 七层模型的简化

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

五层网络模型

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

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

REFERENCES

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

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

相关推荐
魏大帅。2 分钟前
Axios 的 responseType 属性详解及 Blob 与 ArrayBuffer 解析
前端·javascript·ajax
花花鱼8 分钟前
vue3 基于element-plus进行的一个可拖动改变导航与内容区域大小的简单方法
前端·javascript·elementui
k093312 分钟前
sourceTree回滚版本到某次提交
开发语言·前端·javascript
EricWang135833 分钟前
[OS] 项目三-2-proc.c: exit(int status)
服务器·c语言·前端
September_ning33 分钟前
React.lazy() 懒加载
前端·react.js·前端框架
web行路人43 分钟前
React中类组件和函数组件的理解和区别
前端·javascript·react.js·前端框架
超雄代码狂1 小时前
ajax关于axios库的运用小案例
前端·javascript·ajax
长弓三石1 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
小马哥编程1 小时前
【前端基础】CSS基础
前端·css
xianwu5431 小时前
反向代理模块
linux·开发语言·网络·git