【计算机网络】(谢希仁第七版)第四章 网络层

计算机网络第四章

四、网络层

网络层可能提供的服务:可靠交付、数据报传输

让网络负责可靠交付(不实际)

使用面向连接的通信方式

通信之前先建立虚电路,逻辑上相当于电路交换,始终占用一条电路

虚电路:只是一条逻辑上的连接,分组都沿着这条逻辑连接按照存储转发的方式传送

网络不需要负责可靠交付,依靠主机中的运输层负责可靠交付

网络提供数据报服务

网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务

网络层在发送分组时不需要建立连接,每一个分组(IP数据报)独立发送,与其前后分组无关

网络层传送的分组可能出错、丢失、重复、失序、分组传送的时限

比较虚电路和数据报服务:

image-20210804153202538

IP协议

网际协议IP是TCP/IP体系中两个最主要的协议之一

IP协议配套使用的协议还有地址解析协议ARP、网际控制报文协议ICMP、网际组管理协议IGMP

虚拟互连网:逻辑互连网。利用一些协议使这些性能各异的网络从用户看起来好像是一个统一的网络

使用IP协议的虚拟互连网简称IP网

在网络层上的寻址方式就是寻找IP地址

**IP地址:**给每一个连接在互联网上的主机(或路由器)分配一个在全世界范围是唯一的32位的标识符

IP地址由互联网名字和数字分配机构ICANN分配

IP地址放在IP数据报的首部

分类的IP地址:

将IP地址划分为若干固定类。每一类地址都由两个固定长度的字段组成:网络号net-id,标志主机(路由器)所连接到的网络;主机号host-id,标志该主机(路由器)的序号

网络号在整个网络中是唯一的,主机号在这个网络中也是唯一的,所以IP地址在整个互联网中是唯一的

IP地址分类:

image-20210804173338014

各类IP地址依靠网络号的前几位来辨别

点分十进制:将32位IP地址记为形如128.11.1.0

A类地址可指派的网络号数为126*(27-2),最小网络号为1,最大网络号为126,每个网络中最大主机数为224-2=16777214

B类地址可指派的网络号数为16383*(214-2),最小网络号为128.1,最大网络号为191.255,每个网络中最大主机数为216-2=65534

C类地址可指派的网络号数为2097151*(221-2),最小网络号为192.0.1,最大网络号为223.255.255,每个网络中最大主机数为28-2=254

一般不使用的特殊的IP地址:

image-20210804175445374

IP地址特点:

  • IP地址是一种分等级的地址结构:方便IP地址管理;路由器仅根据目的主机所连接的网络号来转发分组,减少路由表所占的储存空间
  • IP地址标志一个主机(或路由器)和一条链路的接口:如果主机有多块网卡则可以获得多个IP地址
  • 用转发器或网桥连接起来的若干局域网仍为一个网络:这些局域网具有同样的网络号net-id

路由器总是具有两个及以上的IP地址,每个接口都有一个不同网络号的IP地址

IP地址和硬件地址是不同的地址。硬件地址是数据链路层物理层使用的地址;IP地址是网络层和以上各层使用的地址,是一种逻辑地址

数据在转发的过程中,IP数据报中的源IP地址和目的IP地址都不变,而MAC帧中的源硬件地址和目的硬件地址一直再变化,硬件地址为每次转发时的两个接口的硬件地址

IP数据报:

由首部和数据组成。首部为固定长度20个字节,是所有IP数据报必须有的。首部的固定部分后还可以加上一些可选字段,并且长度可变

格式:

image-20210804234742914

版本号占4位,表示IP协议的版本。IPv4的版本号为4,Ipv6的版本号为6

首部长度占4位,表示首部的长度。一位表示4个字节,所以首部长度都是4个字节的倍数。首部最短为0101表示20个字节,最长为1111表示60个字节

区分服务占8位,只有使用区分服务时,该字段才起作用,一般都不使用

总长度占16位,表示首部和数据长度之和。数据报最大为全1,216-1=65535字节,总长度必须不超过传送单元MTU

标识占16位,是一个计数器,用来产生IP数据报的标识,同一数据报的分片的标识是一样的。标识不是编号,不能保证可靠传输

标志占3位,只有低两位有意义,最低位为MF,MF=1表示后面还有更多分片;中间位为DF,DF=0才允许分片

片偏移占13位,表示某分片在原分组的偏移位置。片偏移为以8个字节偏移单位

生存时间占8位,TTL指数据报在网络中可通过的路由器数的最大值

协议占8位,指出此数据报携带的数据使用何种协议,以便目的主机的IP层将数据部分上交给哪个处理过程

首部校验和占16位,只检验数据报的首部,不检验数据部分。采用反码求和算法

源地址和目的地址分别占4个字节

可变长度部分占1字节到40字节不等,用来支持排错、测量以及安全等措施

IP层分组的转发:

路由表按照主机所在的网络地址来制作,但是允许为特定主机指明一个路由

只有到达最后一个路由器时才进行直接交付,中间路由器的转发都是进行间接交付

默认路由:当路由表中没有目的网络地址时,就交给指定的默认路由处理。可以减少路由表所占用的空间和路由表所用的时间

路由器分组转发算法:

  1. 从数据报的首部提取目的地址IP地址D,得出目的网络地址N
  2. 若网络N与此路由器直接相连,则把数据报直接交付目的主机D;否则是间接交付,执行(3)
  3. 若路由表中有目的地址为D的特定主机路由,则把数据报传送给路由表中所指明的下一跳的路由器;否则,执行(4)
  4. 若路由表中有到达网络N的路由,则把数据报传送给路由表指明的下一跳路由器;否则,执行(5)
  5. 若路由表中有一个默认路由,则把数据报传送给路由表中指明的默认路由器;否则,执行(6)
  6. 报告转发分组出错

划分子网:

两级地址变成三级地址:网络号+子网号+主机号

网络号不变,子网号是在主机号中划分的。子网只对同一网络内部可见,对外不存在子网

**子网掩码:**32位。1表示对应位是网络号和子网号,0表示对应位是主机号

子网的网络地址:子网掩码和IP地址进行与运算

路由器的路由表中的每一个项目,除了要给出目的网络地址以外,还必须同时给出该网络的子网掩码

子网号全0和全1不使用

判断两个IP地址是否在同一网络中的两个条件:①子网掩码是否相同;②子网掩码ANDIP地址,得到的网络地址是否一样

无分类编址CIDR:

三级地址变成两级地址:网络前缀+主机号

斜线记法(CIDR记法):在IP地址后加上斜杠/,然后写上网络前缀所占的位数

CIDR把网络前缀都相同的IP地址组成CIDR地址块,一个地址块的起始地址是主机号全0的IP地址

全0和全1的主机号地址一般不使用

CIDR不使用子网掩码了,但仍使用掩码这个名词

路由聚合:一个CIDR地址块可以表示很多个IP地址。使得原来路由表中的一个项目可以表示很多个原来传统分类地址的路由,提高互联网性能

路由聚合也称为构成超网,因为一个地址块可以相当于若干个A/B/C类地址

路由表中匹配时可能不止一个匹配结果,遵循最长前缀匹配

路由器:

网络层设备。包含网络层、数据链路层、物理层

作用:连接不同的网络;选择信息传送的线路

IPv6:

IPv4不够用,IPv6能够提供更多IP地址

IPv6数据报:基本首部+有效载荷。首部长度为40个字节

IPv6数据报的目的地址可以是单播、多播、任播(交付给最近的一个路由器)

VPN虚拟专用网:利用公用的互联网作为本机构各专用网之间的通信载体,利用隧道技术传输加密的数据

网络地址转换NAT:在NAT路由器上将专用地址转换成全球IP地址。对外屏蔽内网细节。只能经过一次NAT转换,不能嵌套

地址解析协议ARP

每个主机设有一个ARP高速缓存,里面存放着局域网上各主机和路由器的IP地址到硬件地址的映射,每条消息有一个地址映射有效时间TTL,TTL到期就删除这条映射

当需要发送的IP数据报中的目的IP地址在ARP高速缓存中有对应的映射时,将映射的硬件地址写入MAC帧,然后转发到这个硬件地址;如果没有对应的映射时,则在局域网上广播一个ARP请求分组,收到ARP相应分组后,将得到的IP地址到硬件地址的映射写入ARP高速缓存

ARP请求分组:包含发送方硬件地址/发送方IP地址/目标方硬件地址(未知时填0)/目标方IP地址

ARP响应分组:包含发送方硬件地址/发送方IP地址/目标方硬件地址/目标方IP地址

ARP分组封装在物理网络中的帧中传输

ARP解决的是同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题。如果源主机和目的主机不在一个局域网中,就要通过ARP找到一个本局域网上的某个路由器的硬件地址,把分组发送给这个路由器,然后转发给下一个网络

使用ARP的四种情况:

  • 发送方是主机,要把 IP 数据报发送到本网络上的另一个主机。这时用 ARP 找到目的主机的硬件地址
  • 发送方是主机,要把 IP 数据报发送到另一个网络上的一个主机。这时用 ARP 找到本网络上的一个路由器的硬件地址。剩下的工作由这个路由器来完成
  • 发送方是路由器,要把 IP 数据报转发到本网络上的一个主机。这时用 ARP 找到目的主机的硬件地址
  • 发送方是路由器,要把 IP 数据报转发到另一个网络上的一个主机。这时用 ARP 找到本网络上另一个路由器的硬件地址。剩下的工作由这个路由器来完成

网际控制报文协议ICMP

更有效地转发IP数据报和提高交付成功的机会

ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告

ICMP报文是装载在IP数据报的数据部分

ICMP报文格式:

image-20210805120013611

种类:ICMP差错报告报文(不需要回复)、ICMP询问报文(需要回复)

差错报文:

报文种类:终点不可达、时间超过、参数问题、改变路由(重定向)

不发送差错报文的情况:

  • 对ICMP差错报告报文不再发送ICMP差错报文
  • 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文。因为只需要对第一个分片报告即可
  • 对具有多播地址的数据报都不发送ICMP差错报告报文
  • 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文

询问报文:

报文种类:回送请求和回答报文、时间戳请求和回答报文

PING命令:用来测试两个主机之间的连通性。使用了ICMP回送请求与回答报文

Traceroute命令:Linux下用来跟踪一个分组从源点到终点的路径。在Windows下是tracert

DDoS攻击:拒绝服务攻击。可以通过发送大量ICMP请求,因为ICMP请求是立即处理的,使得服务器耗尽资源来回复请求

路由选择协议

自治域(AS):自治系统。指互联网中,一个或多个实体管辖下的所有IP网络和路由器的组合

内部网关协议用于AS内部,外部网关协议用于AS之间的关系

内部网关协议RIP:

一种分布式的、基于距离向量的路由选择协议

RIP协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录

距离:跳数。一个路由器到直接连接的网络的距离定义为1,从一个路由器到非直接连接的网络的距离定义为所经过的路由器数+1

RIP允许一条路径最多只能包括15个路由器,距离为最大值16时表示不可达

特点:

  • 仅和相邻路由器交换信息
  • 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
  • 按固定时间间隔交换路由信息

RIP协议的收敛:在AS中所有的结点都得到正确的路由选择信息的过程

好消息传得快,坏消息传的慢。出现新的最短路径能够及时的更新,而出现路由断路可能会延迟很长时间才能更新

内部网关协议OSPF:

含义:开放最短路径优先OSPF

使用的是Dijkstra算法

要点:

  • 向本AS中所有路由器发送信息,使用的是洪泛法
  • 发送的信息是与本路由器相邻的所有路由器的链路状态,只包含部分信息
  • 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送信息

链路状态数据库:全网的拓补结构图,在全网范围内是一致的,称为同步

适用于很大的网络。OSPF将一个AS划分为若干个更小的范围,称作区域

在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况

OSPF不用UDP而是直接用IP数据报传送

外部网关协议BGP:

含义:不同AS的路由器之间交换路由信息的协议

BGP选择的是一条可达目的网络的比较好的路由,而不是最佳路由

每个AS的管理员选择至少一个路由器作为该AS的BGP发言人

BGP交换路由信息需要先建立TCP连接,再在此连接上交换BGP报文以建立BGP会话

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值