network layer
网络层概述
作用 :为运输层服务,提供最基本的端到端的服务
网络层提供的服务
- 面向连接的、可靠的虚电路服务;向电信网的服务那样,在通信前先建立连接,通信完毕后释放连接
- 简单灵活的、无连接的、尽最大努力交付的数据报服务;因为计算机与电信网的电话不同,计算机有很强的差错处理能力
TCP/IP体系中的网络层提供的是数据报服务,网络层不提供服务质量得到承诺
虚拟互连的网络
连接两个网络需要中间设备,网络层使用的是路由器,网络层以上使用网关
每个网络都是不同的,所以使用IP协议进行约束,利用IP协议可以使整个网络看起来像一个虚拟的统一的网络
网际协议IP
IP协议是TCP/IP协议族中最重要的两个协议之一,作用是使互连的许多计算机网络能够通信
与IP协议配套使用的三个协议
- 地址解析协议ARP
- 网际控制报文协议 ICMP
- 网际组管理协议 IGMP
IP地址
IP地址是IP协议中最基本的概念,IP地址是IP协议规定的地址,标识到某个网络的特定连接
IP地址定义为 :<网络号,主机号> 表示为32位的二进制数
IP地址与MAC地址
IP地址是网络层使用的地址,而MAC地址是物理层和数据链路层使用的地址
网络层将IP地址交给数据链路层后,IP地址就被封装成了MAC帧
地址解析协议ARP
有时我们知道对方的IP地址,却不知道对方的MAC地址,这样是不能传输的,因为数据链路层要将对方的MAC地址封装到帧里面,但是假如能够传输的话,数据报传输到那个网络的路由器后不知道要交付到哪个主机上,所以我们不仅需要知道对方的IP地址,还需要MAC地址
ARP协议解决的就是这样的问题
ARP工作流程 :先在本机的ARP高速缓存中寻找目的IP对应的MAC地址,若没找到则发送ARP请求分组的广播,寻找对应IP地址的主机,若主机A的IP地址与ARP请求分组报文中得到IP一样,那么A就收下这个分组,并向源主机放松ARP响应分组,这样我们就知道了主机A的MAC地址;用八个字概括就是
- 请求
- 广播
- 响应
- 封装
IP数据报的格式
IP数据报的格式说明IP协议都包含什么功能,各种数据常以32位为单位来描述
总的来看IP数据报的格式为 :首部 + 数据部分,首部的前一部分是固定长度,占20字节,后一部分可选字段长度可定
划分子网
将一个网络划分成若干子网构成,但对外表现仍为一个网络
划分方式:从主机号中借位作为子网号,原本的二级结构变成了三级结构 :
- <网络号,子网号,主机号>
划分子网增加了灵活性,却减少了连在网络上的主机数
子网掩码
从IP数据报中无法看出网络是否进行了划分,所以引入了子网掩码的概念,一个网络的子网掩码是网络号全1,子网号全1,主机号全0,用目的网络地址的子网掩码和目的IP地址相与就得到了这个网络的网络号
使用子网时的分组转发
- 从收到的IP数据报中提取目的主机的IP地址D
- 先判断是否为直接交付;在与路由器直接相连的网络中用网络的子网掩码和D相与,看是否与对应的网络号相同,若相同则直接交付,否则下一步
- 若路由表中有目的地址为D的特定主机路由,则转发到对应的下一跳地址中,否则下一步
- 对路由表中的每一行,用D和该行的子网掩码相与,得到网络地址N,若N和该行网络地址相同则转发到对应的吓一跳地址,否则下一步
- 若路由表中有一条默认路由,则转发给默认路由,否则下一步
- 报错
无分类编址CIDR(构造超网)
主要特点
- 消除了传统的A,B,C网络分类及子网的概念,回到二级结构<网络号,主机号>/n
- 只要知道了CIDR地址块中任何一IP地址,就能知道地址块的起始地址及最大地址
网际控制报文协议ICMP
ICMP协议是为了更有效地转发IP数据报和提高交付的机会,ICMP允许主机或路由报告差错情况和提供有关异常情况的报告,ICMP报文是封装在IP数据报中,作为其中的数据部分
ICMP报文分两种:
- ICMP差错报告报文
- ICMP询问报文
举个例子ICMP报文的一个重要应用就是分组网间探测PING ( 用来试探两台主机间的连通性 ),使用PING命令,pc一连发送4个ICMP回送请求报文,若被正常响应则会收到发回的回送回答报文
互联网的路由选择协议
从路由算法能否随网络通信量或拓扑自适应地进行调整变化来划分,分两类
- 静态路由选择策略
- 动态路由选择策略
将互联网划分成许多小的自治系统(AS),AS是在单一技术下管理的一组路由器,一个大的ISP就是一个自治系统,一个AS对其他AS表现出的是一个单一的和一致的路有选择策略,所以根据AS,互联网将路由选择协议划分成
- 内部网关协议IGP
- 外部网关协议EGP
图示表示
收敛 :在自治系统中,所有结点都得到正确的路由选择信息的过程
内部网关协议RIP
基于距离向量的路有选择协议,使用距离向量算法,要求每一个路由器都维护一个从它自己到其它每一个网络的距离记录,一条路径智能包含15个路由器
特点
- 仅和相邻路由器交换信息
- 交换当前路由器所知道的全部信息
- 固定时间间隔交换信息
- 使用用户数据报UDP传送
内部网关协议OSPF
使用分布式的链路状态协议,每一个路由器都知道全网的拓扑结构图,在更新过程中收敛的快,使用的是Dijkstra最短路径算法 SPF
特点
- 向本自治系统的所有路由器发送信息(洪泛法)
- 发送的信息是与本路由器相邻的所有路由器的状态
- 只有当链路状态发生变化时才发送信息
- 使用IP数据报传送
外部网关协议BGP
BGP只能是寻找一条能够到达目的网络比较好的路由,而不是最佳路由
每个自治系统的管理员都要选择至少一个路由器作为该自治系统的BGP发言人,一个AS的BGP发言人要和其它AS的BGP发言人交换路由信息
BGP使用路径向量的路由选择协议
IPV6
IPV4很快就会耗尽,所以使用IPV6地址
IPV6将协议数据单元PDU成为分组,IPV6的地址增加到128位
IPV6使用冒号十六进制记法,其中包含两个技术
- 零压缩(将一串连续的0用一对冒号表示)
- 结合使用点分十进制的后缀
IPV4向IPV6过渡的策略
- 双协议栈(让主机拥有双协议栈,既能使用IPV4通信,也能使用IPV6)
- 隧道技术