计算机网络面经_体系结构一文说清

news2024/9/23 17:15:05

编辑:平平无奇的羊

目录

基础

1. 计算机网络结构体系

 三种模型之间的区别:

如何背诵:

进阶

OSI七层模型:

 TCP/IP四层模型:

TCP/IP五层模型

 总结


字节实习生为大家带来的是计算机网络面经系列博文,由浅入深,大家可以收藏关注!快快上车吧!

平平无奇的羊在这里祝大家,新的一年一定能够跳槽加薪!

基础

1. 计算机网络结构体系

简单来说计算机网络结构体系为三种:

分别为TCP/IP四层模型、TCP/IP五层模型、OSI七层模型

 三种模型之间的区别:

OSI七层模型:是理论上的网络通信模型,其内部结构细致,对于每个层次都介绍的非常到位

TCP/IP四层模型:是实际生活中最常用的模型,是现实上的网络通信模型

TCP/IP五层模型:属于中间值,适合理解学习

如何背诵:

 你可以想象数据就是你网购的包裹,你在平台上下单了,就是在应用层上操作了,购买了这个包裹,然后包裹通过快递快递公司派发,这就是运输层;如何准确的来到你家呢?就得靠快递公司部署路线,顺着路线来,中间可能还要有大大小小的中转站,这就是网络层,最后由快递员送到你手里,这就是物理层。

进阶

OSI七层模型:

网络的七层架构从下到上主要包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层;

  • 物理层:主要定义物理设备标准,它的主要作用是传输比特流,具体做法是在发送端将1 、0 转化为电流强弱来进行传输,在到达目的地后再将电流强弱转化为l 、0 , 也就是我们常说的模数转换与数模转换,这一层的数据叫作比特
  • 数据链路层:主要用于对数据包中的MAC 地址进行解析和封装。这一层的数据叫作数据帧。在这一层工作的设备是网卡、网桥、交换机
  • 网络层:主要用于对数据包中的 IP 地址进行封装和解析,这一层的数据叫作数据包。在这一层工作的设备有路由器、交换机等
  • 传输层:定义了传输数据的协议和端口号,主要用于数据的分段、传输和重组。在这一层工作的协议有TCP 和UDP 等。 TCP 是传输控制协议,传输效率低,可靠性强,用于传输对可靠性要求高、数据量大的数据,比如支付宝转账使用的就是 TCP; UDP 是用户数据报协议,与TCP 的特性恰恰相反,用于传输可靠性要求不高、数据量小的数据,例如抖音等视频服务就使用了UDP 
  • 会话层:在传输层的基础上建立连接和管理会话,具体包括登录验证、断点续传、数据粘包与分包等。在设备之间需要互相识别的可以是IP , 也可以是MAC 或者主机名
  • 表示层:主要对接收的数据进行解释、加密、解密、压缩、解压缩等,即把计算机能够识别的内容转换成人能够识别的内容(图片、声音、文字等)
  • 应用层:基于网络构建具体应用,例如FTP 文件上传下载服务、Telnet 服务、HTTP 服务、DNS 服务、SNMP 邮件服务等

 TCP/IP四层模型:

TCP/IP 不是指TCP 和IP 这两个协议的合称, 而是指因特网的整个TCP/IP 协议簇。

网络接口层:定义了主机间网络连通的协议,具体包括Echernet 、FDDI 、ATM 等通信协议

网络层:主要用于数据的传输、路由及地址的解析,以保障主机可以把数据发送给任何网络上的目标。数据经过网络传输,发送的顺序和到达的顺序可能发生变化。在网络层使用IP ( Internet Protocol )和地址解析协议( ARP )

传输层:使源端和目的端机器上的对等实体可以基于会话相互通信。在这一层定义了两个端到端的协议TCP 和UDP 。TCP 是面向连接的协议,提供可靠的报文传输和对上层应用的连接服务,除了基本的数据传输,它还有可靠性保证、流量控制、多路复用、优先权和安全性控制等功能。UDP 是面向无连接的不可靠传输的协议,主要用于不需要TCP 的排序和流量控制等功能的应用程序

应用层:负责具体应用层协议的定义,包括

  • Telnet( TELecommunications NETwork ,虚拟终端协议)
  • FTP (File Transfer Protocol ,文件传输协议)
  • SMTP ( Simple Mail Transfer Protoco l ,电子邮件传输协议)
  • DNS (Domain Name Serv i ce ,域名服务)
  • NNTP (Net News Transfer Protoco l ,网上新闻传输协议)
  • HTTP ( HyperText Transfer Protoco l ,超文本传输协议)

TCP/IP五层模型

  • 应用层:对应于 OSI 参考模型的(应用层、表示层、会话层)。
  • 传输层:对应 OSI 参考模型的的传输层
  • 网络层:对应 OSI 参考模型的的网络层
  • 数据链路层:对应 OSI 参考模型的的数据链路层
  • 物理层:对应 OSI 参考模型的的物理层

 总结

一图看懂所有内容

如果各位喜欢我的作品的话可以点赞支持一下,后续我会分享更多关于面经的内容,希望大家都可以面试顺顺利利! 

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

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

相关文章

【Flink集群RPC通讯机制(二)】创建AkkaRpcService、启动RPC服务、实现相互通信

文章目录 零. RpcService服务概述1. AkkaRpcService的创建和初始化2.通过AkkaRpcService初始化RpcServer3. ResourceManager中RPC服务的启动4. 实现相互通讯能力 零. RpcService服务概述 RpcService负责创建和启动Flink集群环境中RpcEndpoint组件的RpcServer,且Rpc…

SQL-Labs靶场“46-50”关通关教程

君衍. 一、四十六关 ORDER BY数字型注入1、源码分析2、rand()盲注3、if语句盲注4、时间盲注5、报错注入6、Limit注入 二、四十七关 ORDER BY单引号报错注入1、源码分析2、报错注入3、时间盲注 三、四十八关 ODRER BY数字型盲注1、源码分析2、rand()盲注3、if语句盲注4、时间盲注…

2.openEuler概述及安装指南(二)

openEuler OECA认证辅导,标红的文字为学习重点和考点。 如果需要做实验,建议下载麒麟信安、银河麒麟、统信等具有图形化的操作系统,其安装与openeuler基本一致。 1.安装过程及配置 使用光盘引导安装: 此处以光盘安装为例介绍安装…

c语言的数据结构:找环状链表入口处

一起<(&#xffe3;︶&#xffe3;)↗[GO!] 1.如何判断一个链表是否有环 思路:设定两个快慢指针fast和slow,fast每次走两个结点,slow每次走一个节点 如果fast指针遇到了Null,那么这个链表没有环,如果fast和slow可以相遇,则代表这个链表有环 代码如下 N:fast先进环,slow后…

【Azure 架构师学习笔记】- Azure Databricks (8) --UC架构简介

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (7) --Unity Catalog(UC) 基本概念和组件 前言 UC 简单来说&#xff0c;就是管理两样东西&#xff1a;用户和元存储。 用户管理 所有Databri…

从新手到高手:用NumPy学习网站打造你的数据处理超能力!

介绍&#xff1a;NumPy是一个用于数值计算的Python库&#xff0c;特别擅长处理多维数组和矩阵。以下是对NumPy的详细介绍&#xff1a; 起源和发展&#xff1a;NumPy由Travis Oliphant在2005年创建&#xff0c;它是基于原来的Numeric模块和Numarray模块发展而来的。它的大部分代…

上网行为监控软件能够看到聊天内容吗

随着信息技术的不断发展&#xff0c;上网行为监控软件在企业网络安全管理中扮演着越来越重要的角色。 这类软件主要用于监控员工的上网行为&#xff0c;以确保工作效率和网络安全。 而在这其中&#xff0c;域智盾软件作为一款知名的上网行为监控软件&#xff0c;其功能和使用…

靡语IT:JavaScript数组

目录 1.数组&#xff1a;Array 2.Array.length 3.数组的声明(创建)方法 4.数组去重 5.数组遍历 6.类数组对象 1.数组&#xff1a;Array 数组对象的作用是&#xff1a;使用单独的变量名来存储一系列的值。 参数 参数 size 是期望的数组元素个数。返回的数组&#xff0…

SpringBoot3+Vue3 基础知识(持续更新中~)

bean 把方法的返回结果注入到ioc中 1: 2: 3: 组合注解封装 实战篇&#xff1a; 解析token&#xff1a; 统一携带token&#xff1a; 驼峰命名与下划线命名转换&#xff1a; NotEmpty!!! mybatis&#xff1a; PageHelper设置后&#xff0c;会将pageNum,和pageSize自己拼接…

动态绑定样式,uniapp,用三元运算动态绑定多个class类样式,动态绑定的样式可以和原始样式共存

介绍 | uni-app官网 vue、uniapp中动态添加绑定style、class 9种方法实现_vue style动态绑定-CSDN博客 uniapp使用三元运算符动态绑定元素的style样式_uniapp style动态绑定-CSDN博客 对象写法,可以写多个class类 class类的名字&#xff1a;判断条件&#xff0c;最后结果只有…

【k8s资源调度-StatefulSet】

1、部署对象StatefulSet资源&#xff08;无状态应用&#xff09; StatefulSet针对的是有状态应用&#xff0c;有状态应用会对我们的当前pod的网络、文件系统等有关联。 2、配置文件如下 StatefulSet资源的配置文件粗略如下&#xff0c;如下的配置信息包含了数据卷&#xff0c;…

MobaXterm连接VirtualBox虚拟机

目录 1.下载MobaXterm 2.获取连接配置 3.mobaXterm连接虚拟机 4.更好的方案 1.下载MobaXterm 据说MobaXtrem是远程终端的超级全能神器,官网下载地址&#xff1a;MobaXterm free Xserver and tabbed SSH client for Windows 选择适合你的版本&#xff1a;一个是Home Editi…

【Docker】初学者 Docker 基础操作指南:从拉取镜像到运行、停止、删除容器

在现代软件开发和部署中&#xff0c;容器化技术已经成为一种常见的方式&#xff0c;它能够提供一种轻量级、可移植和可扩展的应用程序打包和部署解决方案。Docker 是目前最流行的容器化平台之一&#xff0c;它提供了一整套工具和技术&#xff0c;使得容器的创建、运行和管理变得…

实现外网手机或者电脑随时随地远程访问家里的电脑主机(linux为例)

文章目录 一、背景概要二、安装配置花生壳软件(linux版本)三、手机端(外网)验证连接四、安装ubuntu20server版系统遇到的问题记录 一、背景概要 由于经常在遇到某些问题的时候&#xff0c;针对某一个场景的理解&#xff0c;需要借助于自己的电脑去编译(aosp/linux/qemu)代码查…

【MySQL】数据类型(常见类型)-- 详解

一、数据类型分类 二、数值类型 1、tinyint 类型 在 MySQL 中&#xff0c;整型可以指定是有符号的和无符号的&#xff0c;默认是有符号的。 有符号&#xff1a; 插入数据越界测试&#xff1a; 在 MySQL 表中建立属性列时&#xff0c;我们可以发现列名称在前&#xff0c;类型在…

使用python查看官网是否发布新的内容

目录 前言 第一章、python介绍和使用pip install下载包 1.python介绍 2.使用vscode编写python 3.pip install的使用 第二章、查看官网是否发布新的内容 第三章、代码实现 目录结构 代码实现 check_new_news.py files.py news.py main.py file.txt 运行演示 前言 也…

【QT 5 +Linux下软件生成+qt软件生成使用工具+学习他人文章+第一篇:使用linuxdeployqt软件生成】

【QT 5 Linux下软件生成qt软件生成使用工具学习他人文章第一篇&#xff1a;使用linuxdeployqt软件生成】 1、前言2、实验环境3、自我学习总结-本篇总结1、新手的疑问&#xff0c;做这件事的目的2、了解工具&#xff1a;linuxdeployqt工具3、解决相关使用过程中问题 4、参照文章…

python[6]

类和对象 面向对象编程–说白就是让对象干活 创建类&#xff1a;class 类名&#xff1a; 创建类对象 对象名 类名&#xff08;&#xff09; 构造方法 1、构造方法的名称是__init__ 2、构造方法的作用&#xff1f; 构建类对象的时候会自动运行 构建类对象的传参会传递给构造…

高级RAG:揭秘PDF解析

原文地址&#xff1a;https://pub.towardsai.net/advanced-rag-02-unveiling-pdf-parsing-b84ae866344e 2024 年 2 月 3 日 附加内容&#xff1a;揭秘PDF解析&#xff1a;如何从科学pdf论文中提取公式 对于RAG&#xff0c;从文档中提取信息是一个不可避免的场景。确保从源头…

python:读 Freeplane.mm文件,使用 xml.etree 生成测试案例.csv文件

Freeplane 是一款基于 Java 开源软件&#xff0c;继承 Freemind 的思维导图工具软件&#xff0c;它扩展了知识管理功能。 读取 Freeplane.mm文件&#xff0c;使用 xml.etree 生成测试案例.csv文件 编写 fpmm_etree_csv.py 如下 #-*- coding: UTF-8 -*- """ …