1.1网络层概述
- 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输
- 要实现网络层任务,需要解决一下几个主要问题
因特网是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈。
由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常被称为网际层。
2.1网络层提供的两种服务
面向连接的虚拟电路服务
- 可靠通信由网络来保证
- 必须建立网络层的连接------虚电路VC
- 通信双方沿着已建立的虚电路发送分组
- 目的主机的地址仅在连接建立阶段使用,之后每个分组的首部只需携带一条虚拟电路的编号(构成虚电路的每一段链路都有一个虚电路编号)
- 这种通信方式如果再使用可靠传输的网络协议,就可使发送的分组最终正确到达接收方(无差错按顺序到达、不丢失、不重复)
- 通信结束后,需要释放之前建立的虚电路。
无连接的数据报服务
- 可靠通信应当由用户主机来保证
- 不需要建立网络层连接
- 每个分组可走不同的路径
- 每个分组的首部必须携带目的主机的完整地址
- 这种通信方式所传送的分组可能误码、丢失、重复和失序
- 由于网络本身不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)
- 因特网采用了这种设计思路,也就是将复杂的网络处理功能置于因特网的边缘(用户主机和其内部的运输层),而将相对比较简单的尽最大努力的分组交付功能置于因特网核心
3.1分类编址的IPv4地址
A类地址:0-
最小网络号0,保留不指派
最大的网络号127,作为本地环回测试地址,不指派
最小的本地环回测试地址127.0.0.1
最大的本地环回测试地址为127.255.255.254
B类地址:10-
C类地址:110-
4.1划分子网的IPv4地址
例题:
5.1无分类编址的IPv4地址
划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间太小并没有得到充分使用,而因特网的IP地址仍在加速消耗,整个IPv4地址空间面临全部耗尽的威胁。
1993年IETF发布了无分类域路由器选择CIDR
- CIDR消除了传统A类、B类、C类地址,以及划分子网的概念
- CIDR可以更加有效地分配IPv4的地址空间
最小地址:128.14.32.0
最大地址:128.14.32.0
地址数量:2^(32-20)
地址掩码:255.255.240.0
5.2路由聚合
网络前缀越长,地址块越小,路由越具体;
若路由器查表转发分组时发现有多条路由可选,则选择网络前缀最长的那条,这称为最长前缀匹配,因为这样的路由更具体。
6.1IPv4地址的应用规划
定长的子网掩码FLSM
使用同一个子网掩码来划分子网
每个子网所分配的IP地址数量相同,造成IP地址的浪费
变长的子网掩码VLSM
使用不同的子网掩码来划分子网
每个子网所分配的IP地址数量可以不同,尽可能减少对IP地址的浪费
7.1IP数据报的发送和转发过程
IP数据报的发送和转发过程包含以下两部分:
- 主机发送IP数据报
- 路由器转发IP数据报(涉及到默认网关)
学习笔记之默认网关_在s2上配置默认网关_汪汪富贵的博客-CSDN博客
8.1静态路由配置及其可能产生的路由环路问题
1、静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表
- 这种配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化
- 一般只在小规模网络中采用
2、使用静态路由配置可能出现以下导致产生路由环路的错误
- 配置错误
- 聚合了不存在的网络
- 网络故障
为了防止IP数据报在路由环路中永久兜圈,在IP数据报首部设有生存事件TTL字段。
9.1路由选择协议概述
1、静态路由选择
- 由人工配置的网络路由、默认路由、特定主机路由、黑洞路由等都属于静态路由
- 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑)的变化
- 一般只在小规模网络中采用。
2、动态路由选择
- 路由器通过路由选择协议自动获取路由信息
- 比较复杂、开销比较大。能较好地适应网络状态的变化。
- 适用于大规模网络
因特网所采用的路由选择协议的主要特点
自适应:动态路由选择,能较好地适应网络状态的变化
分布式:路由器之间交换路由信息
分层次:将整个因特网划分为许多较小的自治系统AS
英特网采用分层次的路由选择协议
常见的路由选择协议:
路由器基本结构
10.1路由信息协议RIP的基本工作原理
路由协议RIP是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC1058。
RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录。这一组距离称为"距离向量D-V"。
RIP使用跳数作为度量来衡量到达目的网络的距离。
- 路由器到直来连网络的距离定义为1
- 路由器到非直连网络的距离定义为所经过的路由器数加1
- 允许一条路径最多只能包含15个路由器。"距离"等于16时相当于不可达。因此RIP只适用于小型互联网。
RIP认为好的路由就是"距离短"的路由,也就是所通过路由器数量最少的路由。
当到达同一目的网络有多条"距离相等"的路由时,可以进行等价负载均衡。
RIP包含以下三个要点:
- 和谁交换信息 仅和相邻路由器交换信息
- 交换什么信息 自己的路由表
- 何时交换信息 周期性交换(例如每30秒)
RIP存在"坏消息传播的慢"的问题
"坏消息传播的慢"又称为路由环路或距离无穷计数问题,这是距离向量算法的一个固有问题。可以采取多种措施减少出现问题的概率或减小问题带来的危害。
- 限制最大路径距离为15(16表示不可达)
- 当路由表发生变化时就立即发送更新报文(即"触发更新"),而不仅是周期性发送
- 让路由器记录收到某特定路由信息的接口,而不让同一路由信息通过此接口向反方传递(即"水平分割")
11.1开放最短路径优先OSPF的基本工作原理
OSPS相邻路由之间通过交互问候(Hello)分组,建立和维护邻居关系。
使用OSPF的每个路由器都会产生链路状态通告LSA。LSA中包含以下内容。
- 直连网络的链路状态信息
- 邻居路由器的链路状态信息
LSA被封装在链路状态更新分组LSU中,采用洪范法发送。
使用OSPF的每个路由器都有一个链路状态数据库LSDB,用于存储LSA。
通过各路由器洪范发送封装有自己LSA的LSU分组,个路由器的LSDB最终将达到一致。
使用OSPF的各路由器基于LSDB进行最短路径优先算法SPF计算,构建出各自到达其他路由器的最短路径,即构建各自的路由表。
OSPF有以下五种分组类型
- 问候(hello)分组:用来发现和维护邻居路由器的可达性。
- 数据库描述分组:向邻居路由器给自己的链路状态数据库中的所有状态项目摘要信息
- 链路状态请求分组:向邻居路由器请求发送某些链路状态项目的详细幸喜
- 链路状态更新分组:路由器使用这种分组将其链路状态进行洪范发送,即用洪泛法对全网更新链路状态
- 链路状态确认分组:这是对链路状态更新分组的确认分组。
11.1边界网关协议BGP的基本工作原理
内部网关协议IGP(例如路由信息协议RIP或开放最短路径优先OSPF)
- 设法使分组在一个自治系统内尽可能有效地从源网络传输到目的网络
- 无需考虑自治系统外部其他方面的策略
外部网关协议EGP(例如边界网关协议BGP)
- 在不同自治系统内,度量路由的"代价"(距离,宽度,费用等)可能不同。因此,对于自治系统之间的路由选择,使用"代价"作为度量来寻找最佳路由是不行的。
- 自治系统之间的路由选择必须考虑相关策略(政治,经济,安全等)
- BGP只能是力求寻找到一条能够到达的网络且比较好的路由(不能兜圈子),而并非要求找到一条最佳路由
直接封装RIP、OSPF、BGP报文分别对应UDP、IP、TCP
12.1 IPV4数据报
- 版本
占4比特,表示IP协议的版本。通信双方使用的IP协议的版本必须一致。目前广泛使用的IP协议版本号为4(即IPV4)
- 首部长度
占4比特,表示IP数据报首部的长度。该字段的取值以4字节为单位。
最小十进制取值为5,表示IP数据报首部只有20字节固定部分;
最大十进制取值为15,表示IP数据报首部包含20字节固定部分和最大40字节可变部分。
- 可选字段
长度从1个字节到40个字节不等。用来支持排错、测量及安全等措施。
可选字段增加了IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理IP数据的开销。实际上可选字段很少被使用。
- 填充字段
确保首部长度为4字节的整数倍,使用全0进行填充
- 区分服务
占8个比特,用来获得更好的服务。
该字段在旧标准中叫作服务类型,但实际上一直没有被使用过。
利用该字段的不同数值可提供不同等级的服务质量。
只有在使用区分服务时,该字段才起作用。一般情况下都不使用该字段。
- 总长度
占16比特,表示IP数据报的总长度(首部+数据载荷)。
最大取值为十进制的65535,以字节为单位。
以下三个字段共同用于IP数据报分片
- 标识
站16比特,属于同一个数据报的各分片数据报因该具有相同的标识。
- 标志
占3比特,各比特含义如下:
DF位:1表示不允许分片;0表示允许分片
MF位:1表示"后面还有分片";0表示"这是最后一个分片"
保留位:必须为0
- 偏移位
占13比特,指出分片数据报的数据载荷部分偏移其在原数据报的位置有多少各单位。以8个字符为单位。
- 生存时间TTL
占8比特,最初以秒为单位,最大生存周期为255秒;路由器转发IP数据报时,将IP数据报首部中的该字段的值减去IP数据报在本路由器上所消耗的时间,若不为0就转发,否则就丢弃。
- 协议
占8比特,指明IPv4数据报的数据部分时何种协议数据单元。
常用的一些协议和相应的协议字段值如下。
- 首部检验和
占16比特,用来检测首部在传输过程中是否出现差错。比CRC检验码简单,称为因特网检验和。
由于IP层本身并不提供可靠传输的服务,并且计算首部校验和是一项耗时的操作,因此在IPv6中,路由器不再计算首部校验和,从而更快转发IP数据报。
- 源IP地址和目的的IP地址
各占32比特,用来填写发送该IP数据报的源主机的IP地址和接收该IP数据报的目的主机的IP地址。
13.1网际控制报文协议ICMP
- 为了更有效地转发IP数据报和提高交付成功的机会,在网际层中使用了网际控制报文协议ICMP(Internet Control Message Protocol)
- 主机或路由器使用ICMP来发送差错报告报文和询问报文。
- ICMP报文被封装在IP数据报中发送。
ICMP差错报告报文共有以下五种:
终点不可达
源点抑制
时间超过
参数问题
改变路由(重定向)
以下情况不应发送ICMP差错报告报文:
常用的ICMP询问报文有以下两种:
ICMP应用举例
分组网间探测PING(Packet InterNet Groper)
- 用来测试主机或者路由器间的连通性
- 应用层直接使用网际层的ICMP(没有通过运输层的TCP或UDP)
- 使用ICMP回送请求和回答报文
跟踪路由(traceroute)
- 用来测试IP数据报从源主机到目的主机要经过哪些路由器
- windows版本
- tracert命令
- 应用层直接使用网际层ICMP
- 使用了ICMP回送请求和回答报文以及差错检错报文
- Unix版本
- traceroute命令
- 在运输层使用UDP协议
- 仅使用ICMP差错报告报文
虚拟专用网VPN与网络地址转换NAT
虚拟专用网VPN
网络地址转换NAT
本文链接:https://my.lmcjl.com/post/5940.html
4 评论