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

相关文章

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

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

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

Python中使用正则表达式精准匹配IP地址的案例

《Python中使用正则表达式精准匹配IP地址的案例》Python的正则表达式(re模块)是完成这个任务的利器,但你知道怎么写才能准确匹配各种合法的IP地址吗,今天我们就来详细探讨这个问题,感兴趣的朋... 目录为什么需要IP正则表达式?IP地址的基本结构基础正则表达式写法精确匹配0-255的数字验证IP地

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI