计算机网络(网络层)

前言

首先我们都知道这是很重要的一个部分,所以,我会详细讲一下重要的知识点

正文

路由算法

静态路由与动态路由

静态路由和动态路由是计算机网络中两种不同的路由方式,它们用于确定数据包在网络中的传输路径。下面是它们的详细介绍:

静态路由:
  1. 手动配置: 静态路由需要管理员手动配置路由表。管理员需要明确指定每个目标网络的下一跳路由器或出口接口。

  2. 适用范围: 适用于较小的网络,或者在网络拓扑较为简单、变化不频繁的环境中。

  3. 性能: 由于路由表是静态的,因此不会随着网络拓扑的变化而自动更新,可能导致一些路由不再有效或不是最优的情况。

  4. 管理: 管理相对简单,但对于大型、复杂、动态变化的网络,维护静态路由可能变得繁琐。

  5. 安全性: 静态路由的安全性较高,因为路由信息不会自动传播,攻击者很难通过路由协议来攻击网络。

动态路由:
  1. 自动学习: 动态路由协议允许路由器之间自动学习网络拓扑和可达路径,并根据网络的变化自动更新路由表。

  2. 适用范围: 更适用于大型网络,特别是那些经常变化的网络,因为它可以自动适应拓扑的变化。

  3. 性能: 动态路由允许网络更灵活地适应变化,但在计算和通信方面会消耗一些额外的资源。

  4. 管理: 管理相对复杂,需要配置和监控路由协议,但对于大型和复杂的网络,自动学习和适应的特性可以提供更好的性能。

  5. 安全性: 动态路由的安全性相对较低,因为路由信息可以在网络中自动传播。攻击者有可能通过伪造路由信息来导致网络问题。

在实际应用中,通常会综合考虑网络规模、变化频率、管理难度以及安全性等因素,选择使用静态路由、动态路由,或者它们的组合,以满足特定网络的需求。

距离-向量路由算法

距离-向量路由算法(Distance-Vector Routing Algorithm)是一种基于分布式计算的路由算法,用于在计算机网络中动态地确定最佳的数据包传输路径。这种算法主要基于节点之间的距离和方向信息进行决策。经典的距离-向量路由算法有 RIP(Routing Information Protocol)。

下面是距离-向量路由算法的一些关键概念和工作原理:

  1. 距离: 距离通常表示两个节点之间的度量,可以是物理距离、带宽、时延,跳数(例如在RIP中)等。在距离-向量算法中,路由器会维护到达目标网络的距离信息。

  2. 向量: 向量是指路由器维护的到达目标网络的下一跳信息。这个向量包含了到达每个目标网络的最佳路径信息。

  3. 更新: 距离-向量算法通过周期性地交换路由表信息来更新网络状态。每个路由器都会向相邻路由器发送自己的路由表,相邻路由器则使用这些信息来更新自己的路由表。

  4. 计算距离: 距离的计算通常基于累积的路径代价。每个路由器根据收到的邻居路由表信息计算到达目标网络的距离,选择最短路径。

  5. 拓扑变化: 当网络拓扑发生变化时,路由器会感知到,并通过更新路由表来适应变化。这种适应性是分布式的,每个路由器根据自己的观察进行调整。

  6. 计数到无穷大: 为了防止路由环路,距离-向量算法使用“计数到无穷大”(count to infinity)的机制。当路由器无法到达某个目标网络时,会将距离设置为无穷大,以避免无限循环。

  7. 稳定性: 距离-向量算法可能受到“计数到无穷大”问题和慢收敛的困扰。为了提高稳定性,常常采用一些技术手段,如拆分视野、触发更新等。

RIP(Routing Information Protocol)是一个典型的距离-向量路由算法的例子,它广泛应用于小型网络环境。然而,距离-向量路由算法在大型网络中可能会遇到性能和收敛速度的问题,因此在更大规模、更复杂的网络中,常常使用其他路由算法,如链路状态路由算法(OSPF)或路径矢量路由算法(BGP)等。

链路状态路由算法

链路状态路由算法是一种广泛应用于计算机网络中的路由算法。它基于网络中各个节点之间的链路状态信息来计算最短路径。最著名的链路状态路由算法之一是OSPF(Open Shortest Path First)。

以下是链路状态路由算法的基本原理和步骤:

  1. 链路状态信息收集: 在链路状态路由算法中,每个路由器都会收集关于与其直接相连的链路状态信息。这包括链路的带宽、延迟、可用性等信息。路由器会将这些信息封装成链路状态包,并定期广播给所有与之相连的路由器。

  2. 链路状态数据库: 每个路由器都会维护一个链路状态数据库(Link State Database,LSDB),其中包含了整个网络的链路状态信息。LSDB 存储了网络拓扑的全局视图。

  3. 最短路径计算: 使用链路状态数据库中的信息,每个路由器都可以计算到达网络中其他节点的最短路径。这通常使用 Dijkstra 算法完成。Dijkstra 算法通过不断选择距离最短的节点来构建最短路径树。

  4. 路由表更新: 一旦计算完成最短路径,每个路由器都会更新其路由表。路由表中包含了到达网络中各个目的地的下一跳信息。

  5. 洪泛算法: 链路状态路由算法中使用了一种称为洪泛(flooding)的技术,确保链路状态信息在网络中传播。当一个路由器更新了链路状态信息时,它将信息发送给所有相邻的路由器,这些路由器再将信息广播给它们的相邻路由器,以此类推。

  6. 容错性: 链路状态路由算法具有较好的容错性。由于每个路由器都有全局拓扑信息,当网络中的链路状态发生变化(如链路故障)时,路由器可以迅速适应,并重新计算最短路径。

  7. 分层设计: 链路状态路由算法通常采用分层设计,将网络划分为区域,每个区域内使用链路状态路由算法,而不同区域之间则使用汇总的信息,降低了整个系统的复杂性。

总体而言,链路状态路由算法通过全局的链路状态信息,为网络中的路由器提供了更全面、准确的拓扑视图,从而能够更有效地计算出最短路径,提高网络的性能和可靠性。

层次路由

层次路由(Hierarchical Routing)是一种网络路由的设计方法,旨在降低整个网络的复杂性。在大型网络中,全局路由信息的管理和维护可能变得非常繁琐,因此层次路由被引入以简化路由表的管理和减轻路由器的负担。这种方法将网络划分为多个层次或区域,每个区域内部使用自己的路由协议,而不同区域之间则使用更高层次的协议来交换信息。

以下是层次路由的主要特点和工作原理:

  1. 区域划分: 大型网络被划分为若干个区域,每个区域内部有自己的路由协议和路由器。这样的划分可以基于地理位置、网络拓扑结构或者其他因素。

  2. 内部路由协议: 在每个区域内,使用特定的内部路由协议进行路由表的构建和更新。这个协议只关心区域内的路由信息,而不需要了解整个网络的拓扑结构。(这样的话内外协议就可以不一样)

  3. 区域边界路由器: 每个区域与其他区域相连接的路由器被称为区域边界路由器。这些路由器负责处理跨区域的路由信息交换。它们运行更高层次的路由协议,负责将区域内的汇总信息传递给其他区域。

  4. 汇总信息: 区域边界路由器负责将本区域的路由信息进行汇总,并向其他区域传递汇总信息。这样,网络中的路由表规模得到了控制,因为每个区域内的详细信息被汇总成较为简单的信息传递给其他区域。

  5. 减少路由表大小: 层次路由的主要优势之一是减小了路由表的规模。每个路由器只需维护和了解相邻区域的汇总信息,而不需要了解整个网络的详细拓扑。

  6. 容错性和可伸缩性: 层次路由提高了网络的容错性。如果一个区域内的路由信息发生变化,只有该区域内的路由器需要进行更新,而不影响其他区域。同时,这种设计也提高了网络的可伸缩性,因为每个区域内部的细节对其他区域是透明的。

总的来说,层次路由通过将网络划分为多个区域,每个区域内使用独立的路由协议,有效地降低了整个网络的复杂性,提高了可管理性和性能。这种设计在大型网络环境中被广泛采用。

IPV4

IPv4(Internet Protocol version 4)是互联网上使用最广泛的网络层协议之一,用于在网络上标识和定位设备。IPv4地址由32位二进制数表示,通常以点分十进制形式呈现,如192.168.1.1。

IPv4数据报格式:

IPv4数据报的格式包括首部和数据两部分。下面是IPv4数据报首部的基本格式:

  1. 版本(Version): 4位字段,表示IP协议的版本号,IPv4的版本号为4。

  2. 首部长度(IHL - Internet Header Length): 4位字段,表示IPv4首部的长度,以4字节为单位。最小值为5,最大值为15。因此,IPv4首部长度的范围为20到60字节。

  3. 服务类型(Type of Service, TOS): 8位字段,包含服务类型和优先级信息。

  4. 总长度(Total Length): 16位字段,表示整个IPv4数据报的长度,包括首部和数据。最大值为65535字节。

  5. 标识(Identification): 16位字段,用于标识数据报的唯一性,通常由发送端设置,用于分片和重新组装。

  6. 标志(Flags): 3位字段,包括DF(Don't Fragment)、MF(More Fragments)和未使用的位。

  7. 片偏移(Fragment Offset): 13位字段,表示数据报片段在原始数据报中的位置。

  8. 生存时间(Time to Live, TTL): 8位字段,表示数据报在网络中可以经过的最大路由器数目,用于防止数据报在网络中无限循环。

  9. 协议(Protocol): 8位字段,表示封装在IPv4数据报中的协议类型,如TCP、UDP、ICMP等。

  10. 首部校验和(Header Checksum): 16位字段,用于检测首部在传输过程中是否发生错误。

  11. 源地址(Source Address): 32位字段,表示发送端的IPv4地址。

  12. 目标地址(Destination Address): 32位字段,表示接收端的IPv4地址。

  13. 选项(Options): 长度可变的字段,用于支持一些特殊功能,如记录路由、时间戳等。

  14. 数据(Data): 实际的数据部分。

IPv4数据报分片:

IPv4数据报的分片是指在网络传输过程中,当数据报大小超过链路的最大传输单元(MTU)时,将数据报分割成更小的片段。这些片段在目的地处重新组装成原始数据报。

分片涉及到标志(Flags)字段和片偏移(Fragment Offset)字段。让我们看一个简单的例子:

假设有一个数据报的总长度为4000字节,但网络链路的MTU只支持1500字节。这个数据报将被分为多个片段。

  1. 片偏移为0的第一个片段:

    • 标志:MF(More Fragments)被设置为1,表示还有更多的片段。
    • 片偏移:0,表示这是原始数据报的开始部分。
    • 数据长度:1500字节。
  2. 片偏移为185的第二个片段:

    • 标志:MF被设置为1。
    • 片偏移:185,表示这是原始数据报的第二部分。
    • 数据长度:1500字节。
  3. 片偏移为370的第三个片段:

    • 标志:MF被设置为0,因为这是最后一个片段。
    • 片偏移:370,表示这是原始数据报的最后部分。
    • 数据长度:1000字节。

这样,接收端收到这些片段后,根据片偏移和标志字段进行重新组装,得到原始的4000字节的数据报。

IPV4与NAT

IPv4地址(Internet Protocol version 4)是网络层使用的一种32位地址,用于在互联网上唯一标识和定位网络中的设备。IPv4地址的常见表示形式是点分十进制,例如,192.168.1.1。

IPv4地址:
  1. IPv4地址的组成:

    • IPv4地址由32位二进制数字组成,通常被分为4个8位的组,每个组转换成十进制并以点分十进制的形式表示。
    • 例如,IPv4地址:192.168.1.1,其中192是第一个组,168是第二个组,以此类推。
  2. IP地址分类:

    • IPv4地址根据其范围可以分为五个类别:A、B、C、D、E。
    • A、B、C三类地址用于主机寻址,D类地址用于多播,而E类地址则保留未来使用。
  3. 私有地址空间:

    • 为了节约公共地址空间,IPv4定义了私有地址范围,例如:
      • A类:10.0.0.0 到 10.255.255.255
      • B类:172.16.0.0 到 172.31.255.255
      • C类:192.168.0.0 到 192.168.255.255
    • 这些地址在私有网络内部使用,不直接暴露在互联网上。
NAT(Network Address Translation):

NAT是一种用于解决IPv4地址短缺问题的技术,同时也用于在私有网络和公共网络之间映射IP地址。NAT有两个主要方面:IPv4地址转换和网络地址转换。

  1. IPv4地址转换:

    • 在私有网络中,使用私有IP地址,但这些私有地址不能直接在公共互联网上路由。当内部主机要访问互联网时,NAT会将内部私有地址映射成公共IP地址,使其可以在互联网上传输数据。
    • 单一公共IP地址用于表示整个私有网络。这种形式的NAT称为静态NAT。
  2. 网络地址转换(NAPT/PAT):

    • PAT(Port Address Translation)是一种NAT的变体,它在私有网络中使用一个公共IP地址,并通过使用不同的端口号为每个内部主机创建唯一的标识。
    • 这使得多个内部主机可以通过同一个公共IP地址访问互联网,因为它们的连接可以通过不同的端口号进行区分。
举例说明:               

假设有一个私有网络,内部主机的IP地址是192.168.1.x。当内部主机向外部服务器发送请求时,NAT会将内部主机的私有IP地址映射成公共IP地址,使其能够在互联网上传输数据。

  • 内部主机IP地址:192.168.1.2
  • NAT映射规则:192.168.1.2 -> 公共IP地址(例如,203.0.113.1)

当内部主机通过NAT访问互联网时,NAT会修改数据包的源IP地址,将其替换为NAT设备的公共IP地址。这样,互联网上的服务器在回复数据时会将数据发送回NAT设备的公共IP地址,NAT设备再根据映射表将数据包转发给内部主机。

子网划分与子网掩码,CIDR

子网划分与子网掩码:
1. 子网划分:

因为2级ip的空间利用率有时很低,因此加入了一个子网号字段,让其变成了3层地址

  • 子网划分是将一个大型IP网络划分成更小、更可管理的网络的过程。
  • 这样的划分可以提高网络的性能、安全性,减小广播域的大小。
2. 子网掩码:
  • 子网掩码是一个32位的二进制数字,与IPv4地址结合使用,用于指示IP地址中哪些位表示网络标识,哪些位表示主机标识。
  • 子网掩码的常见形式是点分十进制,例如,255.255.255.0。
  • 与IPv4地址按位与运算,可以得到网络的标识部分。
无分类CIDR:
1. CIDR(Classless Inter-Domain Routing):
  • CIDR是一种无分类的IP地址分配和路由选择协议。它允许将IP地址块划分成不等大小的子网,而不受原始的类别限制。
  • CIDR地址的表示形式是IP地址后面跟着斜线和网络前缀长度,例如,192.168.1.0/24。
  • CIDP虽然不使用子网,但仍然使用掩码一词,至于不使用子网是指它并没有在32位地址中指明若干位作为子网字段,但是分配到一个CIDR地址块的组织,仍可以在本组织内根据需要划分出一些子网
  • 一个CIDR地址块可以表示很多地址,这种地址的聚合称为路由聚合,或者称为超网.
网络层转发分组的过程:
1. 子网划分和子网掩码的应用:
  • 假设有一个IP地址块为192.168.1.0/24,其中有256个地址。
  • 如果需要划分成4个子网,每个子网有64个地址,可以使用子网掩码为255.255.255.192。
  • 子网1:192.168.1.0/26
  • 子网2:192.168.1.64/26
  • 子网3:192.168.1.128/26
  • 子网4:192.168.1.192/26
2. 网络层转发分组的过程:
  • 当主机A要与主机B通信时,首先,A会检查B的IP地址是否在同一个子网中。
  • 如果B在同一子网,A直接发送数据包给B。
  • 如果B不在同一子网,A将数据包发送给它的默认网关(通常是路由器)。
  • 路由器根据其路由表,确定数据包应该转发到哪个接口。
  • 路由器根据目的IP地址和子网掩码,确定数据包的下一跳。
举例说明:

假设有两个子网A和B,A的IP地址范围是192.168.1.1到192.168.1.63,B的IP地址范围是192.168.1.64到192.168.1.127。子网掩码为255.255.255.192。

  1. 主机X(192.168.1.5)要与主机Y(192.168.1.70)通信:

    • X检查Y的IP地址,发现Y不在同一子网中。
    • X将数据包发送给它的默认网关,假设默认网关是路由器R1。
    • R1根据路由表,发现Y的IP地址应该通过接口2转发。
    • R1将数据包发送给B子网,让B子网内的路由器或交换机继续转发。
  2. 主机Z(192.168.1.80)要与主机W(192.168.1.55)通信:

    • Z检查W的IP地址,发现W不在同一子网中。
    • Z将数据包发送给它的默认网关,假设默认网关是路由器R2。
    • R2根据路由表,发现W的IP地址应该通过接口1转发。
    • R2将数据包发送给A子网,让A子网内的路由器或交换机继续转发。

通过子网划分、子网掩码和路由选择,网络实现了更好的组织和管理,同时提高了性能和安全性。

ARP,DHCP,ICMP

1. IP地址(Internet Protocol Address):

IP地址是一种在Internet上唯一标识主机或设备的地址。它是一个32位(IPv4)或128位(IPv6)的数字,用于在网络中定位和标识设备。IP地址分为两个部分,网络部分和主机部分,这有助于将设备划分到不同的网络和子网中。IP地址有两种版本:IPv4和IPv6。IPv4是目前广泛使用的版本,但由于IP地址短缺,IPv6作为其后续版本逐渐得到推广。

2. 硬件地址(MAC地址,Media Access Control Address):

硬件地址是网络接口卡(NIC)上的唯一标识符。它通常是一个48位的十六进制数,由厂商分配。硬件地址是全球唯一的,用于在局域网(LAN)中唯一标识网络设备。它由设备的制造商确定,与设备的物理硬件相关联。

3. ARP(Address Resolution Protocol):

ARP是一种网络协议,用于在IPv4网络中将IP地址映射到物理硬件地址(MAC地址)。其主要目的是解析目标设备的硬件地址,以便在数据链路层进行通信。

  • 查询过程:

    1. 当一台设备需要将数据帧发送到另一台设备,但只知道目标设备的IP地址时,它会发出一个ARP请求。
    2. ARP请求是一个广播帧,它包含了请求设备的IP地址。所有连接到网络的设备都会接收这个请求。
  • 响应过程:

    1. 设备拥有所请求IP地址的设备会响应ARP请求,将自己的硬件地址包含在ARP响应中。
    2. ARP响应同样是广播的,但只有发出ARP请求的设备会接收并处理这个响应。
  • 缓存:

    1. 设备在成功解析IP地址和硬件地址映射后,会将这个映射关系缓存起来,以避免频繁的ARP请求。这个缓存叫做ARP缓存表。
  • ARP缓存表存储了已解析的IP地址和对应的硬件地址。它包含了以下信息:
    • IP地址
    • 相应的硬件地址(MAC地址)
    • 数据项的生存时间(Time to Live,TTL)
  • 如果一个设备在一定时间内没有收到ARP响应,它可能会重新发送ARP请求,尝试再次解析目标设备的硬件地址。
  • ARP缓存中的信息是可以被恶意篡改的,因此有ARP缓存中毒(ARP Poisoning)的安全风险。一些安全机制,如静态ARP表项、ARP缓存定期刷新等,可以用来减轻这些风险。

使用ARP的4种典型情况总结如下:

1.发送方是主机:要把IP数据报发送到本网络上的另一台主机,此时发送方用ARP找到目的主机的硬件地址

2.发送方是主机:要把IP数据报发送到其他网络上的另一台主机,此时发送方用ARP找到与其自身网络连接的的路由器的硬件地址,剩下的工作让路由器来完成

3.发送方是路由器:要把IP数据报转发到与自身连接的网络上的一台主机(就是在两个网络之间做中转).这时他就在要转接的那个网络中用ARP找到目的主机的硬件地址

4.发送方是路由器:要把IP数据报转发到与不与自身连接的网络上的一台主机(就是在两个不相邻的网络之间做中转).这时他要找自己最边沿的网络中的可以作为转接的路由器的地址,然后将剩下的工作交个它来做,这里也是使用ARP来实现

ARP是在数据链路层工作的关键协议,它使得设备可以通过IP地址在本地网络中找到彼此,促使有效的数据通信。

4. DHCP(Dynamic Host Configuration Protocol):

DHCP是一种网络协议,用于自动分配IP地址和其他网络配置信息给计算机。当设备加入网络时,它可以通过DHCP向网络中的DHCP服务器请求IP地址、子网掩码、网关等信息。DHCP通过动态分配IP地址,使得网络管理更加灵活,避免了手动配置每个设备的繁琐过程。

5. ICMP(Internet Control Message Protocol):

ICMP是一种网络层协议,用于在IP网络上发送错误消息和操作状态信息。它通常被用于网络工具如ping和traceroute中。Ping通过发送ICMP Echo请求消息并等待目标设备的响应来测试两台设备之间的连接。ICMP还提供路由错误、超时、重定向等消息,用于网络的故障排除和状态监测。

IPV6

IPv6(Internet Protocol version 6)主要特点:

IPv6是IPv4的后续版本,旨在解决IPv4的地址枯竭和其他一些问题。以下是IPv6的主要特点:

  1. 更大的地址空间:

    • IPv6采用128位地址,相比IPv4的32位地址空间更大。这使得IPv6能够提供远远超过IPv4的地址数量,解决了IPv4中濒临枯竭的IP地址问题。
  2. 简化的报头:

    • IPv6的报头相对于IPv4更加简化,减少了在路由器和设备上的处理负担。IPv6报头只包含必需的信息,提高了路由和处理效率。
  3. 无状态地址配置:

    • IPv6引入了一种称为无状态地址配置(SLAAC)的新方法,允许设备自动配置IPv6地址而无需使用DHCP协议。这样可以简化网络管理,减少对中央配置的依赖。
  4. 改进的多播和任播:

    • IPv6对多播和任播的支持得到了改进,使得这些功能更加灵活和高效。多播和任播在IPv6中有更多的用途,例如在移动IPv6中用于服务定位。
  5. 简化的首部:

    • IPv6的首部相对于IPv4更加简化,去除了一些不再需要的字段。这降低了处理每个数据包的开销,并提高了网络性能。
  6. 支持IPSec:

    • IPv6在协议层面内置了对IPSec(Internet Protocol Security)的支持。IPSec提供了对网络层通信的加密和认证,增加了网络的安全性。
  7. 移动IPv6:

    • IPv6对移动性的支持更为完善。移动IPv6允许设备在网络中漫游而无需更改IP地址,使设备在不同网络之间切换更为无缝。
  8. 更好的支持任意大小的包:

    • IPv6对数据包的最大大小进行了优化,更好地支持各种网络环境和应用需求。

IPv6地址:

IPv6地址采用128位长度,通常以8组四位的十六进制表示,每组之间用冒号分隔。例如:2001:0db8:85a3:0000:0000:8a2e:0370:7334

IPv6地址的主要类型包括:

  1. 单播地址(Unicast Address):

    • 用于标识单个网络接口的地址。分为全球单播地址、链接本地单播地址等。
  2. 多播地址(Multicast Address):

    • 用于将数据报文传送到一组设备。多播地址以ff00::/8开始。
  3. 任播地址(Anycast Address):

    • 用于标识一组设备中的一个,数据将发送到最近的设备。IPv6任播地址也以ff00::/8开始。
  4. 回环地址(Loopback Address):

    • 表示设备本身,类似于IPv4的127.0.0.1。IPv6的回环地址是::1
  5. 未指定地址(Unspecified Address):

    • 表示一个未被分配的地址,类似于IPv4的0. IPv6未指定地址是::

IPv6地址的引入和广泛应用有助于解决IPv4中的地址耗尽问题,并为未来的互联网发展提供更大、更灵活的地址空间。

路由协议

路由协议详细介绍:

1. 自治系统(AS,Autonomous System):
  • 一个自治系统是一个在互联网上有单一管理和技术策略的IP地址集合,由一个或多个网络以及控制这些网络的路由策略组成。AS内部使用内部路由协议,而AS之间则使用外部路由协议。
2. 域内路由与域外路由:
  • 域内路由(Interior Gateway Protocol,IGP): 用于在同一自治系统内部进行路由选择的协议。典型的IGP包括OSPF(Open Shortest Path First)和EIGRP(Enhanced Interior Gateway Routing Protocol)。

  • 域外路由(Exterior Gateway Protocol,EGP): 用于在不同自治系统之间进行路由选择的协议。BGP(Border Gateway Protocol)是一个典型的EGP。

3. 路由信息协议(Routing Information Protocol,RIP):
  • RIP是一种基于距离向量算法的IGP,用于在小到中型网络中进行路由选择。它以跳数作为度量标准,每30秒发送一次完整的路由表,从而维护网络的状态。
  • RIP规定最多包含15个路由器,也就是最多包含15跳
  • 仅和相邻路由器交换消息
  • 按固定的时间间隔进行交换信息
4. 开放最短路径优先协议(Open Shortest Path First,OSPF):
  • OSPF是一种IGP,采用链路状态路由算法,将网络拓扑信息分发到所有路由器,通过计算最短路径来进行路由选择。OSPF支持VLSM(Variable Length Subnet Masking)和多路径。
  • 与RIP有以下区别:1.OSPF向本自治系统中的所有路由器发送消息,例如使用洪泛法,而RIP仅向自己相邻的几个路由器发送信息  2.发送的信息是与本路由器相邻的所有路由器的链路状态,但这是只是路由器所知道的部分信息.而在RIP中发送的是整个路由表  3.只有当链路状态发生变化的时候,路由器才用洪泛法向所有路由器发送信息,并且更新过程收敛快,不会像RIP"坏消息收敛慢"的情况  4.OSPF是网络层协议,它不使用UDP或TCP,而直接使用IP数据报,而RIP是应用层协议,他在传输层使用的是UDP
5. 边界网关协议(Border Gateway Protocol,BGP):
  • BGP是一种EGP,用于在不同自治系统之间进行路由选择。BGP是一种路径矢量协议,根据AS路径选择最佳路径。它被广泛用于互联网核心路由器之间的通信。
  • 是外部网关协议
  • 工作原理简单来说就是:每个自治系统的管理员要选择至少一个路由器作为该自治系统的"BGP发言人",而每个发言人就负责与其他自治系统的发言人交换路由信息,这首先要建立TCP连接,在此连接上交换BGP报文以建立BGP会话,再利用BGP会话交换路由信息,这样各个发言人就能找到到达各个自治系统的较好路由
  • BGP应用层协议,它是基于TCP的
  • BGP-4一共使用4种报文:1.打开,用于与另一个BGP发言人建立关系 2.更新,用来发送某一路由的消息,以及列出要撤销的多条路由 3.保活,用来确认打开报文并周期性的证实领站关系  4.通知,用来发送检测到的差错
6. 路由选择算法:
  • 距离向量算法: 距离向量协议使用每个邻居到目的地的距离作为选择路径的依据,典型的代表是RIP。

  • 链路状态算法: 链路状态协议通过在整个网络中广播拓扑信息,计算最短路径来进行路由选择,典型的代表是OSPF。

  • 路径矢量算法: 路径矢量协议选择路径的依据是一系列的AS路径,典型的代表是BGP。

7. 内部网关协议(Interior Gateway Protocol,IGP)与外部网关协议(Exterior Gateway Protocol,EGP):
  • IGP: IGP用于在一个自治系统内部进行路由选择。典型的IGP有RIP、OSPF、EIGRP等。

  • EGP: EGP用于在不同自治系统之间进行路由选择。BGP是目前最常用的EGP,被广泛应用于互联网。

以上路由协议和概念组成了互联网中的路由体系,它们通过有效地选择和传播路由信息,保证了数据在网络中的可靠传输。选择合适的路由协议取决于网络规模、拓扑结构、性能要求等多个因素。

IP组播

IP组播(Internet Protocol Multicast)是一种网络通信方法,它允许一台主机向一组主机发送数据。与单播(unicast)和广播(broadcast)不同,组播允许一个主机发送一份数据流,而只有那些希望接收该数据的主机会订阅并接收它。这在多播应用中很有用,例如视频会议、在线教育、分布式游戏等。

以下是IP组播的一些关键概念:

1. 组播地址:

  • 组播地址范围: IPv4组播地址范围是224.0.0.0到239.255.255.255。IPv6组播地址范围则在ff00::/8段。

  • 组播地址的标识: 组播地址是通过一个专用的IP地址范围来标识的。发送端使用组播地址将数据发送到一个特定的组,而接收端使用这个组地址来加入或离开组,以便接收或停止接收数据。

2. IGMP(Internet Group Management Protocol):

  • IGMP协议: IGMP是用于主机和多播路由器之间通信的协议。它允许主机向网络上的路由器注册或取消注册对特定组播组的成员身份。

  • IGMP版本: IGMP有不同的版本,包括IGMPv1、IGMPv2和IGMPv3。不同版本在支持的功能和安全性上有所不同。

3. 组播路由算法:

  • DVMRP(Distance Vector Multicast Routing Protocol): DVMRP是一种最早的组播路由协议,它使用距离矢量算法,类似于RIP。

  • PIM(Protocol Independent Multicast): PIM是一种较现代的组播路由协议,有两个主要变种:PIM-DM(PIM Dense Mode)和PIM-SM(PIM Sparse Mode)。PIM-DM适用于密集模式网络,而PIM-SM适用于稀疏模式网络。

  • MSDP(Multicast Source Discovery Protocol): MSDP用于在不同的PIM-SM域之间共享源信息。

  • MBGP(Multicast BGP): MBGP是BGP的一种扩展,支持组播路由信息的传播。

4. 组播的工作流程:

  1. 成员加入: 主机通过IGMP协议通知路由器它希望加入某个组播组。

  2. 组播路由: 路由器使用组播路由协议(如PIM)来传递组播流量,确保只有对组播组感兴趣的主机接收流量。

  3. 数据传输: 源主机将数据发送到组播组的组播地址,而只有已加入该组的主机才会接收数据。

  4. 成员离开: 主机通过IGMP通知路由器它希望离开某个组播组。

IP组播在节省网络带宽和资源的同时,支持广泛的多播应用。组播路由协议确保组播数据仅传输到有兴趣的主机,而不浪费网络资源。

移动IP

移动IP(Mobile IP)是一种用于在移动设备切换网络时保持连接的协议。其目标是让移动设备在切换网络时能够保持与互联网的连接,而不会中断通信。

概念:

  1. 主机移动性: 移动IP主要解决的问题之一是主机移动性,即当一个移动设备从一个网络切换到另一个网络时,它能够继续与互联网通信而无需断开连接。

  2. 主机定址: 移动设备通常有两个地址,一个是固定的家庭地址(Home Address),用于识别设备的全球唯一地址,另一个是当前所在网络的临时地址(Care-of Address)。

  3. Home Agent: 移动IP系统中有一个称为Home Agent的特殊路由器,负责维护移动设备的位置信息。

  4. Foreign Agent: 在移动设备所在的网络中有一个称为Foreign Agent的路由器,负责协助移动设备和Home Agent进行通信。

通信过程:

移动IP的通信过程包括以下步骤:

  1. 注册过程:

    • 移动设备在新的网络中获取一个临时的Care-of Address。
    • 移动设备向Home Agent发送注册请求,其中包含自己的Home Address和新获得的Care-of Address。
    • Home Agent记录下移动设备的Care-of Address。
  2. 数据传输过程:

    • 当互联网上的主机要与移动设备通信时,它会向移动设备的Home Address发送数据包。
    • 数据包首先被发送到Home Agent。
    • Home Agent检查目标地址,如果发现设备已经注册并且当前在一个不同的网络,它会将数据包转发到移动设备的Care-of Address。
  3. 解注册过程:

    • 移动设备离开当前网络时,它向Home Agent发送解注册请求,告知Home Agent它不再位于当前网络。
    • Home Agent更新移动设备的位置信息。
  4. 通信维持:

    • 移动设备定期向Home Agent发送心跳消息,以保持注册状态。
    • 如果Home Agent在一定时间内未收到心跳消息,它将设备标记为不可达,并在必要时更新位置信息。

移动IP通过这种方式使得移动设备能够在不同网络之间切换,同时保持与互联网的连接。这对于需要移动性的设备,如笔记本电脑、智能手机等,提供了更好的灵活性和连续性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值