计算机网络网络层主要负责在不同网络间进行数据传输。网络层向上层提供的是无连接的、简单灵活的数据报服务,并且不提供服务质量的承诺。网络层协议主要包括IP协议、ICMP协议、ARP协议以及IGMP协议。下面我们将详细解释这些知识点。
IP协议是网络层的核心协议,它与下层的数据链路层配合工作,将数据包传送到目标主机。IP协议的数据报分为头部和数据两部分,头部包含了源地址、目的地址、生存时间(TTL)、协议类型等重要信息。TTL字段最初用于记录数据报在网络中的寿命,而后转变为跳数限制,防止数据报在网络中无限循环。TTL每经过一个路由器,值就减1,当值为0时,数据报被丢弃。
ICMP协议是互联网控制消息协议,用于网络层中传递差错报文和询问报文。差错报告报文包括终点不可达、时间超过、参数问题等,而询问报文则包括回送请求和回答以及时间戳请求和回答。ICMP报文通常封装在IP数据报的数据部分。
地址解析协议ARP用来将已知的IP地址解析为相应的硬件地址(MAC地址)。每个主机都有一个ARP高速缓存,用于存储本局域网上的IP地址和硬件地址的映射表。当主机需要发送数据到局域网中的另一台主机时,先检查ARP缓存中是否有相应的映射,如果没有,则通过ARP请求获得映射信息。
网际组管理协议IGMP用于管理主机与多播路由器之间的关系。IGMP协议涉及到网络号和主机号,其中A类地址范围为1到126,B类地址范围为128.0到191.255,C类地址范围为192.0.0到233.255.255。
为了更有效地分配IP地址并增加网络的灵活性,引入了子网划分。子网划分在内部网络中进行,对外部网络隐藏。子网号(subnet-id)是从主机号(host-id)中借位而来,通过子网掩码进行区分。子网的划分大大减少了地址的浪费,并且提高了网络管理的便利性,但也减少了单个网络能连接的主机总数。
无分类域间路由选择(CIDR)进一步简化了网络地址的分配,消除了传统的A、B、C类地址的概念,使用“网络前缀”来代替分类地址和子网号。CIDR的斜线记法表示IP地址后面的前缀位数,如***.***.*.*/24,意味着网络前缀占24位,即192.168.1部分是固定的。
IP数据报在传输过程中可能需要进行分片,尤其是当数据报需要通过不同大小MTU(最大传输单元)的网络时。片偏移字段指示了分片后的数据在原数据报中的位置,以8字节为单位。
网络层的路由表管理是通过分组转发算法实现的,该算法确定如何将数据报从源主机路由到目的主机。分组转发算法涉及到查找路由表,根据目的网络号和子网号来确定下一跳地址。
ICMP的应用实例有ping和tracert,其中ping用于检测网络连通性,tracert用于追踪数据包的传输路径。在实际的网络操作中,ping通常不会通过TCP或UDP协议,而是直接通过ICMP协议进行。
以上就是网络层的主要知识点,涵盖了网络层服务类型、关键协议、地址划分、路由转发等方面的知识。掌握这些知识点对于理解整个计算机网络架构至关重要。