1.网络层概述
- 网络层的主要任务是实现网络互连,进而实现数据包在各网络之间的传输。
- 要实现网络层任务,需要解决如下问题
- 网络层向运输层提供怎样的服务(可靠传输还是不可靠传输)
- 网络层寻址问题
- 路由选择问题
- 因特网(Internet)是目前全世界用户数量最多的互联网,它使用TCP/IP协议栈
- 由于TCP/IP协议栈的网络层使用网际协议IP,它是整个协议栈的核心协议,因此在TCP/IP协议栈中网络层常称为网际层
-
我们通过学习TCP/IP协议的网际层来学习网络层的理论知识
2.网络层提供的两种服务
对比方面 | 虚电路服务 | 数据报服务 |
---|---|---|
思路 | 可靠通信应当由网络来保证 | 可靠通信应当由用户主机来保证 |
连接的建立 | 必须建立网络层连接 | 不需要建立网络层连接 |
终点地址 | 仅在连接建立阶段使用,每个分组使用短的虚电路号 | 每个分组都有重点的完整地址 |
分组的转发 | 属于同一条虚电路的分组均按照同一路由进行转发 | 每个分组可走不同的路由 |
当节点出故障时 | 所有通过出故障的节点的虚电路均不能工作 | 出故障的节点可能会丢失分组,一些路由可能会发生变化 |
分组的顺序 | 总是按发送顺序到达重点 | 到达重点时不一定按顺序发送 |
服务质量保证 | 可以将通信资源提前分配给每一个虚电路,容易实现 | 很难实现 |
3. IPV4地址
3.1概述
- IPV4地址就是给因特网(Internet)上的每一台主机(或路由器)的每一个接口分配一个在全世界范围内唯一的32比特的标识符
- 现已分配完毕,部署IPV6
- IPV4的编址方法经历了三个历史阶段
- 1981:分类编址
- 1985:划分子网
- 1993:无分类编址
-
32比特不方便阅读,因此采用淀粉十进制表示方法
3.2分类编址的IPV4
3.3划分子网的IPV4
3.4无分类编址的IPV4
3.5IPV4应用规划
4.IP数据包的发送和转发过程
主机发送IP数据报
判断目的主机是否与自己咋同一个网络,若在则属于直接交付;
若不在,则属于间接交付,传输给主机所在网络的默认网关(路由器),由默认网关帮忙转发
路由器转发IP数据报
- 检查IP数据报首部是否出错,若出错则直接丢弃该IP数据报并通告源主机,没出错则转发
- 根据IP数据报的目的地址在路由表中查询匹配的条目,若找到匹配条目,则转发给条目中指示的下一跳,若找不到,则丢弃该IP数据报并通告源主机。
5.静态路由配置
- 静态路由配置是指用户或网络管理员使用路由器的相关命令给路由器人工配置路由表,这种方式简单,开销小,但不能即使是因网络状态(流量、拓扑等)的变化,一般只在小规模网络中采用
- 使用静态路由配置可能出现以下导致产生路由环路的错误
- 配置错误
- 聚合了不存在网络
- 网络故障
- 路由条目的类型
- 直连网络
- 静态路由(人工配置)
- 动态路由(路由选择协议)
- 特殊的静态路由条目
- 默认路由(目的网络为0.0.0.0,地址掩码为0.0.0.0)
- 特定主机路由(目的网络为特定主机的IP地址,地址掩码为255.255.255.255)
- 黑洞路由(下一跳为null0)
6.路由选择协议
7.IPV4数据报的首部格式
8.忘记控制报文协议ICMP
- 为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了忘记控制报文协议ICMP(Internet Control Message Protocol)
- 主机或路由器使用ICMP来发送差错报告报文和询问报文
- ICMP报文被封装在IP数据报中发送
- ICMP差错报告报文有以下五种:
终点不可达;源点抑制;时间超过;参数问题;改变路由(重定向) - 以下情况不应发送ICMP差错报告报文
- 对ICMP差错报告报文不再发送ICMP差错报告报文
- 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
- 对具有多播地址的数据报都不发送ICMP差错报告报文
- 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文
- 常用的ICMP询问报文有以下两种:
回答请求和回答;时间戳请求和回答 - ICMP应用:
分组网间探测PING;跟踪路由traceroute
9. 虚拟专用网VPN与网络地址转换NAT
- 虚拟专用网VPN(Virtual Private Network)
- 利用公用的因特网作为本机构个专用网之间的通信载体,这样的专用网又称为虚拟专用网
- 同一机构内不同部门的内部网络所构成的虚拟专用网VPN称为内联网VPN
- VPN要保证传输数据的安全性,会将原始的内部数据包进行加密,然后再将其封装称为在因特网上发送到外部的数据报
- 又是一个机构的VPN需要有某些外部机构参加进来,这样的VPN称为外联网VPN
- 在外地工作的员工需要访问公司内部的专用网络时,只要在任何地点接入到因特网,运行驻留在员工PC中的VPN软件,在员工的PC和公司的主机之间建立VPN隧道,即可访问专用网络中的资源,这种VPN称为远程接入VPN
- 网络地址转换NAT(Network Address Translation)
- 由于IP地址的紧缺,一个机构能申请到的IP地址数量往往远小于本机构所拥有的主机数量。因此,虚拟专用网中的各个主机所分配的地址应该是本机构可以自由分配的专用地址,而不是需要申请的,在因特网上使用的公有地址
- IPV4地址空间面临耗尽
- NAT能使大量内部专用地址的专用网络用户共享少量外部全球地址来访问因特网上的主机和资源
- 由于绝大多数的网络应用都是使用运输层协议TCP或UDP来传送数据,因此可以利用运输层的端口号和IP地址一起进行转换。这样,有一个全球IP地址就可以使多个拥有本地地址的主机同时和因特网上的主机进行通信。这种将端口号和IP地址一起进行转换的技术叫做网络地址与端口号转换NAPT(Network Address and Port Translation)
- 对于一些P2P网络应用,需要外网主机主动与内网主机进行通信,在通过NAT时会遇到问题,需要网络应用自己使用一些特殊的NAT穿越技术来解决问题。
- 由于NAT对外网屏蔽了内网主机的网络地址,能为内网的主机提供一定的安全保护。