导图社区 计算机网络 第四章 网络层
计算机网络 第四章 网络层:概述、IP协议、VPN、NAT技术、ICMP协议、ARP协议
编辑于2020-05-20 15:14:16网络层
向运输层提供怎样的服务? 寻址问题 路由选择问题
概述
任务
实现网络互连,实现数据包在各网络之间的传输
两种服务
面向连接的虚电路服务
思路
可靠通信由网络保证
连接建立
必须建立网路层的连接--虚电路VC
终点地址
目的主机地址仅在连接建立阶段使用,分组首部携带虚电路编号
分组转发
双方沿已建立的虚电路发送分组
结点故障
所有通过故障点的虚电路均不能工作
分组顺序
按序到达
连接断开
通信结束,释放虚电路
服务质量保证
可将通信资源提前分配给每个虚电路,易实现
无连接的数据报服务
简单,价格低廉
将复杂的网络处理功能置于因特网边缘
思路
可靠通信由用户主机保证
连接建立
无需建立网络层连接
终点地址
分组首部携带目的主机完整地址
分组转发
每个分组可走不同路径
结点故障
故障点可能丢失分组,一些路由可能发生变化
分组顺序
可能误码、丢失、重复、失序
服务质量保证
很难实现
IP协议
提供服务
提供不可靠、无连接的服务,依靠其他层协议进行差错控制
传输
局域网中,IP协议被封装在以太网帧中传送
所有的TCP、UDP、ICMP、IGMP 数据都被封装在IP数据报中传送
分组结构
版本字段
长度
版本
4比特
IPv4
0100
IPv6
头部长度
长度
4比特
最大长度
15个长度单位(4字节),即60字节
最短长度
20字节
作用
表示IP报头的长度。
设计原因
报文的可选项字段大小会发生变化。
服务类型
长度
8比特
作用
表示用于携带提供服务质量特征信息的字段,声明数据报被网络系统传输时可被处理的方式
含义
前3个比特
优先权子字段(Precedence)
第4至第7比特
代表延迟、吞吐量、可靠性和代价
当它们取值为1时分别代表要求最小时延、最大吞吐量、最高可靠性和最小代价
这4个比特的服务类型中只能置其中1个比特为1,为0则表示一般服务。
第8比特
保留未用
总长度
长度
16比特
作用
表明整个数据报的长度,按字节来计算长度为65535字节
标识
长度
16比特
作用
唯一标识主机发送的数据报
通常与标志字段和分片偏移字段一起用于IP报文的分片
相同的标识字段的值使分片后各数据报片最后能正确的重装成为原来的数据
标志
长度
3比特
作用
目前只有2位有意义
最低位为MF (More Fragment)
MF=1表示“后面还有分片”的数据报
MF=0表示已是最后一个
中间为DF (Don't Fragment)
意思是不能分片
只有当DF=0时才允许分片
片偏移
长度
以8个字节为偏移单位,每个分片的长度一定是8字节的整数倍
作用
指出较长的分组在分片后,某片在原分组的相对位置
生存时间
长度
8比特
作用
设置数据报最多可以经过的路由器数
每经过一个路由器,其值减1,直到0时该数据报被丢弃
当TTL值减为0时,路由器将会丢弃该报文并向源点发送错误信息
这个方法可以防止报文在互联网上无休止地被传送
协议
长度
8比特
作用
指明IP层所封装的上层协议类型
1
表明封装的上层协议为ICMP
2
表明封装的上层协议为IGMP
6
表明封装的上层协议为TCP
7
表明封装的上层协议为UDP
......
头部校验和
长度
16比特
作用
校验
源地址和目的地址
长度
32比特
作用
表示源地址和目的地址
可选项和填充项
长度
32比特
作用
用来定义一些任选项
路径
时间戳
......
IPv4地址
长度
32比特
表示方法
点分十进制
三个阶段
分类编制1981
A类
网络号
8位 0
主机号
24位
第一个可指派的网络号
1
最后一个可指派的网络号
126
最大可指派的网络数
126
每个网络中的最大主机数
16777214
不能指派的网络号
0和127
占总地址空间
1/2(2^31/2^32)
B类
网络号
16位 10
主机号
16位
第一个可指派的网络号
128.0
最后一个可指派的网络号
191.255
最大可指派的网络数
16384
每个网络中的最大主机数
65534
不能指派的网络号
无
占总地址空间
1/4(2^30/2^32)
C类
网络号
24位 110
主机号
8位
第一个可指派的网络号
192.0.0
最后一个可指派的网络号
223.255.255
最大可指派的网络数
2097152
每个网络中的最大主机数
524
不能指派的网络号
无
占总地址空间
1/8(2^29/2^32)
D类
1110
作用
多播地址
第一个地址
224.0.0.0
最后一个地址
239.255.255.255
地址数量
268435456
占总地址空间
1/16(2^28/2^32)
E类
1111
作用
保留为今后使用
第一个地址
240.0.0.0
最后一个地址
255.255.255.255
地址数量
268435456
占总地址空间
1/16(2^28/2^32)
一般不使用的特殊IP地址
在网络上的本主机(DHCP协议)
网络号
0
主机号
0
作为源地址
可以
作为目的地址
不可
在本网络上的某台主机host-id
网络号
0
主机号
host-id
作为源地址
可以
作为目的地址
不可
只在本网络上进行广播(各路由器均不转发)
网络号
全1
主机号
全1
作为源地址
不可
作为目的地址
可以
对net-id的所有主机广播
网络号
net-id
主机号
全1
作为源地址
不可
作为目的地址
可以
用于本地软件环回测试
网络号
127
主机号
非全0或全
作为源地址
可以
作为目的地址
可以
注意事项
只有A、B、C类可分配给网络中的主机或路由器的各接口
主机号为"全0"的地址是网络地址,不能分配
主机号为"全1"的地址是广播地址,不能分配
划分子网1985
申请新网络号的弊端
需要等待时间和费用
增加其他路由器中路由表记录的数量
浪费原有网络号中剩余的大量IP地址
划分方法
可以从主机号部分借用一部分比特作为子网号
子网掩码
表明主机号被借了几个比特作为子网号
连续1对应网络号和子网号
连续0对应主机号
子网掩码与IPv4地址逻辑与运算得到所在子网网络地址
给定IP地址和子网掩码,可知
划分出的子网数量
每个子网可分配的IP地址数量
每个子网的网络地址和广播地址
每个子网可分配的最小和最大地址
默认的子网掩码
指在未划分子网的情况下使用的子网掩码
A:255.0.0.0
B:255.255.0.0
C:255.255.255.0
无分类编制1993
原因
数量巨大的C类网地址空间太小,没有得到充分使用
无分类域间路由选择CIDR
特点
消除传统的A、 B和C类地址,以及划分子网的概念
更加有效地分配IPv4的地址空间,在IPv6使用之前允许因特网的规模继续增长.
划分方法
在IPv4地址后加"/" ,在斜线后加网络前缀所占的比特数量
CIDR地址块中的任一地址,可知
地址块的最小地址
地址块的最大地址
地址块中的地址数量
地址块聚合某类网络(A类、B类或C类)的数量
地址掩码(也可继续称为子网掩码)
CIDR地址块
由网络前缀都相同的连续的IP地址组成
构造超网
路由聚合(构造超网)的方法是找共同前缀
路由寻址
网络前缀越长,地址块越小,路由越具体
有多条路由可选,则选网络前缀最长的那条,这称为最长前缓匹配
应用规划
定长的子网掩码FLSM
使用同一个子网掩码来划分子网
子网划分方式不灵活:只能划分出2"个子网(n是从主机号部分借用的用来作为子网号的比特数量)
每个子网所分配的IP地址数量相同,造成IP地址浪费
变长的子网掩码VLSM
使用不同的子网掩码来划分子网
子网划分方式灵活:可以按需分配
每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费
IP地址与MAC地址区别
IP地址
因特网上主机和路由器所使用的地址
用于标识两部分信息
网络编号
主机编号
MAC地址
不具备区分不同网络的功能
如果只是一个单独的网络,不接入因特网,可以只使用MAC地址
如果主机所在的网络要接入因特网,则IP地址和MAC地址都要使用
网络体系结构
网路层首部封装有IP地址
数据链路层首部封装有MAC地址
数据包转发过程中
源IP地址和目的IP地址保持不变
源MAC地址和目的MAC地址逐个链路(或逐个网络)改变
虚拟专用网VPN
含义
利用公用的因特网作为本机构各专用网之间的通信载体
封装
VPN要保证传输数据的安全性,会将原始的内部教报进行加密,然后再将其封装成为在因特网上发送到的外部数抓报。
分类
内联网VPN
同机构不同部门的内部网络所构成的VPN
外联网VPN
一个机构的VPN需要有某些外部机构参加进来,这样的VPN称为外联网VPN
远程接入VPN
外地员工访问公司内部专用网络。接入到因特网,运行VPN软件,建立VPN隧道,即可访问专用网络中的资源
NAT技术
Network Address Translation,网络地址转换
概述
将私有地址转换为公网地址
优点
既可保证网络互通,又节省了公网地址。
NAT缓解了IP地址不足的问题
隐藏内部网络的结构,保护网络内部的计算机
部署位置
一般在连接内网和外网的网关设备上
私有地址可以重复使用,不能在公网使用
实现方式
静态NAT
私有地址和共有地址一对一映射
一个公网IP只会分配给唯一且固定的内网主机
动态NAT
基于地址池
一个公网IP只会分配给唯一的内网主机
端口多路复用NAPT
允许多个内部地址映射到一个公有地址的不同端口
问题
违反IP体系结构
IP规定1个IP地址对应1个网络接口
NAT中某个地址可能对应多个地址
将无连接服务变成有连接服务
NAT必须包含所有经过它的连接信息
违反网络分层原则
在第三层用了第四层协议格式中的字段
若IP包的载荷不是TCP或UDP,则无法工作
其他协议的信息不含源端口号
有些应用NAT可能出错
源IP可能在消息中,接收方必须从中取用,但NAT不做此处理
有时需要外网主机主动与内网主机进行通信,在通过NAT时会遇到问题,需要网络应用自己使用一些特殊的NAT穿越技术来"解决问题
ICMP协议
Internet控制报文协议ICMP ( Internet Control Message Protocol)
作用
重定向
差错检测
错误报告
数据包格式
类型
ICMP消息类型
代码
同一消息类型中的不同信息
校验和
检查消息是否完整
取决于ICMP的类型
ICMP数据部分
报文类型
差错报告报文
3 目的不可达
0 网络不可达
1 主机不可达
2 协议不可达
3 端口不可达
5 源路由选择不能完成
6 目的网络不可知
7 目的主机不可知
11 超时
12 参数问题
4 源站抑制
5 重定向
查询报文
8/10 回送请求/应答
13/14 时间戳请求/应答
17/18 地址掩码请求/应答
10/9 路由器询问/通告
应用
ping
分组网间探测(Packet InterNet Groper)
测试主机或路由器间的连通性
应用层直接使用网际层的ICMP
使用ICMP回送请求和回答报文
tracert
跟踪路由
测试IP数据报从源主机到达目的主机经过的路由器
不发送差错报告报文
对ICMP差错报告报文
对第一个分片的数据报片的所有后续数据报片
对具有多播地址的数据报
对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报
ARP协议
地址解析协议
源主机
在自己的ARP高速缓存表中查找目的主机的IP地址所对应的MAC地址
找到
封装MAC帧进行发送
没找到
发送ARP请求(封装在广播MAC帧中)
收到ARP响应后
将目的主机的IP地址与MAC地址记录到自己的ARP高速缓存表中
封装之前想发送的MAC帧并发送给目的主机
目的主机
收到ARP请求
将源主机的IP地址与MAC地址记录到自己的ARP高速缓存表中
给源主机发送ARP响应(封装在单播MAC帧中)
ARP响应中包含有目的主机的P地址和MAC地址
作用范围
逐段链路或逐个网络使用
类型
请求和响应
无故ARP
用于检查IF地址冲突的
免费ARP(
问题
没有安全验证机制,存在ARP欺骗(攻击)问题