文章目录
1 网络层提供的两种服务
- 虚电路服务:当两台计算机进行通讯时,先建立连接,在分组交换中建立一条虚电路(VC),预留双方通讯所需的一切网络资源,双方就按照已建立的虚电路发送分组,这样的分组首部不需要填写完整的目的主机地址,而只需要填写这条虚电路的编号;这种方式加以可靠的传输协议,就可以使得分组误差序的到达终点。(只有在通讯结束时才释放建立的虚电路)
- 数据报服务:网络层向上只提供简便灵活的、无连接的、尽最大努力交付的数据报服务。(终点地址必须完整)
2 网际协议IP
- IPv4:是指IP的第4个版本
- ARP:地址解析协议
- ICMP:网际控制报文协议
- IGMP:网际组管理协议
- 网际层:TCP/IP体系中的网络层
2.1 虚拟互连网络
互连起来的各种物理网络的异构性是客观存在的,但是利用IP协议就可以使得这些性能互异的网络在网络层上看起来是一个统一的网络。
将网络互连起来需要一些中间设备
- 转发器:物理层的中间设备
- 网桥/桥接器:数据链路层的中间设备
- 路由器:网络层使用的中间设备
- 网关:网络层以上使用的中间设备
- IP网:使用IP协议的虚拟互连网络(在IP网的上层使用TCP协议,就是互联网)
2.2 分类的IP地址
IP地址就是给互联网上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32位标识符。
- 分类的IP地址
- 子网的划分
- 构成超网
2.2.1 分类的IP地址
- 网络号+主机号(一个网络号在整个互联网范围内必须是唯一的,主机号在在网络范围内必须是唯一的),由此可见:一个IP地址在整个互联网范围内是唯一的
- IP地址 :: ={<网络号>,<主机号>}
- A类(8位网络号24位主机号)网络号二进制开头为0
- B类(16位网络号16位主机号)网络号二进制开头为10
- C类(24位网络号8位主机号)网络号二进制开头为110
- D类(多播地址)1110
- E类(保留)1111
- IP地址一般使用点分十进制记法
- IPv4下IP地址的特点
- IP地址是一种分等级的地址结构
【IP地址管理机构在分配IP地址时只分配网络号,剩下的主机号由该网络号的单位自行分配】
【路由器仅根据目的主机所连接的网络号来转发分组,不考虑目的主机的主机号,这样就减小了路由表所占的内存及查找路由表所用时间】- IP地址是标志一台主机(路由器)和一条链路的接口
- 用转发器或网桥连接起来的若干个局域网仍为一个网络
2.2.2 IP地址与硬件地址
物理地址(硬件地址)是数据链路层和物理层使用的地址,IP地址是网络层和以上各层使用的地址,是一种逻辑地址;IP数据报到达数据链路层就被封装成MAC帧了
2.2.3 地址解析协议ARP
- 作用:把网络层的使用的IP地址解析出在数据链路层都使用的硬件地址
- 工作方式:在主机ARP高速缓存设置存放IP地址到硬件地址的映射表,并且这个硬件地址经常动态更新(新增或者超时删除)
- 工作过程:当主机A要向本局域网上的B主机发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的IP地址;如有,就在ARP高速缓存中查出其对应的硬件地址,再把这个硬件地址写入MAC帧,然后通过局域网把该MAC帧发往此硬件地址
- 生存时间:设置生存时间后,如果一个主机的适配器换了,就会出现A找不到B的情况,但是过一段时间后超过生存时间的项目就从高速缓存中删去了。就会重新请求B主机的地址
2.2.4 IP数据报的格式
首部(20字节)+数据
- 版本
- 首部长度
- 区分服务
- 总长度:指首部和数据之和的长度(总长度是指分片后的每一个分片的首部长度与该分片的数据长度之和)
- 标识:IP软件在存储器中维持一个计数器,每产生一个数据报,就加1;最后相同的标识字段的值使得分片后的各个数据报片能够被正确的封装成原来的数据报
- 标志:MF=1标识后面还有分片;MF=0标识这是最后一个分片
- 片偏移:某片在原来分组中的相对位置(原始数据报的首部被复制为各数据报片的首部,但需要修改有关字段)
- 生存时间:一般为跳数
- 协议:使目的主机的IP层知道应将数据部分上交至哪个协议进行处理
- 首部校验和:只检验数据报的首部,但不包括数据部分(反码算数运算把所有16位数字相加后,将得到的和的反码写入检验和字段;接收方收到数据报后,先将首部的所有16位字再取反码算术运算加一次,将取到的和取反码,即得出检验结果,若首部未发生任何变化,则结果必为0,于是保留这个数据报)
- 源地址
- 目的地址
2.2.5 IP层转发分组的流程
分组转发算法:
- 从数据报首部提取出目的主机的IP地址D,得到目的网络地址N
- 若N是与此路由直接相连的某个网络地址,则进行直接交付,不需要再转交给其他路由器
- 若路由表中有目的地址为D的特定路由器,则把数据报传送给路由表中所指定的下一跳路由
- 若路由表中有到达网络N的路由,则把数据报传送给路由表中所指明的下一跳路由器
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指定的默认路由器,否则报告转发分组出错
3 划分子网和构造超网
3.1 划分子网
3.1.1 从两级IP地址到三级IP地址
- 一个单位内部可以有若干个子网,但这个单位对外展现出的仍然为一个网络
- IP地址{<网络号><子网号><主机号>}
- 从其他单位发送的IP数据报仍然是根据IP数据报的目的地址网络号找到本单位网络上的路由器。本单位路由器收到IP数据报之后,再按照目的网络号和子网号找到目的子网,把IP数据报交付给目的主机
3.1.2 子网掩码
从IP数据报的首部无法看出是否进行了子网的划分
- 网络号以及子网号对应的位置都为1,其他位置都为0就构成了子网掩码。
- 将子网掩码和IP地址进行按位与就可得到网络地址
- 划分子网增加了网络的灵活性,但是同时也减少了能够连接在网络上的主机总数
3.1.3 使用子网时分组的转发
子网划分后,路由表必须包含:目的网络地址、子网掩码及下一跳地址
3.1.4 构造超网(无分类编址CIDR)
- IPV4下地址空间将要用尽,
- CIDR消除了传统的A类、B类、C类地址以及子网划分的概念
- 在CIDR下:IP地址:={<网络前缀><主机号>}
- 在CIDR下采用地址掩码方式,前面一连串为1,1的个数就是网络前缀的长度;128.14.35.7/20:斜线记法,斜线后面的数字就是地址掩码中1的个数
3.1.5 最长前缀匹配
- 在查找路由表时,可能会得到不止一个匹配结果。此时应该选择匹配结果具有最长网络前缀的路由。
4 网际控制报文协议ICMP
为了更有效的转发IP数据报和提高交付成功的机会,网际层使用的协议
- ICMP差错报告报文
- ICMP询问报文
5 IPv6
2011年2月,IPv4地址已经耗尽;IPv6PDU称为:分组
5.1 IPv4向IPv6的过渡
- 双协议栈:同时具有两种IP地址,不仅能够和IPv4网络通讯和IPv6网络通讯
- 隧道技术:在IPv6数据报将要进入IPv4网络时,将IPv6数据报封装成IPV4数据报
路由器的作用
- 路由选择部分和路由转发部分
- 连通不同的网络。
- 选择信息传送的线路。选择通畅快捷的近路能够快速提高信息的传递效率,减轻网络的系统通讯负荷,节约资源