OSI模型与TCP/IP协议族

news/2024/4/25 8:21:47/文章来源:https://blog.csdn.net/qq_36824130/article/details/128069188

这里写目录标题

  • 什么是网络模型
    • 网络协议
    • 什么是网络模型
  • OSI模型
    • 什么是OSI模型
    • 第7层:应用层
      • 应用层的功能
    • 第6层:表示层
      • 表示层的功能
    • 第5层:会话层
      • 会话层的功能
    • 上3层
    • 第4层:传输层
      • 传输层的功能
    • 第3层:网络层
      • 网络层的功能
    • 第2层:数据链路层
      • 数据链路层的功能
    • 第1层:物理层
      • 物理层的功能
  • 协议数据单元

什么是网络模型

网络模型主要有OSI模型(OSI model)和TCP/IP协议族(TCP/IP suite)。网络的存在就是为了让不同国家、不同厂商的设备可以通信,网络模型可以将通信标准化。

网络协议

网络协议是一些列规则,它们定义了网络设备或者相关软件应该如何工作。这些规则是指设备/软件之间通信时应遵循的逻辑规则,而非物理层面的标准。

什么是网络模型

网络模型对网络协议或者标准进行分类,并将每一类命名为一层,将各层次堆叠为一个层次模型结构。

OSI模型

OSI模型是网络通信标准化的一次重大尝试,虽然今天已经不再使用此模型,但是它仍深刻地影响了网络工程师思考网络。

什么是OSI模型

OSI(Open Systems Interconnection)模型是一个开放(open)的标准,而非某一独立厂家开发使用的私有模型,它是由ISO(International Organization for Standardization)创建。OSI模型将网络的功能进行分类并标准化,它一共将网络功能分为7层(Layers),

  • 第7层:应用层(Application)
  • 第6层:表示层(Presentation)
  • 第5层:会话层(Session)
  • 第4层:传输层(Transport)
  • 第3层:网络层(Network)
  • 第2层:数据链路层(Data Link)
  • 第1层:物理层(Physical)

7层一起工作使得网络可以正常运行。接下来,自顶向下的看看每一层具体的作用与能力。

第7层:应用层

第7层——应用层是距离用户最近的层。应用层与应用软件交互,这些应用软件是有通信组件的,比如网页浏览器:Brave、Firefox、Chrome等。
HTTP和HTTPS是第七层具有代表性的协议。例如:https://www.cisco.com就是使用HTTPS协议获取思科网页并在浏览器中查看网页。
第7层并不包含应用程序(Chrome、Firefox)本身,而是包含与应用程序交互的协议(HTTP、HTTPS)。

应用层的功能

应用层的同层交互可以执行以下功能:

  • 识别通信伙伴
  • 同步通信

注意:所谓功能是指同层交互(same-layer interaction)时的能力。同层交互是指两个不同系统(主机)的同一层通信。数据的传输过程是

  1. 发送端上三层处理通信内容(数据)
  2. 发送端自顶(传输层)向下至数据链路层,每一层通过添加额外信息封装数据
  3. 到达发送端最底层——物理层时,作为电信号发送到接收端
  4. 接收端自底(数据链路层)向上至传输层每一层通过移除额外信息将数据去封装
  5. 接收端上三层处理通信内容(数据)

1和3的过程叫做层间交互(adjacent-layer interaction)。

第6层:表示层

应用层中的数据是符合应用格式(application formats)的,应用层是这能应用软件才能理解的格式,如果想在网络上传输数据,应用格式需要先翻译为可以在网络上传输的格式,因此第6层——表示层的工作就是在应用格式和网络格式(network formats)之间互相翻译。

表示层的功能

  • 翻译数据使之符合恰当的格式

表示层可以将符合应用格式的数据翻译为网络格式,使得数据可以在网络上进行传输;表示层可以将符合网络格式的数据翻译为应用格式,使得应用软件可以理解网络上的数据。
举个例子,在发送数据时对其进行加密,为了只有符合我们期望的接收方可以读取它,当然,在接收到它时进行解密。
表示层也可以在不同的应用格式之间翻译数据,以确保接收方可以理解该数据。

第5层:会话层

会话层控制两个建立连接的主机之间的会话(dialogues/sessions)状态。控制方式有建立、管理、终止。

会话层的功能

  • 建立、管理、终止本地应用(如网页浏览器)和远程应用(如Youtube)之间的连接。

每时每刻都有不计其数的用户使用Youtube服务器,所以必须有一种方式来管理这些会话,即会话层。

上3层

知晓上三层(应用层、表示层、会话层)是必要的,但是实际上网络工程师在工作中并不会接触上三层。应用开发工程师会更多的与上三层打交道,通过上三层应用开发工程师可以将应用与网络连接。上三层处理好的数据传送到第4层,实际上做的就是在网络上发送数据的工作。

第4层:传输层

上三层处理好的数据传送到第4层后,第4层会在数据前加一个头。注意此过程中产生的这个数据单元加上第4层头(Layer 4 header)被称为数据段(segment)。
segment = data + L4 header
如果即将发送的数据足够大,数据会被分割为更小的数据,每个小数据都有一个第4层头,即数据会被分割为更小的数据段。

传输层的功能

  • 分割和重组终端主机之间的通信数据
  • 提供端到端 end-to-end(主机到主机 host-to-host )之间的通信,也为应用软件提供进程到进程 process-to-process 之间的通信

传输层将大块数据分成更小的段,这些段可以很容易地通过网络发送,并且即使发生错误,也不容易导致传输问题。举个例子,你准备观看一个视频,如果不分割数据,当发生错误导致视频无法到达你的电脑,那么你将完全无法观看这个视频;然而,如果数据被分割为很小的数据段,那么只有发生错误的那个数据段无法到达你的电脑,视频可能会跳过一秒钟,但随后会继续播放。

第3层:网络层

上三层以及传输层处理好的数据传送到第3层后,第3层会在数据前加一个头。注意此过程中产生的这个数据单元加上第3层头(Layer 3 header)被称为分组(packet)。
packet = segment + L3 header
packet = (data + L4 header) + L3 header

网络层的功能

  • 提供在不同网络上的主机的连通性
  • 提供逻辑地址
  • 提供源到目标之间的路径选择

网络层可以帮助局域网(LAN)之外的主机实现通信;网络层也提供逻辑地址,也就是所谓的IP地址,IP地址包含在第3层头中;在大型网络中,尤其是互联网,源和目标之间通常有多个可能的路径,网络层提供可以找到最优路径的方法。路由器就是工作在第三层,这也是为什么路由器可以使主机与局域网外的主机通信的原因。

第2层:数据链路层

上三层、传输层以及网络层处理好的数据传送到第2层后,第2层会在数据前加一个头、在数据后加一个尾。注意此过程中产生的这个数据单元加上第2层头(Layer 2 header)和第2层尾(Layer2 trailer)被称为数据帧(frame)。
frame = L2 trailer + packet + L2 header
frame = L2 trailer + (segment + L3 header) + L2 header
frame = L2 trailer + ((data + L4 header) + L3 header) + L2 header

数据链路层的功能

  • 提供节点到节点 node-to-node的连通性
  • 数据传输
  • 格式化数据使得数据可以通过物理介质传输
  • 检测并(可能)纠正物理层错误
  • 提供第2层地址

数据链路层提供节点到节点的连通性和数据传输能力,所谓节点到节点就是指PC到交换机、交换机到路由器、路由器到路由器;因为数据链路层临近物理层,所以它也要定义数据应以何种格式在物理介质上进行传输,而且数据链路层还具备检测并(可能)纠正物理层错误的能力;数据链路层还提供一种第2层所使用的地址,它是与第3层地址(即IP地址)不同的另一套系统。交换机就是工作在第2层,交换机可以查看目标的第 2 层地址以确定将数据发送到何处。

第1层:物理层

数据帧到达物理层后,不会再进一步封装,而是通过连接(connection)将帧发送到相邻系统(neighboring system),连接可能是有线电信号或者无线信号(在 wifi 的情况下)。

物理层的功能

  • 定义用于在设备之间传输数据的介质的物理特性
  • 将数字比特转换为电信号或无线电信号

物理层定义了用于在设备之间传输数据的介质的物理特性,比如:电压等级、最大传输距离、物理连接器、电缆规格等;物理层还会将数字比特转换为电信号(有线连接)或无线电信号(无线连接),使其可以在线缆或物理空间上进行传输。

协议数据单元

协议数据单元(Protocol Data Units)简称PDU,即每一层所使用的数据都对应一个特定的术语。

OSI 模型层PDU
上三层数据 Data
传输层数据段 Segment
网络层分组 Packet
数据链路层数据帧 Frame
物理层比特 Bit

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

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

相关文章

嵌入式 C语言/C++ 常见笔试、面试题 难疑点汇总(经典100道)

#pragma comment。将一个注释记录放置到对象文件或可执行文件中。 #pragma pack。用来改变编译器的字节对齐方式。 #pragma code_seg。它能够设置程序中的函数在obj文件中所在的代码段。如果未指定参数,函数将放置在默认代码段.text中 #pragma once。保证所在文件只…

MySQL软件常见操作

1登录MySQL 登录,如果你配置了环境变量就可以winr,在运行框输入cmd,输入登录命令 第一种:直接输入密码 mysql -uroot -p(你的密码没有有括号) 第二种不直接输入密码 mysql -uroot -p 前面两种都是localhost登录 下面是完整版 m…

slam定位学习笔记(七)-g2o学习

主要学习的是这篇文章,但大佬并没有在文章里面仔细的讲g2o,所以我在网上找了这几篇介绍g2o的文章,讲的十分详细,对入门十分友好:文章一、文章二、文章三,这三篇都是一个作者写的,主要是针对编程…

MATLAB数据导入

MATLAB数据导入 在编写一个程序时,经常需要从外部读入数据。MATLAB使用多种格式打开数据。本章将要介绍MATLAB中数据的导入。 MATLAB中导入数据的方式有两种,分别是在命令行通过代码把数据导进去和通过MATLAB的数据导入向导导入数据。本节将为大家介绍第…

广播实现强制下线功能

实现强制下线功能 强制下线应该是一个比较常用的功能,比如QQ在比的地方被登陆了,就会强制比被挤下线.强制下线的功能还是比较简单的,只需要在界面上弹出一个框,告知用户无法再进行任何操作即可.只能点击确定然后跳转至登录界面.强制下线功能需要关闭所有的Activity,然后返回到…

微服务框架 SpringCloud微服务架构 4 Ribbon 4.3 饥饿加载

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构4 Ribbon4.3 饥饿加载4.3.1 饥饿加载4.3.2 总结4 Ribbon 4.3 饥饿加载 4…

【毕业设计】深度学习车辆颜色识别检测系统 - python opencv YOLOv5

文章目录1 前言2 实现效果3 CNN卷积神经网络4 Yolov55 数据集处理及模型训练6 最后1 前言 🔥 Hi,大家好,这里是丹成学长的毕设系列文章! 🔥 对毕设有任何疑问都可以问学长哦! 这两年开始,各个学校对毕设…

ATJ2157ATJ2127音乐按文件名拼音排序---标案是按内码进行排序

音乐按文件名拼音进行排序参考网站ATJ2157&ATJ2127 排序是按照内码(汉字为GBK即GBK936)排序的按拼音排序unicode与拼音的对比表(U2P.DAT),需要打包到固件中U2P.DAT数据结构U2P.DAT生成代码是使用DEV-C生成其他说明U2P.DAT与ATJ2127平台代码参考网站 各种字符对…

activiti-api

activiti-api目录概述需求:设计思路实现思路分析1.VariableEvent2.EmptyResult3.BPMNElement4.BPMNError5.ConnectorAbstractSecurityManager参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy&…

Mac下安装Hadoop

1、引言 如果想在Mac下安装Hadoop而且让Hadoop能正常运行,那安装之前需要先安装java,在Mac环境下安装Hadoop。 2、配置ssh环境 在Mac下如果想使用Hadoop,必须要配置ssh环境, 如果不执行这一步,后面启动hadoop时会出现…

PyCharm+PyQT5之三界面与逻辑的分离

之二的例程已经实现了界面与逻辑的分离,所建立的 Dialog Mainwindow 或者 widgets 等,界面改变其主调程序(暂且这样叫)更改,或者不需要大规模更改, 主调函数的程序是这样的 import sys import FistUI from PyQt5.QtWidgets import QApplication, QMainWindow,QDialog if __nam…

解决 Android WebView 多进程导致App崩溃

应用场景 应用内有两个位置用到WebView加载页面,具体处理逻辑不能通用。分别扩展了WebView了。应用内独立页面使用Fragment来展示,(采用单Activity架构)。应用提供切换语言功能。 问题猜想 一、WebView内核bug 具体路径: 进入app–>设…

cmake使用

1. cmake概述及例子 CMake快速入门 cmake、qmake、cl之间关系 1.1 各种cmake cmake根据CMakeLists.txt生成makefile,make根据makefile行编译。 1.1.1 最简cmake:生成可执行程序(一个文件) #CMakeLists.txt cmake_minimum_req…

debug - JLX12864C(ST7920-12864)液晶屏不能使用串行通讯的原因

文章目录debug - JLX12864C(ST7920-12864)液晶屏不能使用串行通讯的原因概述调试备注ENDdebug - JLX12864C(ST7920-12864)液晶屏不能使用串行通讯的原因 概述 正在给板子写出厂测试程序, 买的12864型号是JLX12864C. STC官方给的例程是并行通讯, 好使. 但是想在测试程序中改为…

[附源码]计算机毕业设计springboot基于Java的日用品在线电商平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

mybatis的xml中<trim>标签的用法

文章目录1. 前言2. 先说结论3. 验证1. 情况一2. 情况二3. 情况三4. 情况四5. 验证prefixOverrides去掉的是trim内原sql内容1. 前言 在工作中离不开跟数据库打交道,目前流行的固然是mybatis,在xml中写sql的时候,可能会出现下面情况&#xff1a…

CAS:1516551-46-4,BCN-琥珀酰亚胺酯,BCN-NHS点击试剂供应

一:产品描述 1、名称: BCN-NHS BCN-活性酯 BCN-NHS 酯 丙烷环辛炔-活性酯 BCN-琥珀酰亚胺酯 BCN-succinimidylester 2、CAS编号:1516551-46-4 3、质量控制:95% 4、分子量:291.30 5、分子式:C15H…

Windows本地安装Redis且设置服务自启

redis中文网:http://redis.cn/ 如果是安装Windows版的redis需要去GitHub上下载安装包 如果是在Linux上安装,可以直接使用命令进行安装 本次教程是基于Windows系统进行的 GitHub地址:https://github.com/microsoftarchive/redis 选择需要下…

基于神经网络彩色图像插值研究-附Matlab程序

⭕⭕ 目 录 ⭕⭕✳️ 一、引言✳️ 二、色彩过滤阵列CFA✳️ 三、BP网络结构✳️ 四、神经网络彩色图像插值实验验证✳️ 五、参考文献✳️ 六、Matlab程序获取与验证✳️ 一、引言 彩色图像插值是通过估算相邻像素来估计缺失的颜色分量的过程,数字相机通过色彩过滤…

[附源码]Python计算机毕业设计Django大学生创新项目管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…