【计算机网络】第一章——计算机概述(中篇)

2024-05-02 19:04

本文主要是介绍【计算机网络】第一章——计算机概述(中篇),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

个人主页:兜里有颗棉花糖
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创
收录于专栏【计算机网络】
本专栏旨在分享学习计算机网络的一点学习笔记,欢迎大家在评论区交流讨论💌

目录

  • 一、常见的计算机网络体系结构
  • 二、计算机网络体系结构分层的必要性
    • 物理层
    • 数据链路层
    • 网络层
    • 传输层
    • 应用层

一、常见的计算机网络体系结构

国际法律标准(OSI体系结构):

  • 物理层、数据链路层、网络层、运输层、会话层、表示层、运输层。

实际上的国际标准(TCP/IP协议):

  • 网络接口层、网际层、运输层、应用层。

虽然国际上定义了国际法律标准即OSI体系结构,但是真正占领市场标准的是TCP/IP协议。所以OSI标准失败原因总结如下:

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

在这里插入图片描述

注意:TCP/IP在网络层使用的协议是IP协议,而IP协议的中文名称是网际协议,因此 TCP/IP协议的网络层通常称为网际层。

用户的主机要先接入因特网的话这就要求用户的主机必须使用TCP/IP协议(即使用户不接入因特网的话也可以使用TCP/IP协议),在用户主机的操作系统中通常都带有TCP/IP体系结构标准的TCP/IP协议族;而用于网络互连的路由器中也带有TCP/IP体系结构标准的TCP/IP协议族(只不过路由器一般只包含网络接口层和网际层,TCP/IP体系结构的网络接口层并没有规定什么具体的内容目的就是可以互连全世界不同的网络接口,比如有线的以太网接口和无线局域网的WIFI接口,而不限定仅使用一种或几种网络接口)。
所以本质上TCP/IP体系结构只有如下三层:应用层(包含各种应用层协议,比如HTTP协议等等)、传输层(TCP和UDP是该层的两个重要协议)、网际层(IP协议是网际层的核心协议)。

  • IP协议可以将不同的网络接口进行互连,并向上层的TCP协议和UDP协议提供网络互连服务。
  • TCP协议在享受IP协议提供的网络互连服务的基础上可向其上层即应用层的相应协议提供可靠传输的服务。而UDP协议在享受IP协议提供的网络互连服务的基础上可向其上层即应用层的相应协议提供不可靠传输的服务

IP协议作为TCP/IP体系中的核心协议,一方面负责互连不同的网络接口(IP over everything),另一方面为各种网络应用提供服务(Everything over IP)。
在TCP/IP体系结构中包含有大量的协议,而最重要的两个协议就是IP协议和TCP协议,所以用TCP协议和IP协议来表示整个协议大家族。常称为TCP/IP协议族。
在这里插入图片描述

由于TCP/IP体系结构为了将不同的网络接口进行互连,所以网络接口层并没有规定什么内容,但是为了学习计算机网络相对比较完整的内容的话,所以学习计算机原理往往采取折中的办法,即综合OSI和TCP/IP的优点,采用一种五层协议的原理体系结构:物理层、数据链路层、网络层、运输层、应用层。
在这里插入图片描述

二、计算机网络体系结构分层的必要性

在这里插入图片描述

物理层

先来看一个简单的情况:两台计算机通过一条网线连接起来。
在这里插入图片描述
解决了上述问题之后,两台主机就可以通过信号传输比特0和1了。
实用的计算机网络一般都有多台主机构成。

物理层要解决的是使用何种信号来传输比特的问题。

数据链路层

主机A、B、C、D、E通过总线互连构成了一个总线型网络:在这里插入图片描述
假设主机间已经解决了物理层的问题(即主机间可以发送信号来传输比特0和1),现通过举例来说明在这样的一个总线型网络上还需要解决哪些问题:

如图主机A要给主机C发送数据,但是数据的信号要通过总线传播到总线上的每一个主机:现在就面临的一个问题,即主机C该如何知道该信号是否是发给自己的,自己是否要接收该信号;而主机B、D、E又如何知道该数据并不是发送给自己的,自己是否应该拒绝该数据呢。在这里插入图片描述
所以,上述就引出了①如何表示网络中各主机的问题(主机编址问题,例如MAC地址),主机在发送数据时应该给主机附加上目的地址,当其它主机收到数据后应该根据自身地址和目的地址来决定是否接收数据。
由此又会引出出一个新问题,即②目的主机如何从一连串比特流中区分出地址和数据(即要解决分组的封装格式问题)
另外,如果主机B和主机D同时发送数据的话就会造成信号碰撞(因为使用的是同一条总线)的问题,这里引发的问题就是③如何协调各主机争用总线

我们将总线型网络引出的三个问题全部规划到数据链路层,综上我们可以发现如果解决了物理层和数据链路层各自面临的问题,我们就可以解决分组在一个网络上传输了。但是我们每天使用的因特网使用的因特网是由非常多的网络和路由器互连起来的,仅解决物理层和数据链路层的问题依然是不能正常工作的。

数据链路层要解决的问题就是解决分组如何在一个网络(或一段链路)中传输。

这里要说明一下,上面的总线型网络已经淘汰了,如今使用的是使用以太网交换机将多台主机互连形成的交换式以太网
在这里插入图片描述
那么以太网交换机又是如何实现将多台主机进行互连的呢?。

网络层

这是一个由3个路由器和4个网络互连起来的小型互联网(将其看作是因特网中很小的一部分)。在这里插入图片描述
在本例中,存在多个网络,所以面临着如何标识各个网络以及网络中各主机的问题。(即网络和主机共同编址的问题
在这里插入图片描述

  • 上图中,网络N1的网络号为192,168,1,该网络上的笔记本电脑、服务器以及路由器接口的IP地址的前三个数都应该是192,168,1。因为它们都在网络N1上。而第四个十进制数分别为1,2,254各不相同,用于标识它们自己。网络N2的各设备的IP地址同理。

现在来看另一个问题:分组从源主机到目的主机可走不同的路径。 由此引发了路由器如何转发分组以及如何进行路由选择的问题

在这里插入图片描述
我们将上图中的问题全部划归到网络层。至此解决了物理层、数据链路层、网络层的问题之后可以实现分组在网络间传输的问题,但是对于计算机网络应用而言仍然是不够的。

网络层要面临的问题就是解决分组在多个网络上传输(路由)的问题

我们接着往下看下个例子。

传输层

实现了分组在网络间传输的问题之后,我们来看这样的例子:

在这里插入图片描述
主机中运行着两个与网络通信相关的应用进程(浏览器和qq进程)。N1网络中的服务器运行着与网络通信相关的服务器进程。
某个时刻,主机受到了来自服务器的分组,这些分组应该交给浏览器进程处理还是交给qq进程进行处理呢?由此引出一个问题即如何解决进程间基于网络的通信问题。
另外,如果某个路由器在传输过程中出现了误码或者由于路由器繁忙导致路由器丢弃分组。即引发的问题就是如果出现传输错误,则应如何处理

在这里插入图片描述
将图中的问题划归到运输层。
至此解决了物理层、数据链路层、网络成、运输层各自的问题之后可以实现进程间基于网络进行通信。

传输层面临的问题就是解决进程之间基于网络的通信问题。

应用层

在此基础上,只需要制定各种应用层协议并按协议标准编写相应的应用程序,通过应用进程的交互来完成特定的网络应用。例如:支持万维网应用的HTTP协议、支持电子邮件的SMTP协议、支持文件传送的FTP协议等。将上述的问题划归到应用层。
在这里插入图片描述

应用层要解决的问题就是解决通过应用进程的交互来实现特定网络应用的问题。

现在我们将实现计算机网络所需要解决的各种主要问题划分到了物理层、数据链路层、网络层、传输层、应用层。进而构成了五层协议的原理体系结构。

在这里插入图片描述

以上就是本文中计算机网络进行分层的重要性。

本文到这里就结束了,希望友友们可以支持一下一键三连哈。嗯,就到这里吧,再见啦!!!

在这里插入图片描述

这篇关于【计算机网络】第一章——计算机概述(中篇)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

Java 多线程概述

多线程技术概述   1.线程与进程 进程:内存中运行的应用程序,每个进程都拥有一个独立的内存空间。线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换、并发执行,一个进程最少有一个线程,线程实际数是在进程基础之上的进一步划分,一个进程启动之后,进程之中的若干执行路径又可以划分成若干个线程 2.线程的调度 分时调度:所有线程轮流使用CPU的使用权,平均分配时间抢占式调度

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

计算机网络基础概念 交换机、路由器、网关、TBOX

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、VLAN是什么?二 、交换机三、路由器四、网关五、TBOXTelematics BOX,简称车载T-BOX,车联网系统包含四部分,主机、车载T-BOX、手机APP及后台系统。主机主要用于车内的影音娱乐,以及车辆信息显示;车载T-BOX主要用于和后台系统/手机APP通信,实现手机APP的车辆信息显示与控

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

java集合的概述

集合就是一个容器,我们可以把多个对象放入的容器中。就像水杯(假设容量可以不断扩大)一样,你可以往水杯中不断地添加水,既然是水杯,你就不能往里添加沙子,也就是说集合中添加的对象必须是同一个类型的(引用类型,而不能是基本类型)。 看到集合的介绍会让我们的想起数组,那么集合和数组有什么区别呢? 首先,数组的大小是固定的,而集合理论上大小是不限的。 其次,数组既可以存储基本数据类型的数据,也可以存储