网络层总结

1

参考

《网络是怎样连接的》 《计算机网络》 http://www.cyc2018.xyz

网络层总结

网络层术语

  1. IP: 网际协议IP 是TCP/IP 体系中两个最主要的协议之一,是TCP/IP
    体系结构网际层的核心
  2. ARP: 地址解析协议。地址解析协议ARP 把IP 地址解析为硬件地址
  3. ICMP:网际控制报文协议(ICMP 允许主机或路由器报告差错情况和提
    供有关异常情况的报告)
  4. 子网掩码:它是一种用来指明一个 IP 地址的哪些位标识的是主机所
    在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它
    必须结合 IP 地址一起使用
  5. CIDR:无分类域间路由选择 (特点是消除了传统的 A 类、B 类和C
    类地址以及划分子网的概念,并使用各种长度的“网络前缀”来代替分类
    地址中的网络号和子网号)
  6. 默认路由:当在路由表中查不到能到达目的地址的路由时,路由器选
    择的路由。默认路由还可以减小路由表所占用的空间和搜索路由表所用
    的时间
  7. 路由选择算法:路由选择协议的核心部分。因特网采用自适应的,分
    层次的路由选择协议

路由器转发分组的过程

路由器主要完成两个功能:路由选择和分组转发。路由表是根据路由选择算
法得出的,而转发表是从路由表得出的

  1. 根据路由表进行转发,路由表中包含每一条路由的信息
  2. 每一条路由包含两个信息:目的网络地址和下一跳地址。如果目的网络与
    该路由器直接相连那么进行直接交付,不需要经过其他路由器
  3. 当路由器接收一个数据包,从路由表得到下一跳路由器的IP地址,不会
    把这个IP填入IP数据包,而是转换成硬件地址,放入MAC帧的首部
  4. 默认路由是针对目的网络是其它网络时选择的路由,也就是说这个网络
    不是与该路由器直接相连,所以采用默认路由器
  5. 路由表没有给分组指明到某个网络的完整路径,而是当前路径

拥塞

  1. 出现过量的分组而引起网络性能下降的现象称为拥塞
  2. 判断网络是否进入拥塞状态的方法是,观察网络的吞吐量与网络负载
    的关系:如果随着网络负载的增加,网络的吞吐量明显小于正常的吞吐量
    ,那么网络就可能已进入“轻度拥塞”状态;如果网络的负载继续增大,
    而网络的吞吐量下降到零,那么网络就可能已进入死锁状态
  3. 拥塞控制的作用是确保子网能够承载所达到的流量,这是一个全局性
    的过程,涉及各方面的行为:主机、路由器及路由器内部的转发处理过程
    等。单一地增加资源并不能解决拥塞

流量控制和拥塞控制的区别

  1. 流量控制往往是指在发送端和接收端之间的点对点通信量的控制。流量
    控制所要做的是抑制发送端发送数据的速率,以便使接收端来得及接收
  2. 拥塞控制必须确保通信子网能够传送待传送的数据,是一个全局性的问
    题,涉及网络中所有的主机、路由器及导致网络传输能力下降的所有因素

IP地址的结构

分类的IP 地址由网络号字段(指明网络)和主机号字段(指明主机)组
成,网络号字段最前面的类别指明IP 地址的类别。IP地址是一种分等级
的地址结构。IP 地址管理机构分配IP 地址时只分配网络号,主机号由
得到该网络号的单位自行分配。路由器根据目的主机所连接的网络号来
转发分组。一个路由器至少连接到两个网络,所以一个路由器至少应当
有两个不同的IP地址。A类B类和C类都是单播地址

  1. A类 0X.XX.XX.XX 8位网络号24位主机号
  2. B类 10X.XX.XX.XX 16位网络号16位主机号
  3. C类 110X.XX.XX.XX 24位网络号8位主机号
  4. D类 1110XX 多播地址
  5. E类 1111XX 供以后使用

IP地址的分类

  1. 网络地址 IP地址由网络号(包括子网号)和主机号组成,网络地址的主
    机号为全0,网络地址代表着整个网络
  2. 广播地址 通常称为直接广播地址,是为了区分受限广播地址。广播地址
    与网络地址的主机号正好相反,广播地址中,主机号为全1。当向某个网络
    的广播地址发送消息时,该网络内的所有主机都能收到该广播消息
  3. 组播地址 D类地址是组播地址,负责一对多的通信
  4. 255.255.255.255 受限广播地址与一般广播地址(直接广播地址)的区
    别在于,受限广播地址只能用于本地网络,路由器不会转发以受限广播地址
    为目的地址的分组
  5. 0.0.0.0 用于寻找自己的IP地址 以255.255.255.255为目的地址,向本
    地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组
  6. 回环地址 127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用
    于对本机的测试,用的最多的是127.0.0.1

虚拟专用网VPN

使用本机构有效的IP地址(本地地址)而不需要申请全球唯一的IP地址
,路由器不能对目的地址是专用地址的数据报一律不转发。采用专用IP
地址的互连网络称为专用互联网

  1. 10.0.0.0到10.255.255.255
  2. 172.16.0.0到172.31.255.255
  3. 192.168.0.0到192.168.255.255

利用公用的互联网作为本机构各专用网之间的通信载体,这样的专用网
称为虚拟专用网VPN

NAT协议

专用网络内部的一些主机已经分配了本地IP地址,现在要实现和互联网通
信。NAT网络地址转换属接入广域网(WAN)技术,是一种将私有地址转化为
合法IP地址的转换技术,它被广泛应用于各种类型Internet接入方式和
各种类型的网络中。NAT 不仅完美地解决了IP 地址不足的问题,而且还
能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。
NAT路由器有一个NAT地址转换表,能够实现本地地址和公网地址的转换,
专用网内部的主机不能充当服务器用

子网

这里主要是为了在网络分段情况下有效地利用IP地址,通过对主机号的高位部
分取作为子网号,由两级IP地址变为三级IP地址,路由器会将数据包通过网络
号和子网号进行转发

子网掩码

子网掩码是标志两个IP地址是否同属于一个子网的,使外部可以连接子网内
的网络,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主
机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子
网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中

CIDR

在之前的分类网络中,IP地址的分配把IP地址的32位按每8位为一段分开。这
使得前缀必须为8,16或者24位。使用网络前缀和主机号,在IP地址后面加上
斜线/写上网络前缀所占的位数。把多个子网聚合成一个较大的子网叫做构成
抄超网,或路由聚合

硬件地址

物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各
层使用的地址,是一种逻辑地址。硬件地址也叫MAC 地址,路由器转发过
程中,IP地址是不会改变的,MAC帧首部的源地址和目的地址要发生变化

ARP协议

地址解析协议,即ARP,是根据IP地址获取物理地址的一个TCP/IP协议。ARP命
令可用于查询本机ARP缓存中IP地址和MAC地址的对应关系、添加或删除静态对
应关系等。每一台主机都设有一个ARP高速缓存,里面有本局域网上各主机和
路由器的IP地址到硬件地址的映射表

  1. 向本局域网广播发送一个APR请求分组
  2. 本局域网所有主机收到这个请求分组
  3. 主机B的IP地址与ARP请求分组要查询的IP一致,发送响应分组,这个是
    单播的

RARP协议

逆地址解析协议,即RARP,功能和ARP协议相对,其将局域网中某个主机的物
理地址转换为IP地址,目前的DHCP协议已经包含了RARP协议的功能

DHCP协议

动态主机配置协议常用于给主机动态地分配IP地址,它提供了即插即用联网的
机制,这种机制允许一台计算机加入新的网络和获取IP地址而不用手工参与。
DHCP是应用层协议,它是基于UDP的

  1. 使用客户/服务器方式
  2. 需要IP地址的主机在启动时就向DHCP服务器广播发送发现报文,这时该主
    机就成为DHCP客户。本地网络上所有主机都能收到此广播报文,但只有DHCP服
    务器才回答此广播报文
  3. DHCP服务器先在其数据库中查找该计算机的配置信息。若找到,则返回找
    到的信息。若找不到,则从服务器的IP地址池中取一个地址分配给该计算机

为什么还需要抽象的IP地址而不直接使用硬件地址?

全世界存在各式各样的网络,它们使用不同的硬件地址,要使这些异构网络
能够通信就必须进行非常复杂的硬件地址转换工作

IP协议

IP地址就是给互联网上的每一台主机的每一个接口分配一个在全世界范围内
是唯一的32位的标识符

ICMP协议

ICMP报文是装在IP数据报中,作为其数据的部分。种类有两种:即ICMP差
错报告报文和ICMP询问报文。差错报文由四种

  1. 当路由器或主机不能交付数据报时向源点发送终点不可达报文
  2. 当路由器收到生存时间为零的数据报时,除丢弃该数据报外,还要向源
    站发送时间超过报文。当目的站在预先规定的时间内不能收到一个数据报的
    全部数据报片时,就将已收到的数据报片都丢弃,并向源站发送时间超过
    报文
  3. 当路由器或目的主机收到的数据报的首部中的字段的值不正确时,就丢
    弃该数据报,并向源站发送参数问题报文
  4. 路由器将改变路由报文发送给主机,让主机知道下次应将数据报发送给
    另外的路由器

以下情况不应发送ICMP差错报文

  1. ICMP差错报文
  2. 目的地址是广播地址或多播地址的IP数据报

询问报文分为两种

  1. 回送请求和回答报文 主机或路由器向一个特定的目的主机发出询问,
    收到此报文的主机必须发送IMCP回送回答报文,用来测试目的站是否可
    答以及了解有关状态
  2. 时间戳请求和回答 请某台主机或路由器回答当前的日期和时间

ICMP的应用有哪些?

ICMP的两个常见应用是分组网间探测PING(用来测试两台主机之间的连
通性)和Traceroute(UNIX中的名字,在Windows中是tracert,可以
用来跟踪分组经过的路由)

  1. PING使用了ICMP回送请求和回答报文
  2. Traceroute (Tracert) 使用了ICMP时间超过报文,数据报中封装
    的是无法交付的UDP用户数据报(使用非法的端口),并把第一个数据
    报的生存时间TTL设置为1,路由器收到后TTL减1,所以就被丢弃,并
    发送时间超过差错报文

解决IP地址耗尽的措施

  1. 采用无类别编址CIDR,使IP地址的分配更加合理
  2. 采用网络地址转换(NAT)方法以节省全球IP地址
  3. 采用具有更大地址空间的新版本的IPv6

IPv6

  1. 从32为扩大到128位
  2. 虽然IPv6与IPv4不兼容,但总体而言它与所有其他的因特网协议兼容
    ,包括TCP、UDP、ICMP、IGMP、OSPF、BGP和DNS,只是在少数地方做了必
    要的修改(大部分是为了处理长的地址)
Author: 高明
Link: https://skysea-gaoming.github.io/2020/12/10/ComputerNetwork2/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.