计算机网络(第5版 ) Andrew S. Tanenbaum / David J. Wetherall

括号内为页码

文章目录

  • 第1章 引言
    • 传输模式(13)
    • 互联处理器分类(14)
    • 网络体系结构(22)
    • RFC(63)
    • 度量单位(64)
  • 第2章 物理层
    • 傅里叶分析(70)
    • 信道传输速率(73)
    • 引导性传输介质(74)
    • 无线传输(82)
    • 数字调制(97 )
    • 公共电话交换网络(108)
    • 移动电话系统(128)
    • 有线电视 (140)
    • 小结(146)
  • 第3章 数据链路层(151)
    • 数据链路层的设计问题(151)
    • 差错检测与纠正(158 )
    • 基本数据链路层协议(167)
    • 滑动窗口协议(176)
    • 数据链路协议实例(189)
    • 小结(194)
  • 第4章 介质访问控制子层(MAC)(200)
    • 信道分配问题(200)
    • 多路访问协议(202)
    • 以太网(216)
    • 无线局域网(231)
    • 宽带无线(241)
    • 蓝牙(247)
    • RFID(253)
    • 数据链路层交换(256)
    • 小结(270)
  • 第5章 网络层(274)
    • 网络层的设计问题(274)
    • 路由算法(279)
    • 拥塞控制算法(302)
    • 服务质量(311)
    • 网络互联(326)
    • Internet 网络层(335)
    • 小结(376 )

第1章 引言

传输模式(13)

  • 单播:点-点传输。
  • 组播:一个数据报发送给一组目标机器。
  • 广播:一个数据报发送给所有网络中目标机器。

互联处理器分类(14)

  • 个域网PAN(14)
  • 局域网LAN(15)
  • 城域网MAN(18)
  • 广域网WAN(18)
  • 互联网(14)
    • 专用线路能获得的容量是明确的,VPN走的里程数随着Internet服务的变化而有所不同。(20)

网络体系结构(22)

  • 网络体系结构:层和协议的集合。(24)
  • 层次设计问题(26)
    • 可靠性:检、纠错;
    • 可扩展性:寻址、互联;
    • 资源分配:流量控制;
    • 保密性:认证。
  • 接口:定义了下层向上层提供哪些原语操作和服务。(23)
    • 层与层之间清晰的接口使同层协议的替换更容易,只需向紧邻的上次提供与旧协议或旧实现完全相同的服务。(24)
  • 服务:指某一层向它上一层提供的一组原语(操作)(31)
    • 一个服务由一组原语说明,用户进程通过原语(操作)来访问服务(29)
  • 协议:规定了同一层上对等实体之间所交换的数据包或者报文的格式和含义。(31)
  • OSI参考模型:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。(32)
    • 评判:(39)

      • 糟糕的时机
      • 糟糕的技术:模型和协议都存在缺陷。
      • 糟糕的实现:过于复杂。
      • 糟糕的政策
  • TCP/IP模型:应用层、传输层、网络层、链路层。(36)
    • 评判:(41)

      • 没有明确区分服务、接口和协议的概念。
      • 不通用,不适合用于描述TCP/IP之外的其他协议栈。
      • 分层协议的上下文中,链路层并不是通常意义上的一层。
      • 没有区分物理层和数据链路层。
      • 有很多其他协议是自主形成的。
  • 5层混合模型:
    • 应用层:包含了使用网络的应用程序。(38)
    • 传输层:增强网络层的传输保证。(37)
    • 网络层:把多条链路结合到网络中、网络间的互联。(37)
      • 单位:数据包
    • 数据链路层:在计算机间发送有限长度的消息。(37)
      • 单位:数据帧
    • 物理层:规定了如何在不同介质上以电气(或模拟)信号传输比特。(37)
      • 单位:比特

RFC(63)

  • RFC:请求注释(63)
  • 标准提案 -> 标准草案 -> Internet标准(64)

度量单位(64)

  • kbps:1000 bits/s
  • MB: 2202^{20}220 字节
  • GB: 2302^{30}230 字节

第2章 物理层

傅里叶分析(70)

g(t)=12c+∑n−1∞ansin⁡(2πnft)+∑n−1∞bncos⁡(2πnft)an=2T∫0Tg(t)sin⁡(2πnft)dtbn=2T∫0Tg(t)cos⁡(2πnft)dtc=2T∫0Tg(t)dtg(t) = \frac{1}{2} c + \sum^{\infty}_{n-1} a_n \sin(2\pi nft) + \sum^{\infty}_{n-1}bn \cos(2\pi nft) \\ a_n = \frac{2}{T} \int^T_0g(t)\sin(2\pi nft)dt \\ b_n = \frac{2}{T} \int^T_0g(t)\cos(2\pi nft)dt \\ c = \frac{2}{T} \int^T_0 g(t)dt g(t)=21​c+n−1∑∞​an​sin(2πnft)+n−1∑∞​bncos(2πnft)an​=T2​∫0T​g(t)sin(2πnft)dtbn​=T2​∫0T​g(t)cos(2πnft)dtc=T2​∫0T​g(t)dt

其中 ccc为常数,ana_nan​为n次谐波的正弦频率,f=1Tf=\frac{1}{T}f=T1​为基本频率

信道传输速率(73)

  • 基带信号(71)

  • 通带信号(71)

  • (模拟)带宽:传输过程中振幅不会明显衰减的频率的宽度(Hz)。(71)

  • 尼奎斯特定理:(73)

    • 最大传输速率=2Blog⁡2V(bits/s)\text{最大传输速率}=2B \log_2V(bits/s) 最大传输速率=2Blog2​V(bits/s)

    • 其中 BBB 为带宽,VVV 为离散等级。

  • 信噪比:(73)

    • 信噪比=S/N(db)\text{信噪比} = S/N(db) 信噪比=S/N(db)

    • 其中 SSS 为信号功率,NNN 为噪声功率。

  • 最大比特率:(74)

    • 最大比特率=Blog⁡2(1+S/N)\text{最大比特率} = B \log_2 (1 + S/N) 最大比特率=Blog2​(1+S/N)

引导性传输介质(74)

  • 磁介质(74)
  • 双绞线(75)
  • 同轴电缆(76)
  • 电力线(77)
  • 光纤(77)
    • 多模光纤:内部具有多束光的光纤。(78)
    • 单模光纤:光纤直径只有几个光波波长大小,光只能沿直线传播而不会反射。(79)
    • 色散传播:光脉冲沿光纤传播时会散开。(80)
    • 孤波:不存在色散效应的脉冲形状。(80)
    • 优点:(81)
      • 带宽更大
      • 衰减较低
      • 细小、轻
      • 安装费用低
      • 不会漏光
      • 安全性高
    • 缺点:(81)
      • 操作技能要求高
      • 过度弯曲易折断
      • 单向传播或划分频段
      • 接口成本高
  • 光缆(80)

无线传输(82)

  • 电磁频谱(82)

    • 波长 λ\lambdaλ :两波峰(谷)之间的距离, λf=c\lambda f = cλf=c ,其中fff 为频率,ccc 为光速。(82)
    • 路径消耗:传播时信号能量的衰减。(85)
    • 多径衰减:延迟抵达的微波和直接传输的微波可能不同相,因而信号互相抵消。(86)
    • 扩频方式
      • 跳频扩频(83)
      • 直接序列扩频(84)
      • 超带宽扩频(84)
    • 工业科学医学频段:ISM频段,用于非许可性应用,允许任何人使用,有功率限制。(88)
  • 无线电传输(85)
  • 微波传输(86)
  • 红外传输(89)
  • 光通信(89)
  • 通信卫星(90)
    • 弯管:使用转发器侦听频谱中的一部分,对入境信号进行放大,然后在另一频率(避免与入境信号互相干扰)上广播放大后的信号。(91)
    • 高地球轨道GEO
      • 地球同步卫星(91)
      • VSAT系统:使用中继站(93)
    • 中地球轨道MEO
      • GPS卫星(94)
    • 低地球轨道
      • 铱星:通信用,走太空。(95)
      • 全球星:走地面。(95)
    • 卫星好处:(96)
      • 快速部署;
      • 为基础设施不发达的地区提供通信服务;
      • 广播。

数字调制(97 )

  • 基带传输:信号的传输占传输介质上零到最大值之间的全部频率,最大频率取决于信令速率。(97)

    • 符号率:信号改变的速率。(99)
    • 比特率:符号率与每个符号比特数的乘积。(99)
    • 曼切斯特编码:时钟在每个比特时间内产生一次跳变,0为从低到高跳变,1为从高到低跳变。(99)
    • 不归零逆转:1定义为信号有跳变,0定义为信号无转变。(99)
    • 扰频器:在发送数据前用一个伪随机序列异或该数据,接收器用相同伪随机序列对入境数据进行异或操作。有助于调节信号,使得在可能产生电磁干扰的主导频率成分不具有能量,从而降低了电磁辐射干扰。(100)
    • 平衡信号:很短时间内正电压与负电压一样多的信号。(100)
    • 两级编码:0V表示0, +1V和-1V表示1。(100)
  • 通带传输:信号占据以载波信号为中心的一段频带。(无线,光纤信道常用)(97)

    • 格雷码:把比特投影到符号,使得相邻两个符号只有一个比特的位置不同。(103)

    • 频分复用:将频谱分成几个频段,每个用户完全拥有其中的一个频段来发送自己的信号。(104)

      • 正交频分复用:信道带宽被分成独立发送数据的子载波,子载波在频域中紧紧地包裹在一起,在相邻子载波的中心为0。(105)
    • 时分复用:每个用户周期性获得带宽非常短的一个时间,用于以循环方式轮流工作。(105)

      • 统计时分复用:根据需求进行多路复用流的调度。(106)
    • 码分复用:把一个窄带信号拓展到一个很宽的频带上。(106)

      • 码分多址:能提取出期望的信号,同时拒绝所有其他信号,并把这些信号当作噪声。(106)
      • 码分多址实现:
        • 每个比特时间被再细分成m个更短的时间间隔(称为码片),每个站分配的到唯一的m位码(称为码片序列)。(106)
        • 若要发送比特1,就发送分配给它的码片;若要发送比特0,就发送其码片的反码。除此之外不允许发送任何其他模式。(106)
        • 码片自身内积为1,不同码片内积为0。(107)
        • 站发送的为码片的和S。(106)
        • S与原始码片做内积,若发送的是1,得到结果1;若没有发送数据,得到结果是0;若发送的是0,得到结果-1。(107)

公共电话交换网络(108)

  • 本地回路:进入家庭和公司的模拟双绞线。(111)
  • 中继线:连接交换局的数字光纤。(111)
  • 交换局:电话呼叫在这里从一条中继线被接入了一条中继线。(111)
  • 调制解调器:执行数字比特流和模拟信号流之间转换的设备。(113)
  • 交换(125)
    • 电路交换:电话呼叫通过一个交换局时,在电话入境线路与某一条出境线路之间建立一个物理连接。(125)
    • 包交换:路由器使用存储-转发传输技术,把经过它的每一个数据包发送到通往该包目的地的路径上。(126)

移动电话系统(128)

  • 第一代移动电话(1G):模拟语音(130)

    • 蜂窝网络:每个蜂窝使用一组频率,这组频率不会被它任何一个邻居所使用,并且较近(但不相邻)的蜂窝可以重复使用相同的传输频率。基站注意到电话信号越来越弱,会询问周围的基站它们从该电话得到的功率多大,根据获得的回答,该基站将所有权转给获得最强信号的哪个蜂窝。
  • 第二代移动电话(2G):模拟语音(132)
    • 全球移动通信系统(GSM)(133)
    • 用户识别模块(SIM)(133)
    • 访问位置寄存器:包括了所有附近的移动电话,这些移动电话都与它所管理的蜂窝关联(134)
    • 归属位置寄存器:记录每个移动电话最后一个已知位置(134)
    • 信道被划分成时间槽(135)。移动设备使用空闲的时间槽测量附近其他基站的信号质量,并把测量获得的信息发送给基站控制器(BSC),BSC根据这些信息来确定移动电话是否正在离开一个蜂窝并进入另一个蜂窝。(136)
  • 第三代移动电话(3G):数字语音和数据(136)
    • 使用CDMA(码分多址),每个蜂窝可发送相同的频率,消除了复杂的频率规划工作,提高了系统容量。有利于基站使用多个定向天线或扇形天线,把信号集中在某个预定方向,并降低信号强度,从而减少对其他方向的干扰,增加了容量。采用软切换,移动电话在与老基站完全中断之前已经被新基站接管,不会丢失连接的连贯性。(139)

有线电视 (140)

小结(146)

  • 物理层是所有网络的基础。物理性质给所有信道强加了两个根本限制,而这些限制决定了它们的带宽。这些限制分别是处理无噪声信道的尼奎斯特极限和处理有噪声信道的香农极限。
  • 传输介质可以是引异性的或非引导性的。主要的引导性介质有双绞线、同轴电缆和光纤。非引导介质包括地面无线电、微波、红外线、通过空气传输的激光和卫星。
  • 数字调制方式可以通过引导性和非引导性介质上的模拟信号来发送比特。线性编码以基带方式运行,通过调节载波的振幅、频率和相位把信号放置到一个通带上。信道可以时分、频分和码分复用的方式被多个用户共享使用。
  • 大多数广域网络的关键元素是电话系统。电话系统的主要组件有本地回路、中继线和交换机。ADSL在本地回路下可提供高达40 Mbps的数据率,具体做法是将本地回路分割成许多个可同时运行的子载波。这样的速度远远超过了电话调制解调器的速度。PON将光纤引入住户,可提供比ADSL还要高的接入速率。
  • 中继线传送数字信息。用WDM对光纤进行多路复用就可以在其上提供许多条高容量链路,同时通过TDM使得许多用户共享每条高速链路。电路交换和包交换都很重要。
  • 对于移动应用而言,固定电话系统显然并不适用。移动电话在目前被广泛应用于语音通信,并越来越多地用于数据通信。它们己经经历了三代。第一代1G是模拟的,由AMPS 主宰。第二代2G是数字化,在全球部署最广泛的移动电话系统是GSM。第三代3G是数字的并且以宽带CDMA为基础,现在正在部署的有WCDMA和CDMA20000。
  • 另一种网络接入系统是有线电视系统。它己逐渐从同轴电缆演变为混合光纤同轴电缆,从单纯的电视演进为电视和Internet。它的潜在带宽很高,但实际带宽则主要取决于其他用户,因为它是共享式的。

第3章 数据链路层(151)

数据链路层的设计问题(151)

  • 数据链路层完成的功能:(151)

    • 向网络层提供一个定义良好的接口
    • 处理传输错误
    • 调节数据流,保证慢速的接收方不会被快速的发送方淹没
  • 帧包括:帧头、有效载荷、帧尾(151)
  • 数据链路层提供的服务:(152)
    • 有确认的有连接服务
    • 有确认的无连接服务
    • 无确认的无连接服务
  • 面向连接阶段:(153)
    • 创建连接,初始化各种变量和计数器
    • 传输
    • 释放连接
  • 数据链路层通常将比特率拆成多个离散的帧,为每个帧就按一个称为校验和的短令牌,并将该校验和放在帧中一起传输。帧到达目标机器时,重新计算该帧的校验和,如果计算出来的校验和与该帧包含的校验和不同,则数据链路层知道传输过程中产生了错误,会采取措施来处理错误(如丢弃帧,可能还会发回一个错误报告)(153)
  • 成帧方法:(154)
    • 字节计数法:

      • 利用头部中的一个字段来标识该帧中的字符数。
      • 接收方的数据链路层看到字符计数值时,就知道后面跟了多少个字节,知道了该帧在哪里结束。
      • 问题:若计数值在传输过程中出错,则接收方再不可能找到下一帧正确的起始位置。
    • 字节填充的标志字节法:
      • 每个帧用一些特殊的字节(标志字节)作为帧的起始和结束分界符。
      • 字节填充:数据中出现标志字节,发送方须在标志字节前面插入转义符号,接收方在将数据传递给网络层之前需要删除转义字节。
      • 例子:PPP协议
    • 比特填充的标志比特法:
      • 帧划分在比特级别完成,帧可以包含由任意大小的单元组成的二进制比特数。
      • 帧开始共和结束由 01111110(0x7E)标记。
      • 若数据中由连续5个1,发送方在输出的比特流中填入一个比特0,接收方看到5个连续入境比特1,并且后面紧跟一个比特0,就自动删除比特0。
      • 例子:USB
    • 物理层编码违禁法:
      • 使用物理层为违法编码来区分帧的边界
    • 综合:
      • 以太网和802.11使用一个比特模式标识一帧的开始(称为前导码),之后是长度字段,用于定位帧的结束处。
  • 差错控制(156)
    • 发送方发出一帧时,启动一个计时器。如果计时器超时,则重新发送该帧、
    • 使用帧序号区分收到的是原始帧还是重传帧。
  • 流量控制(157)
    • 基于反馈的流量控制
    • 基于速率的流量控制

差错检测与纠正(158 )

  • 纠错码:在发送数据中加入足够多冗余信息,接收方能据此推断处被发送的信息是什么。使用纠错码的技术通常也称为前向纠错。(158)

    • 海明码

      • 海明距离:两个码字中不同位的个数。(159)
      • 检测d个错误需要距离为d+1的编码方案。(160)
      • 纠正d个错误需要距离为2d+1的编码方案。(160)
      • m的消息位下,纠正单个错误所需的校验位数r下限满足: m+r+1≤2rm+r+1 \le 2^rm+r+1≤2r 。(160)
    • 二进制卷积码
    • 里德所罗门码
      • 加入2t个冗余符号后,可纠正传输符号中的任意t个错误。(162)
    • 低密度奇偶校验码
  • 检错码:在发送数据中加入冗余信息,这些信息只能让接收方推断出十分发生了错误。(158)
    • 奇偶:使得码字中比特1的数目是偶数(或奇数)。(163)
    • 校验和
    • 循环冗余校验(CRC):(166)
      • 步骤:

        • 假设G(x)的阶为r。在帧的低位端加上r个0位,使得该帧现在包含m+r位,对应多项式为 xrM(x)x^rM(x)xrM(x) 。
        • 利用模2除法,用对应于G(x)的位串去除对应于 xrM(x)x^rM(x)xrM(x) 的位串。
        • 利用模2减法,从对应于 xrM(x)x^rM(x)xrM(x) 的位串中减去余数。
      • 一个坏帧被当成有效帧通过的概率为 1/2r1/2^r1/2r 。(167)
  • 码字:一个包含了数据位和校验位的n位单元称为n位码字。(159)
  • 码率:码字中不包含冗余部分所占的比例。(159)

基本数据链路层协议(167)

滑动窗口协议(176)

  • 接收方和发送方的滑动窗口大小可以不同。(177)
  • 回退n协议。(181)
  • 选择重传协议:接收方怀疑出现错误时,给发送方返回一个否定确认帧,这样的帧实际上是一个重传请求。(188)

数据链路协议实例(189)

  • PPP(点对点协议):(190)

    • 面向字节,使用字节填充
    • 主要特性:
      • 一种成帧方法:无歧义地区分一个帧的结束和下一帧的开始
      • 链路控制协议:用于启动线路、测试线路、协商参数、关闭线路
      • 网络控制协议:独立于网络层的协商网络层选项的方式
    • 格式:flag - address - control - protocol - pay load(默认1500字节) - checksum - flag
  • 异步传输协议(ATM)(193)

小结(194)

  • 数据链路层的任务是将物理层提供的原始比特流转换成由网络层使用的帧流。链路层为这样的帧流提供不同程度的可靠性,范围从无连接无确认的服务到可靠的面向连接服务不等。
  • 链路层采用的成帧方法各种各样,包括字节计数、字节填充和比特填充。数据链路协议提供了差错控制机制来检测或纠正传输受损的帧,以及重新传输丢失的帧。为了防止快速发送方淹没慢速接收方,数据链路协议还提供了流量控制机制。滑动窗口机制被广泛用来以一种简单方式集成差错控制和流量控制两大机制。当窗口大小为1个数据包时,则协议是停-等式的。
  • 纠错和检错码使用不同的数学技术把冗余信息添加到消息中。卷积码和里德所罗门码被广泛用于纠错,低密度校验码越来越受到欢迎。实际使用的检错码包括循环冗余校验和校验和两种。所有这些编码方法不仅可被应用在链路层,而且也可用在物理层和更高的层次。
  • 我们考察了系列协议,这些协议在更现实的假设下通过确认和重传,或者ARQ(自动重复请求)机制为上层提供了一个可靠的链路层。从一个无错误的环境开始.即接收方可以处理传送给它的任何帧,我们引出了流量控制,然后是带有序号的差错控制和停-等式算法。然后,我们使用滑动窗口算法允许双向通信,并引出捎带确认的概念。最后给出两个协议把多个帧的传输管道化,以此来防止发送方被一个有着漫长传播延迟的链路所阻塞。 接收方可以丢弃所有乱序的帧,或者为了获得更大的带宽效率而缓冲这些乱序帧,并且给发送方反馈否定确认。前一种策略是回退n协议,后一种策略是选择重传协议。
  • Internet使用PPP作为点到点线路上的主要数据链路协议。PPP协议提供了无连接的无确认服务,使用标志字节区分帧的边界,至于错误检测则采用CRC。该协议通常被用在运载数据包的一系列链路上,包括广域网中的SONET链路和家庭ADSL链路。

第4章 介质访问控制子层(MAC)(200)

用来确定多路访问信道下一个使用者的协议属于介质访问控制子层。

信道分配问题(200)

  • 静态信道分配:频分多路复用(FDM)(200)
  • 动态信道分配:(201)
    • 流量独立
    • 单信道
    • 冲突可观察
    • 时间连续或分槽
    • 载波侦听或不听

多路访问协议(202)

  • 竞争系统:多个用户共享同一个信道的方法会导致冲突,这样的系统称为竞争系统。(203)
  • ALOHA(202)
    • 纯ALOHA:用户有数据需要发送时就传输。发送方需要某种途径来发现是否发生了冲突。发送方可以通过监听中央计算机广播的该帧,确定帧是否发生变化。如果帧被破坏了,发送方随机等待一段时间再发送该帧。(203)
    • 分槽ALOHA:
      • 时间分成离散的间隔,这种时间间隔称为时间槽。(204)
      • 这种方法要求用户遵循统一的时间槽边界,取得同步时间的一个方法时由一个特殊的站再每个间隔起始时发出一个脉冲信号。(204)
      • 在时间槽开始时刻发送帧。(205)
  • 载波监听多路访问协议(206)
    • 1-坚持载波监听多路访问协议(CSMA):当一个站有数据要发送时,首先监听信道,确定当时是否有其他站在传输数据。如果信道空闲,它就发送数据;否则,该站等信道变空闲后,发送一帧。如果发送冲突,该站随机等待一段时间,然后从头开始上述过程。(206)
    • 非坚持载波监听多路访问协议:当一个站有数据要发送时,首先监听信道,确定当时是否有其他站在传输数据。如果信道空闲,它就发送数据;否则,该站随机等待一段时间,然后从头开始上述过程。(206)
    • p-坚持载波监听多路访问协议:适用于分时间槽的信道。当一个站有数据要发送时,首先监听信道,确定当时是否有其他站在传输数据。如果信道空闲,它就以概率p发送数据,以概率q=1-p将此次发送推迟到下一个时间槽。如果下一个时间槽信道也空闲,则还是以概率p发送数据,以概率q将此次发送推迟到下一个时间槽。直到该帧发送出去。若该过程中出现冲突,该站随机等待一段时间,然后从头开始上述过程。如果刚开始时就侦听到信道为忙,则等到下一个时间槽,再应用上面的算法。(207)
    • 带冲突检测的CSMA(CSMA/CD):在检测到冲突后立即停止传输帧。只有一个站传输了 2τ2\tau2τ 之后还没有监听到冲入,才可以确保自己抓住了信道。 τ\tauτ 时两个相距最远的站传播信号所需要的时间。(208)
  • 无冲突协议(208)
    • 位图协议:对于N个发送方,每个竞争期包含N个槽,如果发送方有数据要发送,就在自己对应的槽中传输1。当经过N个槽后,每个站都知道有哪些站要传输数据,就可以按照编号顺序开始传输数据。(209)
    • 令牌传递:一个称为令牌的短消息按预定义的顺序从一个站传到下一个站,得到令牌的站可以发送帧,然后再把令牌传给下一站。(210)
    • 二进制倒计数:每个站有一个二进制编号,一个站若看到自己的地址为中0值位置被改写成1,则放弃竞争。(211)
  • 有限竞争协议(211)
    • 低负载下采用竞争做法提供较短的延迟,高负载下采用无冲突技术获得更好的通信效率。(211)
    • 将站划分成组,每组拥有一个时间槽,组中的站竞争时间槽。同态调整组中站的数量。(212)
    • 自适应树遍历协议:把站看成二叉树节点,按深度优先策略找到所有就绪站。(212)
  • 无线局域网协议(214)
    • 隐藏终端问题:由于竞争者离得太远而导致站无法检测到潜在竞争者。(215)
    • 暴露终端问题:ABCD四个站直线排布,C站想给D站传送数据,侦听时发现B站在传输数据,虽然B站是在给A站传输数据,但A站会认为此时不能发送数据。(215)
    • 冲突避免多路访问(MACA):发送方刺激接受方输出一个短帧,以便其附近的站能检测到该次传输,从而避免在接下去进行的数据帧传输中发送数据。(215)

以太网(216)

  • 分类(216)

    • 经典以太网
    • 交换式以太网
  • 经典以太网MAC子层协议(218)
    • 限制最小帧长:防止发送方在发送结束之后才收到噪声。所有帧必须至少需要 2τ2\tau2τ 时间才能完成传输,这样当突发噪声回到发送方时传输过程仍在进行。(220)
    • 二进制指数后退的CSMA/CA:第 iii 次冲突后,随机等待 000 ~ 2i−12^i - 12i−1 个时间槽,再尝试发送。到达10次冲突后,选择区间固定在最大值1023,不再增加。16次冲突后,返回失败报告,不再发送。 (220)
    • 以太网性能(221)
  • 交换以太网(222)
    • 交换局优于集线器原因:(224)

      • 没有冲突,容量使用更为有效。
      • 交换局可以同时发送多个帧。
  • 快速以太网(224)
  • 千兆以太网(226)
    • 支持全双工和半双工模式。(226)
    • 连接到交换机时,采用全双工模式,此时不会发生冲突,线缆最大长度由信号强度决定。(227)
    • 连接到集线器时,采用半双工模式,使用CSMA/CD协议。(227)
      • 载波扩充:硬件在普通帧后面加填充位,扩充帧长度。(227)
      • 帧突发:允许发送方将多个待发送帧级连在一起,一次性传输出去。(227)
  • 万兆以太网(229)

无线局域网(231)

  • 协议栈(231)

    • 物理层对应于OSI的物理层。
    • 数据链路层分为两个或更多子层。
      • 介质访问控制(MAC)子层:决定信道的分配,也就是下一个谁可以发送。
      • 逻辑链路控制子层:隐藏802系列协议之间的差异,使它们在网络层看来并无差别。
  • 802.11物理层(232)
    • 速率自适应:根据无线信号的强弱调整速率。(233)
    • 802.11b使用2.4GHz频段,实际运行速率几乎总在11Mbps。(233)
    • 802.11a在5GHz频段支持6~54Mbps,基于正交频分复用(OFDM)。(233)
    • 802.11g工作在2.4GHz频段,提供与802.11a相同的速率,与802.11b设备兼容。(233)
    • 802.11n目标时吞吐量达到100Mbps,可以同时使用4根天线发送四个信息流。(234)
  • 802.11 MAC子层协议(234)
    • 使用CSMA/CD协议。(234)
    • 分布式协调功能(DCF):每个站独立行事,没有任何一种中央控制机制。(235)
    • 点协调功能(PCF):AP控制自己覆盖范围内的一切活动,实际使用中很少使用,因为通常没有办法阻止临近网络中的站发送竞争流量。(235)
    • 物理侦听:简单地检查介质,看是否存在有效的信号。(236)
    • 虚拟侦听:每个站保留一个信道何时要用的记录,通过追踪网络分配向量(NAV)获得。每个帧携带一个NAV字段,说明这个帧所属的一系列数据将要传输多长时间。听到这个帧的站就知道无论自己是否侦听到物理信号,由NAV指出的时间段内信道都是繁忙的 。(236)
    • 信标帧:信标帧由AP定时广播,该帧向客户通告AP的存在,同时传递一些参数,如AP的标识、时间(下一帧多久再来)和安全设置。(237)
    • 客户端可以在发送到AP的帧中设置一个电源管理位,告诉AP自己进入省电模式,在这种模式下,AP将缓存所有发给该客户的流量。客户端在每次信标帧来时苏醒,并检查信标帧中的流量图,获知是否有发给它的缓冲流量。如果有,则给AP发送一个poll消息,示意AP将缓存的流量发送过来。(237)
    • 自动省电交付:AP为休眠的客户端缓冲帧,客户端发送帧到AP后才将缓存的帧发送到客户端。(237)
    • 帧间间隔从短到长分别为:短帧间间隔(SIFS)、仲裁帧间空间(AIFS1_11​)、DCF帧间隔(DIFS,常规的数据帧之间的间隔)、AIFS4_44​ 、拓展帧间间隔(EIFS)。(238)
  • 帧结构(239)
    • 802.11帧类型:数据帧、控制帧和管理帧。(239)
  • 服务(240)
    • 关联:移动站把自己连接到AP上。
    • 重新关联:允许站改变它的首选AP。
    • 认证。
      • 有线等效保密(WEP):预共享密钥的身份验证发生在关联之前。(241)

宽带无线(241)

  • 802.16:全球微波接入互操作性(WiMAX)。(242)
  • 使用正交频分多址(OFDMA),为不同站分配不同的子载波集,可以同时有多个站发送或接收。(244)
  • 允许时分双工和频分双工。首选时分双工。(245)

蓝牙(247)

  • 配对:设备彼此发现并连接的行为。(247)
  • 微网:包含一个主节点,以及10米距离之内至多7个活跃的从节点。可以有255个驻留节点。可通过桥节点连接起来。(248)
  • 散网:一组相互连接的微网。(248)
  • 驻留节点:主节点已将其切换到一种低功耗状态,除响应主节点的激活或者信标信号外,不做任何其他事情。(248)
  • 轮廓:蓝牙SIG规范支持的25种应用程序。(248)
  • 蓝牙协议栈(248)
    • 底层是物理无线电层,涉及无线传输和调制解调。使用自适应跳频,排除有其他射频信号的信道。(249)
    • 链路控制(或基带)层,涉及主节点如何控制时间槽及如何将这些时间槽组成帧。(249)
    • 主机控制器接口。使用逻辑链路控制适配协议,帧携带可变长的消息,如果需要还可以提供可靠性。服务发现协议和射频通信协议需要用到此协议。(249)
    • 链路形式:(251)
      • 同步有连接:用于实时数据传输,链路上的帧永远不会被重传。
      • 异步无连接:以数据包方式交换那些无时间规律的数据,基于尽力而为投递,没有任何保证。

RFID(253)

  • 无线射频识别(RFID)(253)
  • 后向反射:为了发送数据,将来自读写器的信号反射回去,或把来自读写器的信号吸收。(254)

数据链路层交换(256)

  • 网桥:连接局域网设备。工作在数据链路层。(256)
  • 交换机:网桥的现代名称,其功能超越了传统的以太网和以太网集线器。(256)
  • 泛洪算法:对于每个发向未知目标地址的入境帧,网桥将它输出到所有端口,除了它来的哪个端口。随着时间的推移,网桥将会学习到每个目标地址在哪,一旦知道了一个目标地址,以后发给该地址的帧只被放到正确的端口,而不再被泛洪到所有端口。(259)
  • 后向学习法:通过检查帧的源地址,网桥可以获知通过那个端口可以访问到哪些机器。(259)
  • 网桥哈希表会记录该地址到达的最后一个帧的时间,并定时将最后一个帧时间在几分钟前的表项删除。(259)
  • 直通式交换:网桥只要看到MAC地址就可决定如何转发帧,有可能看到目的地址时,帧的其他部分还在输入,即在完整接收一帧之前就开始了转发。(260)
  • 构建生成树:网桥运行一个分布式算法,每个网桥周期性地从它的所有端口广播一个配置消息给邻居,同时处理来自其他网桥的消息,根据生成树算法构建生成树。这些消息不会被转发。(262)
  • 生成树算法:(262)
    • 选择根:每个网桥在自己的配置信息种包含一个标识符(基于MAC地址),以及它们认为应该作为根的网桥的标识符。网桥选择具有最低标识符的网桥作为生成树的根。经过足够多的信息交换和扩散,最终所有网桥同意这个根。
    • 构造从根到每个网桥的最短路径树:网桥在配置信息中包含它们与根的距离。每个网桥记住它找到根的最短路径,如何关闭不至于最短路径的一部分端口。
    • 网络正常运行期间算法也要继续进行,以便自动检测拓扑结构的变化,并更新生成树。
  • 设备及其所在层:(263)
    • 物理层:

      • 中继器:清理、放大一个线缆上出现的信号,如何放到另一个线缆上。
      • 集线器:有多条输入线路,它将这些线路的输入连接在一起。如果两帧同时到达,会冲突。通常不会放大入境信号。连接到一个集线器上的所有线路必须以同样速度运行。
    • 数据链路层:
      • 网桥:连接两个或多个局域网。每个端口被隔离成它自己的一个冲突域。如果端口是全双工的点到点线路,则需要CSMA/CD算法。输入线路可以是不同的运行速度,甚至是不同的网络类型。
      • 交换机:与网桥更多的差异体现在市场而不是技术方面。使用点到点连接。
    • 网络层:路由器
    • 运输层:网关
  • 虚拟局域网(VLAN)(265)
    • 基于VLAN感知交换机,通常用颜色来命名(非正式)。(266)
    • 网桥必须建立配置表,配置表指明哪些端口可以访问到哪些VLAN。一个端口可以标记多个VLAN颜色。(267)
    • 查找帧所要发往的端口的表的建立方法与之前描述算法类似。(269)

小结(270)

  • 有些网络只有个信道可用于全部的通信。在这些网络中,关键的设计问题在于如何在希望使用信道的竞争站之间分配信道。

    • 当站的数目较小且固定,而且流量呈连续型时,FDM和TDM是简单而有效的分配方案。这两种模式被广泛使用在这两种情况下,例如,电话中继线带宽的划分。
    • 站的数目较大并且可变,或者流量呈现相当突发的突发时(一般情况),FDM和TDM就是糟糕的选择。
  • 许多动态信道分配算法被设计了出来。
    • ALOHA协议,包括分槽的与不分槽的,被用在许多实际系统的衍生物中,例如线缆调制解调器和RFID。
    • 当可以侦听信道状态后,作为一种改进,站在其他站传输时可避免启动自己的传输。这种技术,即载波侦听,导致了局域网和城域网的CSMA各种协议。它是典型以太网和802.11网络的摹础。
  • 众所周知有一类协议能完全消除竞争,或者至少能大大减少竞争。
    • 位图协议、拓扑结构(比如环)以及二进制倒计数协议完全消除了竞争。
    • 树遍历协议能减少竞争,具体做法是动态划分成两个大小不同的相邻组,并且只允许同个组内的站竞争。最理想的组选择是当它允许发送时只有一个站要发送。
  • 无线局域网提出了新的问题,就是很难侦听到传输冲突,而且站所覆盖的区域可能有所不同。
    • 在主宰无线局域网的IEEE 802.11中,站使用CSMA/CA,通过留有很小的时间间隔来避免冲突,从而减轻第一个问题。
    • 站还可以使用RTS/CTS协议来对抗由于第二个问题引起的隐藏终端。
    • IEEE 802.11通常被用于把笔记本电脑和其他设备连接到无线接入点,但它也可以用在设备之问的自组织联网。
    • 任何一种物理层都可以被使用,包括有或没有多个天线的多信道频分复用,以及扩频技术。
  • 跟802.11一样,RFID读写器和标签使用随机访问协议来交换标识符。其他无线个域网和无线城域网有不同的设计。
  • 蓝牙系统可连接耳机和许多不同类型的外设到计算机而无须任何线缆。IEEE 802.16为固定和移动计算机提供了广域的无线Internet数据服务。
    • 这两类网络都使用了一个集中并面向连接的设计,其中蓝牙主节点和WiMAX基站决定每个站何时可以发送或接收数据。
    • 对于802.16而言,这种设计可为诸如电话那样的实时流量和像Web浏览这样的交互式流量提供服务质量保障。
    • 至于蓝牙,复杂性放置在主节点上,从而导致从节点非常的价廉物美。
  • 以太网是有线局域网的主要形式。
    • 经典以太网使用CSMA/CD来分配黄色花园软管内电缆的信道,这个软管在机器之间蜿蜒穿梭。
    • 随着速度由原来10Mbps提升到10Gbps并继续攀升,体系结构已经发生改变。
    • 现在,诸如双绞线那样的点到点链路连接着集线器和交换机。
    • 有了现代交换机和全双工链路,链接上已经不存在竞争,交换机可以在不同的端口之间并行地转发顿。
  • 若要把局域网布满整个建筑物,就需要一种互连局域网的方法。即插即用的网桥就能用于此目的。
    • 搭建网桥时需要用到后向学习算法和生成树算法。
    • 由于此功能已被纳入现代交换机,因此术语“网桥”和“交换机”可以互换着使用。
  • 为了帮助桥接局域网的管理, VLAN技术使得物理拓扑结构可划分为不同的逻辑拓扑结构。VLAN标准,即IEEE 802.1Q协议,引入了一种新的以太网帧格式。

第5章 网络层(274)

网络层的设计问题(274)

  • 无连接服务的实现(276)

    • 数据包通常称为数据报。对应的网络称为数据报网络。(276)
  • 面向连接服务的实现(277)

    • 数据包发送之前需要建立一条从源路由器到目标路由器之间的路径,这个连接称为虚电路(VC)。对应网络称为虚电路网络。(276)
    • 标签交换:替换数据包中的连接标识符。(278)
  • 虚电路与数据包网络的比较

    • 问题 数据报网络 虚电路网络
      电路建立 不需要 需要
      寻址 每个包包含全部的源和目的地址 每个包包含简短的VC号
      状态信息 路由器不保存连接状态 针对每个连接,每条VC都需要路由器保存其状态
      路由方式 每个数据包单独路由 建立VC时选择路由,所有包遵循该路由
      路由器失效影响 除因路由器破溃丢失的包,没有影响 穿过故障路由器的所有VC都将终端
      服务质量 困难 容易
      拥塞控制 困难 容易

路由算法(279)

  • 路由算法:负责确定一个入境数据包应该被发送到哪一条输出线路上。如果网络内部使用数据报,则需要为每一个到达的数据包重新选择路径,因为最佳路径可能发送了变化。如果网络内部使用虚电路,只有在建立一条虚电路时才需要做出路由决策(也称为会话路由)。(279)
  • 路由:对使用哪一条路径做出决策。(279)
  • 转发:数据包到达时该采取的动作。(279)
  • 非适应性算法/静态路由:不会根据当前测量或估计的流量和拓扑结构来调整路由决策。路由选择预先计算好并在网络启动时下载到路由器中。(280)
  • 自适应性算法:会改变路由决策以便反映拓扑结构的变化。(280)
  • 汇集树:从所有的源到一个指定目标的最优路径的集合构成的以目标节点为根的树。(281)
  • 最短路径算法:(281)
    • 权重:距离、带宽、平均流量、通信成本、平均延迟等因素。(282)
    • 从一个节点开始,将该节点标记为永久。检查每个与该节点相邻的节点,计算距离,添加暂时标记和出发节点。检查了每一个相邻节点后检查图中所有具有暂时标记的节点,具有最小标记的节点变为永久节点。从该节点开始检查其相邻节点。重复上述步骤。(283)
  • 泛洪算法:将数据包发送给除了收到该数据包到达的那条路线以外的每条出境线路。通过记录每个源路由器的数据包序号,避免重复泛洪同一数据包。(284)
  • 距离矢量算法/RIP协议:(285)
    • 路由器维护一张表,表中列出当前已知的到每个目标的最佳距离,以及所使用的链路(出境线路)。路由器每隔T毫秒向它的邻居发送表,这些表通过邻居之间相互交换信息而不断被更新,最终每个路由器都了解到达每个目的地的最佳链路。(285)
    • 对好消息反应迅速,对坏消息反应慢(无穷计数问题)。(286)
  • 链路状态路由:(288)
    • 每个路由器完成以下事情:(288)

      • 发现邻居节点并了解其网络地址;
      • 设置到每个邻居节点的距离或成本度量值;
      • 构造一个包含所有刚刚获知的链路信息的包(每隔一段时间或某些事情发生时(一条线路断掉、一个邻居节点停机));
      • 将这个包发送给所有其他的路由器,并接受来自所有其他路由器的信息包;
      • 计算出到每个其他路由器的最短路径。
    • 没有慢收敛问题。(291)
    • 变种:开放最短路径优先(OSPF)。(288)
  • 层次路由:路由器被划分成区域,每个路由器知道如何将数据包路由到自己所在区域内的目的地址,但对其他区域的内部结构毫不知情。(292)
  • 广播路由:(293)
    • 多目标路由:每个数据包包含一组目的地址或一个位图,有该位图指定所期望到达的目标。中途路由器检查所有目的地址,为每一条需要用到的输出线路生成一份该数据包的新副本,副本中只包含使用该线路的目的地址。(293)
    • 逆路径转发:(294)
      • 当一个广播数据包到达一个路由器时,路由器检查它到来的那条线路是否通常用来给广播源发送数据包。如果是,说明该广播包时沿着最佳路径被转发过来的,因而是到达当前路由器的第一份副本,则路由器将该数据包转发到除了到来的那条线路之外的所有其他线路。否则数据包被当成一个可能的重复数据包而丢弃。
      • 有效且易于实现。
      • 只往每个方向上的链路发送一次广播数据包,仅仅要求路由器知道如何到达全部目标,无需记住序号或在数据包中列出全部的目的地址。
    • 基于生成树。(294)
  • 组播路由:(294)
    • 通过修剪广播生成树把不通往组成员的链路从树枝删掉,修剪结果得到的是一棵有效的组播生成树。(294)
    • 基于核心树:计算某个组的单棵生成树。根节点路由器成为核心或会聚点,每个成员通过给根发送数据包来建立这棵树。发往该组的数据包不需要到达核心再转发,在转发给根时也会转发到其他分枝。(295)
  • 选播路由:数据包被传递给最近的一个组成员。(296)
  • 移动主机路由:(297)
    • 每当移动主机移动,以及拓扑发生变化,就重新计算路由。
    • 在网络层之上提供移动。在不同的地理位置获得不同的网络地址。
    • Internet和蜂窝网络移动路由采用的基本想法:移动主机将自己在哪告诉家乡位置的一台主机,这台主机称为家乡代理。它将以移动主机的名义采取行动。一旦它知道移动主机的当前位置,就可以转发数据包以便数据包传递给移动主机。
  • 自组织网络(Ad hoc)路由:(300)
    • 按需距离矢量(AODV)(300):

      • 路由发现:在每个节点上维护一张距离矢量表,以目标节点作为关键字,每个表项给出关于该节点的信息,包括将数据包发送给哪个邻居才可以到达这个目标。当目的地址不在表项中时,才去发现路径。源路由器构造路由请求包,源路由器和中间路由器采用泛洪算法广播它。目标节点返回路由应答包,沿路径逆向单播给源路由器。据此更新相关路由器的表。(300)
      • 路由维护:每个节点周期性广播HELLO消息,如果邻居节点没有回应,则说明邻居已经不可用。对于使用该邻居的路径,通知相应的活跃邻居,告知它们删除路径。(301)

拥塞控制算法(302)

  • 如何确定网络开始拥塞:路由器可监测平均载荷、排队延迟或丢包情况。在所有情况下,数值上升表明拥挤情况越来越严重。(304)
  • 如何通知端减缓速度:路由器参与源端反馈循环中。(305)
  • 流量感知路由:(305)
    • 最直接方式:将链路权重设置成一个固定的链路带宽、传输延迟、(可变的)测量载荷或平均排队延迟的函数。在有其他条件都相同的情况下,最小园中的路径更青睐那些轻负载的路径。(305)
    • 流量工程:网络不依赖负载来调整路由,在路由协议外部通过慢慢改变它的输入来调整路由。(306)
  • 准入控制:除非为网络可以携带额外的流量而不会变得拥塞,否则不再建立新的虚电路。(306)
    • 漏桶:有两个参数,约束了平均速率和瞬时突发流量大小。被广泛应用于服务质量。(306)
    • 准入控制可以和流量感知路由相结合,考虑绕开流量热点区域的路由。(306)
  • 流量调节:(307)
    • 排队时延d估计(指数加权移动平均):dnew=αdold+(1−α)sd_{new} = \alpha d_{old} + (1 - \alpha) sdnew​=αdold​+(1−α)s ,其中 sss 为顺势队列长度,常数 α\alphaα 决定路由器多快忘记最近的历史。(307)
    • 抑制包:目的路由器选择一个被拥塞的数据包,给数据包源主机返回一个拥塞包。源主机收到后按照要求减少发送给指定目标的流量。在一定时间间隔内,源主机应该忽略该固定间隔内到达的额外抑制包。 (307)
    • 显式拥塞通知(ECN):路由器在它转发的任何数据包上打上标记,发出信号,表明其正在经历拥塞。当网络传递数据包时,接受方可以注意到有个拥塞已经发生,在它发送应答包时顺便告知发送方,从而发送方可以降低传输速率。(308)
    • 逐跳后压:让抑制包在每一跳都发挥作用。中间路由器依次减慢发给通向目标路由器的下一路由器的发送速率。(309)
  • 负载脱落:当路由器因为来不及处理数据包而面临被这些数据包淹没的危险时,就将它们丢弃。(310)
    • 葡萄酒策略:对于文件传输,旧数据包的价值高于新数据包。因此丢弃新数据包。(310)
    • 牛奶策略:对于实时媒体流,新数据包价值高于旧数据包。因此丢弃旧数据包。(310)
  • 随机早期检测(RED):路由器维护一个运行队列长度的平均值。当某条链路上的平均队列长度超过某个阈值时,该链路就被认为即将拥塞,因此路由器随机丢弃一小部分数据包。随机丢弃使得快速发送方发现丢包的可能性更大。(311)

服务质量(311)

  • 流量整形:调节进入网络的数据流的平均速率和突发性所采取的技术。目标是允许应用程序发送适合它们需求的各种流量。(313)
  • 服务等级约定:用户和服务提供者之间高于流量形态的约定。(313)
  • 流量监管:服务提供商对超出约定模式之外的数据进行丢弃或打低等级标签处理。(314)
  • 漏桶算法:每个主机连接到网络的接口中包含一个漏桶,漏桶满时到达的包进入队列等待漏桶空出位置或被丢弃。(314)
  • 令牌桶算法:从桶里掏出令牌。桶只能累积固定数量的令牌,如果桶为空,则必须等待更多的令牌到达才能发送另一个数据包。(314)
  • 包调度算法:在同一个流的数据包之间以及在竞争流量之间分配路由器资源的算法(316)
    • 为不同流可以预约的潜在资源:带宽、缓冲区、CPU周期。(317)
    • 公平队列算法:针对每条输出线路,路由器为每个流设置单独的队列。当线路空闲时,路由器循环扫描各个队列,从下一个丢列中取出第一个数据包发送。(317)
    • 加权平均队列(WFQ):根据数据包的到达时间和加权长度进行排序,得到完成时间,按完成时间顺序进行发送。(319)
    • QoS路由:用户向网络提供一个有QoS需求的流量,网络根据自己的容量以及向其他流做出的承诺决定是否接受或拒绝该流。若接受,则要在路由器上预留出容量,以便保证新流发送时的服务质量。(319)
    • 流规范:用特定参数来精确描述流,这些参数是可以为各方所协商的。(320)
  • 综合服务:对流式多媒体体系结构的设计工作(322)
    • RSVP-资源预留协议:主要功能是预留资源,发送数据使用其他协议。对于新的预留请求,如果路由器发现自己已经有来自目标主机之间的预留,则不再需要预留。(322)
  • 区分服务:(324)
    • 区分服务可以由一组路由器提供,这些路由器构成了一个管理域。管理规范定义了一组服务类别,每个服务类别对应于特定的转发规则。如果一个客户已经订购了区分服务,那么进入到该管理域的客户数据包就会被标上它们属于哪类服务。服务类别定义为单跳行为,对应于数据包在每个服务器得到的待遇。具有单跳行为的数据包相比其他数据包可以获得更好的服务。(324)
    • 加速转发:可以把服务类别分为两类:常规的和加速的。(325)
    • 确保转发:规定了4种优先级别,每种级别都拥有自己的资源。针对正在阻塞的包,定义了3种丢弃概率。组合起来共12中服务类别。(325)

网络互联(326)

  • 连接不同网络的两种形式:(328)

    • 使用设备进行数据包的翻译或转换。
    • 在不同网络上面增加一个间接层。
  • 网桥用于链路层的同类网络连接,路由器用于网络层的不同类别网络的连接。(330)
  • 多协议路由:可以处理多个网络协议的路由器。(330)
  • 隧道:在中间网络传输时,数据包被封装在其他协议中进行传输。(330)
  • 互联网路由:(331)
    • 每个网络内使用域内或内部网关协议进行路由。(332)
    • 网络间使用域间或外部网关协议,称为边界网关协议(BGP)。(332)
    • 由于每个网络独立于所有其他网络运营,因此这样的网络通常称为一个自治系统(AS)。(332)
  • 数据包分段(332)
    • 路径最大传输单元(MTU)(333)

      • 路径MTU发现:每个IP数据包头设置一个比特,指示不允许对该数据包分段。如果路由器收到的数据包太大,则返回一个报错信息给源端并丢弃该数据包。源端根据收到的报错数据包的信息,对数据包进行分段。(334)
    • 路由器将数据包拆分成段。(333)
      • 由出口路由器进行重组。
      • 由目标主机进行重组。

Internet 网络层(335)

  • RFC 1958十大原则:(335)

    • 保证工作;
    • 保持简单;
    • 明确选择;
    • 模块开发;
    • 期望异构性;
    • 避免静态选项和参数;
    • 寻找好的而不是完美的设计;
    • 严格发送,宽容接受;
    • 考虑可扩展性;
    • 考虑性能和成本。
  • 骨干网中最大的一个称为一级网络,每个骨干网都与它相连。连接到骨干网上的时Internet服务提供商(ISP)。(336)

  • Internet协议:将整个Internet黏合在一起的网络层协议。(336)

  • IPv4协议:(336)

    • 头部(最小20字节):

      • 版本;
      • IHL:指明头部长度,最小为5(20字节),最大为15(60字节);
      • 区分服务:最初为服务类型;现在前6位用于标记数据包的服务类别,后2位用于携带显式拥塞通知信息;
      • 总长度:最大长度是65535字节;
      • 标识:用于让目标主机确定一个新到达的分段属于哪个数据报,同一数据报所有段包含相同标识;
      • DF:不分段标志位;
      • MF:更多分段位;
      • 分段偏移量:指明该段在当前数据报中的位置,除最后一个段,其他段长度必须是8字节的倍数,最多有8192个段;
      • 生存期:最大为255;
      • 协议:指明将其交割哪个传输进程;
      • 头校验和:由于生存期变化,每一跳都必须重新计算;
      • 源地址;
      • 目的地址;
      • 选项:每个选项第一个字节是标识码,指明该选项类别,之后是选项长度字段和数据字节。
        • 安全性:表明数据包的安全级别,所有路由器都忽略该选项;
        • 严格源路由:给出数据报从源到目标的完整路径(IP地址),数据报必须严格遵循这条路径;
        • 松散源路由:给出一些不能错过的路由器;
        • 记录路由:要求每个路由器加速自己的IP地址;
        • 时间戳:要求每个路由器加速自己的IP地址和时间戳。
  • IP地址:(340)

    • 分类寻址:(345)

      • A类:0开头,网络号8位,主机号24位;
      • B类:10开头,网络号16位,主机号24位;
      • C类:110开头,网络号24位,主机号24位;
      • D类:1110开头,剩下28位为组播地址;
      • E类:1111开头,剩下28位为保留。
    • 0.0.0.0:这个网络或这个主机。(346)
    • 255.255.255.255:指定网络的所有主机。(346)
    • 127.x.y.z:用于回环测试。(346)
    • 前缀:通过“/前缀长度”表示。以这种格式书写时称为子网掩码。(340)
    • 子网划分:在内部将一个网络分成几个不同部分供多个内部网络使用,但对外仍像单个网络一样。(341)
    • 无类域间路由(CIDR):(343)
      • 将多个小前缀地址块合并成一个大前缀地址块(路由聚合),IP地址可以包含大小不等的前缀。(343)
      • 前缀允许重叠,数据报按最具体路由的方向,即具有最少IP地址的最长匹配前缀的方向发送。(344)
    • 网络地址转换(NAT):(347)
    • ISP为每个家庭或每个公司分配一个IP地址,用这个IP地址来传输Internet流量。(347)
      • 客户网络内部每台计算机有唯一IP地址,该地址主要用来路由内部流量。当一个数据报需要离开客户网络发往其他ISP时,执行地址转换,把唯一的内部地址转换为共享的公共IP地址。(347)
    • 使用的3个保留地址:(347)
      • 10.0.0.0-10.255.255.255/8
      • 172.16.0.0-172.31.255.255/12
      • 192.168.0.0-192.168.255.255/16
      • NAT盒子通过源端口字段解决内外部网络IP的映射问题。(348)
  • IPv6(350)

    • 改进:更长的地址(128位)、头部简化(7字段)、更好地支持选项、安全性、服务质量。(351)
    • 头部:(352)
      • 版本;
      • 区分服务;
      • 流标签:位源端和接受方提供了一种建立伪连接的方式;
      • 有效载荷长度:不再计算头部长度;
      • 下一个头:指明当前头之后还有那些拓展头或该数据报被传递给哪个传输协议;
      • 跳数限制;
      • 源地址;
      • 目的地址:16字节分8组书写,每组4个十六进制数,冒号分隔;前导0和全0可省略。
    • 拓展头(354)
      • 内容(354)

        • 逐跳选项:路由器的混杂信息;
        • 目标选项:给目的地址的额外信息;
        • 路由:必须访问的松散路由器列表;
        • 分段:管理数据报分段;
        • 认证:验证发送方的身份;
        • 加密安全有效载荷:有个加密内容的信息。
      • 每个拓展头编码成一个三元组:类型、长度、值。(354 369)
  • Internet控制协议(357)

    • ICMP——Internet控制消息协议(358)

      • 消息类型:(358)

        • 目的地不可达:路由器不能定位一个目标、遇到小数据包网络等;
        • 超时:TTL减为0;
        • 参数问题:无效的头字段;
        • 源抑制:抑制包,要求源主机减慢发送速度;
        • 重定向;
        • 回显和回显应答:检查一台机器是否还活着;
        • 请求/应答时间戳:回显基础上要求时间戳;
        • 路由器通告/恳求:发现附件路由器。
    • ARP——地址解析协议(359)
      • 如果发现目标IP与主机在同一个网络,主机发送一个广播请求拥有某个IP地址的主机的MAC地址,每台主机检查自己的IP地址,只有目标IP地址的主机会应答。请求和应答过程使用的协议称为ARP协议。(359 374)
      • 免费ARP:主机发送一个目的IP为自己的ARP请求,并捎带其自身的ARP缓存,其他主机可根据该ARP请求更新主机的ARP缓存。(360)
      • 如果目标IP与主机不在同一个网络,主机发送ARP报文请求默认网关的MAC地址,并利用该地址给网关发送帧。(361)
      • ARP代理:主机发现目标IP不在同一个网络,让网络上的路由器回答针对目标IP的ARP请求。(361)
    • DHCP——动态主机配置协议(361)
      • 采用DHCP时,每个网络必须有一个DHCP服务器负载地址配置。(361)
      • 计算机启动时,在自己网络上广播一个报文(DHCP DISCOVER包),请求IP地址。如果DHCP服务器不在本网络,则路由器需要配置成能中继DHCP广播。DHCP服务器收到请求后为该主机分配一个空闲的IP地址,通过DHCP OFFER包返回给主机。(361)
      • 租赁:每个分配的IP地址指定一段固定的时间,在租赁期满之前,主机必须请求DHCP续订。如果没有提出续订请求或请求被拒绝,则主机不能再使用分配给它的IP。(362)
  • 标签交换和MPLS(362)

    • 多协议标记交换(MPLS):在每个数据包前面加一个标签,路由器根据数据包标签而不是数据包目的地址实施转发,可通过查表实现。(362)
    • 需要在IP数据包的头前面加上一个新的MPLS头。(362)
    • 标签只有本地意义,标签必须在每一跳重新进行映射。(363)
    • 数据包前可添加多个标签。当数据包到达这条路线的起始端点处,加上标签。到达结束端点处,取出标签,按照之前的标签进行下一步转发。(363)
    • 数据包到达MPLS网络边缘时,由标签边缘路由器处理。(362)
  • OSPF——内部网关路由协议(364)

    • OSPF:开放最短路径优先。(365)
    • 协议需要满足的需求:(365)
      • 公开发表(开放);
      • 支持多种距离度量;
      • 必须是一个动态算法;
      • 必须支持基于服务类型的路由;
      • 必须实现负载均衡;
      • 必须支持层次化系统;
      • 提供适度的安全性;
      • 支持通过隧道连接到Internet的路由器。
    • OSPF工作本质是对一张图进行操作,将一组实际网络、路由器、线路抽象到一个有向图中,使用链路状态方法是计算从自身出发到所有其他节点的最短路径。(366)
    • 每个AS有一个骨干区域,该区域中的路由器称为骨干路由器。所有区域必须连接到骨干区域。(367)
    • 区域边界路由器:连接两个或更多区域的路由器,必须是骨干区域的一部分。(367)
    • OSPF要求从每个LAN选举一台路由器作为指定路由器,该路由器与嗯LAN上所有其他路由器是邻接的并且和它们交换信息。(368)
    • OSPF五类信息:(368)
      • HELLO:用来发现所有的邻居;
      • LINK STATE UPDATE:提供发生者到其他邻居的成本;
      • LINK STATE ACK:对链路状态更新消息的确认;
      • DATABASE DESCRIPTION:声明发送者的链路状态更新情况;
      • LINK STATE REQUEST:请求链路状态信息。
  • BGP——外部网关路由协议(369)

    • 边界网关协议:AS之间使用的协议。(369)
    • 对等:两个网络可以直接给彼此发送流量,而减少通过第三个网络中转的流量。(370)
    • 路径矢量协议:每个BGP不仅维护到目的地的成本,还追踪所使用的路径。(371)
    • 每个BGP路由从与它了解的下一个ISP路由学习如何到达给定目的地的路由,也可以从所有其它边界路由那里,学习到给定目标的路由。每个路由器必须决定这些路由集合中哪条路由最好。最终由ISP指定某些政策,根据政策来挑选其中一条首选路由。(372)
      • 策略:

        • 优先选择通过对等网络的路由;
        • 最短路径更好;
        • 优先选择具有ISP内最小成本的路由,称为提前退出或热土豆路由。
  • Internet组播(373)

    • IP地址224.0.0.0/24范围内的地址保留用作本地网络组播。(373)
    • 本地组播地址例子有:(373)
      • 224.0.0.1 LAN上的全部系统
      • 224.0.0.2 LAN上的全部路由器
      • 224.0.0.5 LAN上的全部OSPF路由器
      • 224.0.0.251 LAN上的全部DNS服务器
    • IGMP:Internet组管理协议。(373)
    • 协议独立组播协议(PIM):用于建立组播生成树。(373)
  • 移动IP(374)

    • 每个允许用户漫游的网点必须创建一个家乡代理。当主机出现在外地的网点时,获得一个外地网点的新IP地址(转交地址),然后移动主机通过该转交地址告诉家乡代理自己现在在哪。当发送给移动主机的数据报到达家乡网点,移动主机又外出时,家乡代理拦截该数据报并隧道给接入到当前转交地址上的移动主机。不管通信对方是谁,移动主机都可以直接发送应答数据包,但仍把家乡地址作为应答数据报的源地址。(374)

小结(376 )

  • 网络层向传输层提供服务,它既可以基于虚电路,也可以基于数据报。

    • 在这两种情形下,它的主要任务是将数据包从源端路由到接收方。
    • 在数据报网络中,路由决策针对每一个数据包而作;在虚电路网络中,路由决策在建立虚电路时做出。
  • 计算机网络用到了许多路由算法。
    • 泛洪是最简单的算法,它把数据包发送到所有的路径上。
    • 大多数算法寻找一条最短路径,并能自适应网络拓扑的变化。主要的算法是距离矢量算法和链路状态算法。大多数网络实际使用了其中的某一个算法。
    • 其他重要的路由话题包括大型网络的层次路由、移动主机的路由、广播路由、组播路由和选播路由。
  • 网络很容易变得拥塞.从而增加了数据包延迟和丢失。
    • 网络设计者企图通过一系列手段来避免拥塞,其中包括设计具有足够容量的网络、选择未拥堵的路由、拒绝接受更多的流量、给源端发信号降低速度以及负载脱落。
  • 处理拥塞控制的下一步是努力获得所承诺的服务质量。
    • 一些应用程序在乎吞吐量,而另一些应用程序却更关心延迟和抖动。
    • 提供不同服务质最的方法包括流量整型、路由器上的资源预留以及准入控制。
    • 专门被设计用于提供良好服务质最的几种途径包括IETF的综合服务(包括RSVP)和区分服务。
  • 网络在很多方面都有所不同,所以,当多个网络相互连接时,问题就出现了。
    • 当不同的网络具有不同的最大数据包长度时,可能需要分段。
    • 不同网络内部可运行不同的路由协议.但外部必须运行公共的路由协议。
    • 有的时候,隧道一个数据包穿越一个敌对网络能解决问题,但是,如果源网络和目标网络的类型不同,这种方法就会失败
  • Internet的网络层有丰富多样的协议。
    • 这些协议包括数据报协议IP和控制相关协议, 比如ICMP、 ARP和DHCP。
    • 一个称为MPLS的面向连接协议携带IP数据包穿过某些网络。
    • 网络中使用的主要路由协议是OSPF,穿越网络用的路由协议是BGP。
  • Internet正快速消耗着IP地址,所以IPv6作为Ip的新版本己经开发出来,并正在被如此之慢地部署着。

【计算机网络】《计算机网络(第5版 )》1~5章笔记相关推荐

  1. 计算机网络(第7版)第二章(应用层)知识点整理

    参考书目:<计算机网络(第7版)>:谢希仁--电子工业出版社 <精通Windows Sockets网络开发--基于Visual C++实现>:孙海民--人民邮电出版社 第二章: ...

  2. 计算机网络(第7版) - 第九章 无线网络和移动网络 - 习题

    第九章.无线网络和移动网络 本章的习题 无线局域网都由哪几部分组成?无线局域网中的固定基础设施对网络的性能有何影响?接入点 AP 是否就是无线局域网中的固定具体设施? 无线局域网由无线网卡.无线接入点 ...

  3. 计算机网络第七版总结报告,计算机网络(第七版)第一章总结(超详细!)

    第一章 概述 1.三大类网络 电信网络 有线电视网络 计算机网络 2.互联网基本特点 连通性 远距交换信息 共享 资源共享 3.计算机网络 由若干结点和连接这些结点的链路组成 4.网络和互联网 网络把 ...

  4. 计算机网络教程第5版-第3章数据链路层(数据链路层)

    3-1 数据链路(即逻辑链路)与链路(即物理链路)有何区别?"电路接通了"与"数据链路接通了"的区别何在? 解答:所谓链路就是从一个结点到相邻结点的一段物理线路 ...

  5. 《计算机网络(第七版)》网络层笔记

    一,网络层提供的两种服务 网络层提供的两种服务 二,网际协议 IP 虚拟互连网络 分类的 IP 地址 IP 地址与硬件地址 地址解析协议 ARP IP 数据报的格式 IP 层转发分组的流程 三,划分子 ...

  6. 学习 《电路》(尼尔森著,第十版)第一章笔记(电流)

    吐槽下 这沙雕电路怎么数值那么大 全是几千几万的 无非是积分或者求导 这数字让人一看根本没有算的欲望

  7. 计算机网络(谢希仁第八版)第二章:物理层

    1.物理层基本概念 物理层协议又被称为规程 物理层协议数据单元==>比特流 特性(了解): (1)机械特性:指明接口所用接线器的形状和尺寸.引脚数目和排列.固定和锁定装置等. (2)电气特性:指 ...

  8. 计算机网络(谢希仁第八版)第一章:概述

    1.计算机网络在信息时代的作用 三网:电信网络,有线电视网络,计算机网络. 三网融合:由于涉及多方面的利益和行政管辖权的问题,目前没有实现. Internet(译名:因特网,目前使用最广泛的译名为:互 ...

  9. 计算机网络教程第五版|微课版 - 第五章 运输层 - 习题【补充】

    第五章.运输层[补充] 本章的习题 在 "滑动窗口" 概念中,"发送窗口" 和 "接受窗口" 的作用是什么?如果接受方的接受能力不断地发生变 ...

  10. 计算机网络教程第五版|微课版 - 第四章 网络层 - 习题【补充】

    第四章.网络层[补充] 本章的习题 请简述网络层的转发和选路两个重要功能的区别和联系 转发:分组在单一的路由器的一条输入链路中,由路由器将该分组移动到合适的输出链路 路由选择:一个网络中,分组从发送方 ...

最新文章

  1. 视频云王海华:关于移动短视频技术选型的那些事
  2. SQL发HTML页脚怎么写,SQL Server中发送HTML格式邮件的方法
  3. hive中任意相邻时间段数据获取
  4. vue 得到枚举个数_Package - vue-enum
  5. java查询比对是否重复_java-对象的ArrayList,比较对象并查找重复项,...
  6. APP的六种loading加载样式,全在这
  7. 大数据分析的优势有哪些特点
  8. mmap函数_Linux中的mmap映射 [二]
  9. 中国城市统计年鉴下载
  10. 通过倍福Twincat的R3IO添加外部C++程序
  11. 常见的距离算法和相似度(相关系数)计算方法
  12. linux集群高可用--crm
  13. 最新版Google Chrome 自动加载flash插件的方法
  14. HostMonitor安裝RMA for Linux监控Linux系统资源
  15. Halo 开源项目学习(五):评论与点赞
  16. STM8 STM8S208MB 入门
  17. 基于python的师生一体化学生信息管理系统——python期末设计!!!
  18. 360行车记录仪起死回生
  19. 游戏策划师概率论笔试面试知识总结
  20. 香港云服务器提升性能,香港云服务器性能介绍

热门文章

  1. 计算机考研350是什么水平,计算机考研考350难吗
  2. ECharts - 15.旭日图
  3. 关于sizeof(arr)/sizeof(arr[0])解读(plus细节讲解增加)
  4. 计算机默认桌面位置,怎么更改电脑桌面存储位置?
  5. android实现按键找图功能,按键精灵安卓版找图教程 找图功能使用技巧介绍
  6. 计算机研究生就业方向之去央企(国企)信息化部门
  7. 记录一个IT菜鸟的成长之路。
  8. 关于An association from the table refers to an unmapped class
  9. Zabbix Server trapper命令注入漏洞(CVE-2020-11800)
  10. 主数据(MD Master Data)