计网学习笔记(第一章 概论)

菜鸟水平有限,笔记仅供参考,若有问题请大家不吝指教

1.1 Internet概览

  • 1.1.1局域网与广域网
  • 1.1.2互联网络
  • 1.2 协议分层
    • 1.2.1 场景
  • 1.2.2 TCP/IP协议簇
  • 1.2.3封装与复用

1.1.1局域网与广域网

1.1.1局域网与广域网
   Internet,Inter前缀有“互相”的意思,而Internet本质上是若干网络互相连接形成的组合。因此在第一节我们研究两个概念:网络的定义和类型,以及网络彼此连接的方式。
   计算机网络的定义:用通信线路和通信设备将分布在不同地点的多台自治计算机系统互相连接起来,按照共同的网络协议,共享硬件、软件,最终实现资源共享的系统。
计网学习笔记(第一章 概论)_第1张图片
  局域网
  局域网(local area network,LAN),是一种私有网络,仅可以被较小范围内的设备访问。在局域网中的每台主机都具有一个标识符(一个地址),用于在局域网中唯一地标识这台主机。一台主机向另一台主机发送的数据包携带了源主机与目的主机的地址,相当于写信,要写自己这封信来自哪,最终邮寄到哪个地址。
  局域网的两种连接方式
  计网学习笔记(第一章 概论)_第2张图片
计网学习笔记(第一章 概论)_第3张图片

  在过去,同一个网络中的所有主机连接到一个公共的电缆上。当一台主机往另一台主机发送一个数据包时,所有主机都会接收到这个数据包,非目标主机丢弃数据包,目标主机保存数据包。而现代的智能连接交换机能识别数据包的目的地址并引导数据包到达目的地,避免了多余的操作,减小了局域网中的流量。整个过程就像一位邮差原来只知道大概范围,不得不一家一家地敲门询问然后被拒绝。现在他得到了更加精确的寻址工具(交换机),可以直接将信件(数据包)送到目标信箱(目的主机)。
  广域网
  广域网(wide area network,WAN),也是由具有通信能力的设备相互连接形成的。我个人认为广域网与局域网的核心区别在于:局域网互联主机;广域网互联交换机,路由器等连接设备。注意:广域网的每个终端不一定都是网络,也有可能是主机计网学习笔记(第一章 概论)_第4张图片

  广域网的两种结构
计网学习笔记(第一章 概论)_第5张图片
计网学习笔记(第一章 概论)_第6张图片
叉叉为路由器,广域网与前两个局域网已经标出来,令我有点困惑的就是第三个局域网是否是右上角那个居民?

1.1.2互联网络

  在看完上面两节,你应该对于网络的基本组成部分有了了解,接下来我们将阐述网络之间的连接方式。在讲这节之前,我们需要了解一些基本的术语。
  路由器:连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备
  链路:从一个结点到相邻结点的一段物理线路,中间没有任何其他的交换结点。

  *互联网是一个交换式的网络,其中的链路通过交换机连接在一起。交换式网络有两种类型。
  电路交换网络计网学习笔记(第一章 概论)_第7张图片
  过去的电话通信通常采用电路交换网络进行连接,因此我们把计算机调换成电话。注意这种网络的特点:
  1.交换机具有转发功能但没有存储能力
  2.效率低下,很少有线路用满(即四路电话都在通话中的情况)

  分组交换网络
  分组(packet)是一种能够被存储与发送的独立数据块,两台计算机之间通信交换的是独立的数据分组。计网学习笔记(第一章 概论)_第8张图片
  看上去分组交换网络与电路交换网络最大的差别似乎就在这个路由器身上。前面我们说过路由器有“选择”的功能,而在这里路由器还有存储与转发分组队列的功能。这使得高容量线路不必准备四倍主机的容量(在这里我们假设仅有两倍主机的容量)就可以使线路正常工作。当粗线已经满负荷时,如果仍有分组到达,路由器能够存储他们并按它们到达的顺序进行转发,尽管这会产生一些延迟,但在效率上大于电路交换网络。

1.2 协议分层

  协议定义了发送者、接收者和所有中间设备为了高效通信所需要遵循的规则。当通信复杂时,我们需要将任务分层,进而协议也需要分层。
  协议分层的原则
  1、如果我们想要双向通信,那么我们需要每一层能够实现两个相反的任务,每个方向上一个。
  2、两端每一层的两个对象应该为相同类型。

1.2.1 场景

计网学习笔记(第一章 概论)_第9张图片
  为了更好的了解协议分层的原因与具体过程,我们采用这张图作为例子。如图,我们假设Maria与Ann是两位居住在不同城市的创业者,他们彼此通过写信交流。但他们为避免商业机密被人偷看而对信的内容进行了加密。图中的每一层任务我们假设Maria与Ann都有对应的机器人执行任务。换言之有3台机器人分别在每层执行任务。
  我们可以试着用一个机器人解决三个层次的任务,可是这有个显而易见的缺陷:当我们觉得这个机器人加密不好/记录邮件内容的错误太多想要更换时,我们需要丢掉整台机器,尽管这台机器的其他方面可能做的不错。而采用分层的方法就解决了这个问题。这种方法称之为模块化

  模块化:模块化用来分割,组织和打包软件。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。
  对于每个模块,我们不关心其中具体的过程,放在协议中就是我们不关心协议的具体内容,只在乎这个协议能否对输入输出做出合理的规范化。举例来说,假如Maria决定在加密后不用机器人发送邮件而是自己发送,对于Ann的第一层来说也是无伤大雅的,Ann第一层的机器人并不会觉得这有什么区别。而协议分层的原则在这里就体现为:Maria与Ann每一层(假设是第一层)的机器人既要会发送邮件也要会接收邮件;两端第一层的对象都应该是加密过的信。

1.2.2 TCP/IP协议簇

  下面让我们来了解Internet目前使用的TCP/IP协议簇
  为了展示主机如何利用协议进行通信,引入以下例子计网学习笔记(第一章 概论)_第10张图片
  如图,首先注意到对于上三层,它们的任务是端到端的,而下两层是点到点的。

点对点:基于MAC地址和或者IP地址,指一个设备发数据给与该设备直接连接的其他设备,这台设备又在合适的时候将数据传递给 与它相连的下一个设备,通过一台一台直接相连的设备把数据传递到接收端。 只提供一台机器到另一台机器之间的通信。

端到端:通信建立在点到点通信的基础之上,它是由一段段的点到点通信信道构成的,在整个数据传输过程中忽略中间又多少设备。

  换句话说,下二层的任务范围为链路,上三层的任务范围为互联网。值得注意的是当路由器仅涉及路由选择时,它不涉及传输层与应用层。这时我产生了一个问题,当路由器如1.1.2节分组交换网络中起到存储传输的作用时,它工作在传输层吗吗,下面是我查阅到的资料i,但看完仍不明所以…

路由器到底有没有运输层?如果有,似乎就和“运输层只存在与分组交换网外面的主机中”相矛盾。如果没有,那么路由选择协议 RIP 又怎样能够使用
UDP 来传送呢?
答:我们知道,主机一般都画在分组交换网(或因特网)之外。两个主机通过因特网进行通信时,需要经过一些网络和连接这些网络的路由器。因为通信的起点和终点是两个主机,所以通信路径中的所有路由器都是中间结点。不管两端的主机通信时采用何种运输协议(TCP或UDP),中间结点的责任都是根据路由表转发IP数据报,而这只是IP层的功能,用不到运输层的功能。每个路由器在收到比特流后,先按MAC帧接收,再从MAC帧中提取出IP数据报,根据IP数据报首部中的目的IP地址查找路由表,然后转发IP数据报:组装成新的MAC帧后发送出去。可见,路由器在转发分组的过程中,不需要使用运输层的任何功能。从这个意义上讲,在两个主机进行通信时,可以认为:分组交换网中的交换结点或因特网中的路由器都没有运输层。
但是,要得出路由器中的路由表则需要各路由器不断地交换路由信息。因此路由器除了转发主机通信的分组外,还有另一种通信方式:路由器和路由器的直接通信。根据路由选择协议的不同,这种通信方式使用的层次也不一样。OSPF直接利用IP数据报通信,它就在网络层。RIP使用UDP通信,而BGP使用TCP通信,可见这两种协议都在应用层。。
可见在路由器之间进行通信以获取相邻路由器的路由信息时,需要使用运输层的服务(RIP和BGP协议),因此有运输层。只是在转发主机通信的IP数据报时,不需要使用囤粮功能。因此,不能不分情况地得出结论:“路由器没有运输层”。
转载于:(https://blog.51cto.com/linking/108899)

看下在这种网络中的对等体(协议分层第二条提到过)
有人可能会说:这里的用户数据报与数据报有什么区别?可以参考下这篇文章
[文章]
计网学习笔记(第一章 概论)_第11张图片
回顾整个1.2小节,我们从具体的生活情景”送信“入手,讲述了协议分层的必要性与一些核心思想与原则。然后我们举了一个网络模型去探究信息如何在各协议之间流动,从中解释了协议分层原则在例子中的含义。下面我们了解每个协议层的具体功能。

1)物理层

提供建立、维护和拆除物理链路所需的机械、电气、功能和规程的特性;提供有关在传输介质上传输非结构的位流及物理链路故障检测指示。在这一层,数据还没有被组织,仅作为原始的位流或电气电压处理,单位是比特。

(2)数据链路层

负责在两个相邻结点间的线路上,无差错地传送以帧为单位的数据,并进行流量控制。每一帧包括一定数量的数据和一些必要的控制信息。与物理层相似,数据链路层要负责建立、维持和释放数据链路的连接。在传送数据时,如果接收点检测到所传数据中有差错,就要通知发方重发这一帧。

(3)网络层

为传输层实体提供端到端的交换网络数据传送功能,使得传输层摆脱路由选择、交换方式、拥挤控制等网络传输细节;可以为传输层实体建立、维持和拆除一条或多条通信路径;对网络传输中发生的不可恢复的差错予以报告。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息——源站点和目的站点地址的网络地址。

(4)传输层

为会话层实体提供透明、可靠的数据传输服务,保证端到端的数据完整性;选择网络层的最适宜的服务;提供建立、维护和拆除传输连接功能。传输层根据通信子网的特性,最佳的利用网络资源,为两个端系统的会话层之间提供建立、维护和取消传输连接的功能,并以可靠和经济的方式传输数据。在这一层,信息的传送单位是报文。

(7)应用层

提供OSI用户服务,即确定进程之间通信的性质,以满足用户需要以及提供网络与用户应用软件之间的接口服务。 ————————————————
版权声明:本文为CSDN博主「CHINOSAMA」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43796325/article/details/106354036

计网学习笔记(第一章 概论)_第12张图片
最后是两个关于封装与复用的基本概念,与我们之前提到的模块化有共通之处

1.2.3封装与复用

计网学习笔记(第一章 概论)_第13张图片
  以源主机进行封装举例。
1.在应用层,交换的数据称为消息(message )。消息通常不包含任何头部和尾部,但是即使包含了这些,我们也将其整体称为消息。消息会被传递到传输层。
2.传输层把这个消息作为有效载荷,该载荷是传输层应该关注的负载。传输层在有效载荷基础上增加传输层头部,其中包括了希望进行通信的源和目的应用程序的标识符和一些投递该消息需要的更多信息,例如进行流量控制、差错控制和拥塞控制需要的信息。其结果为一个传输层分组。该分组在TCP中称为段( segment ),在 UDP中称为用户数据报(user datagram )。然后传输层传递该分组到网络层。
3.网络层把传输层分组作为数据或有效载荷,并且在该有效载荷上添加自己的头部。头部包含源和目的主机的地址,以及用于头部差错检查、分片的信息等其他一些信息。其结果为一个称为数据报( datagram)的网络层分组。然后,网络层传递这个分组到数据链路层。
4.数据链路层把网络层分组作为数据或有效载荷,并且添加上自己的头部。该头部包含主机或下一跳步((路由器)的链路层地址。其结果为一个称为帧(frame)的链路层分组。该帧被传递到物理层进行传输。
路由器的解封装与封装
由于路由器连接两个或多个链路,因此在路由器中我们既需要进行解封装也需要进行封装。
1.在比特集被投递到数据链路层后,这一层从帧中解封装出数据报并将它投递到网络层。
2.网络层只检查数据报头部的源地址和目的地址,查阅它的转发表以寻找该数据报将被投递到的下一跳步。除非数据报太大以至于不能通过下一链路时需要对其进行分片,数据报的内容不应该被网络层改变。然后,数据报被传递到下一链路的数据链路层。
3.下一链路的数据链路层将数据报封装成一个帧,将其传递到物理层进行传输。计网学习笔记(第一章 概论)_第14张图片

你可能感兴趣的:(http,网络协议)