计算机网络体系结构

计算机网络体系结构

常用的网络体系结构

OSI体系结构

为了使不同体系结构的计算机网络都能互连,国际标准化组织于1977年成立了专门机构研究该问题,不就他们就提出了一个试图使各种计算机在世界范围内互连成网的标准框架,也就是著名的开放系统互连参考模型,简称OSI,该模型是一个七层协议的体系结构

在这里插入图片描述

TCP/IP体系结构

到了20世纪90年代初期,虽然整套的OSI国际标准都已经制定出来了,但这时因特网已抢先在全世界覆盖相当大的范围。因特网从1983年开始使用TCP/IP协议族,并逐步演变为TCP/IP参考模型,该模型是一个四层协议的体系结构
在这里插入图片描述

在过去,由于制定标准的组织中往往以专家、学者为主,但现在,许多公司都纷纷挤进各种各样的标准化组织,使得技术有着浓厚的商业气息。一个新标准的出现,有时不一定反映出其技术水平是最先进的,而是往往有着一定的市场背景。从某种意义上来讲,能够占领市场的就是标准。

OSI标准失败的原因

  • OSI专家缺乏实际经验,他们在完成OSI标准时没有商业驱动力
  • OSI协议实现起来过分复杂,而且运行效率很低
  • OSI标准的制定周期太长,使得按OSI标准生产的设备无法及时进入市场
  • OSI的层次划分也不太合理,有些功能在多个层次中重复出现

TCP/IP体系结构相当于讲OSI体系结构的物理层和数据链路层合并为了网络接口层,去掉了会话层和表示层,由于TCP/IP在网络层使用的协议是IP协议,IP协议的中文意思是网际协议,因此,TCP/IP体系结构的网络层常称为网际层

TCP/IP体系结构的网络接口层并没有规定什么具体内容,这样做的目的是可以互连全世界各种不同的网络接口,例如有线的以太网接口,无线局域网的WIFI接口,而不具体限定,因此,本质上TCP/IP体系结构只有上面三层
在这里插入图片描述

这些使用TCP/IP模型通信的设备中都存在TCP/IP协议族,主机中为四层模型,路由设备中为两层

  • IP协议可以将不同的网络接口进行互连,并向其上的TCP协议和UDP协议提供网络互连服务

  • TCP协议在享受IP协议提供的网络互联服务的基础上,可向应用层的相应协议提供可靠传输的服务

  • UDP协议在享受IP协议提供的网络互连服务的基础上,可向应用层的相应协议提供不可靠传输的服务

TCP/IP协议中拥有非常大量的协议,由于IP协议与TCP协议的重要性,用TCP和IP这两个协议来表示整个协议大家族,在嵌入式领域TCP/IP协议族常称为TCP/IP协议栈(与数据机构中的栈,在图形画法上是类似的)

原理体系结构

由于TCP/IP体系结构中网络接口层并没有什么明确的规定,为了方便学习,所以将网络接口层又进行了拆分,变为了五层结构-原理体系结构

在这里插入图片描述

分层的必要性

  • 计算机网络是个非常复杂的系统。早在最初的ARPANET设计时就提出了分层的设计理念

  • 分层可将庞大而复杂的问题,转换为若干较小的局部问题,而这些较小的局部问题就比较容易研究和处理

计算机网络面临的主要问题

物理层

在这里插入图片描述

  • 采用的传输介质
  • 采用的信号
  • 采用的物理接口

数据链路层
在这里插入图片描述

  • 如何标识网络中的各主机
  • 如何从信号所表示的一串比特流中区分出地址和数据
  • 如何协调各主机争用总线

网络层

在这里插入图片描述

  • 如何标识各网络以及网络中的各主机
  • 路由器如何转发分组,如何进行路由选择

传输层
在这里插入图片描述

  • 进程和进程之间如何进行网络通信
  • 传输错误时如何处理(误码、丢包…)

应用层
在这里插入图片描述

  • 按照应用层协议标准编写应用程序
问题总结

在这里插入图片描述

应用进程间基于网络的通信

在这里插入图片描述

  • 浏览器发起请求后向应用层交付HTTP报文
    在这里插入图片描述

  • 在HTTP协议基础上添加TCP头部形成 (主要用于确定目标主机端口号)

在这里插入图片描述

在这里插入图片描述

  • 在TCP协议前添加头部形成IP报文(主要用于确定目标主机地址)
    在这里插入图片描述

在这里插入图片描述

  • 为IP报文添加首部和尾部形成数据帧
    在这里插入图片描述

  • 帧首部目的是使帧能够在一段链路上传输,能够被相应的主机接受,帧尾部是使目的主机检查接收到的帧是否存在误码

在这里插入图片描述

  • 物理层将帧看为比特流,在帧首部添加前导码,作用是让目标主机做好接收帧的准备

在这里插入图片描述

  • 物理层将比特流发送到链路上

在这里插入图片描述

  • 路由器接收到比特流后开始对比特流进行解析
    在这里插入图片描述

  • 去除前导码形成数据帧

在这里插入图片描述

  • 数据帧去掉首部和尾部后形成IP报文
    在这里插入图片描述

  • 路由器提取源IP信息,进行查表重新封装IP信息,确定转发端口
    在这里插入图片描述

  • IP协议依次向下封装性能数据帧
    在这里插入图片描述

  • 形成比特流
    在这里插入图片描述

  • 目标主机接收到比特流

在这里插入图片描述

  • 物理层向上交付数据帧
    在这里插入图片描述

  • 对数据帧去掉首部尾部后形成IP协议

在这里插入图片描述

  • 去除IP协议的首部信息后形成TCP协议

在这里插入图片描述

  • 去除TCP协议的首部后应用层收到完整的HTTP报文信息

注:文章内容均来自互联网,如有侵权,请联系作者删除

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

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

相关文章

rancher + k3s + docker私有仓库搭建K8环境(百分之百成功)

1.环境准备(4台机器) 文档准备了4台虚拟机,系统是ubuntu server: ubuntu-22.04.1-live-server-amd64.iso 然后进行安装4台虚拟机,如图: 其中一台用于rancher、其余三台跑K8,一台master,两台工作…

代谢组学市场分析,制药及生物制药行业正在推动全球代谢组学产业的发展

代谢组学是对某一生物或细胞所有小分子量代谢产物进行定性和定量分析的一门新兴学科,其揭示的小分子代谢产物变化是机体内基因、蛋白质/酶等功能变化的一系列事件的最终结果,直接反映了生物体系的最终状态,可以反映机体特定病理生理状态下整体…

面试热题(反转链表)

给你单链表的头指针 head 和两个整数 left 和 right &#xff0c;其中 left < right 。请你反转从位置 left 到位置 right 的链表节点&#xff0c;返回 反转后的链表 。 链表的题&#xff0c;大部分都可以用指针或者递归可以做&#xff0c;指针如果做不出来的话&#xff0c;…

JMeter 查看 TPS 数据,详细指南

TPS 是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时&#xff0c;收到服务器响应后结束计时&#xff0c;以此来计算使用的时间和完成的事务个数。在 JMeter 中&#xff0c;我们可以使用以下方法查看 T…

【腾讯云Cloud Studio实战训练营】React 快速构建点餐页面

前言&#xff1a; Cloud Studio是一个在线的云集成开发环境&#xff08;IDE&#xff09;&#xff0c;可以让开发人员在浏览器中轻松地开发、测试、调试和部署应用程序。它提供了基于云的计算资源和工具&#xff0c;例如代码编辑器、编译器、调试器、版本控制系统和项目管理工具…

最大子数组和【力扣53】

一、解题思路 Max[i]表示&#xff1a;以nums[i]为开头的所有连续子数组和的最大值。 由此可以推出Max[i-1]和Max[i]的关系&#xff1a; 若Max[i]>0&#xff1a;Max[i-1]nums[i-1]Max[i]&#xff1b; 否则&#xff1a;Max[i-1]nums[i-1]&#xff1b; 则ansMAX&#xff0…

SAP从入门到放弃系列之BOM行项目-虚拟装配-Part4

文章目录 虚拟组件&#xff08;Phantom assemblies&#xff09;&#xff1a;作用&#xff1a;BOM中虚拟件维护的方式&#xff1a;物料主数据维度BOM组件维度&#xff08;数据优先级最高&#xff09;BOM组件的展开类型&#xff1a;BOM组件的特殊采购类 数据测试示例&#xff1a;…

flutter 初识(开发体验,优缺点)

前言 最近有个跨平台桌面应用的需求&#xff0c;需要支持 windows/linux/mac 系统&#xff0c;要做个更新应用的小界面&#xff0c;主要功能就是下载更新文件并在本地进行替换&#xff0c;很简单的小功能。 花了几分钟构建没做 UI 优化的示例界面&#xff1a; 由于我们的客…

设计模式篇

工厂方法模式 简单工厂模式 工厂方法模式 抽象工厂模式 策略模式 责任链模式

【面试八股文】每日一题:谈谈你对异常的理解

每日一题-Java核心-谈谈你对异常的理解【面试八股文】 异常是程序在运行过程中出现的错误或不正常的情况。当程序执行过程中遇到无法处理的错误或者不符合预期的情况&#xff0c;就会抛出异常。异常可以分为两种类型&#xff1a;受检异常和非受检异常。 受检异常是指在程序编译…

【LeetCode】买卖股票的最佳时机含冷冻期

买卖股票的最佳时机含冷冻期 题目描述算法分析程序设计 链接: 买卖股票的最佳时机含冷冻期 题目描述 算法分析 程序设计 class Solution { public:int maxProfit(vector<int>& prices) {int n prices.size();//天数vector<vector<int>> dp(n,vector&l…

创新不辍,再结硕果 | 蓝奥声“无线联动监控技术”

随着无线电通信技术的迅速发展&#xff0c;无线远程监控系统也得到了技术上的更新&#xff0c;它将嵌入式产品与现代无线通信技术相结合&#xff0c;共同构成了一种新型的监测控制系统。物联网及其相关无线联动通信技术是智能科技快速发展的重要支撑技术之一&#xff0c;由此带…

gin的占位符:和通配符*

1、用法 在 Gin 路由中&#xff0c;可以使用一个通配符&#xff08;*&#xff09;或一个占位符&#xff08;:&#xff09;来捕获 URL 的一部分。 r.GET("/royal/:id", func(c *gin.Context) {id : c.Param("id")//fmt.Println("into :id")c.Str…

企业产品手册5大核心功能,附产品手册在线制作工具Baklib

企业产品手册的5大核心功能 企业产品手册是企业向用户传达产品信息、功能和使用方法的重要工具。下面将介绍企业产品手册的五个核心功能。 1. 产品介绍和特点展示 产品手册的首要功能是介绍和展示企业的产品。它应该提供清晰、详细的产品信息&#xff0c;包括产品的特点、优势…

关于接口测试用例设计的一些思考

接口测试发现的典型问题 传入参数处理不当&#xff0c;引起程序错误类型溢出&#xff0c;导致数据读取和写入不一致对象权限校验出错&#xff0c;可获取其他角色信息状态出错&#xff0c;导致逻辑处理出现问题逻辑校验不完善定时任务执行出错 接口测试用例设计 接口测试用例…

【MongoDB】索引

目录 一、概述 二、索引的类型 1、单字段索引 2、复合索引 3、其他索引 三、索引的管理 1、索引的创建 2、索引的查看 3、索引的删除 四、索引的使用 1、执行计划 2、涵盖的查询 一、概述 索引支持在MongoDB中高效地执行查询。如果没有索引&#xff0c;MongoDB必须…

爬虫与搜索引擎优化:通过Python爬虫提升网站搜索排名

作为一名专业的爬虫程序员&#xff0c;我深知网站的搜索排名对于业务的重要性。在如今竞争激烈的网络世界中&#xff0c;如何让自己的网站在搜索引擎结果中脱颖而出&#xff0c;成为关键。今天&#xff0c;和大家分享一些关于如何通过Python爬虫来提升网站的搜索排名的技巧和实…

了解Swarm 集群管理

Swarm 集群管理 简介 Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API&#xff0c;所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。 支持的工具包括但不限…

(学习笔记-进程管理)多线程冲突如何解决

对于共享资源&#xff0c;如果没有上锁&#xff0c;在多线程的环境里&#xff0c;很有可能发生翻车。 竞争与合作 在单核 CPU 系统里&#xff0c;为了实现多个程序同时运行的假象&#xff0c;操作系统通常以时间片调度的方式&#xff0c;让每个进程每次执行一个时间片&#xf…