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

发布于:2024-05-02 ⋅ 阅读:(34) ⋅ 点赞:(0)

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

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

国际法律标准(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协议等。将上述的问题划归到应用层。
在这里插入图片描述

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

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

在这里插入图片描述

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

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

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到