计算机网络(4)之交换技术,分层技术和默认网关
废话不说直接上
交换技术是计算机网络中用于传输数据的基本方法之一,它决定了数据包如何在网络中传输,确保数据高效、准确地从源节点到达目标节点。交换技术广泛应用于局域网(LAN)、广域网(WAN)等多种网络结构,主要包括电路交换、分组交换和报文交换三种方式。
1. 电路交换 (Circuit Switching)
电路交换是一种传统的交换方式,在通信开始前,会在源和目标之间建立一条专用的通信路径(电路),数据传输期间独占该通道。电路交换常用于电话网络,其特点是传输速率稳定,但资源利用率较低。
特点:
- 连接建立:在数据传输前必须先建立一条物理路径。
- 独占资源:一旦建立连接,该路径上的资源会被独占,直到通信结束。
- 适用场景:适合语音通信和需要连续数据流的场景。
优缺点:
- 优点:传输稳定,适合实时通信。
- 缺点:资源利用率低,若没有数据传输,通道资源会被浪费。
2. 分组交换 (Packet Switching)
分组交换是一种将数据拆分为多个小分组(Packet)来传输的方式,每个分组在网络中独立传输,可以沿不同的路径到达目的地。互联网采用的就是分组交换技术。
特点:
- 无需专线:数据分组可在不同路径上传输,资源共享性高。
- 路由灵活:每个分组根据网络状态选择最佳路径,具有更高的网络容错性。
- 适用场景:适合互联网数据传输以及其他数据量较大的场景。
优缺点:
- 优点:资源利用率高,适应动态网络环境。
- 缺点:可能会导致延迟、数据包乱序等问题。
分组交换的典型子类:
- 虚电路交换:在传输数据前建立一个逻辑路径,但每个分组仍具有路由灵活性。
- 数据报交换:没有固定路径,每个分组可以选择不同路径,灵活性更高。
3. 报文交换 (Message Switching)
报文交换是一种基于报文的数据传输方式。数据在传输前不被拆分,完整的报文在网络节点间逐跳传输,适用于数据量较大的情况。
特点:
- 无连接性:不需预先建立连接,报文逐步传输至目标。
- 存储转发:报文交换需要中间节点存储和转发完整的报文,可能会导致时延。
- 适用场景:适合对实时性要求不高的场景,如电子邮件。
优缺点:
- 优点:适合大数据量传输,且可确保完整性。
- 缺点:时延较大,存储需求较高。
4. 各交换技术对比
特性 | 电路交换 | 分组交换 | 报文交换 |
---|---|---|---|
路径建立 | 需要,专线传输 | 无需预先建立,每个分组独立传输 | 无需预先建立 |
传输效率 | 低 | 高 | 中 |
实时性 | 高 | 中 | 低 |
资源利用率 | 低 | 高 | 低 |
适用场景 | 语音通话,视频通话 | 互联网,数据通信 | 邮件,大数据量传输 |
下面将介绍计算机网络中一个非常重要的概念 分层
分层可以理解为将问题分解为更易管理的组件(层):每一层的协议管理该层的数据通信活动,确保信息在不同设备和系统之间的有效传输。
分层模型的优点
- 模块化:每一层独立完成特定任务,便于开发、测试和维护。
- 标准化:分层可以让不同厂商设备和协议互通,促进互操作性。
- 灵活性:通过定义接口,每层可以独立升级或更换,不影响其他层。
- 简化复杂性:分层降低了整体系统的复杂度,让设计更清晰。
- 故障隔离:故障容易定位到具体层,简化了排查和修复过程。
常见分层模型
1. OSI模型(开放系统互联模型)
OSI(Open Systems Interconnection)模型是一个经典的分层网络模型,将通信过程分为七个层次,分别是:
- 物理层(Physical Layer):负责比特流的传输,实现物理介质上的电气、机械和功能特性,如电缆、信号等。
- 数据链路层(Data Link Layer):将比特组装成帧进行传输,并负责数据链路的建立、维护和释放,以及差错检测。
- 网络层(Network Layer):负责路径选择(路由)和逻辑地址分配,使数据包在网络中成功转发。
- 传输层(Transport Layer):负责端到端的通信和数据完整性,实现数据分段、重组和传输控制。
- 会话层(Session Layer):管理应用之间的会话(建立、维护和终止会话),控制通信进程。
- 表示层(Presentation Layer):负责数据格式的转换,如加密、压缩、编码等。
- 应用层(Application Layer):提供网络服务的接口,供应用程序使用,如HTTP、FTP、SMTP等协议。
2. TCP/IP模型(互联网模型)
TCP/IP模型是基于互联网设计的实际网络分层模型。相比OSI模型,TCP/IP模型更加简单,分为以下四个层次:
- 网络接口层(Network Interface Layer):包括物理层和数据链路层的功能,负责物理传输。
- 网络层(Internet Layer):相当于OSI的网络层,负责路由、寻址等功能。
- 传输层(Transport Layer):包括TCP和UDP协议,负责端到端传输和数据可靠性。
- 应用层(Application Layer):涵盖OSI的会话层、表示层和应用层,负责提供具体的网络服务。
分层的过程和作用
在数据传输过程中,数据在发送端从高层逐层传递到低层,每层对数据进行相应的封装(添加特定的头部信息)并将其传给下一层;在接收端,数据从低层逐层向上层传递,逐层解封装,最终到达应用层被应用程序处理。这个过程被称为封装和解封装。
例如:
- 发送方应用层生成消息数据,传给传输层。
- 传输层将数据分段,并加上头部信息,传给网络层。
- 网络层添加IP头,传给数据链路层,进行帧封装并传输到物理层。
- 接收方逐层解封装,还原数据并交付给应用程序。
下面重点讲解一下几个关键层的主要服务:
传输层是计算机网络模型中的一个关键层次,其主要任务是提供端到端的数据传输服务,确保应用程序之间的数据传输可靠、准确。以下是传输层所提供的主要服务:
1. 端到端通信(End-to-End Communication)
- 传输层在发送方和接收方之间建立逻辑连接,使数据能够从一个应用进程直接发送到另一个进程,确保不同应用之间的通信不受干扰。
2. 可靠数据传输(Reliable Data Transfer)
- 传输层通过确认机制、序列号和重传策略确保数据的可靠性。
- 在TCP协议中,传输层会确保数据包按顺序到达,不丢失、不重复,这样接收方可以接收到完整且无误的数据。
- UDP协议则不保证可靠性,适用于对速度要求高而对可靠性要求较低的应用场景。
3. 流量控制(Flow Control)
- 传输层的流量控制机制可以防止发送方发送过快,导致接收方缓存溢出。
- TCP使用滑动窗口协议来控制数据的传输速率,以确保数据的发送与接收速率匹配。
4. 拥塞控制(Congestion Control)
- 传输层(如TCP协议)提供拥塞控制机制,通过调整数据传输速率来减少网络中的拥塞,确保网络资源的高效利用。
- 拥塞控制会动态调节发送速率,避免过多数据在网络中传输导致数据包丢失。
5. 数据分段与重组(Segmentation and Reassembly)
- 传输层会将上层应用程序发送的数据分成较小的段(segment),以适应网络传输的限制。
- 在接收方,传输层会将这些数据段重组成完整的数据供上层使用。
6. 端口寻址(Port Addressing)
- 传输层通过端口号来区分网络设备中不同的应用进程。
- 通过IP地址和端口号的组合,传输层能够确保数据包被送达指定的应用程序,例如HTTP使用80端口,HTTPS使用443端口。
7. 多路复用与解复用(Multiplexing and Demultiplexing)
- 传输层支持多路复用和解复用,使得多个应用可以同时共享同一台计算机的网络连接。
- 发送方可以将来自不同应用的数据整合到单一的网络连接中,接收方则根据端口号将数据拆分并送到各个对应的应用进程。
网络层是计算机网络体系结构中的第三层,它主要负责在不同主机之间进行数据传输,确保数据从源地址传送到目标地址。网络层为传输层提供了端到端的通信服务。网络层的主要服务包括以下几个方面:
1. 路由选择(Routing)
- 定义:网络层的核心功能之一是根据目标IP地址选择从源到目的地的最佳路径。这一过程称为路由选择。
- 作用:它确保数据包能够沿着最佳路径在网络中传输,并避免拥塞或中断。
- 实施方式:路由器根据预先设定的路由表或动态路由协议(如RIP、OSPF、BGP等)来决定数据包的转发路径。
2. IP寻址(IP Addressing)
- 定义:网络层为每个主机分配一个唯一的IP地址,(也可以成为逻辑寻址)这个地址在网络中用于标识设备,并保证数据可以正确地从源主机传输到目标主机。
- 作用:IP地址是网络中每个设备的唯一标识,保证了源和目的设备可以被唯一识别。
- 实施方式:IPv4和IPv6是最常用的两种IP协议版本,分别为32位和128位地址。
3. 分组转发(Packet Forwarding)
- 定义:网络层负责将从源设备传来的数据包转发到目标设备。转发过程包括使用路由表来决定数据包的下一跳(next hop)和最终目的地。
- 作用:网络层处理数据包的转发和路由选择,确保数据包通过网络中的中间设备(如路由器)逐步到达目标设备。
- 实施方式:路由器根据数据包的目标IP地址查找路由表,将数据包转发到合适的接口。
4. 分段与重组(Segmentation and Reassembly)
- 定义:网络层负责将传输层收到的较大数据段分割成适合传输的较小数据包,并在目的地进行重组。
- 作用:由于不同的网络介质具有不同的最大传输单元(MTU),网络层必须确保数据包的大小适应网络的限制。
- 实施方式:网络层会根据链路层的MTU对数据包进行分段,发送到目的地后,网络层会重新组合这些分段数据。
5. 错误报告与诊断(Error Reporting and Diagnostics)
- 定义:网络层通过ICMP协议提供网络错误报告功能,帮助诊断网络问题。
- 作用:当数据包无法到达目标设备时,ICMP会发送错误消息,如"目标不可达"或"超时"消息,以帮助网络管理员定位问题。
- 实施方式:常见的ICMP消息包括"Echo Request"和"Echo Reply",也就是我们常用的
ping
命令。
6. 数据包的生命周期管理(TTL)
- 定义:TTL(Time To Live)字段是IP数据包头部中的一个重要字段,它限制了数据包在网络中可以经过的最大跳数(即通过的路由器数量)。
- 作用:防止数据包在网络中无限循环,避免数据包在错误路由的情况下持续传输。
- 实施方式:每经过一个路由器,TTL值就减1,当TTL值减为0时,数据包会被丢弃,并且发送TTL过期的ICMP错误报告。
7. 网络地址转换 (NAT)(Network Address Translation)
- 定义:NAT是一种在私有网络和公有网络之间转换IP地址的技术。
- 作用:它可以将内部私有IP地址转换为公有IP地址,或者将公有IP地址转换为私有IP地址,解决了IP地址不足的问题。
- 实施方式:常见的NAT类型有源地址转换(SNAT)和目的地址转换(DNAT)。
8. 支持多播通信(Multicast Support)
- 定义:多播是一种数据传输方式,允许单个源将数据同时发送给多个目标设备。
- 作用:网络层支持多播协议,使得某些应用(如视频会议、直播等)可以高效地将数据传递给多个接收者。
- 实施方式:使用IGMP(Internet Group Management Protocol)来管理多播组成员。
物理层是计算机网络的最底层,主要负责数据的实际传输。物理层的服务主要集中在如何在不同的物理介质上进行比特流传输。以下是物理层的主要服务:
1. 比特传输(Bit Transmission)
- 定义:物理层负责将数据从一个设备传送到另一个设备,通常以比特流的形式进行传输。
- 作用:确保数据以电信号或光信号的形式在传输介质(如电缆或光纤)上顺利传递。
- 实施方式:物理层负责将上层的比特流转换为传输介质所能识别的信号形式。
2. 物理信道建立(Establishing Physical Connections)
- 定义:物理层通过物理连接(如铜线、电缆、光纤等)为设备之间的数据通信提供一条传输路径。
- 作用:建立实际的传输通道,使得设备可以在物理上连接并实现数据通信。
- 实施方式:采用各种传输介质和接口标准来实现信道的物理连接,如RJ45、USB等接口标准。
3. 信号编码和解码(Signal Encoding and Decoding)
- 定义:物理层需要将比特数据编码为适合传输介质的信号(例如,将0和1转换为电压、电流或光脉冲)。
- 作用:确保数据在传输过程中不会出现错误或干扰,并能够被接收端正确识别。
- 实施方式:常见的编码方式包括曼彻斯特编码、差分曼彻斯特编码、NRZ(不归零编码)等。
4. 同步(Synchronization)
- 定义:在数据传输过程中,发送方和接收方必须保持同步,以便接收方能够准确解析每个比特的起始和结束。
- 作用:确保数据流在不同的设备之间能够正确地对齐,从而避免比特误差。
- 实施方式:物理层可使用同步技术(如时钟信号或同步位)来保持同步。
5. 数据传输速率(Data Rate Control)
- 定义:物理层需要定义和控制数据传输速率,即每秒传输的比特数(通常以bps为单位)。
- 作用:确保数据在传输过程中速度一致,避免因为传输速率不匹配而导致数据丢失或错误。
- 实施方式:物理层通过协议和硬件设计控制传输速率,如千兆以太网可实现每秒千兆位传输速度。
6. 信号调制和复用(Signal Modulation and Multiplexing)
- 定义:调制是指将信号编码为适合传输介质的形式,复用是指将多个信号组合在一起在同一通道上传输。
- 作用:通过调制和复用,多个信号可以在一条物理线路上传输,提高了带宽利用率。
- 实施方式:常用的调制方法包括调幅(AM)、调频(FM)和调相(PM);复用方法包括频分复用(FDM)和时分复用(TDM)。
7. 传输媒介规范(Transmission Media Specification)
- 定义:物理层规定了传输介质的特性和使用方法,例如电缆的类型、长度和连接方式等。
- 作用:使网络中的所有设备能够通过物理连接进行兼容传输。
- 实施方式:包括光纤、双绞线、电缆等不同介质规范的标准化设计。
8. 物理拓扑支持(Physical Topology Support)
- 定义:物理层支持多种网络拓扑结构(如总线型、环型、星型和网状拓扑)。上一篇文章中讲的网络拓扑结构是物理层
- 作用:物理层实现了设备的连接方式,决定了数据流的实际走向。
- 实施方式:在不同的拓扑结构下设计物理布线,以实现预期的数据传输需求。
下面我将介绍一个比较重要的知识:默认网关
在了解默认网关以前我们需要知道:计算机之间通常不会直接使用MAC地址进行通信,尤其是在不同子网之间,他们会使用默认网关进行通信
默认网关是计算机网络中的一个关键概念,指的是一个网络设备(通常是路由器)的IP地址,作为网络内设备访问其他网络(例如互联网)时的出入口。它的主要作用是当设备需要与同一子网外的其他设备通信时,数据包会自动转发给默认网关,由它负责进一步的路由和转发。以下是默认网关的详细解释:
默认网关的作用
-
跨网段通信:在本地网络中的设备想要与其他网络中的设备通信时,必须通过默认网关转发数据。例如,在局域网(LAN)内的电脑发送请求给互联网中的服务器时,数据包将通过默认网关进行路由。
-
路由数据包:默认网关通常由路由器充当,它决定将数据包转发到哪个路径,以确保它们能够到达目的地。
-
简化设备配置:网络设备通过默认网关可以自动将无法找到目的地的流量发送出去,无需每个设备自己维护复杂的路由表。
默认网关的配置
- 手动配置:在某些情况下,设备的网络设置中需要手动输入默认网关的IP地址。
- 自动配置:在大多数情况下,默认网关由DHCP服务器自动分配,因此设备无需手动配置即可使用网络。
示例
假设你的本地网络是 192.168.1.0/24
,而你的路由器(默认网关)的 IP 地址是 192.168.1.1
,当你的设备(如电脑)需要访问互联网或其他子网的地址时,它会将数据包发给 192.168.1.1
。路由器接收到数据后,负责将其转发到目标地址。 这一段很重要哦,一定要理解
重要性
默认网关是设备连接互联网或其他外部网络的桥梁,缺少默认网关将导致设备只能在本地网络内通信,无法访问外部网络。
仔细看下边的图,我相信你会加深理解。