计算机网络——网络层(一)

文章目录

一、网络层概述

二、网际协议IP

三、静态路由配置

四、结语


一、网络层概述

网络层的主要任务就是将分组从源主机经过多个网络和多段链路传输到目的主机,可以将任务划分为分组转发和路由选择两种重要的功能。

1.1分组转发和路由选择

分组转发:路由器根据目的地址查询转发表,将分组从输入端口转移到输出端口的过程。

路由选择:通过路由协议(如OSPF,BGP)和算法,计算从源到目的地的最佳路径,并构建/更新路由表。

1.2网络层向其上层提供的两种服务

1.2.1 面向连接的虚电路服务

  • 其核心思想是:可靠通信应由网络自身来保证
  • 必须首先建立网络层连接------虚电路(Virtual Circuit,VC),以保证通信双方所需的一切网络资源;
  • 通信双方沿着已建立的虚电路发送分组
  • 通信结束后,需要释放之前所建立的虚电路

注:

  • 采用电路交换的电话通信,则是先建立一条真正的物理连接。因此,分组交换的虚链接与电路交换的连接只是类似,但并不完全一样。
  • 分组的首部仅在连接建立阶段使用完整的目的主机地址,之后每个分组的首部只需要携带一条虚电路编号即可。

这种通信方式如果再使用可靠传输的网络协议,就可以使所发送的分组最终正确(无差错按需到达、不丢失、不重复)到达接收方。

很多广域分组交换网都使用面向连接的虚电路服务。例如,曾经的X.25和逐渐过时的帧中继(Frame Relay,FR)、异步传输模式(Asynchronnous Transfer Mode,ATM)。

然而,因特网的先驱者并没有采用这种设计思想,而是采用了无连接的数据报服务。

1.2.2 无连接的数据报服务

  • 其核心思想是:可靠通信应由用户主机来保证
  • 不需要建立网络层连接
  • 每个分组可走不同的路径。因此,每个分组的首部都必须携带目的主机的完整地址
  • 通信结束后,没有需要释放的连接

这种通信方式所传送的分组可能误码、丢失、重复和失序。该方法将相对简单的分组交付功能置于因特网核心,将复杂的网络处理功能置于因特网的边缘(即用户主机和其内部的运输层)。

二、网际协议IP

网际协议(Internet Protocol,IP)是TCP/IP体系结构网际层中的核心协议。

网际协议IP、传输控制协议TCP、TCP/IP体系结构是由"因特网之父"Robert Kahn和Vint Cerf二人共同研发的,1974年5月发布了TCP/IP的第一个版本。

2.1异构网络互联

异构就是不同结构的意思,异构型网络的网络拓扑、性能以及所使用的网络协议都不尽相同,这是由用户需求的多样性造成的,没有一种单一的网络能适应所有用户的需求。

对此,需要解决许许多多的问题:

  • 不同的网络接入机制
  • 不同的差错恢复技术
  • 不同的路由选择技术
  • 不同的寻址方案
  • 不同的最大分组长度
  • 不同的服务(面向连接服务和无连接服务)

2.2IPv4地址及其编址方法

2.2.1概述

IPv4地址是给因特网上的每一个主机(或路由器)的每一个接口分配的一个在全世界范围内唯一的32比特的标识符

IPv4地址由因特网名字和数字分配机构(Internet Corporation for Assigned Names and Numbers,ICANN)进行分配。

由于IPv4地址由32比特构成,不方便阅读、记录以及输入等,因此IPv4地址采用点分十进制表示方法以方便用户使用。

2.2.2分类编址方法

  • A类、B类和C类地址都是单播地址,只有单播地址可以分配给网络中的主机(或路由器)的各接口。
  • 主机号为"全0"的地址是网络地址,不能分配给主机(或路由器)的各接口。
  • 主机号为"全1"的地址是广播地址,不能分配给主机(或路由器)的各接口。

2.2.3划分子网的编址方法

分类编址方法不够灵活而且容易造成大量地址浪费,划分子网编址方法对其进行改进。

如果可以从IPv4地址的主机号部分借用一些比特作为子网来区分不同的子网,就可以利用原有网络中剩余的大量IPv4地址,而不用申请新的网络地址了。

子网掩码可以表明分类IPv4地址的主机号部分被借用了几个比特作为子网号。

与IPv4地址类似,子网掩码也是由32比特构成的:

  • 用左起多个连续的比优1对应IPv4地址中的网络号和子网号
  • 之后的多个连续的比特0对应IPv4地址中的主机号

2.2.4无分类编址方法

2.3IPv4地址的应用规划

IPv4地址的应用规划是指将给定的Ipv4地址块(或分类网络)划分成若干个更小的地址块(或子网),并将这些地址块(或子网)分配给互联网中的不同网络,进而可以给网络的主机和路由器的接口分配IPv4地址。

2.4IPv4地址与MAC地址

2.4.1 IPv4地址与MAC地址的封装位置

2.4.2 数据包传送过程中IPv4地址与MAC地址的变化情况

2.4.3 IPv4地址与MAC地址的关系

2.5地址解析协议ARP

地址解析协议(Address Resolution Protocpl,ARP)是TCP/IP协议栈中最基础、最核心的协议之一,专门解决"已知目标IP,如何找到它的MAC地址"这一关键问题。

ARP协议的相关注意事项:

  • 由于ARP协议的主要用途是从网际层使用的IP地址解析出在数据链路层使用的MAC地址。因此,有的教材将ARP协议划分在网际层,有的在数据链路层,这两种都是可以的。
  • 除了本节课的ARP请求报文和响应报文,ARP协议还有其他类型的报文,例如用于检查IP地址冲突的"无故ARP"。
  • 由于ARP协议很早就出来了,当时没有考虑网络安全问题,因此,ARP协议没有安全验证机制,存在ARP欺骗和攻击等问题。

2.6IP数据报的发送和转发流程

2.7IPv4数据报的首部格式

  • 固定部分是指每个IPv4数据报都必须要包含的部分
  • 某些IPv4数据报的首部,除了包含20字节的固定部分,还包含一些可选地字段来增加IPv4数据报的功能
  • IPv4数据报首部中的各字段或某些字段的组合,用来表达IPv4协议的相关功能
  1. 版本:长度为4个比特,用来表示IP协议的版本。通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)
  2. 首部长度:长度为4个比特,该字段的取值以4字节为单位,用来表示IPv4数据报的首部长度。最小取值为二进制的0101,即十进制的5,再乘以4字节单位,表示IPv4数据报首部只有20字节固定部分。最大取值为二进制的1111,即十进制的5,再乘以4字节单位,表示IPv4数据报首部包含20字节固定部分和最大40字节可变部分。
  3. 可选字段:长度为1字节到40字节不等,用来支持排错、测量以及健全措施等功能。虽然可选字段增加了IPv4数据报的功能,单着同时也使得IPv4数据报的首部长度成为可变的,这就增加了因特网中每一个路由器出路IPv4数据报的开销。
  4. 填充:用来确保IPv4数据报的首部长度是4字节的整数倍,使用全0进行填充。
  5. 区分服务:长度为8个字节,用来获得更好的服务。该字段在旧标准中叫做服务类型,但实际上已知没有被使用过。1998年,因特网工程任务组IETF把这个字段改名为区分服务。利用该字段的不同取值棵提供不同等级的服务质量。只有在使用区分服务时该字段才起作用,一般情况下都不使用该字段。
  6. 总长度:长度为16字节,该字段的取值以字节为单位,用来表示IPv4数据报的长度(首部长度+数据载荷长度)。最大取值为二进制的16个比特1,即十进制的65535(很少传输这么长的IPv4数据报)

生存时间TTL作用:防止被错误路由的IPv4数据报无限制地在因特网中兜圈。

三、静态路由配置

静态路由配置是指用户或网络运维人员使用路由器的相关命令给路由器人工配置路由器

  • 人工配置方式简单、开销小、但不嫩即使适应网络状态(流量、拓扑等)的变化,一般只在小规模网络中采用

特定主机路由:出于某种安全问题的考虑,同时为了使网络运维人员更方便地控制网络和测试时间,特别是对网络的连接或路由表进行排错时,指明到某一台主机的特定主机路由是十分有用的。

进行静态路由配置需要认真考虑和谨慎操作,否则可能出现以下问题:

  • 路由条目配置错误,甚至导致出现路由环路
  • 聚合路由条目时可能引入不存在的网络

四、结语

本篇文章我们学习了网络层的概述、网际协议IP和静态路由配置,由此我们对计算机网络的认识又更近了一步。

相关推荐
Lanren的编程日记1 小时前
Flutter鸿蒙应用开发:网络请求优化实战,全方位提升请求稳定性与性能
网络·flutter·harmonyos
WJ.Polar1 小时前
Ansible任务控制
linux·运维·网络·python·ansible
hj2862512 小时前
网络基础知识day03
网络·智能路由器
Ether IC Verifier2 小时前
PCIe数据链路层详细介绍
网络·网络协议·tcp/ip·计算机网络·dpu
Wild API2 小时前
多模型成本治理怎么落地?从任务分层、日志统计到结构优化的一套实战思路
大数据·网络·人工智能
甘露寺2 小时前
HTTP长连接内容详解
网络·网络协议·http
RH2312112 小时前
2026.4.21Linux 共享内存
linux·服务器·网络
positive_zpc2 小时前
计算机网络——网络层(二)
服务器·网络·计算机网络
深蓝海拓2 小时前
基于QtPy (PySide6) 的PLC-HMI工程项目(十一)框架的进一步完善:UI的自动周期更新以及下行数据的生成和处理
网络·笔记·python·学习·ui·plc