一篇让你明白整个网络架构的计算机网络入门教程。

引言

      很多朋友在学习计算机网络时,一上来就会被教材或者网课老师灌输各种概念协议,学习完后会非常很懵逼,各层的协议到底有什么用,我在一台手机的应用程序上发送消息给另外一台手机相应的应用程序过程中,发生了什么事情?依然觉得很抽象,而且很多网络底层协议在面试中并不会被提及,此篇博文筛掉了晦涩难懂的不重要的协议,并通俗易懂的让你理解网络底层传输,在此基础上详细讲述常用的端到端的高层协议。

     其实课本和网课传授各种网络概念的时候默认我们对网络是有一定的了解的,反而其实大部分同学对网络是没有一点概念的,如果这时候直接去看相关专业书籍反而会难以接受,这会大大降低我们的学习效率。看完下面的网络整体架构,带着这些架构再去接触专业书籍反而会轻松不少。

    当然为了照顾小白,里面很多基础的问题,有些知识点如果你知道可以通过目录直接跳过。


网络数据的传输形式

   在我们浏览网页,接收消息时会接收各种各样的信息,那这些信息是通过怎样的形式传输的呢?

一、信息、数据和信号

在接触网络数据传输之前,先了解信息、数据和信号的概念

  • 信息:信息是我们可以感知和不感知、已知和未知的所有数据形式、图像的集合。
  • 数据:数据是主机或记录信息按照一定规则排列组合的物理符号。它可以是数字、文本、图像,也可以是计算机代码。可以从实验中采集数据,总结出通过实验观察到的规律和现象。
  • 信号:信号是传递信息的工具和信息载体,如光信号、声音信号、电子信号等,其本身在某种程度上具有特定的意义,我们将能够通过特殊的方法来识别其意义。

      如果你不想看上面的概念或者觉得很抽象,我可以给你举两个例子:

  • 你在打电话,电话线要有【信号】,交换机交换语音【数据】,而你和接电话的人交换的是【信息】。信息是你要表达的意思,数据就是你在表达过程中被记录下来的语音,通过某些操作,将语音转换为电信号、光信号、波等,再通过线路或者电磁波等无线介质传播。
  • 你通过微信问朋友(“你在哪”?),你想问他在哪就是你要传递的信息。“你在哪”的文字或者是编程语言中的字符串,或者我们通过将其编码转换为对应二进制语言,他们都可以叫做数据。将二进制语言转换为高低不平的电流,通过线路传输给另外一台设备,我设备所发送的、或者另外一台所收到的电流信息就是信号。

      当然,信息和数据的意义很宽泛,一张图片、一段文字有时候即可以叫信息也可以叫数据。在有些论文抛出的概念中,数据和信号本身也可以叫做信息。

如果实在麻烦,看下面这张图,你可以这样理解

二、数据和信号的转换

1、图片、文字、音频与二进制的转换

      无论是计算机本身存储数据还是网络传输,都会不可避免的使用二进制,那他们是怎么转换为二进制的呢?

(1)文字二进制的转换

     在计算机中,通常会使用字符集的编码方式将字符转换为二进制。常见的英文字符集编码为ASCII和常见的中文字符集编码UTF-8(用于包含中文字符在内的多语言字符)和UniCode。

假设我们要将英文单词 "Hello" 转换为二进制。首先查找每个字符的ASCII码,然后将ASCII码转换为二进制。

  1. 'H' 的ASCII码是 72,转换为二进制:01001000
  2. 'e' 的ASCII码是 101,转换为二进制:01100101
  3. 'l' 的ASCII码是 108,转换为二进制:01101100
  4. 'l' 的ASCII码是 108,转换为二进制:01101100
  5. 'o' 的ASCII码是 111,转换为二进制:01101111

因此,"Hello" 转换为二进制为:01001000 01100101 01101100 01101100 01101111。

假设我们要将中文字符 "你好" 转换为二进制。首先查找每个字符的UTF-8编码,然后将UTF-8编码转换为二进制。

  1. '你' 的UTF-8编码是:111001001010000010000000
  2. '好' 的UTF-8编码是:111001001010000010000010

因此,"你好" 转换为二进制为:11100100 10100000 10000000 11100100 10100000 10000010。

(2)图像二进制的转换

图像通常由各个像素点组成。像素是图像的最小单元,它是图像中最小的可操作的点。每个像素都包含有关其在图像中位置的信息以及关于其颜色的信息。

图像的分辨率描述了图像中有多少个像素,通常以水平和垂直方向的像素数表示。例如,一个分辨率为1920x1080的图像意味着它有1920个像素宽和1080个像素高。

一个像素通常由1位、8位、24位组成

1位颜色深度: 最简单的情况,每个像素只有1位,通常用于黑白图像。这时,每个像素只能是黑或白,对应二进制的0或1。

8位颜色深度: 通常用于灰度图像,每个像素用8位表示灰度级别。这允许256种不同的灰度值,从0(黑色)到255(白色)。

24位颜色深度: 这是常见的真彩色深度,一共有三种颜色通道,分别是红、黄、蓝(我们小时候都听说过每种颜色都可以由红、黄、蓝三种颜色构成。每种颜色通道为1bit,总共24位。每个像素可以表示超过1600万种颜色。

(3)音频二进制的转换

        音频文件是通过将声音信号(声音信号是连续的模拟信号)的波形转换为数字形式来表示的,这个过程涉及到模数转换(Analog-to-Digital Conversion,简称ADC),其中模拟信号(声音波形)被采样并转换为数字信号。

2、二进制数据与信号的转换
(1)数字数据编码为数字信号

        数字信号是以离散的形式表示的信号,它是由一系列离散的数值构成的。这些数值通常采用二进制形式,即由 0 和 1 组成。我们以电信号为例,在一定频率内,我们以高电伏为1,低电伏为0。

     数字数据编码为数字信号一共有六种方式:非归零编码(NRZ),归零编码,反向不归零编码,曼切斯特编码,差分曼切斯特编码,5B/4B编码,由于计算机网络课本物理层会详细讲述内容,我们以非归零编码(NRZ)为例:

      在信号传输过程中,我们可以粗虐将得到的数字信号的横轴看作时间,纵轴看作电压,就可以传输我们需要的信号了,当然实际的传输过程并没有这么简单,我举这个例子方便大家理解

(2)数字信号调制为模拟信号

        上文在音频二进制的转换我们提到,声音是波的形式,因此在传输过程中有的时候我们需要将数字转换为波或者波转换为数字

调幅(2ASK):码元0对应没有振幅,码元1对应有振幅(振幅可以理解为波在y轴上的高低,我们也可以将码元0对应低振幅,码元1对应高振幅)。
在这里插入图片描述

调频(2FSK):码元0对应低频,码元1对应高频。
在这里插入图片描述在这里插入图片描述

调相(2PSK):码元1对应一种波形,码元0对应另一种波形(调相可以理解为调整波的起始位置)。
在这里插入图片描述在这里插入图片描述

 (3)模拟信号调制为数字信号

       关于波转换为数字的过程,最典型的就是对音频信号进行编码的脉码调制(PCM),它主要包括三个部分:抽样、量化、编码,这一部分不详细阐述。

三、信号的传输

有线传输和无线传输是两种常见的信息传输方式,它们在通信领域有着不同的特点和应用

  • 有线传输是通过物理导体(如电缆、光缆、同轴电缆,物理导体这里不详细介绍)来传输信号的方式,例子如电脑网络(例如,以太网)
  • 无线传输是通过空气中的电磁波来传输信号的方式,不需要物理导体连接,例子如移动通信、卫星通信无线局域网(Wi-Fi)、蓝牙技术、无线电和电视广播。

 传输形式总结

了解完上面知识后,对于下面这图相信大家对信息的传输过程有一定的掌握和理解,但这还是计算机网络的开始。我们在一端向另一端发送消息的时候,电脑在互联网中怎么样定位到另一台电脑的,如果我是在微信发的消息,另一台收到消息的电脑为什么是微信程序收到消息而不是QQ,下面我将从网络的发展入手简单易懂的讲清楚每层网络架构

 计算机点到点的网络架构(数据的传输过程)

上面提到,我们在一端向另一端发送消息的时候,电脑在互联网中怎么样精准定位到另一外一台电脑的?下面笔者将简单易懂的介绍当今常见的计算机网络架构。

四、来设计一下简单的网络架构吧

给你两台电脑,使两台电脑之间能够互相通信,你会怎么去设计呢?很简单,将两台电脑之间连接一根线就可以了,我们让这根线传递具有高低电伏的电信号就能让两台电脑传递消息

但是我们发现,电脑越多,这个网络就会越麻烦,我们要让每台电脑两两通信,即每个电脑都要互相连接,有n台电脑我们就需要n⋅(n−1)/2条线​

五、转发!(集线器与物理层的引入)

1、转发的思想

        上面考虑多台电脑之间直接连接传输消息时,可能会面临繁琐的问题。为了解决这个问题,我们可以引入一种网络设备,即集线器(Hub)。集线器是一种最基本的网络设备,它能够将连接到它上面的多台电脑连接起来,使每台电脑都能够收到发送给集线器的消息。集线器就是能做到该功能的最底层网络设备之一,但是集线器很傻,他收到消息时,会同时把消息发送给所有设备,包括发送该消息的设备。在有6台电脑的网络中,1号电脑转发消息给集线器Hub,集线器收到消息后会同时转发1、2、3、4、5、6号电脑。在这种情况下,1号电脑发送信号的同时,如果二号也发送消息,很容易造成信号冲突导致信号叠加数据受损,因此我们将一个集线器及其连接的电脑的结构叫做一个冲突域。集线器属于物理层的设备,我们也可以将这个结构看作简单只有物理层计算机网络结构。下面我简单的引入集线器的概念:

   2、集线器

集线器(Hub)是计算机网络中的一种基础网络设备,属于物理层设备。其主要作用是将多个网络设备连接在一起,形成一个共享的物理介质(通常是电缆或光纤),以便它们可以在局域网(LAN)中进行通信。

以下是集线器的一些基本特点:

  1. 物理层设备: 集线器工作在OSI模型的物理层,主要负责传输比特流,而不涉及帧、数据包或网络协议的内容。

  2. 广播: 集线器是一个广播设备,当它接收到一个数据帧时,会将该帧复制到所有连接的端口,使所有设备都能收到相同的消息。

  3. 无智能: 集线器对数据帧的内容一无所知,不了解目标地址,也不进行地址学习。它只是简单地将帧从一个端口复制到其他端口,不进行任何过滤或选择性传输,因此比低效。

  4. 冲突域: 由于广播特性和集线器的特性,一台设备发送消息时,集线器所连接的所有线路都会被占用。因此集线器会创建一个冲突域(collision domain),意味着如果两个设备同时尝试发送数据,可能会发生冲突,导致数据碰撞和传输错误。

总结一下:集线器(物理层设备)特点就是只负责广播转发没有智能并形成一个冲突域的设备。

六、存储!标识!协议!(交换机与数据链路层的引入)

      集线器只会无脑将消息转发给别人,但是我们并不知道这消息是发送给谁的,只好发送给所有设备,因此占用所有的链路并让不该收到计算机收到了这条消息。交换机完美的解决了这个问题,大大提高了链路的利用率。  

      1、通过存储、标识、协议的思想引入一个简单的网络模型

      我们在寄包裹的时候,需要将我们需要寄送的信息(地址、寄件人、收件人)填写在快递单上,并将快递单贴在快递上一起发出去,这就是标识的思想。快递单上填写信息(地址、寄件人、收件人)必须遵循某种规范,比如地址必须是什么省什么市什么县,寄件人、收件人必须是可读的名字,这种规范就叫做协议,信息填写必须服从协议的内容才能送到指定地点。根据你填写的地点信息,驿站通过驿站存储的枢纽信息,便知道你的快递下一个转存点是哪里,这便是存储。

     我们模仿的送快递思想,可以建立一个简单的网络传输模型:

     标识:在一个有八台电脑的局域网中,每一台电脑都有一个标识,分别是0000,0001,0010,0011。0000发送信息“a”给0001,“a”这就我的快递,“a”转换为二进制就是01100001。

     协议:在这个局域网中我规定一个协议,传输的数据和信号后八位为标识,前四位发件人,后四位为收件人,因此我们可以得到一个标识00000001,这个标识就是我们的快递单。我们把快递单贴到快递上,就得到0110000100000001,我们再将这个信号转发给网络设备,让网络设备通过我们定好的协议找到收件人0001。

     存储:网络设备如何通过我们定好的协议找到收件人0001呢?其可以通过这台网络设备存储的数据(MAC表)找到对应的端口再发送给对应的计算机。

          这就是交换机的思想,这里方便大家理解,只是写的一个简单的存储、转发模型。真实的交换机标识位于数据的头部,而且交换机的标识一般是由mac地址标识,一共48位,而非4位,请注意,后面会详细讲到,交换机是数据链路层设备,我们可以将下面网络结构看作最高层次为数据链路层的网络结构。

   

      2、设备网卡唯一标识:MAC地址

     世界上很多通讯设备,标识二进制只有4位是不现实的。为了让每台设备的网卡都有唯一标识的性质,我们让每个网卡对应一个MAC地址,MAC 地址长 6 个字节共 48 位,通常使用十六进制数表示,下面是关于MAC地址的介绍:

  •  MAC 地址用于在网络中唯一标识一个网卡(即 MAC 地址只作用于网卡),每个网卡都有一个全球唯一的 MAC 地址。
  • 一台手机设备拥有多个网卡(wifi模组、5G模组等),所以一台手机设备也拥有多个 MAC 地址,而且每个 MAC 地址在世界上都是独一无二的。
  • MAC 地址前 24 位由 IEEE 管理机构统一分配,后24 位由厂商自由分配,保证网卡地址全球唯一。

       每台设备都有自己的MAC地址,大家可以在网络设置中查到自己本地的MAC地址和自己所连接设备的MAC地址,这些Mac地址都是我们设备标识。

3、MAC帧

     之间给大家简单的举例的标识的思想将“标签”加入数据的尾部。其实为了应对复杂的传输环境,这个”标签“比我们的例子要复杂很多,这个”标签“会加到数据的头部和尾部,下面是常用的格式

这一整个部分称为MAC帧(数据帧),MAC帧是数据链路层的传输形式。

 4、交换机
      (1)交换机的存储结构,Mac表介绍

        ① Mac表组成:MAC表有多项,MAC表中的每一项都包含两个主要信息:MAC地址和相应的端口号。表项告诉交换机特定的MAC地址位于哪个端口上,一个端口号可以对应多个MAC地址。

          

           ②学习过程: 当交换机接收到一个数据包时,它会查看数据包中的源MAC地址,并通过该地址查找MAC表,找到MAC地址对应的端口。最开始交换机的MAC表是一张空表,所以有的时候在MAC表上找不到MAC地址与其对应的表。所以交换机收到数据包时存在两种可能:      

  • 通过MAC地址在表上找到对应的端口交换机会将数据包仅转发到目标端口,而不是广播到所有端口。
  • 通过MAC地址在表上找不到对应的端口:由于交换机不知道是对应的哪个端口,此时交换机会进行广播,每台设备收到广播消息后,会将收到的信号数据中的MAC地址与自己的MAC地址比较,如果相同,设备会收下数据包并给交换机回复自己收到了这个消息,交换机收到回复消息后就知道MAC地址对应的端口是哪了,便会更新端口索引对应的MAC地址,这便是交换机学习迭代的过程。

    在没有虚拟局域网的网络中,交换机进行广播时,与其相连的设备都会收到交换机的广播,我们可以将交换机的广播范围看作一个广播域。

      (2)模拟具有交换机和集线器的网络的转发过程

         交换机的端口是可以连接交换机和集线器的,如下图。接下来模拟以下网络的转发过程(两个交换机初始的时候都是空表)

       

  ①1号主机给2号主机发送消息:

第一步:1号主机将MAC帧发送给交换机。交换机收到1号主机发来的MAC帧后,会将0a-1b-2c-4fd-5c-6e对应1号端口并记录于MAC表,交换机查看MAC表,没有找到2号主机的端口。

第二步:1号交换机发送广播。2号主机收到广播后,比对MAC地址确认是消息发给自己的后,就会向1号交换机发送回应。

第三步:1号交换机收到回应修改MAC表。交换机确定自己的2号端口对应的MAC地址是00-11-22-33-44-55。

     

 ②1号主机给3号主机发送消息:

第一步:1号主机将MAC帧发送给交换机。交换机收到1号主机发来的MAC帧后,交换机查看MAC表,没有找到3号主机的端口。

第二步:1号交换机发送广播。2号交换机收到广播后,会将1号主机的MAC地址0a-1b-2c-4d-5c-6e对应在自己的1号端口,查找自己的MAC表有没有3号主机的MAC地址aa-bb-cc-dd-ee-ff,发现没有。

第三步:2号交换机发送广播。3号主机收到广播后,比对MAC地址确认是发给自己的后,就会向2号交换机发送回应。

第四步:2号交换机收到回应修改MAC表。2号交换机确定自己的2号端口对应的MAC地址是3号主机的MAC地址aa-bb-cc-dd-ee-ff,并会向1号交换机发送回应。

第五步:1号交换机收到回应修改MAC表。1号交换机确定MAC地址aa-bb-cc-dd-ee-ff对应的4号端口。

     

 ③2号主机给4号主机发送消息:

第一步:2号主机将MAC帧发送给交换机。交换机收到2号主机发来的MAC帧后,交换机查看MAC表,没有找到4号主机的端口.

第二步:1号交换机发送广播。2号交换机收到广播后,会将2号主机的MAC地址00-11-22-33-44-55-66对应在自己的1号端口,并查找自己的MAC表有没有4号主机的地址,发现没有。

第三步:2号交换机发送广播。集线器收到广播后,会再次广播发送给4和5,4号主机收到广播后,比对MAC地址确认是发给自己的后发出回应,先发送给交换机,交换机再广播。

第四步:2号交换机收到回应修改MAC表。2号交换机收到回应后便会确定自己的4号端口对应的MAC地址是12-34-56-78-9a-bc,并会向1号交换机发送回应。

第五步: 1号交换机收到回应修改MAC表。1号交换机也会将MAC地址12-34-56-78-9a-bc对应自己的4号端口。

      我们可以看到,在网络交流的过程中交换机的MAC表也不断的更新完善,我把这个过程叫做交换机不断迭代学习的过程。

  (3)交换机总结

         交换机(Switch)是计算机网络中的网络设备,工作在数据链路层(第二层),用于在局域网(LAN)内部实现设备之间的数据交换。

工作原理:交换机通过学习和过滤MAC地址来实现数据转发。它维护一个MAC地址表,记录各个设备的MAC地址和与之关联的端口信息。

数据帧转发:当交换机接收到数据帧时,它会检查目标MAC地址,并根据MAC地址表将数据帧转发到相应的端口,以确保数据仅传送到目标设备,而不是广播到整个网络

学习过程:交换机通过学习过程来建立MAC地址表。当它首次接收到数据帧时,会将源MAC地址和源端口的映射存储到表中。这样,交换机在以后的数据传输中就能更快速地找到目标设备的位置。

广播域划分:交换机有助于减小广播域的范围。由于它只在必要的端口上转发数据帧,而不是广播到所有端口,因此可以有效隔离广播域,提高网络性能。

避免冲突域:交换机有效减小了冲突域的范围。与集线器不同,交换机能够在每个端口上独立工作,避免了多台设备同时发送数据导致的信号冲突。

七、网络结构的划分(路由器与网络层的引入)

     1、网段划分的思想

       在构建一个包含1000台电脑的网络时,单纯依赖交换机和集线器的网络架构存在一些显著的不足。在这种情况下,我们不得不连接大量的交换机和集线器,以满足所有电脑的连接需求。然而,这样的串联结构引发了一个严重的问题——广播洪范。广播洪范是指当网络中的一台设备发送广播消息时,该消息将被传递到网络中的所有设备,无论它们是否是消息的目标。随着网络规模的扩大,广播洪范将变得更为严重,导致网络效率下降和传输延迟增加。

          互联网的目的是使所有设备都能相互发送消息,在多个设备的网络中,我们可以将这些设备分为不同的网段,再用一个设备将这些网段链接起来,缩小广播域,减少广播洪范。 路由器就完美的解决了整这个问题。

          我在网络1一台设备发送消息给网络2的一台设备,由于路由器的能够隔离广播域(即使路由器不隔离交换机广播,只通过mac地址也很难去定位到另外的一个网段mac地址,因为其需要不断的广播,找到对应的设备)消息包并不能传输到网络2中,因此路由器引入IP地址概念。路由器相对于交换机更智能,其有更庞大的存储结构和寻路算法,通过IP地址路由器能够游刃有余帮助消息包找到对应的地址,路由器是网络层的设备,网络层是点到点网络层次的最高层次。

     2、IP地址
       (1)IP地址概述

       P地址是Internet中主机的标识,严格的来说,是连接设备的网络接口的标识,,目Internet中的主机要与别的机器通信必须具有一个IP地址前最常用的IP地址是IPV4,表示形式:常用点分形式,如202.38.64.10,最后都会转换为一个32位的无符号整数,由前缀码、络号和主机号组成。网络号标识一个网段(如上图中的网络1,网络2),主机号用于标识一个该网络中的具体设备(比如网络1中的某个设备)。根据不同位数前缀码、网络号和主机号可以将IP地址分为五类地址。

      

(2)特殊的IP地址 

①主机号全为"0"的地址为网络:通俗理解,一般用来表示某个网络
②主机号全为"1"的网络地址用于广播:同时向同一子网所有主机发送报文,当报文中标识IP收件方的IP地址主机号全为1时,表示该报文用来广播。

③私有地址,私有地址可以自己组网时用,但不能在Internet网上用
包括:
10.0.0.0-10.255.255.255
172.16.0.0-172.131.255.255
192.168.0.0-192.168.255.255

④环回地址,127.0.0.0网段

(3)IP地址举例

 假设网络1和网络2都是B类地址,网络号分别为155.155.0.0,和155.156.0.0

(4)IP地址与MAC地址 

       既然​​Internet中的主机要与别的机器通信必须具有一个IP地址,那么一个IP地址就能定位一个主机,这时候有人或许认为MAC地址就没有用了,其实并不是。MAC地址确保了在同一局域网中,每个设备都有一个独特的身份标识,而不会与其他设备冲突,在局域网内,不同设备之间的通信不一定需要经过路由器。虽然IP地址涉及的路由算法会让信息在广域网中传输更高效,但是在局域网中,数据在寻路时,我们仅用MAC地址就能达到寻路的效果,这时候不用IP地址反而会更高效。而且收到消息时通过两个地址确认还会保证传输的准确性,因此为了保证网络传输的高效性和准确性,我们需要将IP地址和MAC结合使用。

     其实一般我们发送消息时是通过IP地址去寻址,前文提到,成MAC帧时,我们需要加入对方的MAC地址,在只知道收件方的IP地址不知道收件方对方MAC地址的情况下,数据链路层成帧的时候是怎么将收件方的地址填充进数据头的呢?这涉及到一个网络协议ARP协议,ARP协议通过IP地址得到MAC地址。

好的,让我们逐一讨论这三种情况:

① 本机通过ARP缓存得到MAC地址:

第一步:发送方检查ARP缓存表中是否有目标IP地址的对应项。

第二步:如果存在,发送方直接使用缓存中的MAC地址。

第三步:数据链路层成帧时,目标MAC地址将从缓存中取出,用于构建数据帧。

②本机没有通过ARP缓存得到MAC地址,但IP地址与自己属于一个网段:

第一步:发送方执行ARP请求,广播查询目标设备的MAC地址。

第二步:目标设备检测到ARP请求,响应并提供自己的MAC地址。

第三步:发送方收到ARP响应,将目标设备的MAC地址存储到ARP缓存中。

第四步:数据链路层成帧时,使用新获得的MAC地址构建数据帧。

③本机没有通过ARP缓存得到MAC地址,且IP地址与自己不属于同一个网段:

第一步:发送方执行子网掩码检查,确定目标设备是否在同一子网内。

第二步:如果目标设备不在同一子网,发送方将使用默认网关的MAC地址作为目标MAC地址,将数据发送给默认网关。

第三步:默认网关收到数据后,负责将数据从本子网路由到目标子网。

第四步:在目标子网内,目标设备的MAC地址由目标子网内的ARP请求和响应过程得到。

具体示例将在后面加上

  3、数据报

     前文提到过,数据加头加尾组成帧,在有路由器的网络中,交换机收到其他网段的消息都是要经过路由器处理的,路由器会将设备端口收到的数据变为数据包,交换机再给数据包加头加尾组装成帧。

我们将数据变为数据包的时候,数据报头一般表示在网络层传输所需要的信息,结构如下

IP数据报详细格式的详细内容可以看这篇文章IP数据报格式_ip报文格式-CSDN博客

4、路由器

 (1)路由器的存储结构,路由表

     通常情况下,每个路由器都有一个路由表。路由表是路由器用来决定如何转发数据包的关键组成部分。路由表中包含了与相邻网络之间的路由信息,告诉路由器数据包应该通过哪个接口发送,以达到目标网络。路由表的内容一般包括

  1. 目标网络地址: 指示数据包的目标网络的IP地址或地址范围。

  2. 子网掩码:子网掩码一般用于将网络进一步划分为若干子网,以避免主机过多而拥堵或过少而IP浪费。子网掩码的作用划分网络将是IP地址的前任意位作为网络地址,而非A类的8位,B类的16位,C类的24位,比如255.255.128.128/15(n,0<n<32),表示前15(n)位作为网络地址,子网掩码前n位为1,后n位为0,下图的子网掩码为1111 1111 1110 0000 0000 0000 0000,转换为10进制的IPV4格式就是255.224.0.0。

  3. 下一跳(Next Hop)信息: 指示数据包应该被发送到哪个邻近路由器或下一个网络设备。

  4. 出接口(Outgoing Interface): 指示数据包应该通过路由器的哪个物理或逻辑接口发送

     路由表的更新与MAC表通过广播来更新不同,路由表是通过静态路由和动态路由来实现的。静态路由是手动配置的路由信息,管理员在路由器上直接设置路由表的条目。这些手动配置的静态路由不会自动更新,除非管理员手动修改它们。 动态路由使用特定的路由协议,使路由器能够自动学习和适应网络拓扑的变化。这里设立路由算法,常用的协议有RIP,BSPF和BGP协议。

     与交换机的MAC表协助帧找到目的主机相似,路由器可以协助数据包找到对应的网段或者目的主机。

(2)家用路由器的简介
       路由器应该是大家最熟悉的网络结构,在这里我说家用路由器其实就是本文所提及的交换机和路由器的结合体,你信吗?

       大家看一下自家的路由器,大概都是这个样子:

      我的路由器有一个WAN接口,和四个LAN接口。其中Wan接口就相当于路由器向外连接广域网的接口,Lan接口就相当于交换机连接内部局域网的接口,因此家用路由器的LAN接口可以直接连接设备(计算机、打印机等)。

(3)路由器的总结

 路由器是计算机网络中的网络设备,工作在网络层(第三层),用于不同网段的连接,将网络形成一个庞大的广域网:

以下是路由器的一些主要功能和特点:

  • 数据包转发: 路由器能够根据目标地址信息,将数据包从源网络转发到目标网络。这涉及到查找路由表,确定最佳的路径。
  • 路由选择: 路由器使用路由选择算法来确定数据包的最佳路径,以确保数据能够有效地从源到达目标。
  • 网络划分和网络连接: 路由器能够实现不同网络之间的划分,并通过自身将不同网络连接起来
  • 子网划分: 路由器可以将一个大网络划分成若干个子网,提高网络管理的灵活性和效率。
  • 动态路由协议: 路由器可以使用动态路由协议,如OSPF(开放最短路径优先)、BGP(边界网关协议)等,来自动学习和适应网络拓扑的变化。

点到点网络架构的总结  

      经过本章的学习,相信大家对信号在发送消息时如何从一个设备传输到另一个设备有了更为清晰的认知。在同一网段内,信号会经由链路层协议以及物理层的底层线路协议(无论是有线还是无线)进行处理,通过给数据添加“标签”来组装成帧,随后交换机利用这些帧来定位对应的设备。而在不同的网段间,数据会在帧的基础上再加一层“标签”,组装成数据包在路由器间进行传输,数据包中的目的IP地址则用来找到对应的目标网段。这就是点到点网络传输的基本原理。在当今这个网络体系极为庞大的世界中,特别是在进行远距离数据传输时,数据会经过多个设备,并依赖路由算法和路由协议来选择最优的传输路径,从而确保信号能够高效且准确地传输。

      全世界的计算机设备、网络设备和全球的信息资源共同构建了一个庞大的因特网。因特网不仅承载着信息的传递功能,还为人们提供了一个互动和交流的平台。借助社交媒体、电子邮件、在线聊天等工具,人们能够实时地交流想法和信息。然而,仅仅依靠前三层网络架构来构建如此庞大的因特网显然是不现实的。除了数据传输过程外,我们还需要一系列协议来管理设备与服务器之间的连接,管理服务器上的各类网站资源,以及管理不同应用端口之间的连接等。这些协议可以被视为端到端的协议,它们独立于数据传输过程,是面向用户层面的更高层级协议。

 

 

 计算机端到端传输(面向用户的顶层协议)

        
八、设备与服务器的连接建立(传输层的引入)

九、(应用层的引入)

  • 69
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

取名真是

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值