【网络】- 计算机网络体系结构 - OSI七层模型、TCP/IP四层(五层)协议

本文主要是介绍【网络】- 计算机网络体系结构 - OSI七层模型、TCP/IP四层(五层)协议,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、概述
  • 二、计算机网络体系结构的形成
    • 👉2.1 分层的网络体系结构
    • 👉2.2 OSI 参考模型
    • 👉2.3 TCP/IP - 事实的国际标准
  • 三、OSI 参考模型
  • 四、TCP/IP 协议


在这里插入图片描述

一、概述

但凡学习计算机网络知识,肯定绕不过网络协议的,而说的计算机网络协议,总是会听到OSI七层模型TCP/IP四层协议,有些文章又会说成是TCP/IP五层协议,刚入门学这些网络协议时,给我整得一愣一愣的。
这篇文章的目的就是把计算机网络体系的这几个协议给尽可能讲清楚,知道它们是怎么来的?明白为什么有时说TCP/IP四层协议,有时又说TCP/IP五层协议?各个协议包括了哪些内容?
在这里插入图片描述

在这里插入图片描述

二、计算机网络体系结构的形成

计算机网络通信很复杂,所以最开始设计时就采用了 分层的体系结构,后面为了统一网络标准而提出了 OSI参考模型 ,最后实际应用最多的是 TCP/IP 协议。

👉2.1 分层的网络体系结构

两台计算机要在网络中相互通信,需要做很多的准备工作:

  • 要确认目标计算机是否已开机且网络正常。
  • 激活通信通路,发一些指令确保对端计算机可以正确发送和接收
  • 告诉网络如何识别接收数据的计算机
  • 发送方必须清楚对方是否做好接收数据的准备
  • 若对方文件个数不兼容,需要哪一方做格式转换
  • 如果数据传输错误,有怎样可靠的方案确保对方最终能接收到正确的数据

除了以上这些,在计算机通信过程中,还有很多需要考虑的,所以,计算机通信是一个很复杂的工作。为了设计这样复杂的计算机网络,人们提出了分层的方法,把庞大而复杂的问题转化为若干个局部的小问题。

1974年,美国IBM公司宣布了 系统网络体系结构SNA,这个著名的网络标准就是按照分层的思想制定的。不久后,其他公司也相继推出不同名称的体系结构。

👉2.2 OSI 参考模型

分层的 网络体系结构 解决了计算机通信f复杂的问题,但随着更多的 网络体系结构 在市面上流行,又出现了新的问题,不同 网络体系结构 的计算机很难互相连通。

为了使不同 网络体系结构 的计算机可以互连,国际标准化组织 ISO 于1977年成立专门机构研究该问题,提出了一个试图使各种计算机在世界范围内互连成网的标准框架,即著名的开放系统互连参考基本模型OSI/RM(Opening System Interconnection Reference Model),简称 OSI 。这就是我们常听到的OSI参考模型

在1983年,形成了开放系统互连参考基本模型的正式文件,即著名的 ISO 7498 国际标准 ,也就是七层协议的体系架构。

👉2.3 TCP/IP - 事实的国际标准

在20世纪80年代,许多大公司甚至一些国家的政府机构纷纷表示支持 OSI

然而到了20世纪90年代初期,虽然整体 OSI 国际标准都已经制定出来,但由于基于 TCP/IP 互联网已抢先在全球相当大的范围成功运行了,同时却几乎找不到有什么产家生产符合 OSI 标准的商用产品。现今规模最大的、覆盖全球的、基于 TCP/IP 的互联网并未使用 OSI 标准。

现在,得到广发应用的不是法律上的国际标准OSI,而是非国际标准 TCP/IP,所以,TCP/IP 就常被称为 事实的国际标准

在这里插入图片描述

三、OSI 参考模型

虽然OSI模型并没有得到广泛地使用,但我们学习计算机网络时,还是需要了解它的。首先,借助OSI参考模型可以有助于加深对TCP/IP的理解;其次,不知道啥时候可能要用到。

  • 应用层:为应用程序提供服务并规定应用程序中通信相关的细节。 包括文件传输、 电子邮件、 远程登录(虚拟终端) 等协议。
  • 表示层:将应用处理的信息转换为适合网络传输的格式, 或将来自下一层的数据转换为上层能够处理的格式。 因此它主要负责数据格式的转换。
  • 会话层:负责建立和断开通信连接(数据流动的逻辑通路) , 以及数据的分割等数据传输相关的管
    理。
  • 传输层:起着可靠传输的作用。 只在通信双方节点上进行处理, 而无需在路由器上处理。
  • 网络层:将数据传输到目标地址。 目标地址可以是多个网络通过路由器连接而成的某一个地址。 因此这一层主要负责寻址和路由选择。
  • 数据链路层:负责物理层面上互连的、 节点之间的通信传输。 例如与1个以太网相连的2个节点之间的通信。将0、 1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收) 。
  • 物理层:负责0、 1比特流(0、 1序列) 与电压的高低、 光的闪灭之间的互换。

在这里插入图片描述

在这里插入图片描述

四、TCP/IP 协议

  • 硬件(物理层):TCP/IP的最底层是负责数据传输的硬件。 这种硬件就相当于以太网或电话线路等物理层的设备。 关于它的内容一直无法统一定义。
  • 网络接口层(数据链路层):有时人们也将网络接口层与硬件层合并起来称作网络通信层。利用以太网中的数据链路层进行通信, 因此属于接口层。
  • 互联网层(网络层):互联网层使用IP协议, 它相当于OSI模型中的第3层网络层。 IP协议基于IP地址转发分包数据。
  • 传输层:TCP/IP的传输层有两个具有代表性的协议。 该层的功能本身与OSI参考模型中的传输层类似。
  • 应用层(会话层以上的分层):TCP/IP的分层中, 将OSI参考模型中的会话层、 表示层和应用层的功能都集中到了应用程序中实现。

在这里插入图片描述


参考资料:
《计算机网络》第7版 谢希仁 编著
《计算机网络-自顶向下方法》第7版
《图解TCP/IP》第5版
在这里插入图片描述

如果文章有帮助的话,点赞👍、收藏⭐,支持一波,谢谢 😁😁😁

这篇关于【网络】- 计算机网络体系结构 - OSI七层模型、TCP/IP四层(五层)协议的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

python如何下载网络文件到本地指定文件夹

《python如何下载网络文件到本地指定文件夹》这篇文章主要为大家详细介绍了python如何实现下载网络文件到本地指定文件夹,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下...  在python中下载文件到本地指定文件夹可以通过以下步骤实现,使用requests库处理HTTP请求,并结合o

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

Linux高并发场景下的网络参数调优实战指南

《Linux高并发场景下的网络参数调优实战指南》在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃,本文基于真实案例分析,从参数解读、问题诊断到优... 目录一、问题背景:当并发连接遇上性能瓶颈1.1 案例环境1.2 初始参数分析二、深度诊断:连接状态与

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展