导图社区 IP网络基础之网络层
计算机网络:IP网络基础五层模型之网络层。
编辑于2020-11-16 11:06:55IP网络基础之网络层
概述
主要任务
实现网络互联
进而实现数据包的传输
需要解决问题
提供服务
可靠传输
对误码、丢失、乱序采取措施
eg:ATM、帧中继、X.25
核心思想
可靠通信由网络自身保证
先建立网络层连接——虚电路(具有虚电路编号)
沿着虚电路发送分组
通信结束后,释放虚电路
目的主机地址只在建立连接时使用
除建立连接外,其他分组的首部仅携带虚电路编号
不可靠传输
对误码、丢失、乱序不采取措施
eg:TCP/IP协议
核心思想
可靠通信由用户主机保证
无需建立连接
分组可走不同路径
分组首部必须携带完整的目的主机地址
其网络中的路由器较为简单,价格低廉
寻址
通过主机号区分
路由选择
数据包中的目的地址及路由器中的路由表
路由表来源
由用户、网络管理员人工配置
路由选择协议中的路由选择算法
IP协议
IP地址
网络编号
标识因特网上的网络
主机编号
标识同一网络上的不同主机
若网络不接入Internet可不使用IP地址
数据包转发时
IP地址不会改变
源MAC地址为发出的设备的MAC地址
目的MAC地址为接收的设备的MAC地址
往往被封装在以太网帧中
TCP、UDP、ICMP、IGMP数据被封装在IP数据报中
分组结构
版本(4位)
用以表明IP协议实现的版本号
IPv4 即 0100
确保运行不同IP版本的设备的兼容性
头部长度(4位)
表示IP报头长度
最大长度为15个长度单位(4字节)
服务类型(8位)
声明数据报被网络系统传输时可被处理的方式
前3个比特为优先权子字段
4~7
4:延迟(1表示最小时延)
5:吞吐量(1表示最大吞吐量)
6:可靠性(1表示最高可靠性)
7:代价(1表示最小代价)
只能有1个1,可全为0
第8比特保留未用
总长度(16位)
整个数据报长度
标识(16位)
唯一标识主机发送的数据报
相同的标志段使分片后的数据报片能正确重装
标志(3位)
最低为为MF(0表示其为最后一片分片)
中间位为DF(为0时方允许分片)
片偏移(13位)
表示该片在原分组的相对(用户字段的起点)位置
分片长度一定是8的整数倍
生存时间(8位)
设置数据报可经过路由器数
通常为32、64、128
经过一个路由会减1,为0时被丢弃并发送错误信息
协议(8位)
表示所封装的上层协议类型
1:ICMP
2:IGMP
6:TCP
17:UDP
头部校验和(16位)
根据IP头部计算得到的校验和码
对头部中每16个比特进行二进制反码求和
源地址(32位)、目的地址(32位)
可选项、填充项
IPv4地址
Internet上的主机的每一个接口分配的全世界唯一的32比特标识符
采用点分十进制表示(每8个比特用一个十进制数表示)
第一阶段:分类编址
A类地址
网络号8位(首位为0)
最小网络号0保留,不指派
最大网络号127,作为本地环回测试地址,不指派
B类地址
网络号16位(前两位为10)
最小网络号128.0,可指派
最大网络号191.255,可指派
C类地址
网络号24位(前三位为110)
最小网络号192.0.0,可指派
最大网络号233.255.255,可指派
可分配
主机号全0为网络地址,不可分配
主机号全1为广播地址,不可分配
D类地址
多播地址(前四位为1110)
E类地址
保留(前五位为11110)
不可分配
第二阶段:划分子网
借用主机号的部分作为子网号
子网掩码
连续的比特1表示网络号和子网号
连续的比特0表示主机号
默认子网掩码
不占用主机号
第三阶段:无分类编址
消除了传统的A类、B类、C类地址以及划分子网的概念
使用斜线记法(CIDR记法)
在IPv4地址之后加上斜线“/”,在加上网络前缀所占比特数量
路由聚合(构造超网)
将路由表中目的网络的共同前缀组合成新的主机号
应用规划
定长的子网掩码FLSM
使用同一个子网掩码划分子网
每个子网所分配的IP地址数量相同
变长的子网掩码VLSM
使用不同的子网掩码划分子网
每个子网所分配的IP地址数量不同
分配原则
只能选取块大小整数倍的地址块为起点
虚拟专用网VPN
利用公用的因特网为本机构各专用网之间的通信载体
虚拟专用网中的主机的地址为本机构自由分配的专用地址
专用地址地址块
10.0.0.0/8
172.16.2.2/12
192.168.0.0/16
同一机构的内部网络所构成的VPN称为内联网VPN
有外部机构参与的VPN称为外联网VPN
NAT技术
将私有地址转换为公网地址
优点
缓解了IP地址不足的问题
有效避免来自网络外部的攻击
隐藏内部网络结构
实现方式
静态转换
私有地址和公网地址一对一映射
一个公网IP只分配给唯一且固定的内网主机
动态转换
基于地址池来实现私有地址和公网地址的转换
连接时,会在地址池中分配一个未用的公网地址
不连接时,映射会被删除,对应公网地址会回到地址池中
端口多路复用(NAPT)
多个内部地址映射到同一个公网地址的不同端口
存在问题
违法IP的体系结构
IP规定一个地址对应一个网络接口
NAT中一个地址可能会对应多个地址
将Internet的无连接服务变成了有链接服务
NAT必须包含所有经过它的连接信息
违法网络分层原则
第三层中使用了第四层的字段
IP包的载荷必须是TCP或UDP
因为其他协议的信息中不包含源端口
某些应用中NAT可能会出错
发送方将源IP地址嵌在消息中,接收方从信息中取用,但NAT不作此类处理
ICMP
用于在网络设备间传递各种差错和控制信息
差错报告报文
类型
终点不可达
路由器或主机不能交付数据报
具体原因
目的网络不可达
目的主机不可达
目的协议不可达
目的端口不可达
共13种
源点抑制
路由器或主机由于拥塞而丢弃数据报
时间超过
TTL值为0
参数问题
路由器或主机根据首部种的校验和字段发现首部出现误码
改变路由(重定向)
到达目的主机有其他更好的路径
不发送情况
对ICMP差错报告报文不发送
对第一个分片的数据报片的所有后续数据报片不发送
对具有多播地址的数据报不发送
对具有特殊地址的数据报不发送
询问报文
类型
回送请求和回答
主机或路由器想特定的主句发出的询问
收到此报文的主机,必须向源主机发送ICMP回送回答报文
用于测试目的站是否可达及了解其有关状态
时间戳请求和回答
请求报文
请某个主机或路由器回答当前的日期和时间
回答报文
有一个32位的字段
写入的整数代表从1900年1月1日起到当前时刻的秒数
用于进行时钟同步和测量时间
应用举例
分组网间探测PING
测试主机或路由器间的连通性
应用层之间使用网际层的ICMP
使用ICMP回送请求和回答报文
跟踪路由
用于测试IP数据报从源主机到达目的主机经过路由器
Windows版本
tracert命令
应用层直接使用网际层ICMP
使用ICMP回送请求和回答报文以及差错报告报文
Unix版本
traceroute命令
运输层使用UDP协议
仅使用ICMP差错报告报文
ARP协议
通过IP地址找到其对应的MAC地址
ARP高速缓存表
记录IP地址与MAC地址的对应关系
类型
动态
自动获取,生命周期为2分钟
IP地址与MAC地址的对应关系并不是永久性的
静态
手工设置,不同操作系统的生命周期不同
ARP请求报文
封装在MAC帧中,目的地址为FF-FF-FF-FF-FF-FF
ARP响应报文
封装在MAC帧中,目的地址为目的主机MAC地址
只能在一段链路或一个网络上使用