网络层

作者: 程序员will | 来源:发表于2019-07-24 16:55 被阅读0次

    [TOC]

    网络层

    • 网络层是OSI模型的第三层。
    • 它处理来自传输层的服务请求,并进一步将服务请求转发到数据链路层。
    • 网络层将逻辑地址转换为物理地址
    • 它确定从源到目的地的路由,还管理流量问题,如交换,路由和控制数据包的拥塞。
    • 网络层的主要作用是将数据包从发送主机移动到接收主机。

    网络层执行的主要功能

    • 路由:当数据包到达路由器的输入链路时,路由器会将数据包移动到路由器的输出链路。例如,从S1到R1的数据包必须转发到S2路径上的下一个路由器。
    • 逻辑寻址:数据链路层实现物理寻址,网络层实现逻辑寻址。逻辑寻址还用于区分源系统和目标系统。网络层向数据包添加标头,包括发送方和接收方的逻辑地址。
    • 网络互联:这是网络层的主要作用,它提供不同类型网络之间的逻辑连接。
    • 分段:分段是将数据包分解为通过不同网络传输的最小的单个数据单元的过程。

    转发和路由

    在网络层中,路由器用于转发数据包。每个路由器都有一个转发表。路由器通过检查数据包的标头字段转发数据包,然后使用标头字段值索引转发表。存储在与头字段值对应的转发表中的值表示路由器要将数据包转发到的出接口链路。

    例如,头字段值为0111的路由器到达路由器,然后路由器将此头值索引到确定输出链路接口为2的转发表中。路由器将数据包转发到接口2.路由算法确定转发表中插入的值。路由算法可以是集中式的或分散式的。

    image

    网络层提供的服务

    • 保证交付:该层提供保证数据包到达目的地的服务。
    • 有限延迟的保证传送:此服务保证数据包将在指定的主机到主机延迟范围内传送。
    • 有序数据包:此服务确保数据包按发送顺序到达目的地。
    • 保证最大抖动:此服务确保发送方的两次连续传输之间所花费的时间等于它们在目的地接收之间的时间。
    • 安全服务:网络层通过在源主机和目标主机之间使用会话密钥来提供安全性。源主机中的网络层加密发送到目标主机的数据报的有效负载。然后,目标主机中的网络层将解密有效负载。以这种方式,网络层维护数据完整性和源认证服务。

    网络寻址

    • 网络寻址是网络层的主要职责之一。
    • 网络地址始终是逻辑的,即基于软件的地址。
    • 主机也称为终端系统,其具有到网络的一个链路。主机和链路之间的边界称为接口。因此,主机只能有一个接口。
    • 路由器与主机的不同之处在于它有两个或多个连接到它的链路。当路由器转发数据报时,它会将数据包转发到其中一个链路。路由器和链路之间的边界称为接口,路由器可以有多个接口,每个接口对应一个接口。每个接口都能够发送和接收IP数据包,因此IP要求每个接口都有一个地址。
    • 每个IP地址长32位,它们以“点十进制表示法”的形式表示,其中每个字节以十进制形式写入,并且它们由句点分隔。IP地址看起来像193.32.216.9,其中193表示地址的前8位的十进制表示法,32表示地址的后8位的十进制表示法。

    让我们通过一个简单的例子来理解。

    网络寻址

    有类别的寻址

    IP地址长度为32位。IP地址分为子类:

    • A级
    • B级
    • C级
    • D级
    • E级

    IP地址分为两部分:

    • 网络ID:表示网络数量。
    • 主机ID:表示主机数量。
    网络寻址

    A级

    在A类中,IP地址分配给包含大量主机的网络。

    • 网络ID长度为8位。
    • 主机ID长24位。

    在A类中,第一个八位位组的高位位的第一位始终设置为0,其余7位确定网络ID。24位确定任何网络中的主机ID。

    A类中的
    网络总数=2^7= 128网络地址

    A类中的
    主机总数=2^{24}-2 = 16,777,214主机地址

    网络寻址

    在B类中,IP地址被分配给从小型网络到大型网络的那些网络。

    • 网络ID长16位。
    • 主机ID长度为16位。

    在B类中,第一个八位字节的高阶位始终设置为10,其余14位确定网络ID。其他16位确定主机ID。

    B类中的
    网络总数= 2^{14} = 16384网络地址

    B类中的
    主机总数= 2^{16} - 2 = 65534主机地址

    网络寻址

    在C类中,IP地址仅分配给小型网络。

    • 网络ID长24位。
    • 主机ID长度为8位。

    在C类中,第一个八位字节的高阶位始终设置为110,其余21个字节确定网络ID。主机ID的8位确定网络中的主机。
    网络总数= 2^{21} = 2097152网络地址

    主机总数= 2^8 - 2 = 254主机地址

    网络寻址

    在D类中,为多播地址保留IP地址。它没有子网。第一个八位字节的高阶位始终设置为1110,其余位确定任何网络中的主机ID。

    网络寻址

    在E类中,IP地址用于将来使用或用于研究和开发目的。它没有任何子网划分。第一个八位字节的高阶位始终设置为1111,其余位确定任何网络中的主机ID。

    网络寻址

    分配主机ID的规则:

    主机ID用于确定任何网络中的主机。主机ID基于以下规则分配:

    • 主机ID在任何网络中都必须是唯一的。
    • 所有位都设置为0的主机ID无法分配,因为它用于表示IP地址的网络ID。
    • 所有位都设置为1的主机ID无法分配,因为它是为多播地址保留的。

    分配网络ID的规则:

    如果主机位于同一本地网络中,则会为它们分配相同的网络ID。以下是分配网络ID的规则:

    • 网络ID不能以127开头,因为A类使用127。
    • 无法分配所有位都设置为0的网络ID,因为它用于指定本地网络上的特定主机。
    • 所有位都设置为1的网络ID无法分配,因为它是为多播地址保留的。

    类网络架构

    更高的位 NET ID位 主机ID位 网络数量 每个网络的主机数量 范围
    A 0 8 24 2 ^7 2 ^24 0.0.0.0至127.255.255.255
    b 10 16 16 2 ^14 2 ^16 128.0.0.0到191.255.255.255
    C 110 24 8 2 ^21 2^ 8 192.0.0.0到223.255.255.255
    D 1110 Not Defined Not Defined Not Defined Not Defined 224.0.0.0至239.255.255.255
    E 1111 Not Defined Not Defined Not Defined Not Defined 240.0.0.0到255.255.255.255

    路由

    • 路由器是一个选择路径的过程,数据可以从该路径传输到目的地。路由由称为路由器的特殊设备执行。
    • 路由器在OSI模型中的网络层和TCP / IP模型中的Internet层工作
    • 路由器是一种网络设备,它根据数据包标头和转发表中的可用信息转发数据包。
    • 路由算法用于路由分组。路由算法只不过是一个负责决定数据包传输的最佳路径的软件。
    • 路由协议使用度量来确定数据包传递的最佳路径。度量是诸如跳数,带宽,延迟,路径上的当前负载等的度量标准,其由路由算法用于确定到目的地的最佳路径。
    • 路由算法初始化并维护路径确定过程的路由表。

    路由度量标准和成本

    路由度量和成本用于确定到目的地的最佳路由。协议用于确定最短路径的因素,这些因素称为度量。

    度量标准是用于确定到目的地的最佳路径的网络变量。对于某些协议,使用静态度量标准意味着它们的值不能更改,而对于某些其他路由协议,使用动态度量标准意味着它们的值可以由系统管理员分配。

    最常见的指标值如下:

    • 跳数:跳数定义为指定通过网络互连设备(如路由器)的数量的度量,数据包必须在从源移动到目的地的路径中传输。如果路由协议将跳数视为主要度量值,则具有最小跳数的路径将被视为从源移动到目标的最佳路径。
    • 延迟:路由器处理,排队和传输数据报到接口所用的时间。协议使用此度量标准来确定端到端路径上所有链路的延迟值。具有最低延迟值的路径将被视为最佳路径。
    • 带宽:链路容量称为链路带宽。带宽以每秒比特数来衡量。具有较高传输速率(如千兆位)的链路优先于具有较低容量(如56 kb)的链路。该协议将确定沿路径的所有链路的带宽容量,并且总体更高的带宽将被视为最佳路由。
    • 加载:加载是指网络资源(如路由器或网络链路)忙碌的程度。可以通过各种方式计算负载,例如CPU利用率,每秒处理的数据包。如果流量增加,那么负载值也将增加。负载值相对于流量的变化而变化。
    • 可靠性:可靠性是一个度量因子,可能由一个固定值组成。它取决于网络链接,其值是动态测量的。有些网络比其他网络更频繁。网络故障后,某些网络链路比其他网络链路更容易修复。可靠性因子的分配可以考虑任何可靠性因子,通常是系统管理员分配的数值。

    路由类型

    路由可以分为三类:

    • 静态路由
    • 默认路由
    • 动态路由
    路由
    • 静态路由也称为非自适应路由。
    • 这是一种管理员手动在路由表中添加路由的技术。
    • 路由器可以沿管理员定义的路由发送目的地的数据包。
    • 在该技术中,不基于网络的条件或拓扑来做出路由决定

    静态路由的优点

    以下是静态路由的优点:

    • 没有开销:路由器的CPU使用率很高。因此,更便宜的路由器可用于获得静态路由。
    • 带宽:路由器之间没有带宽使用。
    • 安全性:它提供安全性,因为系统管理员只能控制到特定网络的路由。

    静态路由的缺点

    以下是静态路由的缺点:

    • 对于大型网络,将每条路由手动添加到路由表变得非常困难。
    • 系统管理员应该非常了解拓扑,因为他必须手动添加每个路由。

    默认路由

    • 默认路由是一种将路由器配置为将所有数据包发送到同一跳设备的技术,无论它是否属于特定网络都无关紧要。数据包被传输到默认路由中配置的设备。
    • 当网络处理单个出口点时,使用默认路由。
    • 当大量传输网络必须将数据传输到同一个hp设备时,它也很有用。
    • 当路由表中提到特定路由时,路由器将选择特定路由而不是默认路由。仅当路由表中未提及特定路由时,才会选择默认路由。

    动态路由

    • 它也称为自适应路由。
    • 这是一种技术,其中路由器在路由表中为每个分组添加新路由以响应网络的状况或拓扑的变化。
    • 动态协议用于发现到达目的地的新路由。
    • 在动态路由中,RIP和OSPF是用于发现新路由的协议。
    • 如果任何路线发生故障,则将进行自动调整以到达目的地。

    动态协议应具有以下功能:

    • 所有路由器必须具有相同的动态路由协议才能交换路由。
    • 如果路由器发现条件或拓扑发生任何变化,则路由器会将此信息广播到所有其他路由器。

    动态路由的优点

    • 它更容易配置。
    • 在响应条件或拓扑的变化时选择最佳路线更有效。

    动态路由的缺点:

    • 在CPU和带宽使用方面它更昂贵。
    • 与默认和静态路由相比,它的安全性较低。

    网络层协议

    TCP / IP支持以下协议:

    地址解析协议(ARP)

    • ARP代表地址解析协议。
    • 它用于将IP地址与MAC地址相关联。
    • 网络上的每个设备都可以通过NIC上的MAC地址识别。因此,我们可以说设备需要MAC地址用于局域网上的通信。MAC地址可以轻松更改。例如,如果特定计算机上的NIC出现故障,则MAC地址会更改,但IP地址不会更改。ARP用于在知道互联网地址时查找节点的MAC地址。

    注意:MAC地址:MAC地址用于标识实际设备。

    IP地址:用于在网络上定位设备的地址。

    ARP如何工作

    如果主机想要知道其网络上其他主机的物理地址,则它会发送包含IP地址的ARP查询数据包并通过网络进行广播。网络上的每个主机都接收并处理ARP数据包,但只有预期的接收者才能识别IP地址并发送回物理地址。持有数据报的主机将物理地址添加到高速缓存存储器和数据报头,然后发送回发送器。

    网络层协议

    如果设备想要与其他设备通信,则设备将执行以下步骤:

    • 设备将首先查看其互联网列表,称为ARP缓存,以检查IP地址是否包含匹配的MAC地址。它将使用命令arp-a检查命令提示符中的ARP缓存。
    网络层协议 网络层协议

    注意:ARP缓存用于提高网络效率。

    在上面的屏幕截图中,我们观察了IP地址与MAC地址的关联。

    ARP条目有两种类型

    • 动态条目:当发件人将其消息广播到整个网络时,它是一个自动创建的条目。动态条目不是永久性的,它们会定期删除。
    • 静态条目:这是一个使用ARP命令实用程序手动输入IP到MAC地址关联的条目。

    RARP

    • RARP代表反向地址解析协议
    • 如果主机想要知道其IP地址,则它将包含其物理地址的RARP查询数据包广播到整个网络。网络上的RARP服务器识别RARP数据包并使用主机IP地址进行响应。
    • 用于从服务器获取IP地址的协议称为反向地址解析协议
    • RARP协议的消息格式类似于ARP协议。
    • 与ARP帧一样,RARP帧从一台机器发送到封装在帧的数据部分中的另一台机器。
    网络层协议

    Internet控制消息协议(ICMP)

    • ICMP代表Internet控制消息协议。
    • ICMP是主机和路由器用于将IP数据报问题的通知发送回发送方的网络层协议。
    • ICMP使用echo test / reply检查目标是否可访问和响应。
    • ICMP处理控制和错误消息,但其主要功能是报告错误但不纠正错误。
    • IP数据报包含源和目标的地址,但它不知道通过它的先前路由器的地址。由于这个原因,ICMP只能将消息发送到源,而不能发送到直接路由器。
    • ICMP协议将错误消息传递给发送方。ICMP消息导致错误返回给用户进程。
    • ICMP消息在IP数据报内传输。
    网络层协议 网络层协议
    • 第一个字段指定消息的类型。
    • 第二个字段指定特定消息类型的原因。
    • 校验和字段涵盖整个ICMP消息。

    错误报告

    ICMP协议将错误消息报告给发件人。

    ICMP协议处理五种类型的错误:

    • 目标无法访问
    • 来源Quench
    • 超过时间
    • 参数问题
    • 重定向
    网络层协议

    有两种方法可以生成Time Exceeded消息:

    有时由于某些错误的路由实现而丢弃数据包,这会导致循环问题和网络拥塞。由于循环问题,TTL的值继续递减,当它达到零时,路由器丢弃数据报。但是,当路由器丢弃数据报时,路由器会将超时消息发送给源主机。

    当目标主机在某个时间限制内没有收到所有片段时,接收到的片段也会被丢弃,目的主机会向源主机发送Exceeded时间消息。

    • 参数问题:当路由器或主机发现IP数据报中的任何缺失值时,路由器会丢弃该数据报,并将“参数问题”消息发送回源主机。
    • 重定向:当主机包含一个小型路由表时,会生成重定向消息。当主机由有限数量的条目组成时,它将数据报发送到错误的路由器。接收数据报的路由器会将数据报转发到正确的路由器,并将“重定向消息”发送给主机以更新其路由表。

    IGMP

    • IGMP代表Internet组消息协议
    • IP协议支持两种类型的通信:
      • 单播:它是一个发送者和一个接收者之间的通信。因此,我们可以说它是一对一的沟通。
      • 多播:有时发送方想要同时向大量接收方发送相同的消息。此过程称为多播,具有一对多通信。
    • 主机和路由器使用IGMP协议来支持多播。
    • 主机和路由器使用IGMP协议来识别LAN中作为组成员的主机。
    [图片上传失败...(image-825432-1563958429222)] 网络层协议

    IGMP消息的格式

    网络层协议

    类型:确定IGMP消息的类型。IGMP消息有三种类型:成员资格查询,成员资格报告和休假报告。

    最长响应时间:此字段仅由成员资格查询消息使用。它确定主机发送成员身份报告消息以响应成员身份查询消息的最长时间。

    校验和:它确定封装IGMP消息的IP数据报的整个有效负载。

    组地址:此字段的行为取决于发送的消息的类型。

    • 对于Membership Query,对于General Query,组地址设置为零,并设置为特定查询的多播组地址。
    • 对于成员资格报告,组地址设置为多播组地址。
    • 对于Leave Group,它被设置为多播组地址。

    IGMP消息

    网络层协议

    相关文章

      网友评论

        本文标题:网络层

        本文链接:https://www.haomeiwen.com/subject/mccfrctx.html