网际层
网际层
网际协议IP
网际协议IP是TCP/IP体系中两个最主要的协议之一.
与之配套使用的还有四个协议:
- 地址解析协议 ARP Address Resolution Protocol
- 逆地址解析协议 RARP Reverse Address Resolution Protocol
- 网际控制报文协议 ICMP Internet Control Message Protocol
- 网际组管理协议 IGMP Internet Group Management Protocol
虚拟互联网络
- 物理层中继系统 转发器
- 数据链路层中继系统 网桥
- 网络层中继系统 路由器
- 网络层以上的中继系统 网关
IP数据包格式
- 版本 : 有 4(IPv4)和 6(IPv6)两个值;
- 首部长度 : 占 4 位,因此最大值为 15。值为 1 表示的是 1 个 32 位字的长度,也就是 4 字节。因为固定部分长度为 20 字节,因此该值最小为 5。如果可选字段的长度不是 4 字节的整数倍,就用尾部的填充部分来填充。
- 区分服务 : 用来获得更好的服务,一般情况下不使用。
- 总长度 : 包括首部长度和数据部分长度。
- 生存时间 :TTL,它的存在是为了防止无法交付的数据报在互联网中不断兜圈子。以路由器跳数为单位,当 TTL 为 0 时就丢弃数据报。
- 协议 :指出携带的数据应该上交给哪个协议进行处理,例如 ICMP、TCP、UDP 等。
- 首部检验和 :因为数据报每经过一个路由器,都要重新计算检验和,因此检验和不包含数据部分可以减少计算的工作量。
- 标识 : 在数据报长度过长从而发生分片的情况下,相同数据报的不同分片具有相同的标识符。
- 片偏移 : 和标识符一起,用于发生分片的情况。片偏移的单位为 8 字节。
- IP数据报分片
分类的IP地址
- 分类
- 无分类
- 无分类编址 CIDR 消除了传统 A 类、B 类和 C 类地址以及划分子网的概念,使用网络前缀和主机号来对 IP 地址进行编码,网络前缀的长度可以根据需要变化
- 一个 CIDR 地址块中有很多地址,一个 CIDR 表示的网络就可以表示原来的很多个网络,并且在路由表中只需要一个路由就可以代替原来的多个路由,减少了路由表项的数量。把这种通过使用网络前缀来减少路由表项的方式称为路由聚合,也称为 构成超网
地址解析协议 ARP 与逆地址解析协议RARP
ARP实现由IP地址得到MAC地址
- 每个主机都有一个ARP高速缓存表,里面有本局域网上的各主机和路由器的IP地址到MAC地址的映射表
- 如果主机 A 知道主机 B 的 IP 地址,但是 ARP 高速缓存中没有该 IP 地址到 MAC 地址的映射,此时主机 A 通过广播的方式发送 ARP 请求分组,主机 B 收到该请求后会发送 ARP 响应分组给主机 A 告知其 MAC 地址,随后主机 A 向其高速缓存中写入主机 B 的 IP 地址到 MAC 地址的映射
RARP 使只知道自己硬件地址的主机能够知道其 IP 地址(现已很少使用)
网际报文控制协议ICMP
- ICMP 是为了更有效地转发 IP 数据报和提高交付成功的机会。它封装在 IP 数据报中,但是不属于高层协议\
- ICMP的种类
- ICMP 差错报告报文
- 终点不可达
- 源点抑制(Source quench)
- 时间超过
- 参数问题
- 改变路由(重定向)(Redirect)
- ICMP询问报文
- 回送请求和回答报文
- 时间戳请求和回答报文
- 应用
- Ping 测试连通性
- Traceroute 跟踪一个分组从源点到终点的路径
- ICMP 差错报告报文
路由选择协议
基本概念
- 静态路由选择策略
- 非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化
- 动态路由选择策略
- 自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大
自治系统AS(Autonomous System)
- 在单一的技术管理下的一组路由器,而这些路由器使用一种 AS 内部的路由选择协议和共同的度量以确定分组在该 AS 内的路由,同时还使用一种 AS 之间的路由选择协议用以确定分组在 AS之间的路由
内部网关协议 IGP(Interior Gateway Protocol)
在一个自治系统内部使用的路由选择协议
- RIP
- RIP 是一种基于距离向量的路由选择协议。距离是指跳数,直接相连的路由器跳数为 1。跳数最多为 15,超过 15 表示不可达
- RIP 按固定的时间间隔仅和相邻路由器交换自己的路由表,经过若干次交换之后,所有路由器最终会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器地址
- OSPF
- 向本自治系统中的所有路由器发送信息,这种方法是洪泛法
- 发送的信息就是与相邻路由器的链路状态,链路状态包括与哪些路由器相连以及链路的度量,度量用费用、距离、时延、带宽等来表示
- 只有当链路状态发生变化时,路由器才会发送信息
外部网关协议BGP(External Gateway Protocol)
- 若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中
- AS 之间的路由选择很困难
- 互联网规模很大;
- 各个 AS 内部使用不同的路由选择协议,无法准确定义路径的度量;
- AS 之间的路由选择必须考虑有关的策略,比如有些 AS 不愿意让其它 AS 经过。
- BGP 只能寻找一条比较好的路由,而不是最佳路由
- 每个 AS 都必须配置 BGP 发言人,通过在两个相邻 BGP 发言人之间建立 TCP 连接来交换路由信息
无类别域间路由CIDR(Classless Inter-Domain Routing)
无类别域间路由(CIDR) CIDR是开发用于帮助减缓IP地址和路由表增大问题的一项技术
超网合并
- 超网(Super Netting)是与子网类似的概念,IP地址根据子网掩码被分为独立的网络地址和主机地址。与子网划分(把大网络分成若干小网络)相反,它是把一些小网络组合成一个大网络,就是超网
- 如上图,原本两个网段的网络部分不相同,子网掩码是/24。将两个网段合并,与子网划分相反,掩码主机位增加,网络位减少,子网掩码向左移动一位,让两个网段的网络位部分相同。合并之后的子网掩码是255.255.254.0,网段是192.168.0.0/23.而且合并之后192.168.0.255也可以作为正常IP使用,不再是广播地址,因为其主机位已经不都是1了。(主机位多了一位0)
- 网段合并规律
- 将子网掩码向左移动N位,合并2的N次方个网段。即子网掩码左移1位能够将能够合并两个网段,左移2位,能够合并四个网段,左移3位,能够合并8个网段
IP多播
- 与单播相比,在一对多的通信中,多播可大大节省网络资源
虚拟专用网VPN和网络地址转换 NAT
VPN
由于 IP 地址的紧缺,一个机构能申请到的 IP 地址数往往远小于本机构所拥有的主机数。并且一个机构并不需要把所有的主机接入到外部的互联网中,机构内的计算机可以使用仅在本机构有效的 IP 地址(专用地址)。
- 有三个专用地址块:
- 10.0.0.0 ~ 10.255.255.255
- 172.16.0.0 ~ 172.31.255.255
- 192.168.0.0 ~ 192.168.255.255
- 有三个专用地址块:
VPN 使用公用的互联网作为本机构各专用网之间的通信载体。专用指机构内的主机只与本机构内的其它主机通信;虚拟指好像是,而实际上并不是,它有经过公用的互联网
VPN的实现主要使用了两种基本技术:隧道传输和加密技术
- VPN定义了两个内部网络的路由器之间通过Internet建立的通信隧道,使用IP-in-IP封装后在隧道中转发数据报
- 为了保证保密性,隧道发送路由器把内网IP数据报加密后,封装为外网IP数据报的数据部分在外网中进行传输
- 隧道接收路由器收到数据报后,从外网数据报中取出数据部分,将数据报解密,还原成内网数据报,然后转发该数据报
VPN的分类
- 内联网VPN:只是机构内部网络所构成的VPN
- 外联网VPN:有时一个机构的VPN需要又某些外部机构参加进来,这样的VPN即为外联网VPN
- 远程接入VPN:公司员工在外地接入公司的VPN,即可远程接入VPN
NAT
显然为每个主机再申请一个全球IP地址是不现实的,需要使用网络地址转换(Network Address Translation)技术
- 这种方法需要在专用网连接到因特网的路由器上安装NAT软件,装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球地址 IP
- 所有使用本地IP地址的主机在和外界通信时都要在 NAT 路由器上将其本地IP地址转换成外网 IP才能和因特网连接
- 为了更有效的利用NAT路由器的全球IP地址,将传输层的端口号也利用上,这样就可使多个专用网内的主机同时公用一个NAT路由器的全球IP地址,此时叫做网络地址与端口号转换NAPT(Network Address and Port Translation)