网络层
-
网际协议IP
网际协议IP是TCP/IP体系中两个最重要的协议之一,也是最重要的因特网标准协议之一.
地址解析协议ARP:是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。
逆地址解析协议RARP:是解决同一个局域网上的主机或路由器的硬件地址和IP地址的映射问题。
网际控制报文协议ICMP:提供差错报告和询问报文,以提高IP数据交付成功的机会
网际组管理协议IGMP::用于探寻、转发本局域网内的组成员关系。
-
虚拟互连网络
因为没有一种单一的网络能够适应所有的用户需求,所以网络互连也变得困难,所以需要一些中间设备
物理层中间设备:转发器(repeater)
数据链路层中间设备:网桥或桥接器(bridge)
网络层中间设备:路由器(router)
网络层以上的中间设备:网关(gateway)
-
分类的IP地址
IP 地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是唯一的 32 位的标识符。由因特网名字与号码指派公司ICANN进行分配。
-
IP地址编制方法的三个阶段:
-
分类的IP地址
每一类地址都由 网络号 net-id和 主机号 host-id组成 主机号中全0表示网络地址,全1表示广播地址
子网的划分
-
构成超网
IP地址 ::{<网络号>,<主机号>}
-
-
A类
由1字节的网络地址和3字节主机地址组成
网络地址的最高位必须是“0“,可指派的网络数为128-2,减2的原因是0.0.0.0对应“本网络”,另外一个是127.0.0.1是本地软件的回环地址,用于测试自己电脑IP地址是否可用。
地址范围1.0.0.0到126.255.255.255
最大主机数为2563-2=16777214台,减2的原因是全0的主机号字段代表该IP地址是"本主机“,全1表示”所有的“,表示该网络上的所有主机
-
B类
由2字节的网络地址和2字节主机地址组成
网络地址的最高位必须是“10”,可指派的网络数为 214 -1,因为最高位为10,所以不存在全0全1的情况,但是B类网络地址128.0.0.0是不指派的,可指派最小网络地址是128.1.0.0
地址范围128.0.0.0-191.255.255.255
最大主机数为2562-2=65534台,减2同样是全0全1情况。
-
C类
由3字节的网络地址和1字节主机地址组成
网络地址的最高位必须是“110”,可指派的网络数为221-1,192.0.0.0不指派,最小可指派网络地址是192.0.1.0
地址范围192.0.0.0-223.255.255.255
最大主机数为256-2=254台,减2同样是全0全1情况。
D类是多播地址,“lll0”开始
E类地址保留为今后使用,“llll0”开头
-
-
IP地址的特点:
IP地址是一个分等级的地址结构。第一,IP地址管理机构在分配IP地址时只分配网络号(第一级),剩下的主机号(第二级)由得到该网络号的单位自行分配。第二,路由器仅根据目的主机所连接的网络号转发分组,这样就可以使路由器表中的项目数大幅度减少,从而减少了路由表所占的存储空间以及查找路由表的时间。
实际上IP地址是标志一个主机和一条链路的接口。当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号必须是不同的。这种主机称为多归属主机。由于一个路由器至少连接到两个网络,因此一个路由器至少应当有两个不同的IP地址。
用转发器或网桥连接起来的若干个局域网仍为一个网络
在IP地址中,所有分配到的网络号的网络都是平等的。
物理地址是数据链路层和物理层使用的地址
IP地址是网络层和以上各层使用的地址,是一种逻辑地址。
IP地址放在IP数据报的首部,硬件地址放在MAC帧的首部。
在IP层抽象的互联网上只能看到IP数据报。
虽然在IP数据报首部有源站IP地址,但路由器只根据目的站的IP地址的网络号进行路由选择。
在局域网的链路层,只能看到MAC帧。
皮层抽象的互联网屏蔽了下层复杂的细节,使用统一的、抽象的IP地址研究主机和主机或者路由器之间的通信。
-
IP数据报
- 一个IP数据报由首部(20 字节+可选字段)和数据两部分组成
- 版本 占4位,IP协议的版本。
- 首部长度 占4位,可表示最大十进制数值是15.
- 区分服务 占8位,用来获得更好的服务
- 总长度 总长度字段为16位
在IP层下面的每一种数据链路层协议都规定了一个数据帧中的数据字段的最大长度,这称为最大传送单元MTU。
- 标识 占16位
- 标志 占3位,标志字段中的最低位记为MF(More Fragment)。MF = 1 表示后面“还有分片”的数据报。MF= 0 表示这已经是数据报中的最后一个。标志字段中间的一位记为DF(Don’t Fragment),意思“不能分片”,只有当DF = 0时才允许分片。
- 片偏移 占13位,片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。片偏移一8个字节为偏移单位,每个分片的长度一定是8字节的整数倍。
- 生存时间 占8位,TTL(Time To Life),数据报在网络中的寿命。
- 协议 占8位,表示数据报使用何种协议。
- 首部检验和 占16位,检验数据报的首部,不包括数据部分。
- 源地址 占32位
- 目的地址 占32位
-
分组转发
路由表必须包含三项内容:目的网络地址、子网掩码和下一跳地址。
从数据报的首部提取目的主机的 IP 地址 D, 得出目的网络地址为 N。
若网络 N 与此路由器直接相连,则把数据报直接交付目的主机 D;否则是间接交付,执行3。
若路由表中有目的地址为 D 的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则,执行4。
若路由表中有到达网络 N 的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行5。
若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行6。
报告转发分组出错。
-
划分子网
IP地址::={<网络号>,<子网号>,<主机号>}
-
两级IP地址缺陷:
IP 地址空间的利用率有时很低。
给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
-
子网划分的基本思路:
划分子网纯属一个单位内部的事情,单位对外仍然表现为没有划分子网的网络。
划分子网的方法是从主机号借用若干个位作为子网号。
路由器在收到IP数据报后,按目标网络号和子网号定位目标子网
-
子网掩码:子网掩码是一个网络或一个子网的重要属性
- 不管网络有没有子网,只要把子网掩码和IP地址进行逐位的“与”运算(AND),就能立即得出网络地址。这样在路由器处理到来的分组是就可以采用同样的算法。
A类地址的默认子网掩码是255.0.0.0,或0xFF000000; B类地址的默认子网掩码是255.255.0.0,或0xFFFF0000; C类地址的默认子网掩码是255.255.255.0,或0xFFFFFF00;
-
-
构成超网(无分类编址CIDR)
无分类域路由选择CIDR(Classless Inter-Domain Routing)
网络前缀越短,其地址块所包含的地址数就越多。而在三级结构的IP地址中,划分子网是使网络前缀边长。
构成超网:由于一个CIDR地址块中含有很多地址,所以在路由表中就利用CIDR地址块来查找目标网络,这种地址的聚合常称为路由聚合,也称构成超网。
-
主要特点
- CIDR消除了传统的A、B、C类地址以及划分子网的概念,用网络前缀代替网络号和子网号,后面的部分指明主机。因此,CIDR使IP地址从三级编址(使用子网掩码),又回到了两级编址,但这已是无分类的两级编址。
IP地址::={<网络前缀>,<主机号>}
- CIDR把网络前缀相同的连续的IP地址组成一个”CIDR地址块”只要知道CIDR地址块中的任何一个地址,就可以知道这地址块的起始地址(即最小地址)和最大地址,以及地址块中的地址数。
-
-
网际控制报文协议ICMP
为了更有效地转发IP数据报和提高交付成功的机会,在网际层使用了ICMP,ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。
ICMP报文种类有两种,ICMP差错报告报文和ICMP询问报文
-
ICMP差错报告报文:
终点不可达 当路由器或主机不能交付数据报时就向源点发送终点不可达报文。
源点抑制 当路由器或主机由于拥塞而丢弃数据报时,就向源点抑制报文,使源点知道应当把数据报的发送速率放慢
时间超长 当路由器接收到生存时间为0的数据报时,除了丢弃数据报外,还要向源点发送时间超过报文。
参数问题 当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,就该丢弃该数据报,并向源点发送参数问题报文。
改变路由(重定向) 路由器把改变路由报文发送给主机,让主机知道下次应将数据报发送给另外的路由器
-
ICMP询问报文:
回送请求和回答 ICMP回送请求报文是由主机或路由器向一个特定的目的主机发出的询问。收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文。
时间戳请求和回答 ICMP时间戳请求报文是请某个主机或路由器回答当前的日期和时间。
-
-
路由选择协议
因特网将整个互联网划分为许多较小的自治系统(autonomous system),记为AS。一个AS对其他AS表现出的是一个单一和一致的路由选择策略。
自治系统之间的路由选择也叫域间路由选择(interdomain routing),而在自治系统内部的路由选择叫做域内路由选择(intradomain routing)
内部网关协议IGP(Interior Gateway Protocol) 在一个自治系统内部使用的路由选择协议,与在互联网中的其他自治系统选用什么路由选择协议无关。如RIP和OSPF协议。
外部网关协议EGP(External Gateway Protocol) 若源主机和目的主机处在不同的自治系统中(这两个自治系统可能使用不同的内部网关协议)。当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。
-
内部网关协议RIP(Routing Information Protocol)
内部网关协议中最先的到广泛使用的协议,叫路由信息协议。RIP是一种分布式的基于距离向量的路由选择协议,最大特点就是简单。
RIP协议“距离”:从一路由器到直接连接的网络的距离定义为1.从一路由器到非直接连接的网络的距离定义为所经过的路由器数加1.
-
优缺点:
RIP 存在的一个问题是当网络出现故障时,要经过比较长的时间才能将此信息传送到所有的路由器。
RIP 协议最大的优点就是实现简单,开销较小。
RIP 限制了网络的规模,它能使用的最大距离为 15(16 表示不可达)。
路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
仅和相邻路由器交换信息。
-
路由器交换的信息是当前本路由所知道的全部信息,即自己的路由表。
路由表中最重要的信息就是:到某个网络的距离最短,下一跳地址。路由表更新的原则是找出到每个目的网络的最短距离。这种更新叫做距离向量算法。
按固定的时间间隔交换路由信息
-
内部网关协议OSPF(Open Shortest First)\
分布式的链路状态协议
-
优缺点:
使用洪泛法向本自治系统中所有路由器发送信息。
发送的信息是与本路由器相邻的所有路由器的链路状态。
只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。
OSPF允许管理员给每条路由指派不同的代价。OSPF对于不同类型的业务可计算出不同的路由。
若果到同一个目的网络有多条相同代价的路径,那么可以将同信量分配给这几条路径,这叫做路径间的负载均衡。
所有在OSPF路由器之间交换的分组,都具有鉴别的功能。
OSPF支持可变长度的子网划分和无分类的编址CIDR.
由于网络中的链路状态可能经常发生变化,因此OSPF让每一个链路状态都带上一个32位的序号,序号越大状态就越新。
-
-
外部网关协议BGP
不同自治系统的路由器之间交换路由信息的协议,它采用路径向量路由选择协议
自治系统AS之间的路由选择必须考虑有关策略。
BGP只能力求寻找一条能够到达目的网络且比较好的路由,而并非要寻找一条最佳路由。
-
虚拟专用网VPN
在因特网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发
利用公用的因特网作为机构专用网之间的通信载体,这样的专用网又称为虚拟专用网VPN(virtual private network)。所有通过因特网传送的数据都必须加密。
-
网络地址转换NAT(network address translation)
- 使用端口号的NAT也叫网络地址与端口号转换NAPT(network address and port translation)