计算机网络:自顶向下第八版学习指南笔记和课后实验--网络层(数据平面)

这篇具有很好参考价值的文章主要介绍了计算机网络:自顶向下第八版学习指南笔记和课后实验--网络层(数据平面)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网络层:数据平面

记录一些学习计算机网络:自顶向下的学习笔记和心得
Github地址,欢迎star ⭐️⭐️⭐️⭐️⭐️

  • 网络层中的每一台主机和路由器都有一个网络层的部分,网络层可以被分解为两个相互作用的部分:数据平面控制平面

  • 数据平面主要是网络中每台路由器的功能,该数据平面功能决定到达路由器输入链路之一的数据包如何转发到输出链路之一

  • 目前的转发主要包括基于数据报目的地址的转发以及通用转发(基于数据报首部不同几个域的值执行转发和其他功能)

网络层概述

  • 数据平面主要作用是从其输入链路向其输出链路转发数据报

  • 控制平面主要作用是协调这些每本地路由器的转发操作,使数据报沿着源和目的主机之间的路由器路径最终进行端到端传送

  • 路由器不运行应用层运输层协议

转发和路由

  • 转发:当一个分组到达路由器的输入端口时,路由器需要选择合适的输出端口将其转发出去,转发是在数据平面唯一实现的功能
  • 路由选择:分组从发送方流向接收方,网络层必须决定这些分组所选择的路径或路由,计算这些路径的算法被称为路由选择算法
  • 转发通常由硬件实现,是路由器本地操作
  • 路由选择通常由软件实现,是网络范围处理过程
  • 转发
    • 每台路由器都具有转发表,路由器检查到达分组首部的一个或多个字段来在其转发表中进行索引查找输出链路接口
    • 路由选择算法决定转发表的值
      • 传统方法:每台路由器都有一个与其他路由器进行路由选择通信的路由选择组件,通过路由选择协议交换包含路由选择信息的路由选择报文
      • SDN方法:远程控制器进行计算、分发路由表,本地路由器只负责转发。路由器和远程控制器通过交换包含转发表和其他路由选择信息的报文
  • 因特网的网络层只提供了尽力而为服务
  • 路由器和交换机都属于分组交换机

路由器工作原理

  • 路由器基本组件包含:
    • 输入端口(硬件实现)
      • 与数据链路层进行交互
      • 执行查找功能:通过查询转发表决定路由器的输出端口
      • 到达的分组经过交换结构发送到输出端口,控制分组从输入端口转发到路由选择处理器
    • 输出端口(硬件实现)
      • 存储从交换结构接受的分组并执行必要的链路层和物理层功能在输出链路上传输这些分组
    • 交换结构(硬件实现)
      • 将输入端口连接到输出端口
    • 路由选择处理器(CPU)
      • 执行控制平面的功能
      • 传统路由器中:执行路由选择协议,维护路由选择表和相关链路状态信息,为路由器计算转发表
      • SDN路由器中:负责与远程控制器通信,接受远程控制器计算的转发表项,并在路由器输入输出端口安装这些表项
  • 输入端口的处理
    • 输入端口执行查找转发表功能来决定输出端口
    • 转发表是由路由选择处理器计算和更新得出的
    • 转发表是由选择处理器经过独立总线复制到线路卡
    • 转发决策能在每个输入端口本地做,而无需基于每个分组调用集中式路由选择处理器
  • 基于目的转发
    • 最长前缀匹配
    • 存在默认转发链路接口
    • 可能分组被阻塞排队在输入端口
  • 交换
    • 经内存交换
      • 在CPU操作下,使用共享内存交换
    • 经总线交换
      • 通过共享总线交换,输入端口为分组加上交换机内部标签然后发送给所有的输出端口,输出端口会进行匹配
    • 经互联网络交换
      • 通过2N条总线来组成互联网络,链接N个输入端口和N个输出端口
  • 输出端口
    • 取出存放在输出端口内存中的分组并将其发送到输出链路中
  • 排队
    • 输入排队
      • 交换机速度没有达到让所有分组无时延的交换
    • 输出排队
      • 弃尾:丢弃刚到达的分组或者删除一个或多个已排队的分组
      • 在缓存填满前丢弃一个分组或者在首部加上标记来向发送方提供一个拥塞信号
    • 吞吐量和最小的时延都很重要
  • 分组调度
    • 先进先出
    • 优先权排队
    • 循环排队:按照类别进行传输
    • 加权公平排队:根据每个类别等待的分组数量来计算权重

IPv4数据报和寻址

IPv4

  • IPv4数据报格式

    • 版本号:4bit,规定了数据报的IP协议版本
    • 首部长度:4bit,IPv4数据报包含一些可变数量的选项,通过该字段来确定运输层报文段实际开始的地方,一般具有20字节的首部
    • 服务类型:8bit,区分开不同类型的数据报:实时数据报、非实时数据报等
    • 数据报长度:16bit,IP数据报总长度(首部+载荷),IP数据报理论最大长度为65535字节
    • 标识、标志、片偏移:这三个字段与IP分片有关(IPv6就取消了),一个大的IP数据报被分为几个小的IP数据报然后被发送到目的主机进行重新组装
    • 寿命:TTL,每经过一台路由器,TTL-1,TTL为0丢弃该数据包
    • 协议:指明了该IP数据报交给哪一个上层运输层协议
      • 协议号将网络层和运输层绑定在一起
      • 端口号将运输层和应用层绑定到一起
    • 首部校验和:16bit
      • 用于帮助路由器检测收到的IP数据报中的比特错误
      • 根据首部中的字段值来进行计算的,每台路由器都会重新计算,因为TLL字段以及可能的选项字段会改变
      • 重复检测是因为可能存在不同的协议搭配
    • 源和目的IP地址:都是32bit
    • 选项:选项字段允许IP首部被扩展
    • 数据(有效载荷):送往运输层的报文段(TCP/UDP,也可以是ICMP)
  • IPv4编址

    • 每个接口都具有IP地址
    • 路由器具有多个接口
    • 每台主机和每个路由器接口都具有各自的IP地址
    • 每个IPv4地址长度为32bit(4字节)
    • IP地址需要由其链接的子网来决定
    • 子网掩码
      • 三个主机接口和一个路由器接口形成了一个子网
      • 无类别域间路由选择(CIDR编址),a.b.c.d/x
        • x高比特构成了IP地址的网络部分
        • 路由聚合
        • 32-x比特被用于区分组织内部设备
      • 分类编制
        • IP地址的网络部分被限制为8、16、24比特,分别代表A、B和C网络
      • 255.255.255.255为IP广播地址,0.0.0.0为自身的IP地址,用于在一些特殊场合

DHCP(动态主机配置协议)

  • DHCP允许主机自动获取一个IP地址(可以配置为相同IP地址或者临时IP地址)
  • DHCP还得知其余信息,子网掩码,第一跳路由地址(网关),本地DNS服务器地址等
  • 客户-服务器协议:客户通常是新到达的主机,需要获得包括自身IP地址等信息
  • 理想情况下每个子网具有一台DHCP服务器或者DHCP中继代理,该代理知道该网络DHCP服务器的地址
  • DCHP客户和服务器交互
    • DHCP服务器发现:客户机发送DHCP发现报文,UDP,端口号67,广播目的地址255.255.255.255,以及“源主机IP”0.0.0.0
    • DHCP服务器提供:服务器发送DHCP提供报文,广播255.255.255.255,报文中包含推荐IP地址、网络掩码、IP地址租用期等
    • DHCP请求:客户从一个或多个服务器提供中选择一个,并向其发送DHCP请求报文响应,回显配置的参数
    • DHCP ACK:服务器用DHCP ACK 报文对DHCP请求报文进行响应,证实参数
  • DHCP还提供了机制来允许客户更新对一个IP地址的租用

NAT(网络地址转换协议)

  • NAT(网络地址转换)
    • NAT对外界相当于具有单一IP地址的单一设备
    • NAT对外界隐藏了子网的细节
    • 路由器从ISP的DHCP服务器得到NAT地址
    • NAT路由器具有一张NAT转换表,表项中包含了端口号和其IP地址
    • 路由器重写数据报的ip地址和端口
      • 向外界发送
        • 源IP替换为NAT IP地址
        • 源端口替换为NAT中空余端口
      • 从外界接受
        • 目的IP根据NAT转换表通过端口来查询
        • 替换目的IP
    • NAT属于中间盒
    • 中间盒不执行传统的数据报转发,而是执行诸如NAT、流量负载均衡、流量防火墙等功能

IPv6数据报和寻址

  • IPv6数据报格式
    • 扩大的地址容量:由32比特升为128比特,并引入了除单播和多播之外的任播
    • 简化高效的40字节首部:定长40字节首部
    • 流标签:给特殊流的分组加上标签(音频视频等)
    • IPv6数据报
      • 版本:IP版本号
      • 流量类型:服务类型,区分不同类型的IP数据报
      • 流标签:20bit,对一条流中的某些数据报给出优先级
      • 有效载荷字段:40字节首部字段后的数据载荷字节数量
      • 下一个首部:标识数据报交付给哪个协议(TCP、UDP)
      • 跳限制:约等于TTL
      • 源地址和目的地址:128bit
      • 数据:数据载荷部分
  • 从IPv4到IPv6的迁移
    • IPv6兼容IPv4
    • IPv4网络设备不支持IPv4
      • 解决办法:建隧道
      • 两个IPv6节点通过IPv4网络设备传输的时候,将IPv6数据报放到一个IPv4数据报的载荷字段
      • IPv6接收端通过观察该IPv4的协议号字段41来判断有效载荷和IPv6数据报

泛化转发和SDN

  • 转发可以概括为匹配和操作
  • 在泛化转发中,操作可以包括许多不同种操作
  • 每台分组交换机中都有匹配加操作表,该表由远程控制器计算、安装和更新
  • OpenFlow是泛化转发中一种协议
    • 匹配加操作转发表在OpenFlow中称为流表,每个表项包括
      • 首部字段值的集合:入分组将与之匹配,基于硬件的匹配执行最为迅速,匹配不上的流表将会被丢弃或发送到远程控制器做更多的处理
      • 计数器集合:当分组与流表项匹配时更新计数器
      • 操作集合:当分组匹配流表项时所采取的操作集合
  • 匹配
    • OpenFlow 1.0流表具有11个分组首部字段和入端口ID(最近已经增加到了41个)
    • OpenFlow的匹配抽象允许对来自三个层次的协议首部所选择的字段进行匹配
    • 入端口是指分组交换机上接受分组的输入端口
    • 流表项也具有通配符
  • 操作
    • 每个流表项都具有零个或多个操作列表
      • 转发
      • 丢弃
      • 修改字段
  • SDN控制器计算和分发流表,协议用于在分组交换机和它的控制器之间进行通信
  • 中间盒
    • “在源主机和目的主机之间的数据路径上,执行除了IP路由器的正常标准功能之外的其他功能的任何中间的盒子”
    • 大致包括以下三种
      • NAT转换
      • 安全服务:防火墙基于首部字段值或重定向分组来阻塞流量,从而进行附加处理
      • 性能增强

​ 随着中间件的增多,单独的专用硬件、单独的专用软件堆栈等都意味着巨大的成本和投资费用。因此,研究人员正在探索使用商用硬件(网络、计算和服务),并试图在通用软件堆栈上构建专门的软件来实现这些服务,而这就是SDN采用的方法,网络功能虚拟化(NFV);另一种被探索的方法是把中间盒功能外包给云。文章来源地址https://www.toymoban.com/news/detail-778940.html

  • IP沙漏
  • 端到端原则

到了这里,关于计算机网络:自顶向下第八版学习指南笔记和课后实验--网络层(数据平面)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《计算机网络-自顶向下》04. 网络层-数据平面

    从表面上看网络层的作用:将分组从一台发送主机移动到另一台接收主机。 完成该功能需要两个重要的网络层功能: 转发:当一个分组到达某路由器的一条输入链路时,该路由器必须将该分组移动到适当的输出链路。 路由选择:当分组从发送方流向接收方时,网络层必须决

    2023年04月15日
    浏览(43)
  • 《计算机网络——自顶向下方法》精炼——3.7(2)

    读书有三到:谓心到,眼到,口到。——明·朱熹 为了简化对一条TCP连接吞吐量的描述,我们首先忽略连接过程中处于慢启动状态的时间,因为这一状态时间极短,而且相比于其他状态的线性增长,该状态的指数式增长会将计算复杂化;而对于快速恢复状态,这一状态仅在网

    2024年02月07日
    浏览(43)
  • 计算机网络自顶向下WireShark实验:TCP

    计算机网络 WireShark 实验记录可供参考 1:What is the IP address and TCP port number used by the client computer (source) that is transferring the file to gaia.cs.umass.edu? To answer this question, it’s probably easiest to select an HTTP message and explore the details of the TCP packet used to carry this HTTP message, using the “details of

    2023年04月15日
    浏览(57)
  • 《计算机网络:自顶向下方法》第五章--网络层:控制平面

    控制平面作为一种网络范围的逻辑,不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报,而且控制网络层组件和服务如何配置和管理 传统上,控制平面功能与数据平面的转发功能在一起实现,在路由器中作为统一的整体 在网络层:数据平面中有转发

    2024年02月12日
    浏览(50)
  • 计算机网络——自顶向下方法(第四章学习记录)

    本章学习网络层:数据平面 前一章中我们学习了运输层依赖于网络层的主机到主机的通信服务,提供了各种形式的进程到进程的通信。在本章中我们将看到与运输层和应用层不同的是,在网络中的每一台主机和路由器中都有一个网络层部分。 网络层能够被分解为两个相互作

    2024年02月11日
    浏览(53)
  • 计算机网络——自顶向下方法(第二章学习记录)

    本章学习应用层 网络应用是计算机网络存在的理由。 现代网络应用程序有两种主流体系结构:客户—服务器体系结构和对等(P2P)体系结构 客户—服务器体系结构 (client-server ),在这个结构中,有一个总是打开的主机称为服务器,它服务于来自许多其他称为客户的主机的请求

    2024年02月09日
    浏览(42)
  • 计算机网络——自顶向下方法(第一章学习记录)

    可以从两个不同的方面来理解Internet。(它的构成。它的服务) 1.因特网的主要构成          处在因特网的边缘部分就是在因特网上的所有主机,这些主机又称为 端系统 (end system),端系统通过 因特网服务提供商 (Internet Service Provider,ISP)接入因特网,端系统通过 通信

    2024年02月10日
    浏览(41)
  • 计算机网络——自顶向下方法(第三章学习记录)

    本章学习运输层 运输层位于应用层和网络层之间,是分层的网络体系的重要部分,该层为运行在不同主机上的应用进程提供直接的通信服务起着至关重要的作用。 运输层协议为运行在不同主机上的应用进程之间提供了 逻辑通信 (logic communication)功能。从应用程序的角度看,通

    2024年02月11日
    浏览(40)
  • 《计算机网络--自顶向下方法》第四章--网络层:数据平面

    每台路由器的数据平面的主要作用是从其输入链路向其输出链路转发数据报 ;控制平面的主要作用是协调这些本地路由器转发动作,使得数据报沿着源和目的地主机之间的路由器路径进行端到端传送 路由器具有截断的协议栈,即没有网络层之上的部分,因为 路由器不运行应

    2024年02月12日
    浏览(43)
  • 《计算机网络——自顶向下方法》精炼——1.4到1.7

    三更灯火五更鸡,努力学习永不止。无惧困难与挑战,砥砺前行向成功。 计算机网络在这一学科中的重要性毋庸置疑,而黑皮书又是这一学科的教科书级经典,因此本书是计算机从业者的必读书之一。笔者用一个专栏来精炼这本书的知识,帮助想了解这方面知识的同学快速打

    2023年04月15日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包