网络层
- 一、网络层提供的两种服务
-
- [1. 概念](#1. 概念)
- [2. 两种服务](#2. 两种服务)
- [3. 两种服务的比较](#3. 两种服务的比较)
- [二、网际协议 IP](#二、网际协议 IP)
- [三、网际控制报文协议 ICMP](#三、网际控制报文协议 ICMP)
-
- [ICMP 简介](#ICMP 简介)
- [ICMP 报文格式](#ICMP 报文格式)
- [ICMP 报文的类型](#ICMP 报文的类型)
- 差错报告报文的数据字段的内容
- 四、因特网的路由选择协议
-
- [RIP 协议 (开放式标准)](#RIP 协议 (开放式标准))
- OSPF协议(内部网关协议)
- BGP(外部网关协议)
- [五、IP 多播](#五、IP 多播)
- [六、虚拟专用网 VPN 和网络地址转换 NAT](#六、虚拟专用网 VPN 和网络地址转换 NAT)
-
- VPN技术 (在互联网上传送私有数据)
- [网络地址转换 NAT 技术](#网络地址转换 NAT 技术)
一、网络层提供的两种服务
1. 概念
-
网络层关注的是如何将分组从源端沿着网络路径送到目的端。
-
网络层应该给运输层提供无连接的服务还是面向连接的服务,其实争论的焦点就是:在计算机通信中,可靠交付应当由谁来负责还是端系统?很明显,应该由端系统来实现可靠交付,如果让网络层负责的话,数据在传输的过程中,就会变得十分繁琐。
2. 两种服务
虚电路服务
虚电路表示这只是一条逻辑上的连接,分组都沿着这条逻辑连接按照发方式传送,而并不是真正建立了一条物理连接。而电路交换的电话通信是先建立了一条真正的连接。因此分组交换的虚连接和电路交换的连接只是类似,但并不完全一样。
数据报服务(现在用的)
网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务,网络在发送分组时不需要先建立连接。每一个分组(即IP数据报)独立发送,与其前后的分组无关(不进行编号)。网络层不提供服务质量的承诺。即所传送的分组可能出错、丢失、重复和失序(不按序到达终点),当然也不保证分组传送的时限。
尽最大努力交付的好处:
- 由于传输网络不提供端到端的可靠传输服务,这就使网络中的路由器可以做得比较简单,而且价格低廉(与电信网的交换机相比较)。
- 如果主机(即端系统)中的进程之间的通信需要是可靠的,那么就由网络的主机中的运输层负责(包括差错处理、流量控制等)
- 采用这种设计思路的好处是: 网络的造价大大降低,运行方式灵活,能够适应多种应用。
- 因特网能够发展到今日的规模,充分证明了当初采用这种设计思路的正确性。
3. 两种服务的比较
二、网际协议 IP
虚拟互联网
网络互联的设备
中间设备又称为中间系统或中继系统。
- 物理层中继系统: 转发器(集线器)。
- 数据链路层中继系统: 网桥或交换机。
- 网络层中继系统: 路由器。
- 网络层以上的中继系统:网关。(现在也就是路由器接口的地址)
互联网络与虚拟互联网络
所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用 IP 协议就可以使这些性各异的网络从用户看起来好像是一个统一的网络。
使用IP协议的虚拟互连网络可简称为 IP网。
使用虚拟互连网络的好处是:当互联网上的主机进行通信时,就好像在一个网络上通信一样,而看不见互连的各具体的网络异构细节。
IP 协议简介
网际协议 IP是 TCP / IP 体系中最主要的协议之一。与IP协议一块的还有四个协议:
- 地址解析协议 ARP(Address Resolution Protocol)
- 逆地址解析协议 RARP (Reverse Address Resolution Protocol)
- 网际控制报文协议 ICMP (Internet Control Message Protocol)
- 网际组管理协议 IGMP (Internet Group Management Protocol)
网络层四个协议之间的层次
IP 地址
网络地址
网络地址(也可以称为网络号)唯一指定了每个网络。网络中的每台计算机都共享相同的网络地址,并用它作为自己IP地址的一部分。
常用的三种类别的 IP 地址
环回地址(Loopback Address)127.0.0.1---127.255.255.254 是一种特殊的 IP 地址。
划分子网和构造超网
几个特殊地址
- 127.0.0.1 本地环回地址
- 169.254.0.0 windows把地址设置为自动分配之后而没有人给它分配地址而产生的一个地址用。
- 保留的私网地址 10.0.0.0 172.16.0.0 - 172.31.0.0 192.168.0.0-192.168.255.0
子网掩码作用
子网掩码 (subnet mask) 又叫网络掩码,子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
在二进制与运算中,只有当两个操作数的相应位都是1时,结果的对应位才是1。如果两个操作数的相应位中至少有一个是0,那么结果的对应位就是0。
划分子网
从主机号里面取出来几位进行划分。
-
主机号全为0代表的是这一个网段,全为1的话代表的是一个广播地址。网关一般使用本网段第一个地址。
-
等分划分(平均分配)
-
不等分划分(哈夫曼树方法)
构造超网
网络进行合并
IP 地址与硬件地址
1.交换机基于数据帧的MAC地址转发数据帧,路由器基于数据包的IP地址转发数据包。
2.数据包在传输过程不变,过网络设备数据帧要用新的物理层地址重新封装。3.MAC地址决定了数据帧下一跳哪个设备接收,而IP地址决定了数据包的起点和终点。
IP地址决定了数据包最终到那个计算机,而MAC决定下一跳给谁。
ARP & RARP
ARP解析是通过广播来实现的。
根据物理地址来请求IP地址。
IP 数据报格式
一个 IP 数据报由首部和数据两部分组成。
- 首部的前一部分是固定长度,共20字节,是所有 IP 数据报必须具有的。
- 在首部的固定部分的后面是一些可选字段,其长度是可变的。
数据报字段含义
- 版本: 占 4 位,指 IP协议的版本,目前的 IP 协议版本号为4。
- 首部长度:占4 位,可表示的最大数值是 15 个单位(一个单位为4 字节),因此 IP 的首部长度的最大值是60 字节。
- 区分服务:占8 位,用来获得更好的服务.在旧标准中叫做服务类型,但实际上一直未被使用过。
- 总长度:占16 位,指首部和数据之和的长度.单位为字节,因此数据报的最大长度为 65535 字节。总长度必须不超过最大传送单元MTU。
- 标识(identification): 占 16 位它是一个计数器,用来产生数据报的标识,不是序号,每产生一个数据包,就增加1。
- 标志(flag) 占 3 位,目前只有前两位有意义。标志字段的最低位是MF(More Fragment)。MF= 1 表示后面"还有分片"。MF=0 表示最后一个分片。标志字段中间的一位是 DF (Don't Fragment)。只有当 DF =0 时本允许分片。
- 片偏移(13 位): 较长的分组在分片后某片在原分组中的相对位置。片偏移以8 个字节为偏移单位。
- 生存时间(8位)记为TTL(Time To Live)数据报在网络中可通过的路由器数的最大值。
- 协议(8位)字段:指出此数据报携带的数据使用何种协议以便目的主机的 IP 层将数据部分上交给哪个处理过程。 常用的协议及其十进制数值包括ICMP (1)、TCP (6)、UDP (17)。
- 首部检验和(16 位)字段只检验数据报的首部不检验数据部分。这里不采用 CRC 检验码而采用简单的计算方法 。
- 源地址和目的地址都各占 4 字节。
- IP 首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。
IP 转发分组的流程
指的就是路由器给不同网段转发数据报,网络畅通的条件是能去能回。
沿途的路由器必须知道到目标网络下一跳给那个接口,沿途的路由器必须知道到源网络下一跳给那个接口。
最长前缀匹配
- 使用CIDR时,路由表中的每个项目由 "网络前缀" 和 "下一跳地址" 组成,在查找路由表时可能会得到不止一个匹配结果。
- 应当从匹配结果中选择县有最长网络前缀的路由:最长前缀匹配(longestprefix matching)o
- 网络前缀越长,其地址块就越小,因而路由就越具体(more specific)
- 最长前缀匹配又称为最长匹配或最佳匹配。
三、网际控制报文协议 ICMP
ICMP 简介
- 为了提高 IP 数据报交付成功的机会,在网际层使用了网际控制报文协议ICMP (Internet Control Message Protocol)。
- ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。
- ICMP不是高层协议,而是 IP 层的协议。
- ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
ICMP 报文格式
ICMP 报文的类型
ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文。
ICMP 报文的前 4 个字节是统一的格式,共有三个字段: 即类型、代码和检验和。接着的 4 个字节的内容与 ICMP 的类型有关。
差错报告报文有五种: 终点不可达 ,源点抑制(Source quench) ,时间超过 ,参数问题 ,改变路由 (重定向) (Redirect)。
询问报文有两种:送请求和回答报文,时间戳请求和回答报文。
差错报告报文的数据字段的内容
四、因特网的路由选择协议
RIP 协议 (开放式标准)
- 周期性的把自己知道的网段广播给其他路由器,每隔30秒广播一次。经过的跳数少的话,证明最优。但是有问题,比如跳数多的这条路径,它的带宽高等等。
- 30秒更新一次是因为路由信息可能变化,所以要周期性广播。
- RIP 支持的最大跳数为15。因为大于15就认为是路由不可达了,所以rip的一条链路可包含的最大路由器数也为15。 数据包到达第16个路由器时就会认为是不可达的了。
- 仅和相邻路由器交换信息。
- 交换的信息是当前本路由器所知道的全部信息,即自己现在路由表。
- OSPF 不用 UDP 而是直接用 IP数据报传送。
- OSPF对不同的链路可根据IP分组的不同服务类型而设置成不同的代价。因此,OSPF 对于不同类型的业务可计算出不同的路由。
- 如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫作多路径间的负载平衡。
- 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。
- 支持可变长度的子网划分和无分类编址 CIDR。
- 每一个链路状态都带上一个 32 位的序号,序号越大状态就越新。
OSPF协议(内部网关协议)
特点
- 动态的路由协议,开放式,度量值是带宽,那条路好走,走那条路;支持多区域,触发式更新。
- 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。
- 发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。
- 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
OSPF中每个路由器维护三部分内容:
- 邻居状态
- 链路状态数据库
- 路由表
OSPF划分为两种不同的区域
BGP(外部网关协议)
特点
- BGP协议交换路由信息数量不是很多。
- BGP发言人数目不多,路由选择相对简单。
- BGP协议支持CIDR。
- BGP建立时,交换整个路由表但之后只交换变化部分。
五、IP 多播
IP 数据包三种传输方式
IP组播地址让源设备能够将分组发送给一组设备。属于多播组的设备将被分配一个组播组IP地址(一群共同需求主机的相同标识)。
组播地址范围为224.0.0.0~239.255.255.255(D类地址),一个D类地址表示一个组播组。只能用作分组的目标地址。源地址总是为单播地址。
硬件组播
IGMP 协议与组播路由选择协议
IGMP工作的两个阶段
组播路由选择协议
组播路由选择协议常用的三种算法:
- 基于链路状态的路由选择
- 基于距离-向量的路由选择
- 协议无关的组播(稀疏 / 密集)
六、虚拟专用网 VPN 和网络地址转换 NAT
VPN技术 (在互联网上传送私有数据)
把地址当做数据进行传送,到时候把公网地址去除。
- 本地地址:仅在机构内部使用的IP 地址,可以由本机构自行分配本地地址,而不需要向因特网的管理机构申请。
- 全球地址--全球唯一的IP地址,必须向因特网的管理机构申请。
私网ip地址的范围: A类地址:10.0.0.0~10.255.255.255 B类地址:172.16.0.0 ~172.31.255.255 C类地址:192.168.0.0~192.168.255.255
用隧道技术实现虚拟专用网
VPN 可以实现回家之后还可以去访问学校的内网地址。
网络地址转换 NAT 技术
需要在专用网连接到因特网的路由器上安装NAT软件。装有NAT软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球地址IP。
使用本地地址的主机在和外界通信时都要在 NAT路由器上将其本地地址转换成IP。才能和因特网连接。
- NAT(网络地址转换): NAT技术主要解决的是IP地址不足的问题。在私有网络中,设备通常使用保留的私有IP地址,这些地址在互联网上是不可路由的。当私有网络中的设备需要访问互联网时,NAT设备(如路由器)会将私有IP地址转换为公网IP地址,以便数据能够在互联网上进行传输。返回的数据流也会经过NAT设备,由公网IP地址转换回私有IP地址,以确保数据能够正确到达私有网络中的设备。但是这样的话,进行映射的话 就只能一台主机对应一个网卡地址。
- PAT(端口地址转换): PAT是NAT的一种类型,它不仅转换IP地址,还转换端口号。PAT允许一个公网IP地址和端口号映射到多个私有IP地址和端口号,从而进一步节省公网IP地址资源。PAT通常用于内网中的多个设备共享一个互联网连接和IP地址的情况。
简而言之,NAT技术主要用于IP地址的转换,而PAT技术则在NAT的基础上增加了端口号的转换功能。这两种技术都是现代网络中不可或缺的部分,使互联网能够支持更多的设备和更高效的资源利用。