计算机网络-自顶向下方法-第四章总结

文章目录

    • 4.1导论
    • 4.2软件定义网络
    • 4.3 IP协议
    • 4.4通用转发和SDN

4.1导论

网络层服务:

  • 在发送主机接收主机之间传送段
  • 在发送端将段封装到数据报中
  • 在接收端,将段上交给传输层。
  • 网络层协议存在于每一个主机和路由器
  • 路由器检查每一个经过他的Ip数据报的头部

网络层的功能

  • 转发:将分组从路由器的输入接口转发到合适的输出接口。(局部,数据平面)
  • 路由:使用路由算法来决定分组从发送主机到目标主机的路径。(全局,控制平面)
    • 路由选择算法
    • 路由选择协议

数据平面:

  • 本地,每个路由器的功能。
  • 决定从路由器输入端口到达的分组如何转发到合适的输出端口。
  • 转发功能
    • 传统方式:基于目标地址+转发表
    • SDN方式:基于多个字段和流表。

控制平面

  • 网络范围内的逻辑
  • 决定路由报如何在路由器之间路由,决定数据报从源到目标主机之间的端到端路径。
  • 2个控制平面方法:
    • 传统的路由算法:在路由器中被实现
    • SDN:在远程的服务器中实现。

传统方式:每一路由器控制平面

  • 在每一个路由器中的单独路由算法原件,在控制平面进行交互。
  • 路由和转发的相互作用。

SDN方式 :逻辑集中的控制平面。

  • 一个不同的(通常是远程的)控制器与本地控制代理交互。

网络服务模型:从发送方主机到接受方主机传输数据报的通道,网络提供什么样的服务模型?

  • 对于单个数据报服务:
    • 可靠传送
    • 延迟保证
  • 对于数据报流的服务
    • 保序数据报传送
    • 保证流最小带宽
    • 分组之间的延迟差

连接建立

  • 在某些网络架构中是第三个重要功能
    • ATM,frame relay,X.25
  • 在分组传输之前,在两个主机之间,再通过一些路由器所构成的路径上建立一个网络连接(涉及到路由器)
  • 网络层与传输层连接服务的区别
    • 网络层:在两个主机之间,涉及到路径上的一些路由器
    • 传输层:在两个进程之间,很可能只体现在端系统上。(TCP链接)

4.2软件定义网络

高层面通用路由器体系结构

  • 路由:运行路由选择算法/协议(RIP,OSPF,BGP),生成路由表
  • 转发表:从输入到输出链路交换数据报-根据路由表进行路由的转发。

输入端口功能

  • 物理层:Bit级的接收
  • 数据链路层:链路层协议动作,解封装
  • 网络层:分布式交换
  • 根据数据报头部的信息:如目的地址,在输入端口内存中的转发表中查找合适的输出端口。
  • 基于目标的转发:仅仅依赖于IP数据报的目标IP地址(传统方法)。
  • 通用转发:基于头部字段的任意集合进行转发。

输入端口缓存

  • 当交换机构的速率小于输入端口的汇聚速率时,在输入端口可能要排队。排队延迟以及由于输入缓存而造成丢失
  • Head-of-Line blocking:排在对头的数据报阻止了队列中其他数据报向前移动。

交换结构

  • 将分组从输入缓冲区传输到合适的输出端口

  • 交换速率:分组可以按照该速率从输入传输到输出。

    • 运行速度经常是输入/输出链路速率的若干倍。
    • N个输入端口:交换机构的交换速度是输入链路的N倍比较理想,才不会成为瓶颈。
  • 三种典型的交换机构:memory,bus,crossbar

通过内存交换

  • 第一代路由器
  • 在CPU直接控制下的交换,采用传统的计算机
  • 分组被拷贝到系统内存,cpu从分组的头部提取出目标地址,查找转发表,找到对应的输出端口,拷贝到输出端口。
  • 转发速率被内存的带宽限制。
  • 一次只能转发一个分组。

通过总线交换

  • 数据报通过共享总线,从输入端口转发到输出端口。
  • 总线竞争:交换速度受限于总线带宽
  • 一次处理一个分组

通过互联网络的交换

  • 同时并转发多个分组,克服总线带宽的限制。
  • Banyan网络,crossbar和其他的互联网被开发,将多个处理器连接成多个处理器。
  • 高级设计:将数据报分片为固定长度的信元,通过交换网络交换。

输出端口

  • 当数据报从交换机构的到达速率比传输速率快时就需要输出端口缓存。
  • 由调度规则选择排队的数据报的传输方式。
  • 数据报(分组)可能被丢弃,由于拥塞,缓冲区没有空间。

调度机制

  • 调度:选择下一个要通过链路传输的分组。
  • FIFO schedeling:按照分组到来的次序发送。
  • 丢弃策略:tail drop,priority,random。

4.3 IP协议

主机,路由器中的网络层的功能

  • 路由协议

  • 路径选择

  • RIP,OSPF,BGP

  • IP协议:地址约定,数据报格式,分组处理的约定

  • ICMP协议:错误报告,路由器信令

IP数据报的格式

  • 协议版本号,头部长度(4),数据类型,数据报总长。
  • 16比特的IP标识,标志位,偏移量。(分片和重组使用)
  • TTL,上层协议(将载荷交付给的),校验和。
  • 32位源IP,32位的目标IP。
  • 选项字段,数据部分

IP分片和重组

  • 网络链路有MTU(最大传输单元):链路层帧所携带的最大数据长度。不同的链路类型,不同的MTU。
  • 大的IP数据报在网络上被分片。
    • 一个数据报被分割成若干个小的数据报:相同的ID,不同的偏移量,最后一个分片被标记为0。
    • 重组只在最后的目标主机上进行
    • IP头部的信息被用于标识,排序相关分片。

IP编址引论

  • IP地址:32位标识,对主机或者路由器的接口编制。
  • 接口:主机/路由器和物理链路的连接处
    • 路由器通常有多个接口
    • 主机也有可能有多个接口
    • IP地址和每一个接口相关联。

子网

  • IP地址:子网部分(高位),主机部分(低位)
  • 什么是子网?
  • 一个子网内的节点(主机或者路由器)他们的IP地址的高位部分相同,这些节点构成的网络的一部分叫做子网。
  • 无需路由器的介入可以借助交换机,子网内各主机可以在物理上直接到达(一跳)。
  • 方法:要判断一个子网,将每一个接口从主机或者路由器上分开,构成了一个个网络的孤岛。每一个孤岛都可以是一个可被称为subnet。

IP地址的分类

  • 第一个字节前几个比特
    • A类:0 \qquad \qquad 126networks,16 million hosts
    • B类:10 \qquad \qquad 16382 networks,64k hosts
    • C类:110 \qquad \qquad 2million networks, 254host
    • D类:1110 \qquad \qquad multicast
    • E类:11110 \qquad \qquad reserved for future
  • 特殊的IP地址
    • 子网部分:全为0–本网络
    • 主机部分:全为0–本主机
    • 主机部分:全为1–广播地址,这个网络的所有主机。
    • 127.x.x.x:回路地址

内网(专用)IP地址

  • 专用地址:地址空间的一部分共专用地址使用
  • 永远不会被当作公用地址来分配,不会与公用地址重复。
    • 只在局部网络中有意义,区分不同的设备。
  • 路由器不对目标地址是专用地址的分组进行转发。

IP编址:CIDR

  • 子网部分可以在任意位置
  • 地址格式:a.b.c.d/x,其中x是地址中子网号的长度。

转发表和转发算法

  • 获得IP数据报的目标地址
  • 对于转发表中的每一个表项:
    • 如(IP Des addr) & (mask) = destination,则按照表项对应的接口转发数据报
    • 如果都没有找到,则使用默认表转发数据报

主机如何获得一个IP地址

  • 系统管理员将地址配置在一个文件中
  • DHCP:从服务器中动态获取一个IP地址。

动态主机配置协议

  • 目标:允许主机再加入网络的时候,动态的从服务器那里获得IP地址。

    • 可以更新对主机在使用IP地址的租用期-租期快到了
    • 重新启动时,允许重新使用以前用过的IP地址。
    • 支持移动用户加入到该网络。
  • DHCP工作概述

  • 主机广播DHCP discover 报文

  • DHCP服务器用DHCP offer 提供报文响应

  • 主机请求IP地址:发送DHCP reques报文

  • DHCP服务器发送地址 DHCP ack报文

IPV6

  • 初始动机:32-bit地址空间将会很快用完

  • 另外动机:

    • 头部格式改变帮助加速处理和转发:TTL-1,头部checksum,分片
    • 头部格式转变帮助QoS
  • IPV6数据包格式

    • 固定的40字节头部
    • 数据报传输过程中,不允许分片。
  • IPV6头部

    • Priority:表示流中数据报的优先级
    • Flow Label:表示数据报在一个流中
    • Next header:表示上层协议
    • checksum被移除掉了,降低在每一段中的处理速度。
    • options:允许,但是在头部之外,被next header字段标识。
  • 过渡:双协议栈,隧道技术。

4.4通用转发和SDN

  • 每台设备上即实现控制功能,又实现数据平面。
  • 控制功能分布式实现
  • 路由表-粘连

路由器的网络层功能

  • IP转发:对于到来的分组按照路由表决定如何转发,数据平面
  • 路由:决定路径,计算路由表,处在控制平面。

SDN:逻辑上集中的控制平面

  • 一个不同的(通常是远程)控制器和CA交互,控制器决定分组转发的逻辑,CA所在设备执行逻辑。

SDN主要思路

  • 网络设备数据平面和控制平面分离

  • 数据平面–分组交换机

    • 将路由器,交换机和目前大多数网络设备的功能进一步抽象成:按照流表(由控制平面设置的控制逻辑)进行PDU(帧,分组)的动作(包括转发,丢弃,拷贝,泛洪,阻塞)
    • 统一化设备功能:SDN交换机(分组交换机)执行控制逻辑
  • 控制平面-- 控制器+网络应用

    • 分离,集中
    • 计算和下发控制逻辑:流表

你可能感兴趣的:(计算机网络,计算机网络,网络,网络协议)