网络互联
路由器,交换机,网桥与集线器
路由器
路由器的功能
路由器本质也是交换机(第3层交换机),第2层交换机转发或过滤帧,路由器使用逻辑地址,提供分组交换功能,并能使用访问列表进行分组过滤。当路由器连接多个网络并使用逻辑地址(ipv4或ipv6)时,便组建了互联网络。路由器使用路由选择表(互联网地图)来选择路径并将分组转发到远程网络。
路由器在网络中的功能可以总结为以下4点:分组交换,分组过滤,网络间通信,路径选择
注意:路由器还可以分割广播域,分割冲突域(路由器的每个端口都提供不同的广播域,不同的冲突域)
使用路由器的优点
- 默认情况下,路由器不转发广播
- 路由器可根据第3层(网络层)信息(如IP地址)对网络进行过滤
PS:路由器工作在网络层
交换机与网桥
交换机不用于组建网络,而用于提高LAN的功能。交换机的主要用途是让LAN更好的运行,向LAN用户提供更高的带宽,同时也可减少广播域中的冲突
交换机只在交换型网络的端口之间转发帧,交换机分割冲突域而不分割广播域(交换机每个端口都是一个独立的冲突域)。
网桥和交换机的基本功能相同,都将 LAN 划分成多个冲突域。他们都使用桥接技术,可以把交换机看作更智能的多端口网桥,但交换机不仅提供了网桥的功能,其管理功能更得到了极大改善。另外,大多数情况下,网桥只有2或4个端口。虽然你可能遇到端口多达 16 个的网桥,但相比有些交换机的端口多达数百个的情况,这不值一提!
集线器
集线器不能将网络分段,而只将网段连接起来。与集线器相连主机都属于同一冲突域,同一广播域
广播域与冲突域
- 广播域(broadcast domain)指的是在同一个网段中所有设备组成的集合,这些设备侦听该网段中发送的所有的广播
- 冲突域(collision domain)指这样一种网络情形:某台设备在网络上发送分组时,当前网段中的其他所有设备都必须注意到这一点。如果同时有两台设备试图传输数据,将导致冲突,而这两台设备必须分别重传数据,因此效率不高。
网络互联模型(OSI参考模型)
参考模型的优点
OSI 模型是层次型的,具有分层模型的所有优点和好处。所有分层模型的主要目的都是让不同厂商的网络能够互操作, OSI 模型尤其如此。
使用 OSI 分层模型的主要优点在于:
- 将网络通信过程划分成更小、更简单的组件,这有助于组件的开发、设计和故障排除;
- 通过标准化网络组件,让多家厂商能够协作开发;
- 定义了模型每层执行的功能,从而鼓励了行业标准化;
- 让不同类型的网络硬件和软件能够彼此通信;
- 避免让对一层的修改影响其他层,从而避免妨碍开发工作。
OSI查考模型
OSI 规范最大的作用之一是帮助在不同的主机之间传输数据,这意味着我们可在 Unix 主机和 PC
(或 Mac) 之间传输数据。
然而, OSI 并非具体的模型,而是一组指导原则,应用程序开发人员可使用它们创建可在网络中
运行的应用程序。它还提供了一个框架,指导如何制定和实施网络标准、如何制造设备以及如何制定
网络互联方案。
上3层指定了终端中的应用程序如何彼此通信以及如何与用户交流;下4层指定了如何进行端到端的数据传输。
从图 1-6 可知,用户界面位于应用层 另外,上3层负责主机之间的应用程序通信 请记住,这3
层都对联网和网络地址 一无所知,那是下4 层的职责
从图 1-7 中可知,下 4层定义了数据是如何通过物理电缆、交换机和路由器进行传输的,它们还
定义了如何重建从发送方主机到目标主机的应用程序的数据流。
下述网络设备都运行在OSI模型的全部7层上:
- NMS(Network Management Station, 网络管理工作站)
- Web和应用程序服务器
- 网关(非默认网关)
- 网络主机
应用层
为应用程序提供网络接口
确定目标通行方的可用性,判断是否有足够资源进行想要的通信
应用层是实际应用程序之间的接口,这意味这诸如Microsoft Word等应用程序并不位于应用层中,而是与应用层协议交互。
表示层
向应用层提供数据,并负责数据转换和代码格式化
该层本质是一个转换器,提供数据编码和转换,加解密,解压缩等特殊处理过程
通过提供转换服务,表示层可确保从一个系统的应用层传输而来的数据可被另一个系统的应用层读取。
会话层
在网络中将来自不同应用程序的数据分开
提供三种不同的通信模式:单工,半双工,全双工
会话层负责在表示层实体之间建立、管理和终止会话,还 才设备或节点之间的对话进行控制。它
协调和组织系统之间的通信。
传输层
位于传输层的服务将来自上层应用的数据进行分段和重组,并将它们合并到同一个数据流中。
在传输层,可使用术语可靠的联网,这意味着将使用确认、排序和流量控制。
可靠的服务TCP和不可靠的服务UDP都运行在传输层
传输层负责提供如下机制:对上层应用程序进行多路复用、建立会话以及拆除虚电路(也会建立,要先建立才能拆除) 。它还提供透明的数据传输,从而对高层隐藏随网络而异的信息。
流量控制
数据完整性由传输层确保,这是通过流量控制以及允许应用程序请求在系统之间进行可靠的数据
传输实现的。流量控制可避免作为发送方的主机让作为接收方的主机的缓冲区溢出(这可能导致数据
丢失)。可靠的数据传输在系统之间使用面向连接(可靠) 的通信会话,而涉及的协议确保可实现如下目标:
口收到数据段后,向发送方进行确认;
口重传所有未得到确认的数据段;
口数据段到达目的地后,按正确的顺序排列它们;
口确保数据流量不超过处理能力,以避免拥塞、过载和数据丢失。
- 流量控制旨在提供一种机制,让接收方能够控制发送方发送的数据量。
面向连接的通信
在可靠的传输操作中,要传输数据的设备建立一个到远程设备的面向连接的通信会话。传输设备
首先与其对等系统建立面向连接的会话,这称为呼叫建立或三方握手,然后传输数据。传输完毕后,
将进行呼叫终止,以拆除虚电路。
1-9 描述了发送系统和接收系统之间进行的典型可靠会话。从中可知,两台主机的应用程序都
首先通知各自的操作系统说即将建立一条连接。两个操作系统通过网络发送消息,确认传输得到了批
准且双方已准备就绪。这种必不可少的同步完成后,便完全建立了连接,可以开始传输数据了。(这
种虚电路建立称为开销! )
传输信息期间,两台主机定期地检查对方,通过协议软件进行通信,确保一切进展顺利且正确地
收到了数据。
对图 1-9 所示的面向连接的会话中的步骤(三方握手)总结如下。
口第一个是"连接协定"数据段,用于请求同步。
口接下来的数据段确认请求,并在主机之间确定连接参数(即规则)。这些数据段也请求同步接
收方的排序,以建立双向连接。
口最后一个数据段也是用来进行确认的,它通知目标主机连接协定已被接受且连接已建立。现
在可以开始传输数据了。
缓冲
当主机收到大量的数据报,超出了其处理能力时,结果将如何呢?它会将这些数据报存储在称为
缓冲区的内存区域中,但仅当突发数据报的数量较少时,这种缓冲方式才能解决问题 如果不是这样,
数据报将纷至沓来,并最终耗尽设备的内存,超过其容量,使其最终不得不丢弃新到来的数据报。
但也不用太担心,因为传输层的流量控制系统确实很管用 传输层可向发送方(源)发出信号"未
准备好",从而避免数据泛滥和丢失数据 如图 1-10 所示 这种机制类似于刹车灯,用信号告诉发送
设备不要再向不堪重负的接收方传输数据段 处理完毕其内存储水池(缓冲区)中的数据段后,接收
方发送信号"准备就绪。等待传输的计算机收到这个"前进"信号后,将继续传输
在面向连接的可靠数据传输中,数据报到达接收主机的顺序与发送顺序完全相同;如果顺序被打
乱,传输将失败。如果在传输过程中,有任何数据段丢失、重复或受损,传输也将失败。为解决这个
问题,可让接收主机确认它收到了每个数据段。
如果服务具有如下特征,它就是面向连接的:
建立虚电路(如三方握手);
使用排序技术;
使用确认:
使用流量控制。
- 流量控制方式包含缓冲、窗口技术和拥塞避免。
窗口技术
在理想情况下,数据传输'快捷而高效。可以想见,如果传输方发送每个数据段后都必须等待确认,
传输速度将变得缓慢。然而,从发送方传输数据段到处理完毕来自接收方的确认之间有一段时间,发
送方可利用这段时间传输更多的数据。在收到确认前,传输方可发送的数据段数量(以字节为单位)
称为窗口。
- 窗口用于控制未确认的数据段数量。
因此,窗口大小控制了一方传输给另一方的信息量。有些协议以分组数度量信息量,但 TCP/IP
以字节数度量信息量。
在图 1-11 中,双方使用的窗口大小不同:一方将其设置为1 ,另一方将其设置为3
窗口大小为 1时,发送方传输每个数据段后都等待确认,然后才能传输另一个:窗口大小为3时,
发送方将传输 3个数据段,再等待确认。
在这个简化的示例中,发送方和接收方都是工作站。在实际情况中,可发送的为字节数,而不是
数据段数。
- 如果未收到所有应确认的字节,接收方将缩小窗口,以改善通信会话。
确认
可靠的数据传输依靠功能完整的数据链路,从而确保机器之间发送的数据流的完整性。它确保数
据不会重复或丢失,这是通过肯定确认和重传实现的,这种方法要求接收方在收到数据后向发送方发
送→条确认消息。发送方记录每个以字节为单位度量的数据段,将其发送后等待确认,而暂不发送下
一数据段。发送数据段后,发送方启动定时器,如果定时器到期后仍未收到接收方的确认,就重传该
数据段。
在图 1-12 中,发送方传输了数据段1,2,3 ,接收节点请求发送数据段4 ,以此确认它收到了前3
个数据段。收到确认后,发送方传输数据段 4,5,6。如果数据段 5未能到达目的地,接收方将请
求重传该数据段,以指出这一点。接下来,发送方将重传该数据段并等待确认;仅当收到确认后,接
收方才会传输数据段7
网络层
网络层(第 3层)管理设备编址、跟踪设备在网络中的位置并确定最佳的数据传输路径,这意味
着网络层必须在位于不同网络中的设备之间传输数据流. 路由器(第3 层设备)位于网络层,在互联
网络中提供路由选择服务。
具体过程如下。在其接口上收到分组后,路由器首先检查分组的目标 IP地址 如果分组的目的地
不是当前路由器,路由器将在路由选择表中查找目标网络地址 选择出站接口后,路由器将分组发送
到该接 口,后者将分组封装成帧后在本地网络中传输 如果在路由选择表中找不到目标网络对应的条
目,路由器将丢弃分组
在网络层,使用的分组有两种:数据分组和路由更新
口数据分组 用于在互联网络中传输用户数据 用于支持用户数据的协议称为被路由协议 (routed
protocol ),这包括 IP和IPv6 。IP 编址将在第 3章和第4 章介绍,而 IPv6 将在第 15 章介绍
口路由更新分组 包含与有关 互联网络中所有路由器连接的网络的更新信息,用于将这些信息
告知邻接路由器。发送路由更新分组的协议称为路由选择协议,一些常见的路由选择协议包
括RIP,RIPv2,EIGRP和OSPF。路由更新分组用于帮助每台路由器建立和维护路由选择表
路由器使用的路由选择表包含如下信息。
口网络地址 随协议而异的网络地址 对于每种被路由协议,路由器都必须为其维护 个路由
选择表,因为每种被路由协议都以不同的编址方案(如 IP 1Pv6 IPX) 跟踪网络 可将网
络地址视为用不同语言书写的街道标识;如果 Cat 街居住着美国人、西班牙人和法国人,该街
道将标识为 Cat/Gat/Chat
口接口
前往特定网络时,将为分组选择的出站接口。
口度量值 到远程网络的距离。不同的路由选择协议使用不同的方式计算这种距离 路由选择协议将在第 8章和第9 章介绍,就目前而言,只需知道如下信息:有些路由选择协议(具体地
说是 RIP) 使用跳数(分组前往远程网络时穿越的路由器数量).而有些路由选择协议使用带
宽、线路延迟甚至嘀嗒( 1/18 秒)数。
正如前面指出的,路由器分割广播域,这意味着默认情况下,路由器不会转发广播。这是件好事,
你还记得其原因吗?路由器还能分割冲突域,但我们也可使用第2 层(数据链路层)交换机达成这种
目的。因为路由器的每个接口都属于不同的网络,所以我们必须给每个接口分配不同的网络标识号,
且与同一个接口相连的每台主机都必须使用相同的网络号。图 1-14 说明了路由器在互联网络中扮演的
角色。
对于路由器,必须牢记如下要点:
口默认情况下,路由器不转发任何广播分组和组播分组。
口路由器根据网络层报头中的逻辑地址确定将分组转发到哪个下一跳路由器。
口路由器可使用管理员创建的访问列表控制可进出接口的分组类型,以提高安全性。
口必要时,路由器可在同一个接口提供第 2层桥接功能和路由功能。
口第 3层设备(这里指的是路由器)在虚拟 LAN (VLAN) 之间提供连接。
口路由器可为特定类型的网络数据流提供 QoS (Quality of Service .服务质量)。
数据链路层
数据链 路层提供数据的物理传输,并处理错误通知、网络拓扑和流量控制。这意味着数据链路层
将使用硬件地址确保报文被传输到 LAN 中的正确设备,还将把来自网络层的报文转换为比特,供物
理层传输。
数据链路层*将报文封装成数据帧,并添加定制的报头,其中包含目标硬件地址和源硬件地址。 *这
些添加的信息、位于原始报文周围,形成‘习、容器",就像阿波罗计划中的引擎、导航设备和其他工具
被附加到登月舱上一样。这些设备仅在太空航行的特定阶段有用,这些阶段结束后将被剥离和丢弃,
数据在网络中的传输过程与此类似。
路由器运行在网络层,根本不关心主机位于什么地方,而只关心网络(包括远程网络)位于什么
地方以及前往这些网络(包括远程网络)的最佳路径,明白这一点很重要。路由器只关心网络,这是
好事!对本地网络中每台设备进行唯一标识的工作由数据链路层负责。
数据链路层使用硬件地址,让主机能够给本地网络中的其他主机发送分组以及穿越路由器发送分
组。每 当在路由器之间传输分组时,分组都将被使用数据链路层控制信息封装成帧,但接收路由器会
将这些信息剥离,只保留完整的原始分组。在每一跳都将重复这种将分组封装成帧的过程,直到分组
最终到达正确的接收主机。在整个传输过程中,分组本身从未被修改过,而只是被必要的控制信息封
装,以便能够通过不同的介质进行传输, 明白这一点至关重要。
- 交换机和网桥都工作在数据链路层,它们根据硬件 (MAC) 地址过滤网络。
工作在数据链路层的交换机和网桥
第2层交换被认为是基于硬件的桥接,因为他们使用ASIC(Application-specific Integrated Circuit,专用集成电路)的特殊硬件。ASIC的速度可高达吉比特,且延迟非常低,延迟指的是帧从进入端口到离开端口之间的时间。
网桥和交换机读取通过网络传输的每个帧,然后,这些第 层设备将源硬件地址加入过滤表中,以跟踪帧是从哪个端口收到的。这些记录在网桥或交换机过滤表中的信息将帮助确定特定发送设备的位置。
虽然第 2层设备和第3层设备都需要了解网络,但它们关心的重点截然不同。第3 层设备(如路由器)需要确定网络的位置,而第3 层设备(交换机和网桥)需要确定设备的位置。因此,网络之于路由器犹如设备之于交换机和网桥,而提供了互联网络地图的路由选择表之于路由器犹如提供了设备地图的过滤表之于交换机和网桥。建立过谑表后,第 2层设备将只把帧转发到目标硬件地址所属的网段:如果目标设备与发送设备位于同一个网段,第 2层设备将禁止帧进入其他网段;如果目标设备位于另一个网段,帧将只传输到该网段。这称为透明桥接。交换机接口收到帧后,如果在过滤表中找不到其目标硬件地址,交换机将把帧转发到所有网段。如果有未知设备对这种转发操作作出应答,交换机将更新其过滤表中有关该设备位置的信息。然而,如果帧的目标地址为广播地址,交换机将默认把所有广播转发给与之相连的所有网段。接收广播的所有设备都位于同一个广播域中,这是个问题:第 2层设备传播第 2层广播风暴,这会极大地降低网络性能。要阻止广播风暴在互联网络中传播,唯一的办法是使用第3层设备一一路由器。在互联网络中,使用交换机而不是集线器的最大好处是,每个交换机端口都属于不同的冲突域,而集线器形成一个大型冲突域。然而,即使使用了交换机,默认仍不能分割广播域。交换机和网桥都没有这样的功能,相反它们转发所有的广播。
相对于以集线器为中心的实现来说, LAN 交换的另一个优点是,与交换机相连的每个网段中的每
台设备都能同时传输( 至少在每个交换机端口只连接一台主机,而没有连接集线器的情况下是这样
的)。你可能猜到了,**使用集线器时,每个网段不能有多台设备同时通信。
物理层
终于来到了最底层。物理层有两项功能:发送和接收比特。比特的取值只能为 一一使用数
字值的摩尔斯码。物理层直接与各种通信介质交流。不同类型的介质以不同方式表示比特值,有些使
用音调,有些使用状态切换一一从高电平变成低电平以及从低电平变成高电平。对于每种类型的介质,
都需要特定的协议,这些协议描述了正确的比特模式、如何将数据编码成介质信号以及物理介质连接
头的各种特征。
工作在物理层的集线器
集线器实际上是一种多端口转发器。转发器接收数字信号,进行放大或重建,然后通过所有活动
端口将其转发出去,而不查看信号表示的数据。有源集线器都如此:从任何集线器端口收到任何数字
信号后,都进行放大或重建,然后通过其他所有集线器端口将其转发出去。这意味着与集线器相连的
所有设备都属于同一个冲突域,也属于同一个广播域。
-
集线器和转发器可用于增大单个 LAN 网段覆盖的区域,但不推荐这样做。几乎
在任何情况下,人们都担负得起 LAN 交换机的费用
本章要点
找出可能导致 LAN 拥塞的原因。广播域中的主机太多、广播风暴、组播以及带宽太低都是导致
LAN 拥塞的可能原因。
描述冲突域和广播域的差别。冲突域是一个以太网术语,指的是这样一组联网的设备,即网段中
的一台设备发送分组时,该网段中的其他所有设备都必须侦昕它。在广播域中,网段中的所有设备都
侦昕在该网段中发送的广播。
区分 MAC 地址和 IP 地址,描述在网络中使用这些地址的时机和方式。 MAC 地址是一个十六进
制数,标识了主机的物理连接。 MAC 地址在 OSI 模型的第 2层使用。 IP 地址可表示为二进制,也可
表示为十进制,是一种逻辑标识符,位于 OSI 模型的第 3层。位于同一个物理网段的主机使用 MAC
地址彼此寻找对方,而当主机位于不同的 LAN 网段或子网时,将使用 IP 地址来寻找对方。即使主机
位于不同的子网中,分组通过路由选择到达目标网络后,也将把目标IP地址解析为 MAC 地址。
理解集结器、罔桥、交换机和路由器的差别。集线器创建一个冲突域和一个广播域。网桥分割冲
突域,但只形成一个大型广播域,它们使用硬件地址来过滤网络。交换机不过是更智能的多端口网桥,
它们分割冲突域,但默认创建一个大型广播域。交换机使用硬件地址过滤网络。路由器分割冲突域和
广播域,并使用逻辑地址过滤网络。
了解路由器的功能和优点。路由器执行分组交换、过滤和路径选择,帮助完成互联网络通信。路
由器的优点之一是,可减少广播流量。
区分面向连接的网络服务和无连接网络服务,描述网络通信期间如何处理这两种服务。面向连接
的服务使用确认和流量控制来建立可靠的会话,与无连接网络服务相比,其开销更高。无连接服务用
于发送无需进行确认和流量控制的数据,但不可靠。
定义 OSI模型的各层,了解每层的功能,描述各种设备和网络协议所属的层。 你必须牢记 OSI
模型的 7层以及每层提供的功能。应用层、表示层和会话层属于上层,负责用户界面和应用程序之间
的通信。传输层提供分段、排序和虚电路。网络层提供逻辑网络编址以及在互联网络中路由的功能。
数据链路层提供了将数据封装成帧并将其放到网络介质上的功能。物理层负责将收到的 编码成
数字信号,以便在网段中传输。