计算机网络 网络层

1.网络层提供的两种服务

  • 互联网采用的设计思路:网络层向上只提供无连接的,简单灵活的,尽最大可能交付的数据报服务
  • 不提供服务质量承诺
  • TCP/IP体系的网络层提供的是数据报服务

2.网际协议IP

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

2.1.虚拟互连网络(逻辑互连)

  • 没有一种单一的网络能满足所有用户的需求
  • 互连网络的中间设备
    • 物理层:转发器
    • 数据链路层:网桥
    • 网络层:路由器
    • 网络层以上:网关
  • 互联网可以由多种异构网络互相构成

2.2.分类的IP地址

2.2.1.IP地址及其表示方法

  • IP地址是唯一的32位的网络标识符,在整个互联网范围内是一致的
  • IP地址编址方法经过了三个阶段
    • 分类IP地址
    • 子网的划分
    • 构成超网(网络号)
  • IP地址= 网络号+主机号 共32位
  • 地址类别
    • A类:开头0 网络号共8位
    • B类:开头10 网络号共16位
    • C类:开头110 网络号共24位
    • D类:开头1110 多播地址

2.2.2.常用的三类别IP地址(ABC)

  • 分割地址为:128和192
  • IP地址特点
    • 网络号+主机号 共32位
    • 路由器仅根据目的主机所连接的网络号来转发分组(不考虑目的主机号),见笑了路由表所占的存储空间以及查询路由表的时间
    • 实际上IP地址时表示一台主机和一条链路的接口
    • 用转发器或者网桥丽娜姐起来的若干个局域网仍为一个网络
    • 对等连接
    • 全0全1不可做为主机号

2.3.IP地址与硬件地址

  • MAC是数据链路和物理层使用的地址
  • IP地址是网络层和以上使用的地址,是一种逻辑地址
  • 两者一些区别
    • 在IP层抽象的互联网上只能看到IP数据报
    • 虽然IP数据报首部有源站IP地址,但路由器只能根据目的站的IP地址的网络号进行路由选择
    • 在局域网的链路层,只能看见MAC帧
    • IP层抽象的互联网却屏蔽了下层这些很复杂的细节。只要我们在网络层上讨论问题,就能偶使用IP地址研究主机或路由器之间的通信

2.4.ARP地址解析协议

  • 由于IP协议使用了ARP协议,因此通常把ARP协议规划到网络层
  • 网络层使用IP地址,但在实际网络的链路上传输数据帧时,最后还是必须使用MAC地址
  • ARP通过在主机ARP高速缓存中存放一个从IP地址到硬件地址的映射表,并且这个映射表经常动态更新 实现了IP转MAC
  • ARP是解决同一个局域网上的主机或路由器的IP地址和硬件地址的映射问题

2.5.IP数据报的格式

  • 首部和数据两部分组成
  • 首部的前一部分是固定长度20字节
  • 路由表中最主要的信息:目的网络地址,下一跳地址

2.5.1.IP数据报首部的固定部分

  • 版本:4位
  • 首部长度:4位。由于 首部(固定部分+可选部分),固定部分20字节的存在,所以首部长度最小为5,0101。
  • 区分服务:8位
  • 总长度:16位,首部和数据之和的长度
  • 标识:16位,因为ip是无连接服务
  • 标志:3位,但目前只有2位有意义
    • MF:1表示后面“还有分片”,0表示这是最后一个
    • DF:表示不能分片,为0时才允许分片
  • 片偏移:13位。指出某片在原分组中的相对位置。片偏移以8个字节为偏移单位,除了最后一个数据报片外,每个分片的长度一定是8字节的整数倍
  • 生存时间:8位。TTL值随着时间减少
  • 首部校验和:16位。只检验首部,不包括数据部分
  • 源地址:32位
  • 目的地址:32位

3.划分子网和构成超网

3.1.划分子网

  • 从现在来看,IP的设计不够合理
    • ip地址空间利用率有时很低
    • 路由表填充会变得太大降低性能
    • 二级IP不够灵活
  • 解决方案:划分子网
    • 划分子网纯属一个单位内部的事情,对外表现还是一个网络
    • 划分子网是在划分主机号部分的高位作为子网号
    • 此时:IP地址:网络号,子网号,主机号

3.2.子网掩码

  • IP数据报的首部是无法看出所连接的网络是否进行了子网划分,为了处理这种情况,提出了 子网掩码
  • 将子网掩码和目的IP地址做“与”运算,就可得到子网络地址
  • A类地址默认的子网掩码:255.0.0.0
  • B类地址默认的子网掩码:255.255.0.0
  • C类地址默认的子网掩码:255.255.255.0

3.3.使用子网分组转发

  • 划分子网增加了灵活性,但减少了可连接的主机数
  • 使用子网划分后,路由表要包含:目的网络地址、子网掩码、下一跳地址

3.4.无分类编制CIDR(构成超网)

3.4.1.网络前缀

  • CIDR无分类网络域间路由
  • CIDR的特点:
    • 消除了传统ABC类地址以及划分子网的概念
    • IP地址:网络前缀,主机号
    • 网络前缀相同的IP地址组成一个CIDR地址块
  • 路由聚合:一个CIDR地址块中有很多地址,所以在路由表中就利用CIDR地址块来查找目的网络,这类地址的聚合称为路由聚合
  • 网络前缀越短,其地址块所包含的地址数就越多

3.4.2.最长前缀匹配

  • 在查询路由表时(做与运算),很可能得到不止一个匹配结果,这是应选择具有最长网络前缀的路由。(选择更精确的)

4.网际控制报文协议ICMP

  • ICMP允许主机或者路由器报告差错情况和有关异常情况的报告
  • ICMP封装在IP数据报中,作为数据部分,是IP层的协议,所以不是高层协议

4.1.ICMP报文的种类

  • 差错报告报文
    • 终点不可达
    • 时间超过
    • 参数问题
    • 改变路由(重定向)
  • 询问报告报文
    • 回送请求和回答:目的站是否可达等有关情况
    • 时间戳请求和回答:时间同步,时间测量
  • Ping使用了回送请求和回送回答报文,没有通过运输层的TCP和UDP

5.互联网路由选择协议

  • 从某角度来讲,只分为:静态路由和动态路由
  • 静态路由:非自适应路由选择,人工配置每条路由,简单,开销小
  • 动态路由:较好的适应网络状态的变化,复杂,大网络

5.1.自治系统

  • 自治系统AS:在单一技术管理下的一组路由器,这些路由器使用一种自治系统内部的路由选择协议和共同的度量。一个AS对其他AS表现为一个单一的和一致的路由选择策略
  • 互联网把路由选择协议分为两大类:
    • IGP内部网关协议(域内路由选择):一个自治系统内部使用的路由选择协议
    • RIP、OSPF······
    • EGP外部网关协议(域间路由选择):数据报传到一个自治系统的边界时,需要一种协议将路由选择信息传递到另一个自治系统中。
    • BGP

5.2.内部网关协议RIP

  • 路由信息协议RIP
  • 基于距离向量的路由选择协议,简单(经过的路由器数+1)
  • 只能包含一条路径15个路由器
  • RIP认为最优路线就是路径最短的路线
  • 到目的网络N,距离d,吓一跳路由器是X
  • 特点:
    • 仅和相邻路由器交换信息
    • 路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表
    • 按固定的时间间隔交换路由信息
    • 到相同的目的网络,下一跳地址是相同的,则取最新消息
    • 到相同的目的网络。但下一跳地址不相同,则取最短的那条
  • 好消息传得快,坏消息传得慢
  • 实现简单,开销较少
  • RIP使用UDP进行传送

5.3.1.RIP协议的报文格式

  • 首部+路由部分
  • 首部
    • 4个字节,命令字段指出报文的意义,后面补零对齐
  • 路由部分
    • 每个路由信息要20个字节,最多25个路由,所以RIP长度最大504字节

5.3.内部网关协议OSPF

5.3.1.开放最短路径协议OSPF的基本特点

  • 是公开发表的
  • 分布式的链路状态协议(RIP是距离向量)
  • 向本自治系统中所有路由器发送信息。
  • 发送的消息就是相邻的所有路由器的链路状态,即 部分信息
  • 只有当链路状态发生变化时,路由器才向所有路由器发送此信息(RIP)
  • 由于个路由器交换链路状态,最终所有的路由器会建立一个链路状态数据库,即 全网的拓扑结构图(RIP只知道如何跳,却不知道全网的拓扑图)
  • 最大的优点:更新过程收敛的快
  • 不用UDP传送,而是IP数据报传送
  • OSPF允许管理员给每条路由指派不同的代价。(链路的重要性等级)
  • 负载平衡:相同代价的路径,可以多路分配,
  • 存在鉴别功能,保证了仅在可信赖的路由器之间交换链路状态信息
  • 也支持CIDR

5.3.2.OSPF的五种分组类型

  • 问候:发现和维持邻站的可达性
  • 数据库描述:给邻站自己的链路状态摘要信息
  • 链路状态请求:向对方请求某些链路状态详细信息
  • 链路状态更新:最核心的部分。洪泛式对全网更新状态
  • 链路状态确认:更新的确认

5.4.外部网关BGP

  • 边界网关协议BGP
  • 并非要寻找一条最佳路由,而是要一条能够达到且比较好的选择
  • 采用路径向量路由选择协议,与RIP,OSPF都不相同
  • 大致流程
    • 每个AS(自治系统)选择至少一个路由器作为BGP发言人,发言人与其他AS的发言人交换信息
    • 建立TCP连接,形成对等站
    • 建立BGP会话

5.5.路由器

  • 具有多个输入端口和输出端口、负责分组转发

5.5.1.路由器构成

  • 路由选择
    • 控制部分。核心构件是路由选择处理机
  • 分组转发
    • 交换结构:又称交换组织,根据转发表分组处理
    • 交换方式:存储器,总线,互联网络
    • 输入端口:
    • 输出端口:

6.IPv6

6.1.IPv6的基本首部

  • 支持无连接的传送,但将协议数据单元PDU成为分组,而不是IPv4的数据报
  • 特点
    • 更大的地址空间:128位
    • 扩展的地址层次结构
    • 灵活的首部格式
    • 改进的选项:允许数据报包含有选项的控制信息,但IPv6的首部长度是固定的
    • 允许协议继续扩充
    • 自动配置:不需要DHCP
    • 支持资源的预分配
    • 首部8字节对齐:即首部长度必须是8字节的整数倍
  • 组成:基本首部、有效载荷(净负荷)
    • 有效载荷允许有多个扩展首部,再后面是数据比分,所有扩展首部不属于IPv6的首部
  • 首部长度固定,40字节,所以取消了首部长度字段
  • 字段:
    • 版本:4位
    • 通信量类:8位,区分不同的IPv6数据报的类型
    • 流标号:20位 流分配 对于音频视频很有用,传统的电子邮件和非实时数据则可以不用,置0
    • 有效载荷长度:16位
    • 下一个首部:8位
    • 跳数限制:8位 防止无限存在
    • 源地址:128位
    • 目的地址:128位
  • IPv6将选项的功能放在拓展首部中,处理交给源点和终点,途中路由不处理,大大提高了处理效率。IPv4则相反

6.2.IPv6的地址

  • IPv6目的地址类型:
    • 单播:点对点
    • 多播:一对多
    • 任播:IPv6新增,任播的终点是一组计算机,数据报只交付其中一个
  • IPv6采用冒号十六进制记法
    • 允许 0压缩

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

7.1.VPN

  • 在互联网中的所有路由器,对目的地址是专用地址的数据报一律不进行转发
  • VPN在效果上与专用网(本地地址的概念)一致

7.2.NAT

  • 使用本地地址的主机和外界通信时,都要在NAT路由器上将本地地址转换成全球IP地址
  • 通过NAT路由器的通信必须由专用网内的主机发起
  • 使用端口号的NAT也叫做NAPT网络地址和端口号转换

Leave a Comment