本篇笔记整理:Code_流苏(CSDN)
观前提示:本篇内容为计算机网络第4章全章笔记,适合入门学习以及后期复习,超详细!建议收藏学习!
第4章 网络层
自制思维导图
4.1 网络层概述
◆ 网络层的主要任务是实现网络互连 ,进而实现数据包在各网络之间的传输。
◆ 要实现网络层任务,需要解决以下主要问题: 1??网络层向运输层提供怎样的服务(“可靠传输”还是“不可靠传输”)
2??网络层寻址问题
3??路由选择问题
◆ 因特网(Internet) 是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈。 ◆ 由于TCP/IP协议栈的网络层使用网际协议IP ,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层 。 ◆ 综上所述,我们通过学习TCP/IP协议栈的网际层来学习网络层的理论知识和实践技术。
4.2 网络层提供的两种服务
①面向连接的虚电路服务
◆ 可靠通信由网络 来保证 ◆ 必须建立网络层的连接-虚电路VC (Virtual Circuit) ◆ 通信双方沿着已建立的虚电路发送分组 ◆ 目的主机的地址仅在连接建立阶段使用,之后每个分组的首部只需携带一条虚电路 的编号(构成虚电路的每一段链路都有一个虚电路编号) ◆ 这种通信方式如果再使用可靠传输的网络协议,就可使所发送的分组最终正确到达接收方(无差错按序到达、不丢失、不重复) 通信结束后,需要释放之前所建立的虚电路 。 ◆ 很多广域分组交换网都使用面向连接的虚电路服务 。例如,曾经的X.25和逐渐过时的帧中继FR、异步传输模式ATM等。
②无连接的数据报服务
◆ 可靠通信应当由用户主机 来保证 ◆ 不需要建立网络层连接 ◆ 每个分组可走不同的路径 ◆ 每个分组的首部必须携带目的主机的完整地址 ◆ 这种通信方式所传送的分组可能 误码、丢失、重复和失序。 ◆ 由于网络本身不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较) ◆ 因特网采用了这种设计思想,也就是将复杂的网络处理功能置于因特网的边缘(用户主机和其内部的运输层),而将相对简单的尽最大努力的分组交付功能置于因特网核心。
③虚电路服务与数据报服务的比较
4.3 IPv4地址及其应用
①IPv4地址概述
◆ IPv4地址 就是给因特网(Internet)上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内是唯一的32比特的标识符。 ◆ IPv4地址的编址方法经历了如下三个历史阶段 : ◆ 32比特的IPv4地址不方便阅读、记录以及输入等,因此IPv4地址采用点分十进制表示方法 以方便用户使用。 举例如图: 1??8位无符号二进制整数转十进制数
2??十进制正整数转8位无符号二进制数
②分类编址的IPv4地址
1??分类如图 2??一般不使用的特殊IP地址
③划分子网的IPv4地址
◆ 为新增网络申请新的网络号会带来以下弊端:
- 需要等待时间和花费更多的费用
- 会增加其他路由器中路由表记录的数量
- 浪费原有网络号中剩余的大量IP地址
可以从主机号部分借用一部分比特作为子网号
◆ 32比特的子网掩码可以表明分类IP地址的主机号部分被借用了几个比特作为子网号
- 子网掩码使用连续的比特1来对应网络号和子网号
- 子网掩码使用连续的比特0来对应主机号
- 将划分子网的IPv4地址与其相应的子网掩码进行逻辑与运算就可得到IPv4地址所在子网的网络地址
◆ 给定一个分类的IP地址和其相应的子网掩码,就可知道子网划分的细节:
④无分类编址的IPv4地址
◆ 无分类编制出现的背景:划分子网在一定程度上缓解了因特网在发展中遇到的困难,但是数量巨大的C类网因为其地址空间太小并没有得到充分使用,而因特网的IP地址 仍在加速消耗,整个IPv4地址空间面临全部耗尽的威胁。 ◆ 为此,因特网工程任务组IETF又提出了采用无分类编址 的方法来解决IP地址紧张的问题,同时还专门成立IPv6工作组负责研究新版本IP以彻底解决IP地址耗尽问题。 ◆ CIDR消除了传统的A类、B类和C类地址,以及划分子网的概念; ◆ CIDR可以更加有效地分配IPv4的地址空间,并且可以在新的IPv6使用之前允许因特网的规模继续增长。 ◆ CIDR使用“斜线记法”,或称CIDR记法。即在IPv4地址后面加上斜线“/”,在斜线后面写上网络前缀所占的比特数量 。 ◆ CIDR实际上是将网络前缀都相同的连续的IP地址组成一个"CIDR地址块” 。 ◆ 我们只要知道CIDR地址块中的任何一个地址,就可以知道该地址块的全部细节:
- 地址块的最小地址
- 地址块的最大地址
- 地址块中的地址数量
- 地址块聚合某类网络(A类、B类或C类)的数量
- 地址掩码(也可继续称为子网掩码)
◆ 路由聚合(构造超网)的方法是找共同前缀 ◆ 网络前缀越长 ,地址块越小,路由越具体;
若路由器查表转发分组时发现有多条路由可选,则选择网络前缀最长的那条,这称为最长前缀匹配 ,因为这样的路由更具体。
⑤IPv4地址的应用规划
4.4 IP数据报的发送和转发过程
IP数据报的发送和转发过程包含以下两部分:主机发送IP数据报和路由器转发IP数据报,依次如下:
①主机发送IP数据报
1??判断目的主机是否与自己在同一个网络 若在同一个网络,则属于直接交付; 若不在同一个网络,则属于间接交付,传输给主机所在网络的默认网关(路由器),由默认网关帮忙转发;
②路由器转发IP数据报
1??检查IP数据报首部是否出错 若出错,则直接丢弃该IP数据报并通告源主机; 若没有出错,则进行转发;
2??根据IP数据报的目的地址在路由表中查找匹配的条目 若找到匹配的条目,则转发给条目中指示的下一跳; 若找不到则丢弃该IP数据报并通告源主机;
4.5 静态路由配置及其可能产生的路由环路问题
①文字描述
◆ 静态路由配置 是指用户或网络管理员使用路由器的相关命令 给路由器人工配置路由表。
- 这种人工配置方式简单、开销小。但不能及时适应网络状态(流量、拓扑等)的变化。
- 一般只在
小规模网络 中采用。
◆ 使用静态路由配置 可能出现以下导致产生路由环路的错误
◆ 路由条目的类型
- 直连网络
- 静态路由(人工配置)
- 动态路由(路由选择协议)
◆ 特殊的静态路由条目
- 默认路由(目的网络为0.0.0.0,地址掩码为0.0.0.0)
特定主机路由 (目的网络为特定主机的IP地址,地址掩码为255.255.255.255)- 黑洞路由(下一跳为null0)、
②举例
1??默认路由举例
2??特定主机路由举例
3??静态路由配置错误导致路由环路
4??聚合了不存在的网络而导致路由环路
5??网络故障而导致路由环路
4.6 路由选择协议
①路由选择协议概述
◆ 因特网采用分层次的路由选择协议 1??路由器的基本结构
2??路由选择协议
②路由信息协议RIP的基本工作原理
◆ 路由信息协议RIP (Routing Information Protocol)是内部网关协议IGP中最先得到广泛使用的协议之一,其相关标准文档为RFC 1058。 ◆ RIP要求自治系统AS内的每一个路由器都要维护从它自己到AS内其他每一个网络的距离记录。这是一组距离,称为“距离向量D-V(Distance-Vector)" 。 ◆ RIP使用跳数(Hop Count) 作为度量(Metric)来衡量到达目的网络的距离。
- 路由器到直连网络的距离定义为1。
- 路由器到非直连网络的距离定义为所经过的路由器数加1。
- 允许一条路径最多只能包含15个路由器。“距离”等于16时相当于不可达。因此,
RIP只适用于小型互联网 。
◆ RIP认为好的路由就是“距离短”的路由,也就是所通过路由器数量最少 的路由。 ◆ 当到达同一目的网络有多条“距离相等”的路由时,可以进行等价负载均衡 。 ◆ RIP存在“坏消息传播得慢”的问题。
③开放最短路径优先OSPF的基本工作原理
◆ 开放最短路径优先OSPF (Open Shortest Path First).是为克服RIP的缺点在1989年开发出来的。
- “开放”表明OSPF协议不是受某一家厂商控制,而是公开发表的。
- “最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。
◆ OSPF是基于链路状态的,而不像RIP那样是基于距离向量的。 ◆ OSPF采用SPF算法计算路由 ,从算法上保证了不会产生路由环路。 ◆ OSPF不限制网络规模,更新效率高,收敛速度快。 ◆ 链路状态是指本路由器都和哪些路由器相邻,以及相应链路的“代价” (cost)“。
- 代价”用来表示费用、距离、时延、带宽,等等。这些都由网络管理人员来决定。
举例
◆ OSPF相邻路由器之间通过交互问候(Hello) 分组,建立和维护邻居关系。 ◆ 使用OSPF的每个路由器都会产生链路状态通告LSA (Link State Advertisement)。 LSA中包含以下内容:
- 直连网络的链路状态信息
- 邻居路由器的链路状态信息
- LSA被封装在链路状态更新分组LSU中,采用洪泛法发送。
◆ 使用OSPF的各路由器基于LSDB进行最短路径优先SPF计算,构建出各自到达其他各路由器的最短路径,即构建各自的路由表。 ◆ OSPF有以下五种分组类型
◆ OSPF在多点接入网络中路由器邻居关系的建立
◆ 为了使OSPF能够用于规模很大的网络,OSPF把一个自治系统再划分为若干个更小的范围,叫做区域(Area) 。
④边界网关协议BGP的基本工作原理
◆ 因特网采用分层次的路由选择协议 ◆ 内部网关协议IGP (例如路由信息协议RIP或开放最短路径优先OSPF)
- 设法使分组在一个自治系统内尽可能有效地从源网络传输到目的网络
- 无需考虑自治系统外部其他方面的策略
外部网关协议EGP(例如边界网关协议BGP) - 在不同自治系统内,度量路由的“代价” (距离,带宽,费用等)可能不同。因此,对于自治系统之间的路由选择,使用“代价”作为度量来寻找最佳路由是不行的。
◆ 在配置BGP时,每个自治系统的管理员要选择至少一个路由器作为该自治系统的“BGP发言人” BGP适用于多级结构的互联网 ◆ BGP-4有以下四种报文 1??OPEN(打开)报文
用来与相邻的另一个BGP发言人建立关系,使通信初始化。
2??UPDATE(更新)报文
用来通告某一路由的信息,以及列出要撤销的多条路由。
3??KEEPALIVE(保活)报文
用来周期性地证实邻站的连通性。
4??NOTIFICATION(通知)报文
用来发送检测到的差错。
4.7 IPv4数据报的首部格式
◆ 首部长度 占4比特,表示IP数据报首部的长度。该字段的取值以4字节 为单位。最小十进制取值为5,表示IP数据报首部只有20字节固定部分;最大十进制取值为15,表示IP数据报首部包含20字节固定部分和最大40字节可变部分。
◆ 可选字段 长度从1个字节到40个字节不等。用来支持排错、测量及安全等措施 。可选字段增加了IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理IP数据报的开销。实际上可选字段很少被使用。
◆ 填充字段 确保首部长度为4字节的整数倍。使用全0 进行填充。
◆ 区分服务 占8比特,用来获得更好的服务。
◆ 总长度 占16比特,表示IP数据报的总长度 (首部+数据载荷)。 最大取值为十进制的65535,以字节为单位。
◆ 标识 占16比特,属于同一个数据报的各分片数据报应该具有相同的标识。 IP软件维持一个计数器,每产生一个数据报,计数器值加1,并将此值赋给标识字段。
◆ 标志 占3比特,各比特含义如下 :
◆ 片偏移 占13比特,指出分片数据报的数据载荷部分偏移 其在原数据报的位置有多少个单位。 片偏移以8个字节为单位。
◆ 生存时间TTL 占8比特,最初以秒为单位 ,最大生存周期为255秒 ;
◆ 协议 占8比特,指明IPv4数据报的数据部分是何种协议数据单元 。 常用的一些协议和相应的协议字段值如下。 ◆ 首部检验和 占16比特,用来检测首部 在传输过程中是否出现差错。比CRC检验码简单,称为因特网检验和。
◆ 源IP地址和目的IP地址 各占32比特,用来填写发送该IP数据报的源主机的IP地址和接收该IP数据报的目的主机的IP地址。
4.8 网际控制报文协议ICMP
◆ 为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了网际控制报文协议ICMP(Internet Control Message Protocol)。 ◆ 主机或路由器使用ICMP来发送差错报告报文和询问报文。ICMP报文被封装在IP数据报中发送。 ◆ ICMP差错报告报文共有以下五种: 1??终点不可达
2??源点抑制
3??时间超过
4??参数问题
5??改变路由(重定向) ` ◆ 以下情况不应发送ICMP差错报告报文:
- 对ICMP差错报告报文不再发送ICMP差错报告报文
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
- 对具有多播地址的数据报都不发送ICMP差错报告报文
- 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文
◆ 常用的ICMP询问报文有以下两种: 1??回答请求和回答 2??时间戳请求和回答
◆ ICMP应用: 1??分组网间探测PING 用来测试主机或路由器间的连通性
2??跟踪路由traceroute 用来测试IP数据报从源主机到达目的主机主要经过哪些路由器
4.9 虚拟专用网VPN与网络地址转换NAT
①虚拟专用网VPN
◆ 利用公用的因特网作为本机构各专用网之间的通信载体,这样的专用网又称为虚拟专用网 。 ◆ 根据具体用途有所不同,可分为:内联网VPN、外联网VPN、远程接入VPN 。
- 同一机构内不同部门的内部网络所构成的虚拟专用网VPN又称为内联网VPN。
- 有时一个机构的VPN需要有某些外部机构(通常就是合作伙伴)参加进来。这样的VPN就称为外联网VPN。
- 在外地工作的员工需要访问公司内部的专用网络时,只要在任何地点接入到因特网,运行驻留在员工PC中的VPN软件,在员工的PC和公司的主机之间建立VPN隧道,即可访问专用网络中的资源。这种VPN称为远程接入VPN。
②网络地址转换NAT
◆ 虽然因特网采用了无分类编址方式 来减缓IPv4地址空间耗尽的速度,但由于因特网用户数目的激增,特别是大量小型办公室网络和家庭网络接入因特网的需求不断增加,IPv4地址空间即将面临耗尽的危险仍然没有被解除 。 ◆ 1994年提出了一种网络地址转换NAT的方法再次缓解了IPv4地址空间即将耗尽的问题 。 NAT能使大量使用内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源。 ◆ 由于绝大多数的网络应用都是使用运输层协议TCP或UDP来传送数据,因此可以利用运输层的端口号和IP地址一起进行转换。这样,用一个全球IP地址就可以使多个拥有本地地址的主机同时和因特网上的主机进行通信。这种将端口号和IP地址一起进行转换的技术叫作网络地址与端口号转换NAPT (Network Address and Port Translation)。 ◆ 对于一些P2P网络应用,需要外网主机主动与内网主机进行通信,在通过NAT时会遇到问题,需要网络应用自己使用一些特殊的NAT穿越技术 来解决问题。 ◆ 另外,由于NAT对外网屏蔽了内网主机的网络地址,能为内网的主机提供一定的安全保护 。
本篇笔记整理:Code_流苏(CSDN) 参考教材:谢希仁 计算机网络第七版 课件资料及视频学习:MOOC计算机网络(湖科大 高军老师) 计算机网络笔记专栏——笔记及测验练习都在这 如果对大家有帮助的话,希望大家能多多点赞+关注!这样我动力会更足哦! ?( ′・?・` )比心。
|