第4章网络层

第4章网络层


4.1 网络层提供的两种服务

虚电路Virtual Circuit
电话公司,分组

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

网络层不提供服务质量承诺。

  • 虚电路服务
  • 数据报服务

4.2 网际协议IP

与IP配套的四个协议

  • 地址解析协议 ARP(Address Resolution Protocol)
  • 逆地址解析协议RARP
  • 网际控制报文协议 ICMP(Internet Control Message Protocol)
  • 网际组管理协议 IGMP(Internet Group Management Protocol)

网际层的 IP 协议及配套协议


4.2.1 虚拟互连网络

没有一种单一的网络能够适应所有用户的需求。

网络互相连接起来要使用一些中间设备

  1. 中间设备又称为中间系统或中继(relay)系统
  2. 物理层中继系统:转发器(repeater)
  3. 数据链路层中继系统:网桥或桥接器(bridge)
  4. 网络层中继系统:路由器(router)
  5. 网桥和路由器的混合物:桥路器(brouter)
  6. 网络层以上的中继系统:网关(gateway),连接两个不兼容的系统,高层协议转换

由于历史原因,许多有关TCP/IP的文献曾经把网络层使用的路由器称为网关

虚拟互联网络internet
互联起来的各种物理网络的异构性本来是客观存在的,但是利用IP协议”统一”
  • 直接交付
  • 间接交付

4.2.2 分类的IP地址



1. IP地址及其表示方法

IP 地址的编址方法

三个历史阶段:

1. 分类的IP地址—>1981

2. 子网的划分—>1985

3. 构建超网—>1993

分类 IP 地址
类别位
网络字段的最前面1~3位,其数值分别规定为010110

D类地址前四位为1110,用于多播

点分十进制记法



2. 常见的三种类别的IP地址

环回测试

IP地址的指派范围

网络类别 最大可指派的网络数 第一个网络号 最后一个网络号 每个网络中的主机数 原因 比例
A 27?2 1 126 224?2 本网络(网络号全为0)占一个,环回测试(127)占一个 50%
B 214?1 128.1 191.225 216?2 128.1.0.0不指派,网络号不减2,但是主机号还是要减 25%
C 221?1 192.0.1 223.255.255 28?2 192.0.0.0不指派,网络号不减2,但是主机号还是要减 12.5%

一般不使用的特殊IP地址

IP地址 意思
0.0.0.0 在本网络上的主机(参见DHCP协议)
网络号全为0 在本网络的某个主机
225.255.255.255 只在本网络上进行广播(各路由器均不转发)
主机号全为1 对该网络上的所有主机进行广播
127.x.x.x 本地环回测试

物理地址是数据链路层和物理层使用的地址,而IP地址是网络层和以上各层使用的地址,是一种逻辑地址(称IP地址是逻辑地址是因为IP地址是用软件实现的)。

无编号网络/无名网络
unnumbered network/anonymous,当两个路由器直接相连时,在连线两端的接口处,可以不分配网络地址。

4.2.3 IP地址与硬件地址

4.2.4 地址解析协议ARP和逆地址解析协议RARP

ARP
已知ip地址,找出mac地址
RARP
已知mac地址,找ip地址,目前没用了,已经被包含在DHCP中了
ARP高速缓存
ARP cache

ARP请求分组是广播发送的,ARP响应分组是普通的单播。

应当注意的问题

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

ARP使用的四种典型情况

  1. 发送方是主机,发送到本网络上的另一个主机
  2. 发送方是主机,发送到另一个网络上主机
  3. 发送方是路由器,发送到本网络上的另一个主机
  4. 发送方是路由器,发送到另一个网络上主机

4.2.5 IP数据报的格式

共20字节

数据格式常用4字节(32位)来描述

  1. 版本
  2. 【首部长度】4位,最大1111=15即60个字节,常见的首部长度是20字节
  3. 区分服务
  4. 总长度,首部和数据之和的长度,最大长度为216?1=65535字节,在576B~1500B之间
  5. 标识,并不是序号,相同标识字段的值使分片后的各数据报片能够正确的重装成为原来的数据报
  6. 标志
  7. 片偏移,以8字节为偏移单位
  8. TTL,跳数
  9. 协议,数据报内部的协议
  10. 首部检验和,只检验数据报的首部,不包括数据部分
  11. 源地址
  12. 目的地址


2. IP数据报首部的可变部分

1~40字节


4.2.6 IP层转发分组的流程



路由表 每行对应一个网络

每一条路由的主要信息
(目的网络地址, 下一跳地址)
特定主机路由
为特定的目的主机指明一个路由,采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。
默认路由
路由器还可采用默认路由以减少路由表所占用的空间和搜索路由表所用的时间。这种转发方式在一个网络只有很少的对外连接时是很有用的。

分组转发算法

查路由表—>计算路由器MAC地址—>写入MAC帧首部

  1. 从数据报首部提取目的主机的IP地D,得到目的网络地址为N
  2. 直连N,直接交付,否则间接交付转3
  3. 有目的地址为D的特定主机路由,否则4
  4. 有到达网络N的路由,否则
  5. 有默认路由,否则6
  6. 报告转发分组出错

直接交付>特定主机路由>查表>默认路由>出错


4.3 划分子网和构造超网


4.3.1 划分子网

1. 从两级IP地址到三级IP地址

  1. 对外仍然表现为一个网络
  2. 三级IP地址
  3. 路由器收到IP数据报后,再按目的网络号和子网号找到目的子网


2. 子网掩码

子网掩码
IP数据报的首部并不知道源主机或目的主机所连接的网络是否进行了子网的划分,这是因为32位的IP地址本身已经数据报的首部都没有包含任何有关子网划分的信息。使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。

(IP地址)AND(子网掩码)=网络地址

极力推荐子网掩码中选用连续的1

既然没有子网,为什么还要使用子网掩码?
为了更便于查找路由表

路由器在和相邻路由器交换路由信息时,必须把自己所在网络的子网掩码告知对方。

子网数要根据情况减2,除去全0和全1两种情况【子网号不能为全1或全0,但随着CIDR的广泛使用,现在全1和全0的子网号也可以使用了,但是一定要谨慎使用

4.3.2 使用子网时分组的转发

路由表中必须包含以下三项内容
目的网络地址、子网掩码和下一跳地址

在划分子网的情况下路由器转发分组的算法

(1) 从收到的分组的首部提取目的 IP 地址 D。

(2) 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行(3)。

(3) 若路由表中有目的地址为 D 的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行(4)。

(4) 对路由表中的每一行的子网掩码和 D 逐位相“与”,若其结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行(5)。

(5) 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行(6)。

(6) 报告转发分组出错。

简化的路由转发算法

  1. 从收到的数据报首部提取目的IP地址D
  2. 直接交付,否则转3
  3. 特定路由,否则转4
  4. 对路由表中的每一行,用其中的子网掩码和D逐位相与,其结果为N。若N与该行的网络地址匹配,则把数据报传送给该行该行指明的下一跳路由器,否则51. 网络前缀
  5. 默认路由,否则6
  6. 报告转发分组出错

4.3.3 无分类编址CIDR(构成超网)

变长子网掩码VLSM
Variable Length Subnet Mask,在划分子网的网络中可同时使用几个不同的子网掩码

在 VLSM 的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。

无分类域间路由选择CIDR
sider,网络前缀(简称前缀)

CIDR 最主要的特点

CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,因而可以更加有效地分配 IPv4 的地址空间。

CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。

IP 地址从三级编址(使用子网掩码)又回到了两级编址。

斜线记法

CIDR地址块
网络前缀都相同的连续的IP地址块
CIDR不使用子网
CIDR并没有32位地址中指明若干位作为子网字段。单分配到一个CIDR地址块的组织,仍然可以在本组织内根据需要划分出一些子网,子网的网络前缀比整个组织的网络前缀要长一些
路由聚合
route aggregation,一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。

网络前缀小于13后大于27的都较少使用

206.0.64.0/18
相当于64个C类网络

地址聚合

构成超网

前缀长度不超过 23 位的 CIDR 地址块都包含了多个 C 类地址。

这些 C 类地址合起来就构成了超网。

CIDR 地址块中的地址数一定是 2 的整数次幂。

网络前缀越短,其地址块所包含的地址数就越多。而在三级结构的IP地址中,划分子网是使网络前缀变长。



2. 最长前缀匹配

从匹配结果中选择具有最长网络前缀的路由



3. 使用二叉线索查找路由表


4.4 网际控制报文协议ICMP

4.4.1 ICMP报文的种类

ICMP 报文的种类有两种,即 ICMP 差错报告报文和 ICMP 询问报文

  • ICMP差错报告报文

    1. 终点不可达
    2. 源点抑制
    3. 时间超过
    4. 参数问题
    5. 改变路由(重定向)

不应发送 ICMP 差错报告报文的几种情况

对 ICMP 差错报告报文不再发送 ICMP 差错报告报文。

对第一个分片的数据报片的所有后续数据报片都不发送 ICMP 差错报告报文。

对具有多播地址的数据报都不发送 ICMP 差错报告报文。

对具有特殊地址(如127.0.0.0 或 0.0.0.0)的数据报不发送 ICMP 差错报告报文。

  • ICMP询问报文

    1. 请求和回送
    2. 时间错请求和回答

4.4.2 ICMP的应用举例

ping
应用层直接使用网络层ICMP,没有使用TCP/UDP
traceroute/tracert
ICMP时间超过差错报文[router]/ICMP[host]终点不可达差错报文,封装的是UDP用户数据报

4.5 因特网的路由选择协议


4.5.1 有关路由选择协议的几个基本概念

1. 理想的路由算法

  • 静态路由选择策略
  • 动态路由选择策略


2. 分层次的路由选择协议

自治系统AS
autonomous system,一个AS对其他AS表现出的是一个单一的一致的路由选择策略

路由选择协议分类

- 内部网关协议IGP**Interior Gateway Protocol**:RIP/OSPF

- 外部网关协议EGP**External Gateway Protocol**:/EGP[缺点很多,不再使用]/BGP-4

  • 域间路由选择
  • 域内路由选择

这里要指出两点

因特网的早期 RFC 文档中未使用“路由器”而是使用“网关”这一名词。但是在新的 RFC 文档中又使用了“路由器”这一名词。应当把这两个属于当作同义词。

IGP 和 EGP 是协议类别的名称。但 RFC 在使用 EGP 这个名词时出现了一点混乱,因为最早的一个外部网关协议的协议名字正好也是 EGP。因此在遇到名词 EGP 时,应弄清它是指旧的协议 EGP 还是指外部网关协议 EGP 这个类别。


4.5.2 内部网关协议RIP



1. 工作原理

路由信息协议RIP
Routing Information Protocol基于距离向量的路由选择协议
距离向量
从它自己到一起每一个目的网络的距离
距离
也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1,只能包含15个路由器,直连网络的距离定义为0

RIP不能在两个网络之间同时使用多条路由,RIP选择一条具有最短路由器的路由,哪怕还存在另一条高速(低时延)但路由器较多的路由。

三个重要问题:

1. 和哪些路由器交换信息?

2. 交换什么信息?

3. 在什么时候交换信息?

RIP 协议的三个要点;

1. 仅和相邻路由器交换信息

2. 交换当前本路由器所知道的全部信息,即自己的路由表

3. 按固定的时间间隔交换信息,例如每隔30s

路由表的建立

路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为1)。

以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。

收敛
convergence,自治系统中所有的结点都得到正确的路由选择信息的过程

路由表中信息

目的网络 距离 下一跳路由
Net2 3 R4
Net3 4 R5

2. 距离向量算法

对地址为X的相邻路由器发来的RIP报文,把“下一跳”字段中的地址都改为 X,并把所有的“距离”字段的值加 1

Bellman-Ford算法

地址为X的相邻路由器发来RIP报文

目的网络N不变
所有距离字段d自增1
下一跳路由修改为X

if(目的网络N不在路由表中)
    添加该条路由
else if(目的网络N在路由表中)
{
    // 查看下一跳路由器地址
    if(下一跳路由为X)
        把收到的项目替换原路由表的项目         //使用最新消息更新一切
    else if(d < 路由表中信息)             // 到目的网络N,但下一跳路由器不是X
        更新
}

while()
{
    标记相邻路由为不可达路由
    距离置为16
}

RIP保证每个路由器到每个目的网络的路由都是最短的(跳数最少)

路由器之间交换信息

虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也应当是不同的。



3. RIP协议的报文格式

RIP协议使用UDP进行传送,端口520

当网络出现故障时,要经过较长的时间才能将此信息传送到所有的路由器

RIP协议的特点
好消息传播得快,坏消息传播得慢
优点
实现简单,开销较小

4.5.3 内部网关协议OSPF

开放最短路径优先OSPF
Open Shortest Path First

最短路径算法SPF

分布式的链路状态协议

OSPF RIP
向本自治系统的所有路由器发送信息【洪泛法,水波】 向相邻的路由器发送信息
发送的信息是与所有相邻路由器的链路状态【代价】 到所有网络的距离和下一跳路由器
发生变化时才发送信息 定期交换信息
链路状态数据库
link-state database,全网的拓扑结构图,全网一致【链路状态数据库的同步】
OSPF特点
较快地更新,更新过程收敛更快

划分区域

划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。

区域area
OSPF将自治系统再划分为若干更小的范围,每个区域路由器最好不超过200个【区域标识符】

OSPF使用层次结构的区域划分

区域标识符

: 主干区域0.0.0.0,其他0.0.0.1

区域边界路由器area border router
area border router,类似于发言人,所有与其他区域的交流信息都经过这里
主干路由器back router
主干区域内的路由器
自治系统边界路由器
其他AS

OSPF直接使用IP数据报传送,协议字段为89



2. OSPF的五种分组

类型1,问候(Hello)分组。

类型2,数据库描述(Database Description)分组。

类型3,链路状态请求(Link State Request)分组。

类型4,链路状态更新(Link State Update)分组,用洪泛法对全网更新链路状态。

类型5,链路状态确认(Link State Acknowledgment)分组。

OSPF 的其他特点

完全连接的fully adjaent

摘要信息

可靠的洪泛法

指定的路由器(designated router)
多点接入的局域网采用了指定的路由器的方法,使广播的信息量大大减少。指定的路由器代表该局域网上所有的链路向连接到该网络上的各路由器发送状态信息。

4.5.4 外部网关协议BGP

BGP 使用的环境却不同

BGP只能是力求寻找一条能够到达目的网络且比较好的路由,而并非寻找一条最佳路由

BGP采用了路径向量路由选择协议

路径向量路由选择协议

距离向量协议

链路状态协议

BGP发言人
AS的BGP边界路由器

BGP 协议的特点

BGP协议交换路由信息的结点数量级是自治系统数的量级,这要比这些自治系统中的网络数少很多。

每一个自治系统中BGP发言人(或边界路由器)的数目是很少的。这样就使得自治系统之间的路由选择不致过分复杂。

BGP支持CIDR,因此BGP的路由表也就应当包括目的网络前缀、下一跳路由器,以及到达该目的网络所要经过的各个自治系统序列。

在BGP 刚刚运行时,BGP 的邻站是交换整个的 BGP 路由表。但以后只需要在发生变化时更新有变化的部分。这样做对节省网络带宽和减少路由器的处理开销方面都有好处。


4.5.5 路由器的构成


4.6 IP多播


4.6.1 IP多播的基本概念

IP多播
在因特网上进行多播

多播数据报的目的地址写入的是多播组的标识符,然后暑假让加入到这个多播组的主机的IP地址与多播组的标识符关联起来。

D类地址前四位为1110,用于多播

D类地址范围是224.0.0.0-239.255.255.255

多播数据报和一般的IP数据报的区别就是它使用D类地址作为目的地址【肯定不能作为源地址】,并且首部的协议字段值是2,表明使用IGMP协议。


4.6.2 在局域网上进行硬件多播

以太网硬件地址字段中的第1字节的最低位为1时即为多播地址。

P166页图4-47


4.6.3 网际组管理协议IGMP和多播路由选择协议

1. IP多播需要两种协议

IGMP协议
本地使用范围,IGMP是让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或退出了某个多播组。

多播转发必须动态地适应多播组成员的变化,网络拓扑并未发生变化

多播路由在转发多播数据报时,不能仅仅根据多播数据报中的目的地址,还要考虑这个数据报从哪里来到哪里去。

多播数据报可以由没有加入多播组的主机发出,也可以通过没有组成员接入的网络。

2. 网际组管理协议IGMP


4.7 虚拟专用网VPN和网络地址转换NAT


4.7.1 虚拟专用网VPN

专用地址

1. 10.0.0.0~10.255.255.255或记为10/824位块

2. 172.16.0.0~172.31.255.255或记为172.16/1220位块

3. 192.168.0.0~192.168.255.255或记为192.168/1616位块

虚拟专用网VPN
virtual private network

所有通过因特网传送的数据都必须加密


4.7.2 网络地址转换NAT

网络地址转换NAT
Network Address Translation
NAT路由器
连接到因特网的路由器上需要安装NAT软件
网络地址与端口转化NAPT
Network Address and Port Translation

时间: 2024-08-09 02:35:25

第4章网络层的相关文章

第四章 网络层

序言 没保存,电脑没动放着去吃饭,结果win7就休眠了,启动虽然网页度还在,可以我的博文没保存啊,心痛,只能在重头来了,只能说博文应该改进改进,如果直接关了,应该帮用户自动保存草稿的.重新写的.反正今天下午的任务在这里摆着.加油 ----WH 一.回顾 TCP/IP协议栈:物理层.链路层.网络层.传输层.应用层(会话层+表示层+应用层) 物理层:通过比特流在线路中传输来完成我们传输数据的目的,传输的方式很多种,传输的介质也很多中,光纤等 链路层:数据帧,在数据包(报)上加mac地址形成数据帧,其

【知识强化】第四章 网络层 4.1 网络层的功能

这节课开始呢我们就进入了网络层这一章的学习. 首先我们来概述一下网络层的几大功能. 那网络层呢就是自下而上的这个第三层,那这个是OSI参考模型当中的层次结构.网络层的主要任务就是把分组从源端传送到目的端,为分组交换网上的不同主机提供一个通信的服务.而这个网络层传输单位呢我们称之为数据报.有的同学可能会问这个数据报和分组是不一样的吗?当然是.那它们的关系其实就像是父与子的关系.数据报是一个比较长的数据,但是呢分组是把这个数据报进行切割而划分出来的一个片段就叫做分组. 那网络层的第一个功能就是路由的

第7章 网络层协议(1)_网络层首部

1. 网络层首部 1.1 网络层协议 (1)TCP/IP协议栈网络层的4个协议:IP协议.ICMP协议.IGMP协议和ARP协议. (2)IP协议:动态路上协议的统称,包括RIP和OSPF协议. (3)TCP/IP协议分成四层:应用层定义了客户端和服务器通信规范,传输层实现可靠传输,网络层负责为数据包选择转发路径,数据链路层负责将数据包封装成帧发送到数字链路上. 1.2 查看网络层首部 1.3 网络层首部格式 (1)版本:占4位,指IP协议的版本.目前有两个版本IPv4和IPv6. (2)首部长

计算机网络总结 第六章 网络层

一.IP地址的划分方法,识别A,B,C类地址 1:IP地址分配 (1)连接到Internet的每一个主机(计算机或路由器)至少有一个IP地址 (2) IP地址是分配给网络接口的. (3) 多归属主机可以有多个IP地址. (4) 一个网络接口也可以分配多个IP地址. (5)网桥.Ethernet交换机.集线器Hub属于数据链路层设备,使用MAC地址,不属于网络层设备,不分配IP地址. 2:ip地址分类 3:特殊IP地址 (1)直接广播地址(向指定网络广播):A类.B类与C类IP地址中网络号任意.主

计网第四章网络层

4.1网络层服务(not end-end) 从发送主机向接收主机传送数据段(segment): 发送主机->将数据段封装到数据报中 接收主机->向传输层交付数据段 每个主机和路由器都要运行网络层协议,其中,路由器检验穿越它的IP数据报的头部域,决策如何处理数据报. 网络层的核心功能-转发与路由 转发:将分组从路由器的输入端口转移到合适的输出端口. 每个路由器维护一个转发表(事先建立),转发表确定如何在路由器中转发分组 路由:确定分组从源到目的的路径.由 路由算法(协议)确定通过网络的端到端路径

第四章网络层

一.网络层提供的服务 网络层为接在网络上的主机提供的服务有两大类: 无连接的网络服务(数据报服务) 面向连接的网络服务(虚电路服务) 虚电路服务的思路来源于传统的电信网 电信网负责保证可靠通信的一切措施,因此电信网的结点交换机复杂而昂贵 数据报服务力求使网络生存性好和使对网络的控制功能分散,因而只能要求网络提供尽最大努力的服务 可靠通信由用户终端的软件(即TCP)保证 让网络只提供数据报服务就可大大简化网络层的结构 但技术的进步使网络出错的概率已越来越小,因而让主机负责端到端的可靠性不但不会给主

第4章 网络层

四个方面的内容 各个网络如何连接成一个大的互联的网络,即互联网 IP地址和物理地址的关系 IP地址的计算与理解 路由选择协议的工作原理 4.1 网络层提供的两种服务 网络层提供服务的对象的运输层,那么网络层提供“面向连接”还是“无连接”的服务呢?即传输的可靠性是由网路还是端系统来保证? 所谓面向连接的通信方式指的是传统电话网那种通信方式:两个电话如果想要通信,首先要通过种种中继设备建立一条通信线路,即两个电话需要先连接起来.相应的在网络层的通信中,如果采用面向连接的方式通信,首先也要建立连接,即

【知识强化】第四章 网络层 4.9 网络层设备

这节课我们来学习一下网络层设备.那对于网络层设备呢大家一定不陌生,最主要的就是这个路由器了.那这节课我们就来学习一下路由器它的内部构造以及它的一个转发过程. 首先呢路由器它是一种具有多个输入端口和多个输出端口的专用计算机,任务呢就是转发分组.啊正因为它有多个输入以及输出端口,我们才可以让这个路由器连接多台主机以及连入多个网络. 那这是一个路由器的内部结构图.我们可以看到它主要分成两个部分,一个是路由选择部分,一个是分组转发部分.那这个路由选择部分呢,也叫做控制部分. 那这一部分的核心构建,可以看

第7章 网络层协议(2)_ICMP协议

2. ICMP协议 2.1 ICMP报文(Internet Control Message Protocol)的类型 报文类型 类型值 代码 描述 请求报文 8 0 请求回显报文 响应报文 0 0 回显应答报文 差错报告报文 3 (终点不可到达) 0 网络不可达 1 主机不可达 2 协议不可达 3 端口不可达 4 需要进行分片但设置了不分片 13 由于路由器过滤,通信被禁止 4 0 源端被关闭 5 (改变路由) 0 对网络重定向 1 对主机重定向 11 0 传输期间生存时间(TTL)为0 12