【Linux面经】OSI七层模型和TCP/IP四层体系结构

OSI七层模型

  1. 模型结构

    • 七层名称及顺序:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。面试官可能会直接让你写出这七层的名称和顺序,或者问到"OSI模型中,传输层上面一层是什么"等问题。

    • 各层功能

      • 物理层:负责在物理媒体上传输原始的比特流。例如,面试官可能会问"物理层的主要职责是什么",答案是传输原始比特流,包括定义物理接口的电气特性、机械特性等。

      • 数据链路层:将物理层传来的比特流组装成数据帧,提供可靠的数据传输服务。可能会问到"数据链路层如何实现可靠传输",答案是通过差错控制(如循环冗余校验CRC)和流量控制(如滑动窗口机制)等技术。

      • 网络层:负责将数据包从源主机传输到目的主机。常见的问题有"网络层的主要功能是什么",答案是路由选择和转发数据包,以及提供逻辑地址(如IP地址)。

      • 传输层:提供端到端的可靠或不可靠通信服务。例如,面试官可能会问"TCP和UDP分别属于哪一层",答案是传输层。还会问到"TCP和UDP的区别",TCP是面向连接、可靠传输的,UDP是无连接、不可靠传输的。

      • 会话层:负责建立、管理和终止会话。可能会问到"会话层的作用是什么",答案是控制通信会话的建立和结束,例如通过三次握手建立TCP连接。

      • 表示层:负责数据格式的转换和加密解密等。例如,面试官可能会问"表示层的主要功能有哪些",答案是数据格式转换(如ASCII码和EBCDIC码之间的转换)、数据加密和解密等。

      • 应用层:为用户提供各种网络服务,如HTTP、FTP、SMTP等。可能会问到"常见的应用层协议有哪些",答案是HTTP、HTTPS、FTP、SMTP、POP3等。

  2. 协议与模型对应关系

    • "TCP/IP协议族中的IP协议对应OSI模型的哪一层",答案是网络层。
  3. 数据封装与解封装过程

    • 封装过程:从应用层到物理层,数据依次被封装成应用层数据单元、表示层数据单元、会话层数据单元、传输层数据单元(TCP或UDP报文)、网络层数据单元(IP数据报)、数据链路层数据单元(帧)、物理层的比特流。面试官可能会让你描述这个封装过程,或者问"在封装过程中,传输层添加了什么信息",答案是端口号,用于标识应用层的不同进程。

    • 解封装过程:从物理层到应用层,逐层去掉封装信息,最终将数据交给应用层。

TCP/IP四层体系结构

  1. 模型结构

    • 四层名称及顺序:链路层(也叫网络接口层)、网络层、传输层、应用层。面试官可能会让你写出这四层的名称和顺序。

    • 各层功能

      • 链路层:负责将网络层传来的IP数据报封装成帧,在链路上传输。可能会问到"链路层的主要功能是什么",答案是帧的封装和解封装、差错控制等。

      • 网络层:核心是IP协议,负责将IP数据报从源主机传输到目的主机。常见的问题有"IP协议的主要功能是什么",答案是提供无连接的、不可靠的传输服务,以及路由选择。

      • 传输层:主要协议是TCP和UDP。面试官可能会问"TCP和UDP的区别",TCP是面向连接、可靠传输的,提供流量控制、拥塞控制等机制;UDP是无连接、不可靠传输的,但传输速度快。

      • 应用层:提供各种网络应用服务,如HTTP、FTP、SMTP等。可能会问到"常见的应用层协议有哪些",答案是HTTP、HTTPS、FTP、SMTP、POP3等。

相关推荐
小辰记事本7 小时前
从零读懂RoCEv2数据包构造:从WQE到线缆上的完整旅程
服务器·网络·网络协议·rdma
Mahir087 小时前
Spring 循环依赖深度解密:从问题本质到三级缓存源码级解析
java·后端·spring·缓存·面试·循环依赖·三级缓存
小鹏linux8 小时前
Ubuntu 22.04 部署开源免费具有精美现代web页面的Casdoor账号管理系统
linux·前端·ubuntu·开源·堡垒机
北京耐用通信8 小时前
全域适配工业场景耐达讯自动化Modbus TCP 转 PROFIBUS 网关轻松实现以太网与现场总线互通
网络·人工智能·网络协议·自动化·信息与通信
在角落发呆8 小时前
Linux转发配置:解锁网络互联的核心密码
linux·运维·网络
齐潇宇9 小时前
Zabbix 7 概述与配置
linux·zabbix·监控告警
绝知此事9 小时前
【算法突围 01】线性结构与哈希表:后端开发的收纳术
java·数据结构·算法·面试·jdk·散列表
江公望10 小时前
Ubuntu htop命令,10分钟讲清楚
linux·服务器
哎呦,帅小伙哦10 小时前
Linux 时间:从原子钟到 clock_gettime 的每一面
linux·运维·服务器
张小姐的猫11 小时前
【Linux】多线程 —— 线程互斥
linux·运维·服务器·c++