精华内容
下载资源
问答
  • 计算机网络自顶向下--网络层 本书结构是自顶向下的,所以请按下列顺序阅读: 1.计算机网络自顶向下--应用层2.计算机网络自顶向下--运输层 3.计算机网络自顶向下--网络层4.计算机网络自顶向下--链路层 网络层 ...

    计算机网络自顶向下--网络层

     

    本书结构是自顶向下的,所以请按下列顺序阅读:

    1.计算机网络自顶向下--应用层
    2.计算机网络自顶向下--运输层
    3.计算机网络自顶向下--网络层
    4.计算机网络自顶向下--链路层

    网络层


    概述

    • 转发和路由选择
      • 网络层的作用:将分组从一台发送主机移动到一台接收主机。需要两种功能:
        • 转发:当一个分组到达路由器的一条输入链路时,路由器必须将该分组移动到适当的输出链路
        • 路由选择:分组从发送方流向接收方时,网络层必须决定这些分组采用的路由或路径,路由选择算法
        • 转发是路由器本地动作,路由选择是网络范围过程。比如开车从北京到上海,转发相当于在某个路口选择某一条岔路,路由选择相当于规划从北京到上海所有线路的过程
      • 每台路由都有一张转发表。路由器检查分组首部字段值(可能是目的地址或所属连接,看网络层协议)来转发分组,使用该值在转发表索引查询。该值指出了该分组将被转发的路由器输出链路接口
      • 路由选择算法决定了插入路由器转发表中的值。路由器接收路由选择协议报文,来配置转发表。有两种算法:
        • 集中式
        • 分布式
      • 分组交换机:指一台通用分组交换设备,根据分组首部字段值从输入链路接口转移分组到输出链路接口。
        • 链路层交换机:基于链路层字段中的值做转发决定
        • 路由器:基于网络层字段值做转发决定
      • 连接建立:某些网络结构(ATM、帧中继、MPLS)除了转发和路由选择功能,还有连接建立功能。要求从源到目的地沿着所选择路径彼此握手,建立连接
    • 网络服务模型
      • 定义了分组在发送与接收端系统之间的端到端运输特性
      • 网络层可以提供的服务(注意IP并没有这些服务!):
        • 运输层向网络层传递分组时:
          • 确保交付
          • 具有时延上界的确保交付
        • 为给定源和目的地之间的分组流提供服务:
          • 有序分组交付
          • 确保最小带宽:模仿发送方和接收方之间一条特定比特率传输链路的行为。发送速率低于该速率,分组不会丢失,且会在预定时延内到达
          • 确保最大时延抖动:确保发送方两个相继分组之间的时间 = 目的地接收到它们之间的时间
          • 安全性服务:使用仅由源和目的地主机知晓的密钥,加密数据报,源加密,目的主机解密。此外还有数据完整性和源鉴别服务
      • 因特网的网络层IP协议提供单一服务,尽力而为服务,无带宽保证,无丢包保证,无顺序保证,不定时,无拥塞指示

    虚电路和数据报网络

    • 仅在网络层提供连接服务的计算机网络成为虚电路;仅在网络层提供无连接服务的计算机网络称为数据报网络
    • 虚电路网络

      • 包括ATM、帧中继的体系结构是虚电路网络,在网络层使用连接。IP是数据报网络
      • 虚电路组成:
        • 源和目的主机之间的路径,一系列链路和路由器
        • VC号,该路径每段链路一个号码,属于一条虚电路的分组首部有VC号
        • 该路径每台路由器转发表表项。当跨越一台路由器创建一条虚电路时,转发表增加一个新表项,终止将会删除
      • 一条虚电路每条链路上可能有不同VC号,每台路由器必须用一个新的VC号更新每个分组的VC号(which can get from the forwarding tables)也就是一个分组经过一台路由器,首部VC号可能就变了,原因:
        • 逐链路代替该号码减少了分组首部VC字段长度
        • 大大简化虚电路建立。如果要求一个VC号,创建虚电路时路由器需要交换处理大量报文来约定VC号
      • 虚电路网络中的路由器必须为进行中的连接维护连接状态信息。创建一个连接,转发表加一项,释放一个连接,转发表删一项。该信息将VC号与输出接口号联系起来
      • 虚电路3个阶段:
        • 虚电路建立
          • 发送运输层与网络层联系,指定接收方地址,等待网络建立虚电路
          • 网络层决定发送方和接收方之间的路径,即虚电路要通过一系列链路和路由器,为每条链路设置vc号
          • 网络层在路径上每台路由器的转发表增加一个表项
        • 数据传送
          • 发起呼叫—>入呼叫—>接收呼叫—>呼叫连接—>数据流开始—>接收数据
        • 虚电路拆除
          • 网络层通知网络另一侧端系统结束呼叫,更新删除路由器上转发表项以表明虚电路不存在(说明路由器转发表项是虚电路的物理体现)
      • 信令报文
        • 端系统向网络发送指示 虚电路启动与终止的报文
        • 路由器之间传递的用于建立虚电路(修改路由器表中的连接状态)的报文
    • 数据报网络

      • 每当端系统要发送分组,为分组加上目的地地址,推进网络。
      • 分组从源到目的地传输,通过一系列路由器传递,每台都使用分组的目的地址转发该分组
        • 每个路由器有转发表,将目的地址映射到输出链路接口,路由器将分组向该接口转发
      • 目的地址(其实就是IP地址)32bit,转发表不可能对每个目的地址有一个表项,因此,路由器用分组的目的地址的前缀与表项进行匹配。当有多个匹配时,使用最长前缀匹配规则。
      • 数据包网络中路由器不维持连接状态信息,但是维护了转发状态信息。实际上每1-5分钟,路由选择算法更新一次转发表
    • 虚电路和数据报网络的由来
      • 虚电路来源于电话界(真电路)
      • 端系统设备复杂,网络层服务模型应尽可能简单,复杂功能在更高级实现(按序、可靠数据传输、拥塞控制等)
        • 因为简单,所以互联各种链路(卫星、以太网、光纤、无线)和丢包特性的网络变得容易
        • 增加一个新服务器只需连接一台主机到网络,定义一个新的应用层协议即可,使得Web之类的新服务很快在因特网部署

    路由器工作原理

    • 路由器的组成部分

      • 输入端口:
        • 执行将一条输入的物理链路与路由器相连接的物理层功能
        • 执行与位于入链路远端的数据链路层交互的数据链路层功能
        • 查找功能,查询转发表决定路由器的输出端口,将分组转发到输出端口
      • 交换结构
        • 将路由器的输入端口与输出端口相连
        • 分组通过交换结构转发到输出端口
      • 输出端口
        • 存储从交换结构接收的分组,执行必要的链路层和物理层功能在输入链路上传输这些分组。
        • 当链路是双向的时,输出端口与输入端口在同一线路卡成对出现
      • 路由选择处理器

        • 执行路由选择协议
        • 维护路由选择表、连接的链路状态信息,为路由器计算转发表
        • 网络管理
      • 路由转发平面

        • 一台路由器的输入端口、输出端口和交换结构共同实现了转发功能,并且用硬件实现(软件太慢,需以纳秒时间尺度运行)
      • 路由控制平面
        • 路由器的控制功能(执行路由选择协议、对上线或者下线链路进行响应、管理功能),在毫秒时间尺度上运行,用软件实现并在选择处理器上执行(一种cpu)
    • 输入端口

      • 线路端接
      • 数据链路处理(协议、拆封)
      • 查找
        • 查找必须在纳秒级别执行,不仅要用硬件执行查找,而且要对大型转发表使用快速查找算法,而且需要更快的内存访问速度(DRAM、SRAM)。
        • 三态内容可寻址存储器TCAM常被用于查找。使用TCAM,一个32bit的IP地址放入内存,TCAM在基本常数时间内返回转发表项内容
      • 转发
        • 转发表由路由选择处理器计算和更新,从路由选择处理器经过独立总线复制到(输入)线路卡
        • 有了转发表副本,转发决策能在每个输入端口本地做出,无须调动路由选择处理器,避免集中式处理
      • 排队
        • 查找确定了某分组输出端口,分组就能发送进入交换结构。一个被阻塞的分组必须在输入端口处排队
    • 交换结构

      • 通过交换结构,分组才能实际地从一个输入端口交换(转发)到一个输出端口中
      • 三种交换方式:
        • 经内存交换
          • 一个分组到达输入端口时,该端口会先通过中断方式向路由选择处理器发出信号
          • 分组从输入端口复制到处理器内存中(现代路由器查找交换进内存,是由输入线路卡处理的)
          • 早期路由选择处理器从首部提取目的地址,在转发表查找输出端口,将分组复制到输出端口
        • 经总线交换
          • 输入端口经一根共享总线将分组直接传送到输出端口,无需路由选择处理器的干预
          • 路由器的交换带宽受总线速率限制
        • 经互联网络交换
          • 纵横式交换机,2N条总线组成网络,连接N各输入端口和N个输出端口
          • 每条垂直的总线与每条水平的总线交叉,交叉点通过交换结构控制器开启闭合
          • 某分组到达端口A,需要转发到Y,交换机控制器闭合总线A和Y的交叉点,A在其总线上发送分组,仅由Y接收;同时B也能发分组到X,因为没有公用总线。纵横式网络能并行转发多个分组
    • 输出端口
      • 排队(缓存管理)
      • 数据链路处理(协议、拆封)
      • 线路端接
    • 何处出现排队
      • 输入、输出端口都能形成分组队列,取决于流量负载、交换结构
      • 随着队列增长,路由器缓存空间会耗尽,出现丢包
      • 需要路由器缓存吸收流量负载波动,需要多少缓存?
        • 少量TCP流:RTT * C(链路容量)
        • 大量TCP流:RTT* C/ (N^1/2)
      • 输出端口排队,需要分组调度程序选出一个分组发送。提供服务质量保证
      • 主动队列管理:
        • 缓存填满前丢弃(或首部加个标记)一个分组,向发送方提供一个拥塞信号
        • 随机早期检测算法:平均队列长度在某个范围内时,以某种概率被丢弃/标记
      • 线路前部阻塞
    • 路由选择控制平面
      • 网络范围的路由选择控制平面是分布式的,即不同部分(如路由选择算法)执行在不同的路由器上,并且通过彼此发送控制报文进行交互

    网际协议(IP):因特网中的转发和编址

    • 网络层三个组件
      • IP协议
      • 路由选择协议
      • 控制报文协议(ICMP):报告数据报中的差错、对某些网络层信息请求进行响应的设施
    • 数据报格式
      • 版本号(IPv4、IPv6):不同版本对数据报不同解释
      • 首部长度:数据报可包含可变数量的选项。不过大部分没有,首部固定20字节
      • 服务类型:区分不同类型的IP数据报
      • 数据报长度:首部+数据的长度。该字段16bit,然而一般数据报很少超过1500字节
      • 标识、标志、片偏移:IP分片相关。不过IPv6不允许在路由器上对分组分片
      • 寿命TTL:确保数据报不会永远在网络中循环。每被一个路由器处理时,值-1。若值减到0,丢弃数据报
      • 协议号:到达最终目的地才有用,指示了IP数据报的数据部分应该交给哪个运输层协议。如6交给TCP,如17交给UDP
        • 协议号是将网络层与运输层绑定到一起的粘合剂;端口号是将运输层和应用层绑定的粘合剂
      • 首部检验和:帮忙路由器检测收到IP数据报中首部的比特错误,有错一般丢弃
      • 源和目的IP地址:源主机通过DNS查找目的地址
      • 选项:IPv6已抛弃选项字段
      • 数据(有效载荷):包含运输层报文段(TCP或UDP),或ICMP报文段
    • 一个IP数据报有长为20的首部,如果数据报承载一个TCP报文段,则每个无分片数据报承载总长40的首部(还有TCP的20)以及应用层报文
    • IP数据报分片
      • 并不是所有链路层协议都能承载相同长度的网络层分组,如以太网帧能承载不超过1500字节的数据,某些广域网链路帧不超过576字节
        • 一个链路层帧承载的最大数据量:最大传送单元MTU
        • 限制了IP数据报的长度,且发送方与目的路径上的每段链路可能使用不同的链路层协议,有不同的MTU
        • 将IP数据报中的数据分片成多个较小的IP数据报,用单独的链路层帧封装这些小IP数据报,每个小数据报叫片
        • 数据报的重新组装放在端系统中,而不是路由器中
    • 标识、标志、片偏移字段,帮助主机执行重组任务
      • 一个4000字节的数据报(20+3980)到达一台路由器,转发到一条MTU为1500子节的链路上。必须分配3个独立的片,假设初始数据报的标识号是777,则前两片字节都为20+1480,第三层为20+1020
    • 安全
      • 分片被用于Dos攻击,如Jolt2,攻击者向目标主机发送小片的流,没有一个片的偏移量是0,目标试图重组时可能会崩溃
      • 发送交迭偏移量的IP片,不能被适当排列,可能会崩溃
      • IPv6废除了分片,简化了IP分组的处理
    • IPV4编址
      • 主机与路由器连入网络的方法
        • 一台主机通常只有一条链路连接到网络,主机IP发送数据报从该链路发送
        • 主机与物理链路的边界叫接口,一台路由器有多个接口
        • IP要求每台主机和路由器都有自己的IP地址,因此一个IP地址实际上是与每一个接口相关联的
      • 每个IP地址长度32bit(4字节),总共2^32个可能的IP地址,约40亿个
        • 点分十进制记法,如193.32.216.9
      • 一个接口的IP地址的一部分需要由其连接的子网决定
        • 如互联3个主机接口与1个路由器接口的网络形成一个子网,IP编址为这个子网分配一个地址:223.1.1.0/24,/24记法称为子网掩码,指示了32bit中的最左侧24bit定义了子网地址
        • 为了确定子网,分开主机和路由器的每个接口,产生几个隔离的网络岛,使用接口端接这些隔离的网络的端点,这些隔离的网络中每一个都叫做一个子网
      • 因特网地址分配策略:无类别域间路由选择CDIR
        • a.b.c.d/x的地址的x最高比特构成IP地址的网络部分,称为该地址的前缀,一个组织通常被分配一块连续的地址,即具有相同前缀的一段地址。BGP路由选择协议中,该组织网络外的路由器仅考虑x,减少了转发表的长度,因为形式为a.b.c.d/x单一表项足以将数据报转发到该组织内的任何目的地
      • 地址聚合(路由聚合):使用单个网络前缀通告多个网络的能力
        • 一个ISP将8个组织连接到因特网。该ISP向外界通告:向我发送以200.23.16.0/20开始的任何内容。外部无需知道在该地址块内还有8个其他组织,每个组织有自己的子网
      • 一个地址的剩余32-x比特可认为是用于区分该组织内部设备的。组织内部路由器转发分组时,才会考虑这些比特
      • 在CDIR出现之前,采用分类编址,A、B、C类网络,分别具有8、16、24比特子网地址
        • C类(/24)仅能容纳2^8-2=254台主机(其中两个用于特殊用途)
        • B类(/16)支持65534台主机,一个组织分配一个B类地址却只用2000个接口,造成巨大浪费
        • A类
      • IP广播地址
        • 当一台主机发出目的地址为255.255.255.255的数据报时,报文会交付给同一个网络的所有主机,可用于DHCP发现报文的发送,广播最小生成树

    如何获取地址、分配地址?

    • 获取一块地址
      • 子网获取IP地址:由ISP从它大块地址中分配
      • ISP获取IP地址:IP地址由因特网名字和编号分配机构ICANN管理(也管理DNS根服务器、AS标识号)。ICANN向区域性因特网注册机构分配地址,处理本地域内的地址分配/管理
    • 获取主机地址
      • 组织获得一块地址,就可为组织内的主机、路由器接口逐个分配IP地址
      • 主机地址能手动配置,也能自动配置,即动态主机配置协议DHCP
    • 动态主机配置协议DHCP
      • DHCP允许主机自动获取一个IP地址
      • DHCP可配置,可以使主机每次连网获得相同IP地址,也可每次分配一个临时IP地址(比如ISP给你家分配了一个IP地址,你想多台主机同时连网时,需要配置路由器。一般电信这种会给你家分配临时IP地址,这样节省IP地址。也有的每次连接都是固定地址比如公寓的ISP,这时需要手动在路由器设置里输入,可以ipconfig查看)
      • DHCP还允许主机查看子网掩码、默认网关(第一跳路由器地址)、本地DNS服务器地址
      • DHCP能将主机连接进一个网络的自动能力,常被称为即插即用协议
      • DHCP是一个客户-服务器协议。新来的主机要获得自使用的IP地址等网络配置信息
        • 每个子网都有一台DHCP服务器
        • 若子网没有DHCP服务器,则由一个路由器做DHCP中继代理,该代理知道该网络的DHCP服务器地址
      • 新主机到来时,DHCP协议的四个步骤
        1. DHCP服务器发现
          • 新到的客户通过广播DHCP发现报文,发现一个要与其交互的DHCP服务器
          • 客户在UDP分组中向端口67发送该发现报文,此时必须用广播地址255.255.255.255,源地址是0.0.0.0
        2. DHCP服务器提供
          • DHCP收到DHCP发现报文后,响应一个DHCP提供报文,仍然使用广播地址,因为此时新客户并没有IP地址
          • 可能有多台DHCP服务器,每台服务器提供的报文中,有向客户主机推荐的IP地址、网络掩码以及IP地址租用期(一般几天或几小时)
        3. DHCP请求
          • 客户从提供中选一个,向选中的服务器提供一个DHCP请求报文进行响应,回显配置参数
        4. DHCP ACK
          • 收到DHCP请求报文后,用DHCP ACK报文对其记性响应,证实所传参数
      • 客户收到ACK后,交互完成,在租期内使用DHCP分配的IP地址。DHCP提供了机制允许客户更新对一个IP地址的租用
    • 网络地址转换NAT
      • 当ISP已经为SOHO网络当前地址范围分配过一块连续地址,而SOHO内主机越来也多时,需要用到NAT(比如电信给你家分配一个动态IP地址,家里要好几台手机电脑联网用一个IP地址,需要用NAT)
      • NAT使能路由器
        • NAT路由器对外界来看像一个具有单一IP地址的单一设备。例如,家里有一个NAT使能路由器,其IP地址138.76.29.7,且进入和离开家庭的报文都有同样的该地址
        • NAT路由器对外隐藏了家庭网络的细节
        • NAT路由器从ISP的DHCP服务器得到它的地址,并且路由器运行一个DHCP服务器,为位于NAT-DHCP路由器控制的家庭网络地址空间中的主机提供地址
        • NAT转换表:
          • 如WAN端 138.76.29.7 ,5001 —》 LAN端 10.0.0.1,3345
          • 端口号和IP地址用于路由器将分组转发给特定的内部主机(比如家里的某个手机)
      • NAT重要问题:
        • 违反各种原则,应该用IPv6来改进
        • 妨碍P2P应用程序,包括P2P共享和语音。一个对等方在NAT后面,不能充当服务器并接受TCP连接,其解决办法是连接反转
          • 连接反转:A通过C与B联系,C不位于NAT之后并与B建立了TCP连接,已经被很多P2P应用用于NAT穿越
          • 若对等方A和B都在NAT之后,使用应用程序进行中继处理,如Skype中继
    • UPnP
      • NAT穿越由通用即插即用(UPnP)提供
      • UPnP是一种允许主机发现并配置邻接NAT的协议,要求主机和NAT都是UPnP兼容
      • 使用UPnP,在主机上运行的应用程序能为某些请求的公共端口号请求一个NAT映射(专用IP地址,专用端口号 — 公共IP地址,公共端口号)。如果某NAT接收请求并生成映射,来自外部的结点能发起到(公共IP地址,公共端口号)的TCP连接
    • 因特网控制报文协议ICMP

      • ICMP被主机和路由器用来沟通网络层信息,如差错报告
        • 如『目的网络不可到达』这种错误是在ICMP产生的,IP路由器找不到路径通往指定主机,该路由器就向发送主机发出ICMP报文指示错误
      • ICMP报文结构
        • 类型字段
        • 编码字段
        • 引起ICMP的IP数据包首部和前8字节(让发送方确定是哪个报文出错)
      • ping:发送一个ICMP类型8编码0(回显请求)的报文到指定主机,目的主机发回一个类型0编码0(回显回答)的报文
      • 源抑制报文:拥塞的路由器向主机发送,强制主机减小发送速率。TCP在运输层有拥塞控制机制,不需要该报文的信息了
      • Traceroute:如何跟踪从一台主机到世界上任意一台主机之间的路由?
        • 原理:IP协议规定,路由器收到TTL为0的数据报会将其丢弃,然后发送一个ICMP告警报文给源主机,which concludes the name and IP address of it
        • 方法:发送TTL为1~n的一系列IP数据报。当到达目的主机时,返回一个端口不可达(数据报携带了不可达UDP端口号)的ICMP报文,则结束探测
      • 安全性
        • 遭遇安全问题:若知道你网络IP地址范围,很方便发送IP数据报记性寻址,包括用ping搜索和端口扫描形成你的网络图,用恶意分组使主机崩溃,用ICMP分组洪泛服务器,分组中带恶意软件感染主机等等
        • 解决方法:
          • 防火墙
            • 大部分接入路由器有此功能,检查数据报和报文段首部字段,拒绝可疑数据报进入内部网络
            • 如防火墙可配置为阻挡所有ICMP回显请求分组,也可基于源和目的IP地址、端口号阻挡分组
            • 可配置为跟踪TCP连接,仅允许批准连接的数据报进入内部
          • 入侵检测系统IDS
            • 位于网络边界,执行深度分组检查,不仅检查数据报,也检查有效载荷
            • 具有分组特征数据库,有新攻击就更新(类似杀毒软件病毒库)
    • IPv6

      • IPv4地址耗尽,也可升级强化IPv4某些方面
      • IPv6数据报格式(不一样的地方)
        • 扩大的地址容量
          • 32bit —> 128bit
          • 除了单播多播地址,引入任播地址,使数据报交付给一组主机中的任意一个
        • 简化高效的40字节首部
        • 流标签与优先级
          • 如音频流、视频流、高优先级用户承载的流量
        • 分片/重组
          • 只能在源与目的地进行
        • 选项
          • 放到了『下一个首部』位置,使得IP首部定长40字节
      • IPv4到IPv6的迁移
        • 双栈:同时使用IPv4和IPv6,这种结点有两种地址。DNS可解析两种地址
    • 涉足IP安全性

      • 新型网络层协议:IPsec(如果你是Mac OS,网络设置中添加VPN服务时你会看到)
        • 在VPN(虚拟专用网)中部署
        • 两台主机要通信,IPsec只需在两台主机中可用,其他主机和路由器继续用普通的IPv4
        • 两台主机首先创建IPsec会话(面向连接的),在两台主机发送的TCP和UDP报文段都享受IPsec的安全性服务

    路由选择算法

    • 路由选择:确定从发送方到接收方通过路由器网络的好路径
    • 主机通常直接与一台路由器相连,该路由器即为该主机的默认路由器或第一跳路由器
      • 源主机默认路由器称为源路由器,目的主机默认路由器称为目的路由器
      • 一个分组从源主机到目的主机 == 从源路由器到目的路由器
    • 路由选择算法:给定一组路由器和连接路由器的链路,路由选择算法找到一条源路由器到目的路由器好的路径(最低费用),如最短路径算法(图)

      第一种分类方法:

      • 全局式路由选择算法
        • 用完整、全局性的网络信息计算出最短路径(最低费用路径)
        • practically具有全局状态信息的算法称作链路状态算法(LS)
      • 分散式路由选择算法

        • 迭代、分布式的方式计算最短路径
        • 没有结点拥有关于网络链路的完整信息,每个结点仅有与其直接相连链路的信息即可工作
        • 通过迭代计算并与相邻结点交换信息,逐渐计算出最低费用路径,距离向量算法(DV)

        第二种分类方法:

      • 静态路由选择算法
        • 变化缓慢,通常人工干预
      • 动态路由选择算法

        • 网络流量负载或拓扑发生变化时改变路由选择路径
        • 周期性运行或直接响应变化
        • 也容易受路由选择循环、路由震荡等问题的影响

        第三种分类方法:

      • 负载敏感算法
        • 链路费用动态变化来反映链路拥塞水平
      • 负载迟钝算法
        • 链路费用与拥塞无关,当今因特网路由选择算法基本都是迟钝的
    • 链路状态路由选择算法LS

      • 网络拓扑和所有链路费用已知。实践中是由每个节点向网络其他所有节点广播链路状态分组完成的,例如OSPF路由选择协议,由链路状态广播算法完成
      • 所有节点都具有该网络的信息,每个节点运行LS算法
      • Dijkstra算法
      • 会产生路由震荡,可以让每台路由器发送链路通告的时间随机化
    • 距离向量路由算法DV
      • 迭代、异步、分布式
        • 分布式:每个结点要从一个或多个直接相连邻居接收某些信息,计算,将计算结果发给邻居
        • 迭代:过程持续到邻居之间无更多信息交换
        • 异步:不要求所有节点相互步伐一致操作
      • DV算法
        • Bellman-Ford方程
        • 无更新报文发送,不会出现进一步路由选择表计算,算法进入静止状态。直到一条链路费用发生改变
      • 链路费用改变与链路故障
        • 路由选择环路,无穷计数问题
      • 增加毒性逆转
        • 欺骗费用无穷大
        • 解决两个直接相连无穷计数问题,更多结点环路无法解决
    • LS与DV路由选择算法的比较
      • 报文复杂性
        • 显然LS复杂得多,每条链路费用改变都要通知所有结点
      • 收敛速度
        • DV算法收敛较慢,且会遇到路由选择环路和无穷计数问题
      • 健壮性
        • 路由器发生故障,LS结点仅计算自己的转发表,提供了一定健壮性
        • DV算法一个 不正确的结点会扩散到整个网络
    • 其他路由选择算法

      • LS、DV基本上是当前因特网实践中使用的仅有的两种路由选择算法
      • 很多种新型算法,一种是基于将分组流量看做网络中源和目的之间的流
      • 电路交换路由选择算法也有参考价值
    • 层次路由选择

      • 问题
        • 规模。当路由器数目变得很大,算法开销高的不可实现如LS更新链路费用
        • 管理自治。一个组织应该当按自己愿望运行管理其网络
      • 解决方法:将路由器组织进自治系统AS
        • 每个AS由一组处在相同管理控制下的路由器组成(如相同的ISP运营)
        • 相同AS中路由器全部运行同样的路由选择算法,叫做自治系统内部路由选择协议
        • 一个AS内一台或多台路由器负责向本AS之外的目的地转发分组,这些路由器称为网关路由器
        • 当有多台网关路由器,需要用到自制系统间路由选择协议来配置转发表
          • 因特网中所有AS中都运行相同的AS间路由选择协议BGP4
      • 某AS非网关路由器对转发表增加用于子网x(该AS外)的表项采取的动作:
        1. 从AS间协议知道经多个网关可达子网x
        2. 使用AS内部协议的路由选择信息,决定到每个网关的最低费用路径的费用
        3. 热土豆路由选择:选择具有最小的最低费用的网关
        4. 从转发表确定最低费用网关接口I,将(x,I)添加到转发表中
      • 如果AS从一个相邻AS处知道一个目的地,该AS能向它某些其他相邻AS通告该路由选择信息
      • 一个ISP可能分为多个互联的AS

    因特网中的路由选择

    • AS内部路由选择协议,又称内部网关协议
      • 路由选择信息协议RIP,通常设置在下层ISP中
      • 开放最短优先OSPF,通常设置在上层ISP中
    • AS内部的路由选择:RIP(DV思想)
      • 是一种距离向量协议,使用跳数作为其费用测度
        • 跳:沿着源路由器到目的子网(包括)的最短路径经过的子网数量
        • 一条路径的最大费用限制为15,因此RIP使用限制在网络直径不超过15跳的自治系统内
      • 路由选择更新信息在邻居之间通过使用RIP响应报文(RIP通告)来交换,大约每30s交换一次
        • 一台路由器或主机发出的响应报文包含了该AS内多达25个目的子网的列表,以及发送方到每个子网的距离
        • 每台路由器维护一张称为路由选择表的RIP表,包括该路由器的距离向量和转发表(目的子网,下一台路由器,到目的地跳数)
        • 路由器收到通告后,将通告与路由选择表合并,记下更短路径(DV算法还在收敛,或者新的链路加入AS)
        • 一台路由器超过180s没有从邻居听到报文,该邻居要么死记要么链路中断
          • RIP可以修改本地路由选择表,向活着的邻居发送RIP通告
          • 也可以使用RIP请求报文请求邻居到目的地的费用
      • RIP被当做一个应用进程来实现,能在一个标准socket上发送个接收报文,并且使用一个标准的运输层协议
        • 路由器在UDP上用端口520相互发送RIP请求/响应报文。意思是RIP使用一个运输层协议实现网络层功能
    • AS内部的路由选择:OSPF(LS思想)

      • OSPF和其兄弟IS-IS通常设置在上层ISP中,RIP在下层ISP和企业网中
      • OSPF核心:使用洪泛链路状态信息的LS协议 + Dijkstra最低费用路径算法。各条链路费用(权值)是管理员配置的
      • 使用OSPF,一台路由器构建了整个AS的拓扑图,然后在本地运行Dijkstra算法
      • 使用OSPF,路由器向AS内所有其他路由器广播路由选择信息。即使链路未发生变化,也要周期性广播链路状态(at least 30 minutes at a time)
      • 优点:
        • 安全:能够鉴别OSPF路由器之间的交换,仅有受信任的路由器能参与AS内的OSPF协议。包括使用MD5加密
        • 多条相同费用路径:无需仅选择单一路径承载所有流量
        • 支持单播多播路由选择
        • 支持在单个路由选择域内的层次结构:具有按层次结构构造一个自治系统的能力
      • 一个OSPF AS可以配置成多个区域,每个区域运行自己的OSPF LS算法,一个区域内每台路由器可以向该区域其他路由器广播链路状态
        • 一个区域内,一台或多台区域边界路由器负责为流向该区域以外的分组提供路由选择
        • AS内只有一个OSPF区域配置成主干区域,为其他区域之间的流量提供路由选择。该主干包含AS内所有区域边界路由器,也可能包含一些非边界路由器
        • 某区域内分组—》区域边界路由器—》主干—》目的区域边界路由器—》目的地
    • AS间的路由选择:BGP

      • BGP:边界网关协议,跨越多个AS的源和目的对之间确定路径,现在用的BGP4
      • BGP为AS提供:
        • 从相邻AS获得子网可达性信息
        • 向本AS内部所有路由器传播这些可达性信息
        • 基于可达性信息和AS策略,决定到达子网的路由
      • BGP使得每个子网向因特网其余部分通告它的存在:一个子网高声宣布『老子在这!』,并且确保因特网中所有AS知道该子网以及如何到达
      • BGP基础
        • 是因特网中至关重要的协议,正是BGP将一切『粘合』起来
        • BGP中,路由器通过使用179端口的半永久TCP连接来交换路由信息
          • 跨越两个 AS的TCP连接称为外部BGP会话eBGP,AS内部每对路由器之间的TCP连接成为内部BGP会话iBGP
          • iBGP并不总与物理链路对应
          • 位于连接两端的两台路由器成为BGP对等方
      • 假设你开了公司,与ISP签订协议,获得了一个IP地址范围(子网),每台路由器是通过BGP知道你公司地址的前缀进行转发的,这样别人才能成功将分组发到公司
      • BGP使每个AS知道经过其相邻AS可到达哪些目的地子网,目的地是CDIR化的前缀,子网或子网的集合
      • BGP中,一个AS由其全局唯一的AS号ASN标识,which is allocated by ICANN
      • 当一台路由器通过BGP会话通告一个前缀时,它在前缀中包括一些属性。带属性的前缀称为一条路由,BGP对等方彼此通告路由
        • AS-PATH:该属性包含了前缀通告已经通过的AS,当一个前缀传送到一个AS时,AS将其ASN增加到AS-PATH中
          • 路由器使用AS-PATH属性检测和防止循环通告
          • 路由器使用AS-PATH在多条路径中选择相同的前缀
        • NEXT-HOP:是一个开始某AS-PATH的路由器接口
          • 路由器使用该属性正确地配置它们的转发表
          • 使用NEXT-HOP值和AS内部路由选择算法,路由器能确定到每条对等链路的路径的费用,用热土豆路由选择决定适当的接口
      • BGP路由选择
        • BGP使用eBGP和iBGP向在AS中的所有路由器发布路由,路由器可能知道到达任何一条前缀的多条路由。消除规则从上到下:
          • 选择具有最高本地偏好值(管理员决定)的路由
          • 选择具有最短AS-PATH的路由
          • 最靠近NEXT-HOP路由器的路由,最靠近指最低费用路径最低,由AS内部算法决定(hot potato routing)
          • 使用BGP标识符选择路由
      • 路由选择策略
        • 反应ISP之间商业关系
    • 广播和多播路由选择
      • 广播路由选择算法
        • N次单播
          • 给定N个目的节点,源结点产生该分组的N份副本,对不同目的地每个副本编址,用单播路由选择传送
          • 效率低,多份独立的副本会重复经过某段链路,让网络结点本身生成分组副本更有效
        • 无控制洪泛
          • 源节点向所有邻居发送分组副本,结点复制该分组并向它邻居转发
          • 图中有环,会无休止循环
          • 当一个结点与两个以上结点连接时,它将生成并转发广播分组的多个副本,副本中的每个又产生多个副本,产生广播风暴,使网络变得毫无用处
        • 受控洪泛
          • 序号控制洪泛:源节点将其地址或其他唯一标识和广播序号放入广播分组,每个结点维护源地址和序号列表
          • 反向路径转发RPF:仅当分组到达的链路正好位于它自己返回源的最短单薄路径上,才传输报文,否则丢弃
        • 生成树广播
          • 构造最小生成树;结点只需知道哪些邻居在生成树中
          • 分布式生成树算法
            • 基于中心的方法:建立一棵生成树时,定义一个中心结点(汇合点、核),结点向中心结点单薄加入树的报文。加入树的报文使用单播路由选择朝着中心结点进发,直到它到达一个生成树中,经过的路径再嫁接到现有生成树中
      • 多播
        • 一些新兴应用要求将分组从一个或多个发送方交付给一组接收方,比如各种直播、游戏
        • 多播数据报使用间接地址来编址。每个分组难道携带所有接收方IP地址?这不科学
          • 用一个标识表示一组接收方(D类多播地址),接收方小组称为多播组
        • 因特网组管理协议IGMP
          • IGMP + 多播路由选择协议 组成网络层多播
        • 多播路由选择算法

     

    微信公众号【黄小斜】大厂程序员,互联网行业新知,终身学习践行者。关注后回复「Java」、「Python」、「C++」、「大数据」、「机器学习」、「算法」、「AI」、「Android」、「前端」、「iOS」、「考研」、「BAT」、「校招」、「笔试」、「面试」、「面经」、「计算机基础」、「LeetCode」 等关键字可以获取对应的免费学习资料。 

     

     

                         

    展开全文
  • 计算机网络自顶向下方法原书第6版)》是当前世界上最为流行的计算机网络教科书之一,采用了作者独创的自顶向下的方法来讲授计算机网络的原理及其协议,即从应用协议开始沿协议栈向下讲解,强调应用范例和...
  • 网络层分组叫做数据报。 路由器处于三层的,是根据包的IP地址转发包 链路交换机是二层,是根据包的MAC地址转发包 R2. 数据报网络中两个最重要的功能是:转发和路由 虚电路网络中三个最重要的功能是:连接...

    复习题
    R1.

    网络层分组叫做数据报。

    路由器处于第三层的,是根据包的IP地址转发包

    链路交换机是第二层,是根据包的MAC地址转发包

    R2.

    数据报网络中两个最重要的功能是:转发和路由

    虚电路网络中三个最重要的功能是:连接建立、转发、路由

    R3.
    转发是指在路由器内部将输入端口的分组转移到正确的输出端口;

    路由是指路由器决定从源到目的地的路径;

    R4.
    是的

    R5.

    R6.
    IP电话等

    R7.
    有了影子副本,就可以在每个输入端口本地进行转发决策,而无需基于每个数据包调用集中式路由处理器,从而避免集中处理瓶颈。

    R8.
    分别是内存交换,总线交换和纵横结构。只有纵横结构可以并行转发。

    R9.
    如果分组到达的速率大于交换结构的速率,那么就会造成排队,最终队列越来越长,导致分组丢失。解决方法就是提升交换结构的速率至 n 倍的输入线路速率,n 是端口数

    R10.
    假设输入速率和输出速率一致,当分组到达单个输出端口的速率大于线路速率时,就会造成排队,最终队列越来越长,导致分组丢失。增加交换结构的速率对减缓排队现象没有任何帮助。

    R11.


    HOL:head-of-the-line
    HOL阻塞的意思是,队列最前端的分组由于某种原因被阻塞,它后面的分组即使可以被转发结构转发,也需要等到最前端被转发之后才可以被转发。
    它出现在输入端口。

    R12.
    路由器有 IP 地址,每一个接口都有一个 IP

    R13.
    11011111.00000001.00000011.00011011

    R14.

    R15.
    8、3

    R16.
    20+20/20+20+40 = 50%
    50% 的开销

    R17.
    IP 头部中“协议”字段,可以用来判断是 TCP 或 UDP 或其他。

    R18.
    无线路由器内置 DHCP 服务器,使用 DHCP 分发 IP 地址等。当然了,路由器也使用 NAT,因为只有一个公网 IP 要分配个五台 PC。

    R19.

    R20.
    同意,因为 IPv6 的数据报被封装在 IPv4 的数据报中

    R21.
    链路状态路由协议是层次式的,网络中的路由器并不向邻居传递“路由项”,而是通告给邻居一些链路状态。与距离矢量路由协议相比,链路状态协议对路由的计算方法有本质的差别。距离矢量协议是平面式的,所有的路由学习完全依靠邻居,交换的是路由项。链路状态协议只是通告给邻居一些链路状态。运行该路由协议的路由器不是简单地从相邻的路由器学习路由,而是把路由器分成区域,收集区域的所有的路由器的链路状态信息,根据状态信息生成网络拓扑结构,每一个路由器再根据拓扑结构计算出路由。

    R22.
    路由器被组织成 AS,在一个 AS 中,所有路由器运行相同的AS内部协议,在跨越 AS 时需要使用AS间协议。

    R23.
    没有必要

    R24.
    不会改变,因为初始表中通过 B 到 z 跳数是 7,然而来自 A 的通告到 z 需要 11 跳,因此表不会改变。

    R25.
    RIP 路由选择更新信息在邻居间通过使用一种 RIP 响应报文来交换,大约 30 秒交换一次。
    而 OSPF 向 AS 内部所有其他路由广播路由选择信息,不仅仅是邻居,每当一条链路的状态发生变化时,路由器就会广播链路状态信息,即使未发生变化,它也周期性地广播链路状态。

    R26.
    路径上的 AS 序列

    R27.
    请看课本 P268

    R28.

    R29.
    子网是较大型网络的一部分,不包含路由器,其边界定义为路由器和主机的接口。
    前缀是 CDIR 地址的网络部分。
    带有 属性 的 前缀 叫做一条 BGP 路由。

    R30.
    路由器使用 AS-PATH 来检测和防止循环通告,也使用它在多条路径中选择相同前缀。
    NEXT-HOP 指示沿给定前缀的通告路径(位于接收通告的 AS 之外)的第一路由器的IP地址。

    R31.
    举个例子,ISP B 不想传输从 ISP A 和 C 之间的流量,它就可以不向 A 和 C 通告这条路由路径。

    R32.
    使用单播模拟广播,效率低,它可能会在同一条链路上多次发送相同的数据包;而且寻址困难,源必须知道所有接收方的地址

    R33.
    a. 无控制洪泛和受控洪泛都可能接收到同一个分组的多个副本
    b. 无控制洪泛可能通过相同的出链路转发多个分组的副本

    R34.
    不需要

    R35.
    IGMP 为主机提供了一种方式,让它通知第一跳路由器,本机上的一个应用程序想要加入一个特定的多播组。 IGMP 协议只运行在主机和它的第一跳多播路由器之间。然后由多播路由器与其他多播路由器协同工作,即运行多播路由选择协议,以确保加入主机的多播组的数据被路由到适当的最后一跳路由器,并从那里路由到主机。

    R36.
    组共享的树:所有的发送方都在同一条路由树上发送多播流量
    基于源的树:每个源都有自己的一颗多播路由选择树

    习题
    P1.
    a.
    数据报体系更好,使用虚电路当出现无法工作的路由器时,需要重新建立连接。而数据报体系更加“灵活”,路由表可以通过距离向量算法或链路状态算法更新。

    b.
    虚电路体系更好,虚电路是面向连接的,路由器维持连接状态信息,可以为源到目的的会话提供固定容量。

    c.
    数据报将有更多的流量控制开销,这是由数据报中各种数据包报头造成的

    P2.
    a. 2^8 = 256
    b. 中文版翻译看不懂什么意思,较为清晰的翻译应该是:在连接建立时由某个中央结点决定路径和 VC 号。按照题意,中央结点只需在 [0, 2^8-1] 之间选择一个未被使用的即可。这种虚电路中的 VC 号不可能比(a)中确定的少
    c. 每条链路都能独立分配 VC 号,路由器将这些对应的 VC 号写入转发表,当特定 VC 号的分组到达后,将其 VC 号替换为对应的 VC 号并转发

    P3.
    入接口、入VC号、出接口、出VC号
    目的地址范围、链路接口

    P4.

    P5.

    a

    没有VC号可用

    b

    16(10,00,00,10)
    P6.
    connection-oriented service & connection service

    在虚电路中,每个路径上的路由器都维持连接状态信息。
    而在面向连接的运输层服务中,由端系统维持连接状态信息。运输层服务通过无连接的网络层传输,例如 TCP 通过 IP 传输,中间路由器并不知道自己在维持连接。

    P7.
    a. 不能
    b. 可能
    c. 不能

    P8.
    书上有误,应该是“n个分组到达n个输入端口”,把“出”改成“入”。

    (n-1)D、(n-1)D、0
    D 为输入(输出)时延,内存、总线的时延是一致的,有 n 个分组在排队,即使是发往不同的输出端口。

    P9.
    中文版的字母看不清,从上到下、从左到右依次是 X X Y Z Y

    需要三个时隙,例如时隙 1 发送最上面的 X 和中间的 Y,时隙 2 发送中间的 X 和下面的 Y,时隙 3 发送下面的 Z。
    最坏也需要三个时隙,时隙 1 发送上面的 X 和中间或下面的 Y,时隙 2 也能发送两个,时隙 3 发送最后剩余的 1 个。

    P10.

    b.
    第一个为其他,选择了接口 3;第二个选择 2;第三个选了 3

    P11.
    接口 0:从 00000000 到 00111111,共 2^6=64
    接口 1:从 01000000 到 01011111,共 2^5=32
    接口 2:从 01100000 到 01111111,从 10000000 到 10111111,共 2^5 + 2^6 = 96
    接口 3:从 11000000 到 11111111,共 2^6 = 64

    P12.

    P13.
    子网 1:223.1.17.0/26
    子网 2:223.1.17.128/25
    子网 3:223.1.17.192/28
    可以多种不同分配方案

    P14.

    P15.


    P16.
    地址范围为 128.119.40.128~128.119.40.191,任意给出一个即可

    2^6=64 64/4=16 即每个子网有16个IP

    子网 1:128.119.40.64/28
    子网 2:128.119.40.80/28
    子网 3:128.119.40.96/28
    子网 4:128.119.40.112/28

    P17.

    P18.
    whois 不能用来确定某个特定 IP 地址的确定位置。但是可以使用 www.maxmind.com。

    P19.

    (除了最后一片的所有初始有效载荷数据的数量应当是8字节的倍数,并且偏移量值应当以8字节为单位)
    需要 4 个分片。每个 IP 数据报都有相同的标识号 422;4个数据报的偏移分别是 0、85、170、255;等等。

    P20.
    与上题类似,略

    P21.
    a.
    可以随意分配
    主机 192.168.1.1 192.168.1.2 192.168.1.3,路由器接口地址 192.168.1.4

    b.


    P22.
    a.
    既然我们可以捕获所有分组,那么只需统计 IP 分组的标识号即可

    b.
    不能正常工作

    P23.
    Arwold 和 Bernard 都位于 NAT 之后,任一方都不能与对方建立连接

    P24.

    P25.

    P26.
                       
    P27.

    P28.

    P29.
    算法收敛于 最长的无环路的距离减一 次迭代

    P30.

    P31.

    P32.
    减少费用不会出现无穷计数,因为不会造成路由选择环路。
    连接两个结点相当于将无穷的费用减少为链路的费用。

    P33.
    每一次结点距离向量的更新都是基于 Bellman-Ford 公式,只会不断减少它们的距离向量。如果距离向量不再减少,即不再更新,在有限步内它们就会稳定下来。

    P34.

    b.
    存在无穷计数问题。
    y 计算它到 x 的距离 Dy(x) = min{ c(y,x)+Dx(x), c(y,z)+Dz(x)} = min{60, 6+3} = 9
    然而这个值是错误的,将导致一个路由选择环路。

    c.
    将 y 和 z 切断

    P35.
    通过 AS-PATH

    P36.
    课本上有介绍,首先选择的是本地偏好值中的路由,然后才是最短 AS 路径

    P37.
    a. eBGP
    b. iBGP
    c. eBGP
    d. iBGP

    P38.
    a. I1,因为 I1 离 1c 近
    b. I2,虽然跨越的 AS 的数量相同,但是 I2 离 NEXT-HOP 路由器更近
    c. I1,因为经 I1 的话 AS-PATH 更小

    P39.

    P40.


    P41.
    比如 BitTorrent 或其他 P2P 应用

    P42.
    A 向 B 通告两个路由:AS-PATH 为 A-W 和 A-V
    A 向 C 通告一个路由: A-V
    C 收到的 AS-PATH 为:B-A-W,B-A-V,A-V

    P43.
    Z 想传送来自 Y 的流量,因此 Z 向 Y 发送路由通告,但是 Z 无法阻止 Y 向 X 通告此路径,最终 X 也将向 Z 传送流量

    P44.
    可以用 Kruskal 或 Prim 算法 计算最小生成树

    P45.
    如果路由器二叉树是一个满二叉树:
    向一个接收方发送一个分组的费用是 5,因此单播模拟的总费用是 5*32=160
    网络层广播将报文复制并发送其副本,因此费用为 2+4+8+16+32 = 62

    当拓扑的形状是一条直线时,所有接收方都连在距离发送方最远的结点上,费用相差最大

    P46.


    设加粗的路径是 A 的最小生成树。 这时 B 将收到来自 A、C、D 的广播报文。

    P47.

    P48.

    P49.


    P50.

    P51.

    P52.
    3*2^(t-1)

    P53.
    协议必须建立在应用层才行,举例来说,应用程序可以在应用层报文中周期性地向其他组成员多播它的身份。

    P54.
    一个最简单的应用层协议设计,就是所有成员都向所有其他成员多播自己得身份,在带内发送报文即可。

    P55.
    D类地址得第一个字节以“1110”开始,因此可用位为32-4=28,空间为 N=2^28
    两个不同组选择相同地址的概率=1/N=2^-28
    1000个组不冲突的概率=N(N-1)(N-2)…(N-999)/N^1000
    冲突概率=1-N(N-1)(N-2)…(N-999)/N^1000
     

    展开全文
  • 计算机网络 自顶向下方法 中文 读书笔记 目录计算机网络 自顶向下方法 中文 读书笔记 目录 1 章 计算机网络和因特网 2 章 应用层 3 章 运输层 4 章 网络层 : 数据平面 5 章 网络层: 控制平面...

    计算机网络 自顶向下方法 第七版中文 读书笔记 目录

    书和pdf请加qq群:1143721941

    第 1 章 计算机网络和因特网

    第 2 章 应用层

    第 3 章 运输层

    第 4 章 网络层 : 数据平面

    第 5 章 网络层: 控制平面

    第 6 章 链路层和局域网

    第 7 章 无线网络和局域网络

    第 8 章 计算机网络中的安全

    第 9 章 多媒体网络

    展开全文
  • 计算机网络自顶向下方法课后习题答案一章 复习题 1.1节 R1: 没有区别。 在全文中,“主机”和“终端系统”一词可互换使用。 终端系统包括PC,工作站,Web服务器,邮件服务器,PDA,连接Internet的游戏机等...

    计算机网络自顶向下方法第七版课后习题答案第一章

    复习题

    1.1节

    • R1:
      没有区别。 在全文中,“主机”和“终端系统”一词可互换使用。 终端系统包括PC,工作站,Web服务器,邮件服务器,PDA,连接Internet的游戏机等。
    • R2:
      来自维基百科:外交协议通常被描述为一系列国际礼节规则。 这些行之有效的历史悠久的规则使各国和人民更容易共同生活和合作。 协议的一部分一直是对所有人的等级地位的认可。 协议规则基于文明原则。
    • R3:
      标准对于协议很重要,因为人们可以创建可互操作的网络系统和产品。

    1.2节

    • R4:
      1.通过电话线拨号调制解调器:家庭;
      2.通过电话线的DSL:家庭或小型办公室;
      3.到HFC的电缆:家庭;
      4.100 Mbps交换以太网:企业;
      5.Wifi(802.11):家庭和企业:
      6.3G和4G:广域无线。
    • R5:
      HFC带宽在用户之间共享。 在下游通道上,所有数据包均来自单一来源,即前端。 因此,在下游通道中没有冲突。
    • R6:
      在大多数城市中,当前的可能性包括:拨号; DSL; 电缆调制解调器; 光纤到户。
    • R7:
      以太网LAN的传输速率为10 Mbps,100 Mbps,1 Gbps和10 Gbps。
    • R8:
      如今,以太网最普遍地通过双绞铜线运行。 它还可以在光纤链路上运行。
    • R9:
      拨号调制解调器:最高56 Kbps,专用带宽。
      ADSL:下行速度高达24 Mbps,上行速度高达2.5 Mbps,专用带宽;
      HFC速率高达42.8 Mbps,上行速率高达30.7 Mbps,共享带宽;
      FTTH:2-10Mbps上传; 10-20 Mbps下载; 带宽不共享。
    • R10:
      当今有两种流行的无线Internet访问技术:
      a)Wifi(802.11)在无线LAN中,无线用户在几十米的半径内向基站(即无线接入点)发送/接收数据包。 基站通常连接到有线互联网,因此用于将无线用户连接到有线网络。
      b)3G和4G广域无线接入网。 在这些系统中,数据包通过用于蜂窝电话的相同无线基础设施进行传输,基站由电信提供商管理。 这为基站半径几十公里内的用户提供了无线访问。

    1.3节

    • R11:
      在时间t0,发送主机开始发送。 在时间t1 = L / R1时,发送主机完成传输,并在路由器上接收到整个数据包(无传播延迟)。 由于路由器在时间t1拥有整个数据包,因此它可以在时间t1开始将数据包发送到接收主机。 在时间t2 = t1 + L / R2时,路由器完成传输,并且整个数据包在接收主机处接收(再次,没有传播延迟)。 因此,端到端延迟为L / R1 + L / R2。
    • R12:
      电路交换网络可以在通话期间保证一定量的端到端带宽。 当今大多数分组交换网络(包括Internet)无法对带宽进行任何端到端保证。
      FDM需要复杂的模拟硬件才能将信号移入适当的频带。
    • R13:
      a)可以支持2个用户,因为每个用户需要一半的链路带宽。
      b)由于每个用户在传输时需要1Mbps,因此,如果两个或更少的用户同时传输,则最大需要2Mbps。 由于共享链接的可用带宽为2Mbps,因此在链接之前不会有排队延迟。 而如果三个用户同时传输,则所需带宽将为3Mbps,这比共享链接的可用带宽还大。 在这种情况下,链接之前会有排队延迟。
      c)给定用户正在传输的概率= 0.2
      d)所有三个用户同时发送的概率=()3 33 1 3 3 − − pp =(0.2)3 = 0.008。 由于队列在所有用户都在传输时都在增长,因此队列增长的时间比例(等于所有三个用户同时在传输的概率)为0.008。
    • R14:
      如果两个ISP不相互对等,则当它们彼此发送流量时,它们必须通过提供商ISP(中间商)发送流量,而他们必须为携带流量而向其付费。 通过直接相互对等,两个ISP可以减少向其提供商ISP的付款。 Internet交换点(IXP)(通常在具有自己的交换机的独立建筑物中)是多个ISP可以连接和/或对等连接的汇合点。 ISP通过向连接到IXP的每个ISP收取相对较小的费用来赚钱,这可能取决于发送给IXP或从IXP接收的流量。
    • R15:
      Google的专用网络将其所有大小数据中心连接在一起。 Google数据中心之间的流量通过其专用网络而不是公共Internet传递。 这些数据中心中的许多位于或靠近较低层的ISP。 因此,当Google向用户交付内容时,它通常可以绕过更高级别的ISP。
      是什么促使内容提供商创建这些网络? 首先,由于内容提供者只需使用很少的中间ISP,因此可以更好地控制用户体验。 其次,它可以通过向提供商网络发送更少的流量来节省资金。 第三,如果ISP决定向高利润的内容提供商收取更多的钱(在没有净中性的国家),则内容提供商可以避免这些额外的付款。

    1.4节

    • R16:
      延迟成分是处理延迟,传输延迟,传播延迟和排队延迟。 除了排队延迟(可变)之外,所有这些延迟都是固定的。
    • R17:
      此处是原答案
      a) 1000 km, 1 Mbps, 100 bytes
      b) 100 km, 1 Mbps, 100 bytes
    • R18:
      10msec;
      d/s;
      无关;
    • R19:
      a) 500 kbps
      b) 64 seconds
      c) 100kbps; 320 seconds
    • R20:
      端系统A将大文件分成多个块。 它将首部信息添加到每个块,从而从文件生成多个数据包。 每个数据包中的首部信息都包含目的地(终端系统B)的IP地址。
      交换机使用数据包中的目标IP地址来确定输出链路。 根据数据包的目标地址,询问走哪条路类似于数据包询问应转发到哪个输出链路。
    • R21:
      此处是原答案
      最大发射速率为500包/秒,最大传输速率为350包/秒。 相应的流量强度为500/350 = 1.43>1。每次实验最终都会造成损失; 但是,由于发射过程的随机性,第一次发生损失的时间会与一次实验的发生时间有所不同。

    1.5节

    • R22:
      五个常规任务是差错检测,流量控制,分段和重组,多路复用和连接设置。
      这些任务可以在不同的层重复。 例如,通常在不止一层上提供差错检测。
    • R23:
      Internet协议栈中的五个层从上到下分别是应用层,传输层,网络层,链路层和物理层。
    • R24:
      应用层报文:应用要发送并传递到传输层的数据;
      传输层报文段:由传输层生成,并用传输层头封装应用层消息;
      网络层数据报:将传输层段与网络层报头封装在一起;
      链路层帧:用链路层头封装网络层数据报。
    • R25:
      路由器处理网络层,链路层和物理层(第1层到第3层)。( 这是一个谎言,因为现代路由器有时充当防火墙或缓存组件,并且还处理传输层。)
      链路层交换机处理链路和物理层(第1层到第2层)。
      主机处理所有五个层。

    1.6节

    • R26:
      a)病毒需要某种形式的人类互动才能传播。 经典示例:电子邮件病毒。
      b)蠕虫无需用户复制。 感染主机中的蠕虫会扫描IP地址和端口号,以寻找容易感染的进程。
    • R27:
      创建僵尸网络需要攻击者发现某些应用程序或系统中的漏洞(例如,利用应用程序中可能存在的缓冲区溢出漏洞)。 找到漏洞后,攻击者需要扫描容易受到攻击的主机。目标基本上是通过利用特定漏洞来破坏一系列系统。僵尸网络中的系统可以自动扫描其环境并通过利用此漏洞进行传播。这种僵尸网络的一个重要属性是,僵尸网络的发起者可以远程控制并向僵尸网络中的所有节点发出命令。 因此,攻击者有可能向以单个节点为目标的所有节点发出命令(例如,僵尸网络中的所有节点可能被攻击者命令向目标发送TCP SYN消息,这可能导致 在目标的TCP SYN泛洪攻击中)。
    • R28:
      Trudy可以假装是Bob到Alice(反之亦然),并且部分或完全修改了从Bob到Alice发送的消息。 例如,她可以轻松地将短语“爱丽丝,我欠您$ 1000”更改为“爱丽丝,我欠您$ 10,000”。 此外,即使从Bob到Alice的数据包已加密,Trudy甚至可以丢弃Bob所发送到Alice的数据包(反之亦然)。

    习题

    • P1:
      这个问题没有一个正确的答案。 许多协议都可以解决问题。 以下是一个简单的答案:
      从ATM机到服务器的消息
      从ATM到服务器
      从服务器到ATM机的消息(显示)
      从服务器到ATM机的消息
      正确操作:
      正确操作
      在没有足够钱的情况下:
      在没有足够钱的情况下
    • P2:
      在时间N *(L / R),第一个数据包已到达目的地,第二个数据包存储在最后一个路由器中,第三个数据包存储在倒数第二个路由器中,等等。在时间N (L / R / R)+ L / R,第二个数据包到达目的地,第三个数据包存储在最后一个路由器中,依此类推。继续此逻辑,我们看到在时间N * ( L / R)+(P-1) * (L / R)=(N + P-1)(L / R)所有数据包都已到达目的地。
    • P3:
      a)电路交换网络将非常适合该应用程序,因为该应用程序涉及长会话且具有可预测的平滑带宽要求。 由于传输速率是已知的并且不是突发性的,因此可以为每个应用程序会话保留带宽,而不会造成大量浪费。 另外,建立和拆除连接的开销成本在典型应用程序会话的漫长期间内分摊。

    b)在最坏的情况下,所有应用程序同时通过一个或多个网络链路进行传输。 但是,由于每个链路都具有足够的带宽来处理所有应用程序数据速率的总和,所以不会发生拥塞(很少排队)。 考虑到这种慷慨的链路容量,网络不需要拥塞控制机制。

    • P4:
      图1-13
      a)在左上方的开关和右上方的开关之间,我们可以有4个连接。 类似地,我们可以在其他3对相邻开关中的每对之间具有四个连接。 因此,该网络最多可支持16个连接。

    b)我们可以在右上角通过交换机进行4个连接,在左下角通过交换机进行另外4个连接,总共有8个连接。

    c)可以。 对于A和C之间的连接,我们通过B路由两个连接,并且通过D路由两个连接。对于B和D之间的连接,我们通过A路由两个连接,并且通过C路由两个连接。这样,最多有4个连接 通过任何链接。

    • P5:
      收费站相距75公里,汽车以100公里/小时的速度传播。 收费站为汽车提供服务,费用为每12秒一辆汽车。
      a)有十辆车。 第一个收费站需要120秒或2分钟的时间来维修这10辆车。 这些汽车中的每辆汽车在到达第二个收费站之前,都有45分钟的传播延迟(行驶75公里)。 因此,所有车厢在47分钟后的第二个收费站之前排好队。 整个过程在第二和第三收费站之间重复进行。 第三个收费站也需要2分钟才能为10辆车服务。 因此,总延迟为96分钟。
      b)收费站之间的延迟是8 * 12秒加45分钟,即46分钟和36秒。 总延迟是此数量的两倍加上8 * 12秒,即94分48秒。
    • P6:
      a) s mdprop /= seconds.
      b) R Ldtrans /= seconds.
      c) m/s + L/R
      d) 离开主机A。
      e) 尚未到达主机B。
      f) 到达主机B。
      g) 536KM
    • P7:
      在这里插入图片描述
    • P8:
      在这里插入图片描述
    • P9:
      在这里插入图片描述
    • P10:
      dend-end = L/R1 + L/R2 + L/R3 + d1/s1 + d2/s2 + d3/s3+ dproc+ dproc
      要回答第二个问题,我们只需将值插入方程式即可得到6 + 6 + 6 + 20 + 16 + 4 + 3 + 3 = 64毫秒。
    • P11:
      因为比特是立即发送的,所以分组交换不会引入任何延迟; 特别地,它不引入传输延迟。 因此,dend-end = L / R + d1 / s1 + d2 / s2 + d3 / s3
      对于问题P10中的值,我们得到6 + 20 + 16 + 4 = 46毫秒。
    • P12:
      到达的数据包必须首先等待链路传输4.5 * 1,500字节= 6,750字节或54,000位。 由于这些位以2 Mbps的速率传输,因此排队延迟为27毫秒。 通常,排队延迟为(nL +(L-x))/ R。
    • P13:
      a)对于第一个发送的数据包,排队延迟为0;对于第二个发送的数据包,排队延迟为L / R;通常,对于第n个发送的数据包,排队延迟为(n-1)L / R。 因此,N个数据包的平均延迟为:
      (L/R + 2L/R + … + (N-1)L/R)/N
      = L/(RN) * (1 + 2 + … + (N-1))
      = L/(RN) * N(N-1)/2
      = LN(N-1)/(2RN)
      = (N-1)L/(2R)
      请注意,这里我们使用了众所周知的事实:
      1 + 2 + … + N = N(N+1)/2
      b)传输N个数据包需要LN / R秒。 因此,当每批N个数据包到达时,缓冲区为空。 因此,包在所有批次中的平均延迟是第一个批次内的平均延迟,即(N-1)L / 2R。
    • P14:
      传输延迟为L / R,总时延为:
    • P15:
      在这里插入图片描述
    • P16:
      系统中的数据包总数包括缓冲区中的数据包和正在传输的数据包。
    • P17:
      在这里插入图片描述
      在这里插入图片描述
    • P18:
    • P19:
    • P20:
      Throughput = min{Rs, Rc, R/M}
    • P21:
      在这里插入图片描述
    • P22:
      成功接收数据包的概率为:ps =(1-p)N。
      客户端成功接收到数据包之前需要执行的传输次数是成功概率为ps的几何随机变量。 因此,所需的平均传输次数为:1 / ps。 然后,所需的平均重传次数为:1 / ps -1。
    • P23:
      我们将第一个数据包称为A,将第二个数据包称为B。
      a)如果瓶颈链路是第一个链路,则数据包B在第一个链路上排队等待数据包A的传输。因此,目的地的数据包到达时间仅为L / Rs。
      b)如果第二个链路是瓶颈链路,并且两个数据包都被发送回来,那么在第二个链路完成第一个数据包的传输之前,第二个数据包必须到达第二个链路的输入队列。那是,L / Rs + L / Rs + dprop <L / Rs + dprop + L / Rc
      上述不等式的左侧表示第二个数据包到达第二个链接的输入队列所需的时间(第二个链接尚未开始传送第二封包)。右侧表示第一个数据包完成将其传输到第二个链路所需的时间。如果我们在T秒后发送第二个数据包,我们将确保在第二个链路上第二个数据包没有排队延迟:
      L / Rs + L / Rs + dprop + T> = L / Rs + dprop + L / Rc

    因此,T的最小值为L / Rc-L / Rs。

    • P24:
      40 TB = 40 * 1012 * 8位。 因此,如果使用专用链接,将需要40 * 1012 * 8 /(100 * 106)= 3200000秒= 37天。 但是,借助FedEx隔夜交付,您可以保证数据在一天之内到达,费用应低于100美元。
    • P25:
      a) 160,000 bits
      b) 160,000 bits
      c)链路的带宽延迟乘积是链路中可以存在的最大位数。
      d)比特的宽度=链路的长度/带宽延迟乘积,因此1比特的长度为125米,比足球场更长
      e) s/R
    • P26:
      s/R=20000km, then R=s/20000km= 2.5108/(2107)= 12.5 bps
    • P27:
      a) 80,000,000 bits
      b)800,000位,这是因为在任何给定时间链路中将存在的最大位数= min(带宽延迟乘积,数据包大小)= 800,000位。
      c).25米
    • P28:
      a) ttrans + tprop = 400 msec + 80 msec = 480 msec.
      b) 20 * (ttrans + 2 tprop) = 20*(20 msec + 80 msec) = 2 sec.
      c)分解文件需要更长的时间来传输,因为每个数据包及其相应的确认包都会添加自己的传播延迟。
    • P29:
      地球静止卫星距离地球表面36,000公里。
      a) 150 msec
      b) 1,500,000 bits
      c) 600,000,000 bits
    • P30:
      假设乘客及其行李对应于到达协议栈顶部的数据单元。 乘客办理登机手续时,将检查其行李,并在行李和机票上贴上标签。 如果图1.20允许行李层在发送方实施服务或将旅客和行李分开,然后在目的地将其重新组合(希望如此),则这是在行李层中添加的附加信息。 然后,当旅客通过安全检查时,通常会在其机票上添加额外的邮票,以表明该旅客已通过安全检查。 该信息用于确保(例如,通过稍后检查安全性信息)人员的安全转移。
    • P31:
      在这里插入图片描述
    • P32:
      是的,小程序中的延迟与问题31中的延迟相对应。传播延迟会同样影响包交换和消息交换的总体端到端延迟。
    • P33:
      在这里插入图片描述
    • P34:
      电路交换电话网络和Internet在“网关”处连接在一起。 当Skype用户(连接到Internet)呼叫普通电话时,将在网关和电话用户之间通过电路交换网络建立电路。 Skype用户的语音以数据包的形式通过Internet发送到网关。 在网关处,语音信号被重建,然后通过电路发送。 在另一个方向上,语音信号通过电路交换网络发送到网关。 网关将语音信号打包,然后将语音数据包发送给Skype用户。
    展开全文
  • 计算机网络自顶向下方法 习题参考答案 一章

    万次阅读 多人点赞 2018-09-07 21:26:58
    路由器处理网络层、链路层、物理层,链路层(现代的路由器有可能会担当防火墙或缓存,因此可能会处理运输层)。交换机处理链路层。主机处理所有五个层次。 R26. 病毒是需要用户交互来感染用户设备的恶意软件;...
  • 计算机网络自顶向下第四章习题

    千次阅读 2018-06-11 18:51:49
     根据最长前缀匹配原则,将下列分组转发到正确的链路接口:一个地址的最长前缀匹配属于转发表中的其他类,对应链路接口3;二个地址的最长前缀匹配为1110000,对应链路接口2;三个地址的最长前缀匹配为...
  • 计算机网络自顶向下方法 习题参考答案 三章

    万次阅读 多人点赞 2018-10-03 18:32:15
    假定 A S 的源端口号为 x, B S 的源端口号为 y a. A S 的源端口号为 x, 目的端口号为 23 b. B S 的源端口号为 y, 目的端口号为 23 c. S A 的源端口号为 23, 目的端口号为 x d. S B 的...
  • 计算机网络自顶向下方法课后习题答案五章 复习题 5.1节 R1: 每个路由器的控制意味着在每个路由器中都运行一种路由算法。 转发和路由功能都限制在每个路由器内。 每个路由器都有一个路由组件,该组件与其他...
  • 计算机网络自顶向下方法 习题参考答案 四章

    万次阅读 多人点赞 2018-10-14 20:21:12
    网络层分组叫做数据报。路由器处于三层的,链路交换机是二层 R2. 数据报网络中两个最重要的功能是:转发和路由,虚电路网络中增加了一项:连接建立 R3. 转发是指在路由器内部将输入端口的分组转移到正确的...
  • 计算机网络自顶向下方法 习题参考答案 二章

    万次阅读 多人点赞 2018-09-23 21:09:21
    网络体系结构指的是五模型,应用程序体系结构指的是 P2P 或者 客户-服务器 R3. 先发起对话的是客户,接收请求的是服务器 R4. 不同意,发送文件的对等方通常被称为服务器,接收文件的被称为客户 R5. ...
  • 本文排版和主要内容总结于《计算机网络自顶向下方法》,参考论文如下: MANET 中TCP 改进研究综述 TCP协议的拥塞控制策略及改进 互联网端到端拥塞控制研究综述 LS路由算法与DV路由算法的比较 在王老师...
  • 网络层数据包是数据报。 路由器根据数据包的IP(3层)地址转发数据包。 链路层交换机根据数据包的MAC(2层)地址转发数据包。 基于数据报的网络层:转发; 路由选择。 基于VC的网络层的附加功能:呼叫建立。 转发...
  • 网络层的分组名称是数据报。路由器是根据包的 IP 地址转发包;而链路层是根据包的 MAC 地址来转发包。 R2. 数据报网络中网络层两个最重要的功能是:转发,路由选择。 虚电路网络层最重要的三个功能是:转发,路由选择,...
  • 1、下面的总结针对前言和1-15页 2、因特网生态系统 3、TCP分岔通常用于优化云服务的性能 4、Featuring the Internet:因特网特色 ...9、链路交换机通常用于接入网中,而路由器通常用于网络核心中(因为链路交换
  • 计算机网络自顶向下方法 习题参考答案 五章

    万次阅读 多人点赞 2018-10-17 21:29:31
    P1. 1 1 1 0 | 1 0 1 1 0 | 0 1 0 0 1 | 0 1 1 0 1 | 1 ———— 1 1 0 0 | 0 P2. 例如,P1中的分组出现单比特差错: ...可以定位是一行二列出错 如果是双比特差错: 1 1 1 0 | 1 0 1 1...
  • 复习题 R1. 没什么不同,主机就是端系统,可互换使用;...标准对于协议很重要,这样人们就可以创造相互连接的网络系统和产品。 R4. 1.电话拨号调制解调器:住宅 2.电话线路DSL:住宅,小型公司 3.电缆HF...
  • 假定Alice和Bob经计算机网络相互发送分组。假定Trudy将自己安置在网络中,使得她能够俘获由Alice发送的所有分组,并发送她希望给Bob的东西;她也能俘获Bob发送的所有分组,并发送她希望给Alice的东西。列出在这种...
  • 使用IP,同一TCP连接中的数据报可以在网络中采用不同的路由,因此无序到达。 仍然需要TCP以正确的顺序为应用程序的接收端提供字节流。 此外,由于路由环路或设备故障,IP可能会丢失数据包。 帧:IP和TCP中也有帧;...
  • 计算机网络自顶向下第一章习题

    千次阅读 2018-05-13 10:02:58
    R10:今天最为流行的无线因特网接入技术有...2) 3G、4G:三代无线技术3G为分组交换广域无线因特网接入提供了超过1Mbps的速率。第四代移动通信技术是集3G与WLAN于一体并能够传输高质量视频图像以及图像传输质量与高...
  • 计算机网络结构自顶向下详解

    千次阅读 2018-11-15 21:20:50
    今天在研究生现代网络原理课程上期末答辩中以《高并发大流量网站设计应对技术》夺冠,这是来校三个月来唯一顺心顺意的事情了,很久没有写博客了,今天写两篇,分别是自顶向下解释互联网五结构,自底向上解释互联网...
  • 计算机网络自顶向下方法)学习笔记

    万次阅读 多人点赞 2019-03-24 21:20:07
    一章 计算机网络和因特网 1.1 什么是因特网 1.1.1 组成描述 1.1.2 服务描述 1.1.3 协议 1.2 网络的边缘 1.2.1 接入网 1.2.2 物理媒体 1.3 网络核心 1.3.1 分组交换 1.3.2 电路交换 1.3.3 分组交换和...
  • 网络架构是指将通信过程组织成(例如,五互联网架构)。 另一方面,应用程序体系结构由应用程序开发者设计并指示应用程序的广泛结构(例如,客户端 - 服务器或P2P)。 发起通信的进程是客户端,等待联系的进程是...
  • 复习题 ...网络体系结构是指如五Internet架构。应用程序体系结构是由应用程序开发人员设计的,它规定了应用程序的广泛结构(例如客户机-服务器或P2P)。 R3. 发起请求的是客户端,接收请求的是服务...
  • 计算机网络-自顶向下方法》读书笔记-网络层网络层服务从发送主机向接收主机传送数据段(segment ) 发送主机:将数据段封装到数据报(datagram )中接收主机:向传输层交付数据段(segment )每个主机和路由器...
  • 2.1 R1: ...文件传输:FTP ...目录服务:DNS ...网络体系结构指的是网络层次的组织形式,比如我们常见的五层网络结构 应用体系结构指的是应用当中各个部分的组织形式,如P2P、BS、CS结构。 R3: 初始通...
  • 事实说明,我这种人写读书小结是好事情,否则记不住…… 五章,嗯,明显对链路层比较感兴趣,局域网先放一边。什么是链路层?链路层实现的功能是什么?...链路层上面的是网络层,下面的是物理层
  • 计算机网络自顶向下方法之一一一二章之一

    千次阅读 多人点赞 2016-04-23 17:05:58
    计算机网络自顶向下方法之——二章之一
  • 复习题 R1. a. 将此协议称为简单传输...然后 STP 将目标主机地址和报文段提供给网络层网络层将报文段传送到目标主机上的 STP。STP 然后检查段中的端口号,从段中提取数据,并将数据传递给端口号标识的进程。...
  • 本节书摘来华章计算机《计算机网络自顶向下方法(原书第6版)》一书中的第2章 ,(美)James F.Kurose Keith W.Ross 著 陈 鸣 译 更多章节内容可以访问云栖社区“华章计算机”公众号查看。 课后习题和问题 复习...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 94,058
精华内容 37,623
关键字:

计算机网络自顶向下第6版网络层