前言
文章中的内容来自B站王道考研计算机网络课程,想要完整学习的可以到B站官方看完整版。
四:网络层
在计算机网络中,每一层传输的数据都有不同的名称。
- 物理层:传输的数据称为比特(Bit)。
- 数据链路层:传输的数据称为帧(Frame)。
- 网络层:传输的数据称为数据报(Datagram)。
- 传输层:传输的数据称为段(Segment)或用户数据报(User Datagram)。
- 应用层:传输的数据根据具体的应用不同,可以称为消息(Message)、报文(Packet)或请求/响应(Request/Response)等。
4.1.1:网络层功能概述
网络层:主要任务是把分组从源端传到目的端,为分组交换网上的不同主机提供通信服务,网络层的传输单位是数据报。
功能一:路由选择与分组转发(最佳路径)
功能二:异构网络互联
功能三:拥塞控制
路由器功能
转发:达到路由器输入链路之一的数据报如何转发到该路由器的输出链路之一
路由选择:控制数据报沿着从源主机到目的主机的端到端路径中路由器之间的路由方式
数据平面执行的主要功能是根据转发表进行转发,这是路由器的本地动作
控制平面(传统方法/每路由器法)
4.2.1:路由算法和路由协议
路由算法(静态路由算法、动态路由算法)
分层次的路由选择协议
自制系统AS基本概念
4.3.1:IP数据报格式
IP数据报格式和各数据段解释
版本:IPv4/IPv6 ?
首部长度:单位是4B,最小是5(因为当可变部分为0时,固定部分还有20B)
区分服务:指示期望获得哪种类型的服务
总长度:首部+数据,单位是1B
生存时间TTL(time to leave):IP分组的保质期,经过一个路由器-1,变成0则丢弃。表示数据包在网络中可以传输的最大跳数,生存时间字段的目的是防止数据包在网络中无限循环,并确保数据包能够在一定时间内到达目的地。
协议:数据部分的协议
首部检验和:只检验首部
源IP地址和目的IP地址:32位
4.3.2:IP数据报分片
最大传送单元MTU:链路层数据帧可以封装数据的上限
标识:同一数据报的分片使用同一标识
标志:只有两位有意义x_ _,中间位DF(Don’t Fragment)(DF = 1, 禁止分片; DF = 0, 允许分片)。最低位MF(More Fragment)(MF = 1, 后面还有分片; MF = 0, 代表没有分片)
片偏移:指出较长分组分片后,某片在原分组中的相对位置。以8B为单位
IP数据报分片例题
IP数据报中首部长度、总长度、片偏移单位
4.3.3:IPv4地址
IP编址的过程
分类的IP地址(其中127.0.0.1用于本地回环测试)
特殊IP地址
私有地址,网段个数(能够分配多少个网络号)
每类IP地址最大网络、主机可用数
4.3.4:网络地址转换NAT
4.3.5:子网划分和子网掩码
子网划分
两级IP地址和三级IP地址的子网掩码,主机号全0
子网掩码和IP地址逐位相与就可得到子网网络地址,子网掩码可以确定主机号有多少位
子网掩码例题:
由主机IP和子网掩码可以求出,子网是180.80.76.0。其中网络号(B类地址)占前16位,子网号占6位,其余10位为主机号。当主机号全为1时就是广播地址,即选D
4.3.6:无分类编址CIDR
无分类编制CIDR优点
消除了传统的A类,B类和C类地址及划分子网的概念
CIDR地址块:CIDR把网络前缀都相同的连续的IP地址组成一个“CIDR地址块”
构成超网、路由聚合
例题
最长前缀匹配
4.3.7:ARP协议
ARP高速缓存:IP地址和MAC地址的映射
本质是解决下一跳到哪
1号主机和3号主机通信,1号主机先通过广播ARP请求分组告诉3号主机,然后3号主机就会返回它对应的IP地址和MAC地址
ARP协议使用过程
ARP协议(Address Resolution Protocol)是一种用于将IP地址解析为MAC地址的协议。在计算机网络中,每个设备都有一个唯一的MAC地址和一个IP地址。当设备需要发送数据包给目标设备时,它首先需要知道目标设备的MAC地址才能发送数据。这就是ARP协议的作用,它通过发送ARP请求广播来询问目标设备的MAC地址,然后目标设备会回复ARP响应包,包含自己的MAC地址。
RARP协议(Reverse Address Resolution Protocol)是与ARP相反的协议。它用于将MAC地址解析为IP地址。在某些情况下,设备可能只知道自己的MAC地址,但需要获取其IP地址。这时候就可以使用RARP协议。设备发送一个RARP请求广播来询问自己的IP地址,然后网络中的RARP服务器会回复包含对应IP地址的RARP响应包。
需要注意的是,随着技术的发展,ARP协议已经被更先进的协议替代,如NDP(Neighbor Discovery Protocol)取代了IPv6中的ARP。同样地,RARP协议也已经不再常用,因为现代的操作系统都支持动态主机配置协议(DHCP),可以自动分配IP地址给设备
4.3.8:DHCP协议
主机获取IP地址的方式(静态和动态)
DHCP协议工作流程
4.3.9:ICMP协议
ICMP报文放在IP数据报的数据部分
总之,ICMP在计算机网络中起到了重要的作用,它不仅提供了错误报告和诊断功能,还能用于网络连接测试、网络拓扑发现以及路由器通信等方面
4.4:IPv6
IPv4数据报格式
IPv6数据报格式
IPv6地址的表示形式
IPv6基本地址类型
IPv6向IPv4过渡的策略(双栈协议和隧道技术)
4.5.1:RIP协议与距离向量算法
RIP协议是一种分布式的基于距离向量的路由选择协议
RIP协议和谁交换?多久交换一次?交换什么?
距离向量算法核心
距离向量算法例题
4.5.3:BGP协议
BGP和谁交换?交换什么?多久交换?
BGP-4的四种报文
三种路由协议的比较(RIP、OSPF、BGP)
4.6:IP组播
ip数据报的三种传输方式(单播、广播、组播)
组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组,只能用作分组的目标地址,原地址总是为单播地址。
硬件组播
以太网多播地址(48位)组成
IGMP协议与组播路由选择协议
IGMP协议让路由器知道本局域网上是否有主机参加或退出了某个组播组
IGMP工作的两个阶段
组播路由选择协议
4.7:移动IP
概念(设备移动,IP不动)
4.8:网络层设备(路由器)
输入端口
输出端口
三层设备比较
物理层关注传输媒介和信号的特性;数据链路层负责帧的传输和检测;网络层则处理数据的路由和分组
“同一网段”
在计算机网络中,同一网段指的是具有相同网络地址(Network Address)的设备集合。一个网络地址由IP地址和子网掩码(Subnet Mask)组成,IP地址用于标识主机或网络,而子网掩码用于划分主机和网络之间的界限。
在同一网段中,设备可以使用相同的网络地址,并且可以直接进行通信,而无需经过路由器。它们共享相同的网络前缀,因此可以通过局域网(Local Area Network,LAN)或交换机互相发送数据帧。
例如,假设有三台设备连接到同一个局域网上,它们的IP地址和子网掩码如下所示:
设备1:IP地址 192.168.0.10,子网掩码 255.255.255.0 设备2:IP地址 192.168.0.20,子网掩码 255.255.255.0 设备3:IP地址 192.168.0.30,子网掩码 255.255.255.0
由于它们的IP地址的前三个字节是相同的(192.168.0),并且子网掩码也相同,因此它们属于同一网段。这意味着它们可以直接通信,而不需要经过路由器。
同一网段的设备可以方便地进行局域网内的通信和资源共享,而不需要经过外部网络设备。