文章目录
一、网络层提供的两种服务
1.1 无连接服务(数据报服务)
无连接服务
:不事先为分组的传输确定传输路径,每个分组独立确定传输路径,不同分组传输路径可能不同。(数据报服务)
1.2 连接服务(虚电路服务)
连接服务
:首先为分组的传输确定传输路径(建立连接),然后沿该路径(连接)传输系列分组,系列分组传输路径相同,传输结束后拆除连接。
二、网际协议IP
- 网际协议IP是TCP/IP 体系中两个最主要的协议之一
- 与IP协议配套使用的还有三种协议:
地址解析协议ARP
网际控制报文协议ICMP
网际组管理协议IGMP
2.1虚拟互连网络
(1)使用一些中间设备进行互连
中间设备又称为中间系统或中继设备
- 物理层中继系统:转发器(repeater)
- 数据链路层中继系统:网桥或桥接器(bridge)
- 网络层中继系统:路由器(router)
- 网桥和路由器的混合物:桥路器(brouter)
- 网络层以上的中继系统:网关(gateway)
(2)虚拟网络的意义
- 所谓虚拟互连网咯也就是逻辑互连网络,利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。
2.2分类的IP地址
(1)IP地址及其表示方法
-
IP地址就是给每个连接在互联网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符。
-
表示方法
- 分类的IP地址
- 子网的划分
- 构成超网
(2)分类IP地址
每一类地址都由两个固定长度的字段组成:
网络号net-id
:标志主机(或路由器)所连接到的网络主机号host-id
:标志该主机(或路由器)
一个IP地址在整个互联网范围内式唯一的。
各类IP地址的网络号字段和主机号字段:
(3)常用的三种类别的IP地址
一般不使用的特殊IP地址
(4)IP地址的一些重要特点
- IP地址是一种分等级的地址结构
- 实际上IP地址是标志一个主机(或路由器)和一条链路的接口。
- 当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网路号必须是不同的。这种主机称为多归属主机。
- 一个路由器至少应当有两个不同的IP地址
- 用转发器或网桥连接起来的若干个局域网仍然为一个网络,因此这些局域网都具有同样的网络号net-id
- 所有分配带网络号net-id的网络,无论是范围很小的局域网。还是可能覆盖范围很大地理的广域网,都是平等的。
2.3IP地址与硬件地址
- 硬件地址(或物理地址)是数据链路层和物理层使用的地址
- IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用软件实现的)
不同网络的两个主机通信时,IP数据报的源地址和目的地址是不会改变的;但MAC帧首部的地址是会发生变化的。如下:
2.4 地址解析协议ARP
(1)地址解析协议ARP的作用
从网络层使用的IP地址,解析出在数据链路层使用的硬件地址。
(2)地址解析协议ARP要点
-
不管网络层使用的是什么协议,在实际网路的链路上传送数据时,最终还是必须使用硬件地址。
-
每一个主机都设有一个
ARP高速缓存
,里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。
-
当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其APR高速缓存中查看有无主机B的IP地址。
如果没有
,APR进程在本局域网上广播发送一个ARP请求分组,收到ARP响应分组后,将得到的IP地址到硬件地址的映射写入ARP高速缓存。 -
ARP请求分组
:包含发送方硬件地址、发送方IP地址、目标方硬件地址(未知时填0)、目标方IP地址。 -
本地广播ARP请求
:路由器不转发ARP请求 -
ARP响应分组
:包含发送方硬件地址、发送方IP地址、目标方硬件地址、目标方IP地址。 -
ARP分组封装在物理网络的帧中传输
(3)ARP高速缓存的作用
存放最近获得的IP地址到MAC地址的绑定,以减少ARP广播的数量。
(4)应当注意的问题
- ARP用于解决
同一个局域网
上的主机或路由器的IP地址和硬件地址的映射问题。 - 如果不在两台机子不在同一个局域网上,
就通过ARP找到一个位于本局域网上的某个路由器的硬件地址
,然后把分组发送给这个路由器,让这个路由器把分组很转发给下一个网络。剩下的工作就有下一个网络来做。 - 只要主机或路由器要和本网络上的另一个已知IP地址的主机或路由器进行通信,ARP协议就会自动地将该IP地址解析为链路层所需要的硬件地址。
(5)使用ARP的四种典型的情况
发送方是主机,要把IP数据报发送到本网络上的另一个主机
。这时用ARP找到目的主机的硬件地址。发送方是主机,要把IP数据报发送到另一个网络上的一个主机
。这时用ARP找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成。发送方是路由器,要把IP数据报转发到本网络上的一个主机
。这时用ARP找到目的主机的硬件地址。发送方是路由器,要把IP数据报转发到另一个网络上的一个主机
。这时用ARP 找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成。
2.5 IP数据报的格式
- 一个IP数据报由首部和数据两部分组成。
- 首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。
(1)IP数据报首部的固定部分中的各字段
版本
:占4位,指IP协议的版本(IPv4、IPv6)首部长度
:占4位,可表示的最大数值是15个单位(一个单位为4个字节),因此IP的首部长度的最大值是60字节。区分服务
:占8位,用来获取更好的服务总长度
:占16位,指首部和数据之和的长度,单位为字节,因此数据报的最大长度为65535字节。总长度必须不超过最大传送单元MTU标识
:占16位,它是一个计数器,用来产生IP数据报的标识标志
:占3位,目前只有前两位有意义- 标志字段的最低位时MF,MF=1表示后面“还有分片”。MF=0表示最后一个分片。
- 标志字段中间的一位是DF,只有当DF=0时才允许分片。
片偏移
:占13位,较长的分组在分片后某片在原分组中的相对位置。片偏移以8个字节为偏移单位。计算:分片的起始地址/8
。生存时间TTL
:占8位,指示数据报在网络中可通过的路由器数的最大值。协议
:占8位,指出此数据报携带的数据使用何种协议。首部检验和
:占16位,只检验数据报的首部,不检验数据部分。源地址和目的地址
:都各占4字节
(2)IP数据报首部的可变部分
- IP首部的可变部分就是一个选项字段,用来支持拍错、测量以及安全等措施,内容很丰富。
- 但实际上这些选项很少被使用。
2.6 IP层转发分组的流程
(1)特定主机路由
- 虽然互联网所有的分组转发都是
基于目的主机所在的网络
,但在大多数情况下都允许有这样的特例,即为特定的目的主机指明一个路由。
(2)默认路由
- 采用默认路由可减少路由表所占用的空间和搜索路由表所用的时间。
- 这种转发方式在一个网络只有很少的对外连接时是很有用的。
(3)路由器分组转发算法
- 从数据报的首部提取目的主机的IP地址D,得出目的网络地址为N。
- 若网络N与此路由器直接相连,则把数据报直接交付给目的主机D;否则是间接交付,执行3.
- 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳路由器;否则执行4
- 若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则执行5
- 若路由表中有一个默认路由,则把数据报传送给路由表中所指明的默认路由器;否则,执行6;
- 报告转发分组出错。
(4)关于路由表
- 路由表没有给分组指明到某个网络的完整路径
- 路由表指出,到某个网络应当先到某个路由器(即下一跳路由器)
- 在到达下一跳路由器后,再继续查找其路由表,知道再下一步应当到哪一个路由器
- 这样一步一步地查找下去,直到最后到达目的网络。
三、划分子网和构造超网
3.1划分子网
(1)从两级IP地址到三级IP地址
从主机号借用若干个位作为子网号subnet-id,而主机号host-id也就相应减少了若干位。
- 当没有划分子网时,IP地址是两级结构
- 划分子网后IP地址就变成了三级结构
- 优点:减少了IP地址的浪费、使网络的组织更加灵活、便于维护和管理。
- 划分子网纯属一个单位内部的事情,对外部网络透明,对外仍然表现为没有划分子网的一个网络。
(2)子网掩码
- 子网掩码的作用:用于判断源主机和目的主机所连接的网络是否进行了子网划分。
- 子网掩码长度 = 32位
- 子网掩码左边部分的一连串1,对应于网络号和子网号
- 子网掩码右边部分的一连串0,对应与主机号
A.默认子网掩码:
B.子网掩码是一个重要属性
- 子网掩码是一个网络或一个子网的重要属性
- 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器。
- 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码
- 若一个路由器连接在两个子网上,就拥有两个网络地址和两个子网掩码
C.子网划分方法
- 有固定长度子网和变长子网两种子网划分方法
- 在采用固定长度子网时,所划分的所有子网的子网掩码都是相同的
- 以前子网号不能使用全1或全0的,但是随着CIDR的使用,可以使用了但要谨慎使用。
- 划分子网增加了灵活性,但却减少了能够连接在网络上的主机总数。
注:不同的子网掩码得出相同的网络地址。但不同的掩码的效果是不同的。
3.2使用子网时分组的转发
在划分子网的情况下,从IP地址却不能唯一地得出网络地址来,这是因为网络地址取决于那个网络所采用的子网掩码,但数据报的首部并没有提供子网掩码的信息。故分组转发的算法也必须做响应的改动。
A.在划分子网情况下路由器转发分组的算法
- 从收到的分组的首部提取
目的IP地址D
- 先用各网络的
子网掩码和D逐位相“与”
,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付
,执行(3) - 若路由表中有目的地址为D的
特定主机路由
,则将分组传送给指明的下一跳路由器;否则,执行(4) - 对路由表中的每一行,将
子网掩码和D逐位相“与”
。若结果与该行的目的网络地址匹配,则将分组传送给改行指明的下一跳路由器;否则,执行(5) - 若路由器中有一个
默认路由
,则将分组传送给路由表中所指明的默认路由器;否则,执行(6) - 报告转发分组出错。
3.3无分类编址CIDR(构造超网)
使用变长子网掩码VLSM
可进一步提高IP地址资源的利用率。在VLSM的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择CIDR
。
(1)CIDR最主要的特点
- 消除了传统的A类、B类、C类地址以及划分子网的概念。
- CIDR使用各种长度的“网络前缀”来代替分类地址中的网络号和子网号
IP地址从三级编址(使用子网掩码&#