《图解TCP/IP》读书笔记一:网络基础知识

时间:2021-01-07 10:16:06

OSI参考模型

《图解TCP/IP》读书笔记一:网络基础知识

上图来自:https://www.cnblogs.com/botoo/p/7777003.html

1.5.4 OSI参考模型中各个分层的作用

《图解TCP/IP》读书笔记一:网络基础知识

应用层

      为应用程序提供服务并规定应用程序中通信相关的细节。包括文件传输、电子邮件、远程登录(虚拟终端)等协议。

表示层

      将应用处理的信息转换为适合网络传输的格式,或者来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换。 具体来说,就是将设备固有的数据格式转换为网络标准传输格式。不同设别对同意比特流解释的结果可能会不同。 因此,使它们保持一致是这一层的主要作用。

会话层

      负责建立和断开通信连接(数据流动的逻辑通道),以及数据的分割等数据传输相关的管理。

传输层

      起着可靠传输的作用。 只在通信双方节点上进行处理,而无需在路由器上处理。

网络层

      将数据传输到目标地址。 目标地址可以是多个网络通过路由器连接而成的某一个地址。因此这一层主要负责寻址和路由选择。

数据连路层

      负责物理层面上互联的、节点之间的通信传输。将0、1序列划分为具有意义的数据帧传送给对端(数据帧的生成与接收).

物理层

      负责0、1比特流(0、1序列)与电压的高低、光的闪灭之间的互转。

数据传输

《图解TCP/IP》读书笔记一:网络基础知识

      发送方从第七层,第六层到第一层由上至下按照顺序传输数据,而接收端则从第一层,第二层到第七层由下至上向每个上一级分层传输数据。每个分层上,在处理上一层传过来的数据时可以附上当前分层的协议所必须的“首部”信息。然后接收端对收到的数据进行数据“首部”与“内容”的分离,再转发给上一层,并最终将发送端的数据恢复为原状。

1.6.3传输层以下的处理

数据链路层、物理层

      通信传输实际上是通过物理的传输介质实现的。数据链路层的作用就是在这些通过传输介质互连的设备之间进行数据处理。

      物理层中,将数据的0,1转换为电压和脉冲传输给物理的传输介质,而相互直连的设备之间使用地址实现传输。这种地址被称为MAC地址,也可称为物理地址或硬件地址。采用MAC地址,目的是为了识别连接到同一个传输介质上的设备。因此,在这一层中将包含MAC地址信息的首部附加到从网络层转发过来的数据上,将其发送到网络。

      网络层与数据链路层都是基于目标地址将数据发送给接收端的,但是网络层负责将整个数据发送给最终目标地址,而数据链路层则只负责发送一个分段内的数据。

《图解TCP/IP》读书笔记一:网络基础知识

1.7.2 电路交换与分组交换

      如果并发用户数超过交换机之间的通信线路数,就意味着通信根本无法实现。为此,人们想到了一个新的方法,即让连接到通信电路的计算机将所要发送的数据分成多个数据包,按照一定的顺序排列之后分别发送。这就是分组交换。
      有了分组交换,数据被细分后,所有的计算机就可以一齐收发数据,这样也就提高了通信线路的利用率。由于在分组的过程中,已经在每个分组的首部写入了发送端和接收端的地址,所以即使同一条线路同时为多个用户提供服务,也可以明确区分每个分组数据发往的目的地,以及它是与哪台计算机进行的通信。
《图解TCP/IP》读书笔记一:网络基础知识

      在分组交换中,由分组交换机(路由器)连接通信线路。分组交换的大致处理过程是:发送端计算机将数据分组发送给路由器,路由器收到这些分组数据以后,缓存到自己的缓冲区,然后再转发给目标计算机。因此,分组交换也有另一个名称:蓄积交换。
      路由器接收到数据以后会按照顺序缓存到相应的队列当中,再以先进先出的顺序将它们逐一发送出去
      在分组交换中,计算机与路由器之间以及路由器与路由器之间通常只有一条通信线路。因此,这条线路其实是一条共享线路。在电路交换中,计算机之间的传输速度不变。然而在分组交换中,通信线路的速度可能会有所不同。根据网络拥堵的情况,数据达到目标地址的时间有长有短。另外,路由器的缓存饱和或溢出时,甚至可能会发生分组数据丢失、无法发送到对端的情况。
《图解TCP/IP》读书笔记一:网络基础知识

1.7.3 根据接收端数量分类

网络通信当中,也可以根据目标地址的个数及其后续的行为对通信进行分类。如:广播、多播就是这种分类的产物。

  • 单播(Unicast): 1对1通信。早先的固定电话就是单播通信的一个典型例子。

  • 广播(Broadcast): 将消息从1台主机发送给与之相连的所有其他主机。 广播通信的一个典型例子就是电视播放,它将电视信号一齐发送给非特定的多个接受对象。 此外我们知道电视信号一般都有自己的频段。只有在相应频段的可接受范围内才能收到电视信号。 与之类似,进行广播通信的计算机也有它们的广播范围。只有在这个范围之内的计算机才能收到相应的广播消息。这个范围叫广播域。

  • 多播(Multicast): 多播与广播类似,也是将消息发给多个接收主机。不同之处在于多播要限定某一组主机作为接收端。 多播通信最典型的例子就是电视会议,这时有多组人在不同的地方参加的一种远程会议。 在这种形式下,会有一台主机发送消息给特定的多台主机。电视会议通常不能使用广播方式,否则将无从掌握是谁在哪里参与电视会议。

  • 任播(Anycast): 任播是指在特定的多台主机中选出一台作为接收端的一种通信方式。 虽然,这种方式与多播有相似之处,都是面向特定的一群主机,但是它的行为却与多播不同。 任播通信从目标主机群中选择一台最符合网络条件的主机作为目标主机发送消息。 通常,所被选中的那台特定主机将返回一个单播信号,随后发送端主机会跟这台主机进行通信。

    任播在实际网络中的应用有DNS根域名解析服务器。

1.8.1 地址的唯一性

      如果想让地址在通信当中发挥作用,首先需要确定通信的主体。一个地址必须明确地表示一个主体对象。在同一个通信网络中不允许有两个相同地址地通信主体存在。这也就是地址地唯一性。

      到此为止,读者可能会有一个疑问。前面提到, 在同一个通信网络中不允许有两个相同地址地通信主体存在。这在单播通信中还好理解,因为通信两段都是单一地主机。那么对于广播、多播、任播通信该如何理解呢? 岂不是通信接收端都被赋予了同一个地址?其实,在某种程度上,这样理解有一定的合理性。 在上述这些通信方式中, 接收端设备可能不止一个。 为此,可以对这些由多个设备组成的一组通信赋予同一个具有唯一特性的地址,从而可以避免产生歧义,明确接收对象。

      举个简单的多播的例子。某位老师说:“一年一班的同学们请起立!” 其中“一年一班”实际上就明确地指代了目标对象。此时,“一年一班”就是这一次“多播”地目标地址,具有唯一性。

      再举一个任播的例子。老师又说:“一年一班的哪位同学过来把你们班的学习资料取走!”, 此时“一年一般的哪位同学”(任意一位同学)就成为了此次“任播”的目的地址,具有唯一性。

1.8.2 地址的层次性

      当地址总数并不是很多的情况下,有了唯一地址就可以定位相互通信的主体。然而,当地址的总数越来越多的时候,如何高效地从中找出通信地目标地址将成为一个重要地问题。 为此人们发现除了具有唯一性还需要具有层次性。 其实,再使用电话和信件通信地过程中,早已经有了地址分层这种概念。 例如,电话号码包含国家区号、国内区号,通信地址包括国家名、省名、市名和区名等。正是有了这种层次分类才能更加快速地定位某一个地址。

      MAC地址和IP地址再标识一个通信主体时虽然都具有唯一性,但是它们当中只有IP地址具有层次性。 MAC地址由设备地制造厂商针对每块网卡进行分别指定。人们可以通过制造商识别号、制造商内部产品编号以及产品通用编号确保MAC地址地唯一性。然而,人们无法确定哪家厂商地哪个网卡被用到了哪个地方。虽然MAC地址中地制造商识别号、产品编号以及通用编号等信息在某种程度上也具有一定的层次性,但是对于寻找地址并没有起到任何作用,所以不能算作有层次的地址。 正因为如此,虽然MAC地址时真正负责最终通信的地址,但是在实际寻址过程中,IP地址却必不可少。

      那么IP地址又是怎样实现分层的呢? 一方面,IP地址由网络号和主机号两部分组成。即使通信主体的IP地址不同,若主机号不同,网络号相同,说明它们处于同一个网段。通常,同处一个网段的主机也都属于同一个部门或集团组织。另一方面,网络号相同的主机在组织结构、供应商类型和地域分布上都比较集中,也为IP寻址带来了极大的方便。 这也是为什么说IP地址具有层次性的原因。

      网络传输中,每个节点会根据分组数据的地址信息,来判断该报文应该由哪个网卡发送出去。为此,每个地址会参考一个发出接口列表。在这一点上MAC寻址与IP寻址是一样的。只不过MAC寻址中所参考的这张表叫做地址转发表,而IP寻址中所参考的叫做路由控制表。MAC地址转发表中所记录的是实际的MAC地址本身,而路由表中记录的IP地址是集中了之后的网络号(更确切的说是网络号与子网掩码)。
《图解TCP/IP》读书笔记一:网络基础知识

1.9.4 网桥/2层交换机

《图解TCP/IP》读书笔记一:网络基础知识

      数据链路的数据帧中有一个数据位叫做FCS,用以校验数据是否正确送达目的地。网桥通过检查这个域中的值,将那些损坏的数据丢弃,从而避免发送给其他的网段。此外,网桥还能通过地址自学机制和过滤功能控制网络流量。

      这里所说的地址是指MAC地址,硬件地址,物理地址以及适配器地址,也就是网络上针对NIC分配的具体地址。如下图所示,主机A与主机B之间进行通信时,只针对主机A发送数据帧即可。网桥会根据地址自学机制来判断是否需要转发数据帧。这类功能是OSI参考模型的第2层数据链路层所具有的功能。为此,有时候也罢网桥称作2层交换机。
《图解TCP/IP》读书笔记一:网络基础知识

1.9.5 路由器/3层交换机

《图解TCP/IP》读书笔记一:网络基础知识

      路由器是在OSI模型的第三层—–网络层面上连接两个网络,并对分组报文进行转发的设备。网桥是根据物理地址(MAC地址)进行处理,而路由器/3层交换机则是根据IP地址进行处理的。由此,TCP/IP中网络层的地址就成为了IP地址。

1.9.6 4~7层交换机

《图解TCP/IP》读书笔记一:网络基础知识

      4-7层交换机负责处理OSI模型中从传输层到应用层的数据,如果用TCP/IP分层模型来表述,4-7层就是TCP等协议的传输层及其上面的应用层为基础,分析收发数据,并对其进行特定的处理。

其实际的应用场景:

  1. 均衡负载器。并发访问量非常大的一个企业级Web站点使用一台服务器不足以满足前段的访问需求,这时通常会假设多台服务器来分担。这些服务器前端访问的入口地址通常只有一个(企业为了使用者的方便,只会向最终用户开放一个统一的访问的URL )。为了能通过同一个URL将前段访问分发到后台多个服务上,可以在这些服务期的前端加一个负载均衡器,这种均衡器就是4~7层交换机中的一种。

  2. 带宽控制。实际通信中人们希望在网络比较拥堵的时候,优先处理像语音这类对及时性要求较高的通信请求放缓处理像邮件或者数据转发等稍有延迟也并无大碍的通信请求。这种处理被称为带宽控制,也是4~7层交换机的重要功能。

1.9.7 网关

《图解TCP/IP》读书笔记一:网络基础知识

      网关与4~7层交换机一样都是处理传输层及以上的数据,但是网关不仅转发数据还负责对数据进行转换,它通常会使用一个表示层或应用层网关,在两个不能进行直接通信的协议之间进行翻译。最终实现两者之间的通信。(比如:手机邮件和PC邮件之间实现互发邮件,正是在手机和互联网之间设置了一道网关,网关读取完不同种类的协议后,对它们逐一进行合理的转,再将相应的数据转发出去,这样一来即使使用的不同的邮件协议,PC和手机之间也能互发邮件)

《图解TCP/IP》读书笔记一:网络基础知识

      有时候为了控制网络流量以及处于安全考虑,会使用代理服务器,这种代理服务器也是一种网关,称为应用网关。

各种设备及对应网络分层概览

《图解TCP/IP》读书笔记一:网络基础知识

个人微信公众号:
《图解TCP/IP》读书笔记一:网络基础知识

作者:jiankunking 出处:http://blog.csdn.net/jiankunking