一篇让你明白整个网络架构的计算机网络入门教程。
引言很多朋友在学习计算机网络时一上来就会被教材或者网课老师灌输各种概念协议学习完后会非常很懵逼各层的协议到底有什么用我在一台手机的应用程序上发送消息给另外一台手机相应的应用程序过程中发生了什么事情依然觉得很抽象而且很多网络底层协议在面试中并不会被提及此篇博文筛掉了晦涩难懂的不重要的协议并通俗易懂的让你理解网络底层传输在此基础上详细讲述常用的端到端的高层协议。其实课本和网课传授各种网络概念的时候默认我们对网络是有一定的了解的反而其实大部分同学对网络是没有一点概念的如果这时候直接去看相关专业书籍反而会难以接受这会大大降低我们的学习效率。看完下面的网络整体架构带着这些架构再去接触专业书籍反而会轻松不少。当然为了照顾小白里面很多基础的问题有些知识点如果你知道可以通过目录直接跳过。网络数据的传输形式在我们浏览网页接收消息时会接收各种各样的信息那这些信息是通过怎样的形式传输的呢一、信息、数据和信号在接触网络数据传输之前先了解信息、数据和信号的概念信息:信息是我们可以感知和不感知、已知和未知的所有数据形式、图像的集合。数据:数据是主机或记录信息按照一定规则排列组合的物理符号。它可以是数字、文本、图像也可以是计算机代码。可以从实验中采集数据总结出通过实验观察到的规律和现象。信号:信号是传递信息的工具和信息载体如光信号、声音信号、电子信号等其本身在某种程度上具有特定的意义我们将能够通过特殊的方法来识别其意义。如果你不想看上面的概念或者觉得很抽象我可以给你举两个例子你在打电话电话线要有【信号】交换机交换语音【数据】而你和接电话的人交换的是【信息】。信息是你要表达的意思数据就是你在表达过程中被记录下来的语音通过某些操作将语音转换为电信号、光信号、波等再通过线路或者电磁波等无线介质传播。你通过微信问朋友“你在哪”你想问他在哪就是你要传递的信息。“你在哪”的文字或者是编程语言中的字符串或者我们通过将其编码转换为对应二进制语言他们都可以叫做数据。将二进制语言转换为高低不平的电流通过线路传输给另外一台设备我设备所发送的、或者另外一台所收到的电流信息就是信号。当然信息和数据的意义很宽泛一张图片、一段文字有时候即可以叫信息也可以叫数据。在有些论文抛出的概念中数据和信号本身也可以叫做信息。如果实在麻烦,看下面这张图你可以这样理解二、数据和信号的转换1、图片、文字、音频与二进制的转换无论是计算机本身存储数据还是网络传输都会不可避免的使用二进制那他们是怎么转换为二进制的呢1文字二进制的转换在计算机中通常会使用字符集的编码方式将字符转换为二进制。常见的英文字符集编码为ASCII和常见的中文字符集编码UTF-8用于包含中文字符在内的多语言字符和UniCode。假设我们要将英文单词 Hello 转换为二进制。首先查找每个字符的ASCII码然后将ASCII码转换为二进制。H 的ASCII码是 72转换为二进制01001000e 的ASCII码是 101转换为二进制01100101l 的ASCII码是 108转换为二进制01101100l 的ASCII码是 108转换为二进制01101100o 的ASCII码是 111转换为二进制01101111因此Hello 转换为二进制为01001000 01100101 01101100 01101100 01101111。假设我们要将中文字符 你好 转换为二进制。首先查找每个字符的UTF-8编码然后将UTF-8编码转换为二进制。你E4 BD A0 二进制11100100 10111101 10100000 好E5 A5 BD 二进制11100101 10100101 10111101因此你好 转换为二进制为11100100 10100000 10000000 11100100 10100000 10000010。2图像二进制的转换图像通常由各个像素点组成。像素是图像的最小单元它是图像中最小的可操作的点。每个像素都包含有关其在图像中位置的信息以及关于其颜色的信息。图像的分辨率描述了图像中有多少个像素通常以水平和垂直方向的像素数表示。例如一个分辨率为1920x1080的图像意味着它有1920个像素宽和1080个像素高。一个像素通常由1位、8位、24位组成1位颜色深度最简单的情况每个像素只有1位通常用于黑白图像。这时每个像素只能是黑或白对应二进制的0或1。8位颜色深度通常用于灰度图像每个像素用8位表示灰度级别。这允许256种不同的灰度值从0黑色到255白色。24位颜色深度这是常见的真彩色深度一共有三种颜色通道分别是红、黄、蓝我们小时候都听说过每种颜色都可以由红、黄、蓝三种颜色构成。常见的 24 位 RGB 图像包含红、绿、蓝三个通道每个通道通常占 8 bit合计 24 bit因此可以表示约 2^{24}1677 万种颜色。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中进行通信。以下是集线器的一些基本特点物理层设备集线器工作在OSI模型的物理层主要负责传输比特流而不涉及帧、数据包或网络协议的内容。广播集线器是一个广播设备当它接收到一个数据帧时会将该帧复制到所有连接的端口使所有设备都能收到相同的消息。无智能集线器对数据帧的内容一无所知不了解目标地址也不进行地址学习。它只是简单地将帧从一个端口复制到其他端口不进行任何过滤或选择性传输因此比低效。冲突域由于广播特性和集线器的特性一台设备发送消息时集线器所连接的所有线路都会被占用。因此集线器会创建一个冲突域collision domain意味着如果两个设备同时尝试发送数据可能会发生冲突导致数据碰撞和传输错误。总结一下集线器物理层设备特点就是只负责广播转发、没有智能、并形成一个冲突域的设备。六、存储标识协议交换机与数据链路层的引入集线器只会无脑将消息转发给别人但是我们并不知道这消息是发送给谁的只好发送给所有设备因此占用所有的链路并让不该收到计算机收到了这条消息。交换机完美的解决了这个问题大大提高了链路的利用率。1、通过存储、标识、协议的思想引入一个简单的网络模型我们在寄包裹的时候需要将我们需要寄送的信息地址、寄件人、收件人填写在快递单上并将快递单贴在快递上一起发出去这就是标识的思想。快递单上填写信息地址、寄件人、收件人必须遵循某种规范比如地址必须是什么省什么市什么县寄件人、收件人必须是可读的名字这种规范就叫做协议信息填写必须服从协议的内容才能送到指定地点。根据你填写的地点信息驿站通过驿站存储的枢纽信息便知道你的快递下一个转存点是哪里这便是存储。我们模仿的送快递思想可以建立一个简单的网络传输模型标识在一个有八台电脑的局域网中每一台电脑都有一个标识分别是0000000100100011。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和54号主机收到广播后比对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地址1IP地址概述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.31.255.255 192.168.0.0 - 192.168.255.255④环回地址127.0.0.0网段3IP地址举例假设网络1和网络2都是B类地址网络号分别为155.155.0.0和155.156.0.04IP地址与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请求和响应过程得到。5现在的IP地址A、B、C、D、E 类地址属于早期分类编址。现代网络主要采用 CIDR即无类别域间路由例如192.168.1.0/24 10.20.0.0/16 172.16.8.0/213、数据报前文提到过数据加头加尾组成帧在有路由器的网络中交换机收到其他网段的消息都是要经过路由器处理的路由器会将设备端口收到的数据变为数据包交换机再给数据包加头加尾组装成帧。我们将数据变为数据包的时候数据报头一般表示在网络层传输所需要的信息结构如下IP数据报详细格式的详细内容可以看这篇文章IP数据报格式_ip报文格式-CSDN博客4、路由器1路由器的存储结构路由表通常情况下每个路由器都有一个路由表。路由表是路由器用来决定如何转发数据包的关键组成部分。路由表中包含了与相邻网络之间的路由信息告诉路由器数据包应该通过哪个接口发送以达到目标网络。路由表的内容一般包括目标网络地址指示数据包的目标网络的IP地址或地址范围。子网掩码子网掩码一般用于将网络进一步划分为若干子网以避免主机过多而拥堵或过少而IP浪费。子网掩码的作用划分网络将是IP地址的前任意位作为网络地址而非A类的8位B类的16位C类的24位比如255.255.128.128/15n,0n32),表示前15(n)位作为网络地址子网掩码前n位为1后n位为0下图的子网掩码为1111 1111 1110 0000 0000 0000 0000转换为10进制的IPV4格式就是255.254.0.0。下一跳Next Hop信息指示数据包应该被发送到哪个邻近路由器或下一个网络设备。出接口Outgoing Interface指示数据包应该通过路由器的哪个物理或逻辑接口发送路由表的更新与MAC表通过广播来更新不同路由表是通过静态路由和动态路由来实现的。静态路由是手动配置的路由信息管理员在路由器上直接设置路由表的条目。这些手动配置的静态路由不会自动更新除非管理员手动修改它们。 动态路由使用特定的路由协议使路由器能够自动学习和适应网络拓扑的变化。这里设立路由算法常用的协议有RIP、OSPF和BGP协议。与交换机的MAC表协助帧找到目的主机相似路由器可以协助数据包找到对应的网段或者目的主机。2家用路由器的简介路由器应该是大家最熟悉的网络结构在这里我说家用路由器其实就是本文所提及的交换机和路由器的结合体你信吗大家看一下自家的路由器大概都是这个样子我的路由器有一个WAN接口和四个LAN接口。其中Wan接口就相当于路由器向外连接广域网的接口Lan接口就相当于交换机连接内部局域网的接口因此家用路由器的LAN接口可以直接连接设备计算机、打印机等。3路由器的总结路由器是计算机网络中的网络设备工作在网络层第三层用于不同网段的连接将网络形成一个庞大的广域网以下是路由器的一些主要功能和特点数据包转发路由器能够根据目标地址信息将数据包从源网络转发到目标网络。这涉及到查找路由表确定最佳的路径。路由选择路由器使用路由选择算法来确定数据包的最佳路径以确保数据能够有效地从源到达目标。网络划分和网络连接路由器能够实现不同网络之间的划分并通过自身将不同网络连接起来子网划分路由器可以将一个大网络划分成若干个子网提高网络管理的灵活性和效率。动态路由协议路由器可以使用动态路由协议如OSPF开放最短路径优先、BGP边界网关协议等来自动学习和适应网络拓扑的变化。点到点网络架构的总结经过本章的学习相信大家对信号在发送消息时如何从一个设备传输到另一个设备有了更为清晰的认知。在同一网段内信号会经由链路层协议以及物理层的底层线路协议无论是有线还是无线进行处理通过给数据添加“标签”来组装成帧随后交换机利用这些帧来定位对应的设备。而在不同的网段间数据会在帧的基础上再加一层“标签”组装成数据包在路由器间进行传输数据包中的目的IP地址则用来找到对应的目标网段。这就是点到点网络传输的基本原理。在当今这个网络体系极为庞大的世界中特别是在进行远距离数据传输时数据会经过多个设备并依赖路由算法和路由协议来选择最优的传输路径从而确保信号能够高效且准确地传输。全世界的计算机设备、网络设备和全球的信息资源共同构建了一个庞大的因特网。因特网不仅承载着信息的传递功能还为人们提供了一个互动和交流的平台。借助社交媒体、电子邮件、在线聊天等工具人们能够实时地交流想法和信息。然而仅仅依靠前三层网络架构来构建如此庞大的因特网显然是不现实的。除了数据传输过程外我们还需要一系列协议来管理设备与服务器之间的连接管理服务器上的各类网站资源以及管理不同应用端口之间的连接等。这些协议可以被视为端到端的协议它们独立于数据传输过程是面向用户层面的更高层级协议。