【网络】- 计算机网络体系结构 - 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

相关文章

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

Python实现简单封装网络请求的示例详解

《Python实现简单封装网络请求的示例详解》这篇文章主要为大家详细介绍了Python实现简单封装网络请求的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录安装依赖核心功能说明1. 类与方法概览2.NetHelper类初始化参数3.ApiResponse类属性与方法使用实

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全

Python开发简易网络服务器的示例详解(新手入门)

《Python开发简易网络服务器的示例详解(新手入门)》网络服务器是互联网基础设施的核心组件,它本质上是一个持续运行的程序,负责监听特定端口,本文将使用Python开发一个简单的网络服务器,感兴趣的小... 目录网络服务器基础概念python内置服务器模块1. HTTP服务器模块2. Socket服务器模块

Java对接MQTT协议的完整实现示例代码

《Java对接MQTT协议的完整实现示例代码》MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛,:本文主要介绍Ja... 目录前言前置依赖1. MQTT配置类代码解析1.1 MQTT客户端工厂1.2 MQTT消息订阅适配器1.

Go语言网络故障诊断与调试技巧

《Go语言网络故障诊断与调试技巧》在分布式系统和微服务架构的浪潮中,网络编程成为系统性能和可靠性的核心支柱,从高并发的API服务到实时通信应用,网络的稳定性直接影响用户体验,本文面向熟悉Go基本语法和... 目录1. 引言2. Go 语言网络编程的优势与特色2.1 简洁高效的标准库2.2 强大的并发模型2.

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp