注意:

  • B 还是 b !!!
  • 校验和的计算, 最后要取反
  • 计算时延的时候不考虑接收端下载过程中消耗的时间, 即 在接收端无任何考虑。
  • 第n层网络是指从底向上数第n层。
  • HTTP连接中都是先传输HTML文件, 收到后才知道接下来继续传输哪些对象, 因此要注意对于带流水的持久HTTP连接该如何画图。
    例如当HTML文件引用了对象时, 带流水的持久HTTP需要3RTT而不是一次性传完需要2RTT。
    例如当HTML文件引用了8个对象时, 配置有5个并行连接的非持续HTTP需要6RTT,而不是按照5个连接工作两轮即可传完8个对象 得出需要4RTT。

区分:

  • IP地址、MAC地址、端口号:
    端口号用于识别应用程序。常见的固定端口号有哪些
    32位IP地址是网络层地址, 用于把分组送到目的IP网络。
    48位MAC(或LAN或物理Ethernet)地址是链路层地址, 用于把数据帧从一个接口传送到另一个接口(同一网络中), MAC地址固化在适配器(即网卡)的ROM且每个网卡的MAC地址全球唯一。MAC地址能从一个LAN移动到另一个LAN, IP地址依赖节点所依附的IP网络。

  • 各层的数据单元 · 报文、报文段、(分组、包、数据报)、帧、数据流的概念区别:
    应用层 - 报文: 应用程序要发出的在传输层上传递的数据;
    传输层 - 报文段(TCP的segment) / 数据段(UDP的datagram): 将应用层报文加上传输层包头,由传输层管理和封装的信息;
    网络层 - 分组(packet)/包 / IP数据报: 将传输层报文段加上网络层包头之后封装;
    链路层 - 帧(frame): 将网络层数据报加上链路层包头之后封装。

  • 主机处理因特网协议栈的第1层~第5层
    路由器是网络层设备, 处理因特网协议栈的第1层~第3层: 转发分组, 实现路由算法建立路由表。
    交换机是链路层设备, 处理因特网协议栈的第1层~第2层: 转发帧, 实现自学习包含交换表和转发/过滤。
    集线器是物理层的中继器, 处理因特网协议栈的第1层: 进行比特信号的整形放大和转换, 将收到的比特信号发送给所有其它连接节点。

  • 比较集线器、交换机、路由器

  • MSS (Maxitum Segment Size): 是TCP协议里的概念, 指TCP报文段每次能够传输的最大数据分段。
    MTU (Maximum Transmission Unit): 可以理解成是总的最后发出去的IP数据报的大小。
    MTU = MSS + 20字节TCP包头 + 20字节IP包头。即 MTU = MSS + 40

  • 吞吐量: 在单位时间内通过某个网络(或信道、接口)的实际的数据量。(用于计算多个分组组成的大文件,只使用一次)
    (网络)带宽: 在单位时间内网络中的某信道所能通过的最高数据传送速率。(用来表示网络中某个通道传送数据的能力)
    传输速率: 单个分组的大小÷传输这个分组所耗的时延。(用于计算一个分组)

  • 单工通信:只能在一个方向上传输。即只能从一边到另一边的通信,一边是发送端,另一边是接收端,不可逆,通道是单向的。
    全双工通信:可以在两个方向上同时传输。即任意时刻,都能够两边同时通信,可以同时接收或者发送数据。
    半双工通信:可以双向通信,但是同一时间,只能一边向另一边通信。即同一时间,只能单向通信;通过不同时间,来实现双向通信。

  • TCP报文段的首部格式、UDP数据段的首部格式、IP数据报的首部格式、ICMP报文的格式、以太网帧结构等 格式分析






§ 第一章

  • 基本概念和定义:

    • 计算机网络的定义
      两台以上具有独立操作系统的计算机通过某些介质连接成的相互共享软硬件资源的集合体
    • 协议的定义和基本要素
      协议: 网络协议是指通信双方必须遵守的报文格式、规则和动作的集合。
      协议的基本要素: 语法、语义和同步
      \,
  • Internet的具体构成: 网络边缘部分(端系统, 包括软件和硬件)、核心部分、接入网络和物理介质

    • 网络边缘部分: 应用程序和主机/端系统。
    • 网络核心部分:路由器/交换机, 由网络构成的网络
    • 网络的两个核心功能: 路由, 转发
      \,
  • 在网络中传送或交换数据的交换方式:

    • 电路交换(网络资源被分片 并且空载时不共享)
      电路交换: 频分(FDM), 时分(TDM)。
    • 分组交换(所有分组共享网络资源, 每个分组使用全部链路带宽, 资源按需使用)
      分组交换: 数据报网络, 虚电路网络。
      分组交换网络的性能: 延迟和丢失(分组排队, 缓冲区满则被丢弃)
      \,
  • 分组延迟的4种类型: 节点处理时延, 排队时延, 传输时延, 传播时延
    注: 分组在被第1个路由器发送完以前, 分组的第1个位可以传播到第2个路由器。此处要和分组的存储转发区分。存储转发: 分组在被转发到下一条链路前必须全部到达路由器, 是指单个分组的各bit, 而前面的情况是一系列分组。

  • 流量强度 = 分组长度×平均分组到达率 / 链路传输速率

  • (分层的)网络体系结构 \, / \, TCP/IP协议栈:

    • 第5层, 应用层 application:
      支持网络应用,报文传送。FTP, SMTP, STTP …
    • 第4层, 传输层 transport:
      主机进程间数据段传送。TCP, UDP
    • 第3层, 网络层 network:
      主机(源目标节点)间分组传送。主要是IP协议, 路由协议 …
      设备有:路由器、三层交换机
    • 第2层, (数据)链路层 link:
      相邻网络节点间的数据帧传送。PPP, Ethernet …
      设备有:(二层)交换机、网卡、网桥
    • 第1层, 物理层 physical:
      物理介质上的比特传送
      设备有:集线器、中继器、电缆连线连接器
  • OSI模型自顶向下分别有7层: 应用层-表达层-会话层-传输层-网络层-数据链路层-物理层


§ 第二章 · 应用层

  • 基本概念

    • 进程: 运行在端系统中的程序。(客户机进程: 发起通信的进程, 服务器进程: 等待联系的进程)
      主机上的进程标识包括IP地址+端口号。(因为主机的IP地址不足以标识主机上的进程)
    • 套接字: 套接字类比于门户。(进程通过它的套接字在网络上发送和接收报文)
      UDP套接字由(目的IP地址, 目的端口号)标识;TCP套接字由(源IP地址, 源端口号, 目的IP地址, 目的端口号)标识。
      因此 具有不同的源IP地址且/或源端口号,但具有相同的目的IP地址和目的端口号的两个UDP报文段,将指向同样的套接字进而被送到相同的进程
    • 常见应用的传输服务需求: 是否可靠(数据丢失率), 带宽, 延时
      \,
  • 应用程序体系结构 (注: 区分网络体系结构与程序体系结构)

    • 客户机/服务器体系结构
      服务器具有固定的IP地址, 客户机可以拥有动态IP地址, 客户机相互之间不直接通信
    • P2P体系结构
      任意一对主机直接相互通信, 对等方向其他对等方提供服务并同时接受其他对等方的服务
      注 : 具有P2P体系结构的应用程序有客户机进程和服务器进程。
    • 客户机/服务器和P2P混合的体系结构
      例如两个聊天用户之间是P2P, 用户上线时要在中心服务器上进行注册, 用户与中心服务器联系以找出在线伙伴
      \,
  • 网络运输层协议(传输协议) 注:下层传输的协议才是TCP或UDP, 这两者都不会保证延迟和带宽, 电路传输才保证

    • TCP服务: 面向连接的服务, 可靠(且按序)传输服务, 流量控制, 拥塞控制. (没有提供 时延保证、最小带宽保证)
    • UDP服务: 不可靠(且无序)数据传输. (没有提供 建立连接、可靠性、流量控制、拥塞控制、时延、带宽保证)
      \,
  • Web和HTTP

    • 网页: 多数网页(Web页)由单个基本HTML文件和若干个所引用的对象(文件)构成。
      其中, 每个对象被一个URL(统一资源定位符)寻址。
    • HTTP协议:
      client/server模式, 使用TCP, HTTP是无状态协议(HTTP服务器不维护客户先前的状态信息)。
    • HTTP连接:
      非持久HTTP连接: 每个TCP连接上只传送一个对象。响应时间 = 2RTT + Html文件传输时间(transmit time)
      持久HTTP连接: 一个TCP连接上可以传送多个对象。
      区分非持续HTTP链接 和 是否带流水的两种持续HTTP链接
      不带流水线的持久HTTP连接: 客户发送一次请求后必须等到响应后才发送下一个请求, 每个引用对象经历1个RTT。
      带流水线的持久HTTP连接: 客户可以连续发送多个请求消息, 所有引用对象只经历1个RTT。
    • 两类HTTP报文: 请求报文request, 响应报文response
    • Cookies: 用户与服务器交互, 用来跟踪用户。(cookies允许网站更加了解你eg.个性化推荐,但cookies不适合游动用户)
    • Web缓存(代理服务器): 代表起始服务器满足HTTP请求, 所有HTTP请求指向缓存。(缓存器既是服务器又是客户机)
      \,
  • FTP (文件传输协议)

    • client/server模式, 使用TCP, FTP服务器要维护用户状态信息(当前目录, 先前的身份认证)。
    • 两种连接: 使用两个独立的连接, 即控制连接、数据连接, 将命令(端口号21)和数据(端口号20)的传输分离。(带外传送)
      \,
  • 电子邮件

    • 三个主要组成部分:
      用户代理user agents: 允许用户阅读,回复,转发,保存,编辑邮件消息
      邮件服务器mail servers: 邮箱+外出报文队列
      简单邮件传送协议SMTP: SMTP协议在邮件服务器之间发送邮件消息
    • SMTP协议: client/server模式, 使用TCP, 使用持久连接。
      与HTTP的比较: HTTP是拉协议, SMTP是推协议。二者都有ASCII命令/应答交互, 状态码。
    • 邮件访问协议: 如POP, IMAP协议。
      与SMTP的比较: SMTP递送/存储邮件消息到接收者邮件服务器, 邮件访问协议从服务器获取邮件消息。

      \,
  • DNS (域名系统Domain Name System): 因特网的目录服务

    • DNS服务器提供的功能: 在IP地址和主机名之间建立映射, 提供主机名到IP地址的转换。(使用UDP传输报文)
    • DNS是一个分布式、层次数据库, 其层次结构自顶向下为:
      根名字服务器, 负责记录顶级域名服务器的信息。
      顶级域服务器, 即TLD服务器, 负责顶级域名com, org, edu等,和所有国家的顶级域名uk, jp等。
      权威DNS服务器, 各机构的权威DNS服务器负责保存DNS记录, 这些记录将主机的名字映射为IP地址。
      本地DNS服务器: 严格来说不属于该服务器的层次结构。仅起着代理的作用, 转发客户机的请求到DNS层次结构中(当主机发出DNS请求时该请求被发往本地DNS服务器), 本地DNS服务器可以缓存TLD服务器的IP地址。
    • 举例: 客户机怎样决定主机名www.amazon.com的IP地址? 查询根服务器得到com DNS服务器, 再查询com DNS服务器得到amazon.comDNS服务器, 最后查询amazon.comDNS服务器得到www.amazon.com的IP地址。
      \,
  • P2P文件共享原理和实现技术


§ 第三章 · 传输层 ★

  • 零散概念:
    1. 多路分解:在数据的接收端, 传输层接收到网络层的报文后, 将它交付到正确的套接字上
    \quad 多路复用:在数据的发送端, 传输层收集各个套接字中需要发送的数据, 将它们封装上首部信息后交给网络层
    3. UDP的优点 不需要建立连接(减少延迟)、简单(在发送者接受者之间不需要连接状态)、数据段首部的开销小、没有拥塞控制(能用想象的快的速度传递)
    \quad UDP的特点 每个UDP数据段的处理独立于其他数据段, 数据可能丢失(不可靠), 传递到应用程序的报文可能失序。UDP上的可靠传输需在应用层增加可靠性
    3. 计算校验和:二进制序列按16bit对齐, 末位不足16比特补0 ∥ \| ∥ 二进制加法, 有进位则回卷 ∥ \| ∥ 最后的商求反则为校验和
    \quad 给出校验后的数据如何进行校验:将各个数据与校验和全部相加,若不全为1则说明数据传输出错,若全为1则说明未检测处错误但不能断定无错
    4. 区分: 传输层协议为不同主机上运行的进程提供逻辑通信,而网络层协议为不同主机提供逻辑通信。

  • 报文段的结构
    1. TCP的报文段首部是20字节,UDP是8字节
    2. UDP报文段的首部只有4个字段,每个字段由两个字节组成。


  • 可靠数据传输原理
    1. rdt1.0 : 完全可靠信道(没有bit错误,没有分组丢失)上的可靠数据传输。
    2. rdt2.0 : 具有bit错误的信道上的可靠数据传输。比rdt1.0增加了 差错检测、接收方反馈(通过控制信息ACK,NAK)
    注:在rdt2.0中如果ACK/NAK混淆了则会导致发送方不能正确重发,重发将可能导致重复,使用序号可以处理这个问题(并且rdt3.0中也同样)
    3. rdt2.1在rdt2.0的基础上考虑了如何处理ACK/NAK混淆的情况,做法即发送方给每个分组加一个序号(0或1)
    注:这样既可在ACK/NAK混淆时发送方重发当前分组, 接收方丢弃重复的分组(并不向上传递)
    4. rdt2.1到rdt2.2的区别在于前者会回送NAK,而后者是(给ACK增加序号实现, 序号异常则视为NAK)无NAK的协议
    注:在rdt2.2中若发送方在等待ACK1时收到了ACK0,则可理解为按照收到NAK来处理。等待ACK0时收到ACK1同理
    5. rdt3.0 : 具有bit出错和丢失的信道。做法即发送方等待合理的确认时间, 如果期间没有等到确认就重发
    注:rdt3.0也是停等协议,工作但是性能很差,可通过流水线机制 (如下面的GBN和SR) 改善,接连发3个分组则利用率提高到3倍

  • GBN (Go-Back-N),滑动窗口协议
    1. “窗口”: 允许的连续未被确认的报文(包括已发送但未被确认和未发送的报文)
    2. 累积确认机制:ACKn表明接收方已正确接收到序号为n的之前的所有分组(包括n)
    3. 发送方为最早未被确认的分组启动定时器
    4. 如果出现超时, 发送方重传所有已发送但还未被确认过的分组
    5. 接收方只为正确接收的最高序号的分组发送ACK(如收到0134则丢弃34且后三次都是发送ACK1), 丢弃所有失序的分组

  • SR (Selective Repeat), 选择性重传
    1. 接收方比GBN增加了滑动窗口和缓存功能,接收方正确接收了分组n则回复ACKn(即为每个分组发送单独的ACK)
    2. 发送方为每一个(未被确认的)分组都设置定时器, 定时器超时则重发引发超时的分组
    3. 接收方缓存失序的分组
    4. 此外,若接收方正确收到了窗口之前(左边)的分组n (即分组的序号n<rcv_base),也要回复ACKn

  • TCP协议
    1. 序列号: 该报文段中第一个字节的字节流编号,而不是报文段的编号。
    \quad 确认号: (ACK=n) 希望接收到的下一个字节的序列号。采用累积确认机制(n之前的所有字节均已被正确接收到)
    \quad 如何确定第一次回复的ACK的确认号: 注意到要答复上一条的报文段, 即n=上一条的序列号+(上一条)报文段的长度
    \quad 注: 发送方和接收方之间每次传递的序列号和确认号(Seq = m 和 ACK = n)是相互作用的
    2. 定时器与最早的未被确认的报文段相关联 类似于GBN
    3. 定时器超时则重发导致超时的数据段 类似于SR
    4. 报文段的样本RTT:测量从报文段发送到收到确认的时间, 并且不为已重传的报文段计算样本RTT
    \quad 往返时延的估计:EstimatedRTT = (1 - α \alpha α)×EstimatedRTT + α \alpha α×SampleRTT
    \quad 设置超时时间间隔:DevRTT = (1 - β \beta β)×DevRTT + β \beta β×|SampleRTT-EstimatedRTT|
    \quad 计算TCP的RTT:TimeoutInterval = EstimatedRTT + 4×DevRTT
    5. 快速重传:如果发送方收到3个对同样报文段的确认,则在定时器超时之前也立即重发丢失的报文段
    \quad 超时间隔加倍:每当超时事件发生时, TCP启动重传, 只是重传时将下一次的超时间隔设为先前值的两倍
    6. TCP流量控制:接收方在首部用rwnd字段通知发送方剩余缓冲区大小,发送方限制已发送但未被确认的数据量不超过rwnd
    \quad 即LastByteSent -LastByteAcked < rwnd P S : \quad\quad_{PS:} PS:​ rwnd = RevBuffer - [ LastByteRcvd - LastByteRead ]
    7. TCP连接管理:三次握手建立连接、四次关闭 P 167 \mathcal{P}_{167} P167​
    \quad 三次握手建立连接&四次挥手断开连接详解 、为什么是三次握手而两次时会失败 、为什么挥手是四次而非三次
    8. 点到点: 一个发送者,一个接收者. \quad 流水线: TCP拥塞和流量控制设置窗口大小. \quad 收发缓冲区.
    \quad 全双工通信: 同一个连接上的双向数据流. \quad 流量控制: 发送方不会淹没接收方. \quad 面向连接.
    \quad TCP的服务器程序必须先于其客户程序运行。

  • TCP拥塞控制
    1. 流量控制:发送方不要发送的太快以至于接收方处理不了
    \quad 问题原因:当···时, 发送方的数据流会淹没接收方的接收缓冲区, 使数据丢失。
    \quad 拥塞控制:发送方不要发送的太快以至于网络处理不了
    \quad 问题原因:网络中路由器的数据报负载相对它的处理能力过重, 路由器缓冲队列中的数据报产生传输时延甚至丢失数据报。
    \quad 以上二者综合限制发送窗口:LastByteSent - LastByteAcked < min{rwnd, cwnd}
    \quad TCP流量控制和拥塞控制的依据:减慢源点的发送速率, 即源抑制。
    \quad TCP发送时的吞吐量为 rate = CongWin / RTT
    2. 慢启动:连接开始时CongWin = 1 MSS,并且每当传输的报文段首次被确认就增加1个MSS(即每过一个RTT就翻倍CongWin)
    3. 当慢启动中 CongWin (congestion window, 或简称cwnd) 增长到Threshold值时,CongWin就从指数性增长转变到线性增长
    \quad 注: 当拥塞窗口cwnd在阈值threshold下方,则处于慢启动阶段;cwnd大于等于threshold,则处于拥塞避免阶段(线性增长)。
    \quad 一旦收到3个重复ACK则CongWin的值减到一半再+3(TCP Reno版), 然后再线性增长。Threshold也同时设为此一半的CongWin
    \quad 一旦发生Timeout事件则CongWin的值立马设为1个MSS并重新进入慢启动,且Threshold按设置为CongWin的一半进行更新
    \quad 注: TCP Tacho版不区分快速重传和超时,此版本较低级,只要收到3个重复ACK或出现丢失,拥塞窗口都变为1。其他部分则相同。


§ 第四章+第五章 · 网络层 ★

他人总结 : [link]

  • 零散概念
    1. 网络层 : 注:网络层不再是端到端的层次, 在每一个主机或网络层设备上都需要运行网络层协议。 (面向主机间的通信, 虚电路和数据报)
    \,\,\,\, 网络层核心功能 : 转发与路由。 某些网络(虚电路网络?)还会需要参与 记录数据分组传输之前两端主机之间虚拟/逻辑连接的建立
    \,\,\,\, 网络层服务模型 : 无连接服务、连接服务
    2. 无连接服务(connection-less service) : 不事先为系列分组的传输确定传输路径, 每个分组独立确定传输路径。因此, 在同一个源-目的主机对中的不同分组可能传输路径不同。如数据报网络(datagram network), IP协议即为=
    \,\,\,\, 连接服务(connection service) : 首先为系列分组的传输确定从源到目的经过的路径, 即建立连接, 然后沿该路径(连接)传输系列分组。因此, 系列分组传输路径相同, 传输结束后拆除连接。如虚电路网络(virtual-circuit network)
    3. 最长前缀匹配优先
    4. 路由器的交换结构:总线交换、内存交换、网络交换

  • Internet网络层
    1. 功能概述 : 由路由协议 (如RIP, OSPF, BGP) 选择路径, 将计算的路径信息存储到转发表(路由表)中, 供网络层协议 (如IP协议) 在转发或处理分组时使用。IP协议传输或处理分组时出现差错则ICMP协议将差错信息传输给路由器或主机 (即ICMP协议提供差错报告和路由器信令)
    2. IP数据报结构 : 注, 首部长度以4字节为单位(即下图中有几行), 所以其数字需要×4才是首部的字节数。
    \quad\quad\quad\quad\quad\quad\,\, 总长度字段才以字节为单位。
    \quad\quad\quad\quad\quad\quad\,\, 服务类型(TOS)字段 只有在网络提供区分服务(DiffServ)时使用, 一般情况下不使用
    \quad\quad\quad\quad\quad\quad\,\, 生存时间(TTL) : IP分组在网络中可以通过的路由器数(或跳步数) 路由器转发一次分组则TTL减1, 若TTL=0则路由器丢弃该IP分组
    \quad\quad\quad\quad\quad\quad\,\, TTL在每一条都会改变, 也就导致首部校验和需要逐跳计算、逐跳检验
    3. IP分片与重组 : 最大传输单元(MTU) : 链路层数据帧可封装数据的上限, 不同链路的MTU不同。
    \quad\quad\quad\quad\quad\quad\,\, 大IP分组向较小MTU链路转发时,可以被分片。IP分片到达目的主机后进行重组。注: 路由器对IP分片只分片不重装
    \quad\quad\quad\quad\quad\quad\,\, 片偏移字段以8字节为单位, 因此, 一个最大分片可封装的数据为 d=(MTU-20)/8向下取整再×8
    \quad\quad\quad\quad\quad\quad\,\, 分片后的每个IP数据报都有相同的标识号? 片偏移字段分别从0开始逐次累加d/8
    \quad\quad\quad\quad\quad\quad\,\, 标志位: 3bit, 记录关于分片的信息。三个比特位分别表示的信息详见

  • IP编址
    1. 只对需要实现网络层功能的接口编址。IPv4用32比特编号标识主机或路由器的接口。 路由器有多个接口, 每个接口有一个IP地址。
    2. IP子网 : IP地址具有相同网络号(高位比特)的设备接口;同一子网内的接口不跨越路由器(第三及以上层网络设备), 物理上彼此联通;
    \,\,\,\, 子网划分 : IP地址被划分为网络号+子网号+主机号。子网划分会使不能被分配给主机使用的特定地址比未划分时更多,但改进的网络性能更好
    \,\,\,\, 子网掩码 : 网络号和子网号全取1, 主机号全取0。
    \,\,\,\, 子网地址 : 将IP分组的目的IP地址与子网掩码按位与运算, 即可提取子网地址
    \,\,\,\, 举例 : 子网掩码、网络地址、广播地址的计算
    \,\,\,\, 为了确定有几个子网, 分开主机和路由器的每个接口 (即,去掉路由器), 从而产生了几个分离的网络岛, 这些独立网络中的每一个叫做一个子网。
    3. 无分类编址 CIDR : 地址格式: a.b.c.d/x 其中x是地址网络部分的bit数。可以实现路由聚合。
    4. 获得IP地址 : 由硬编码静态配置 或 由应用层的DHCP协议从服务器动态获取
    \quad\quad\quad\quad\quad\,\,\, DHCP协议运行时(主机和DHCP服务器)互发四次消息: DHCP discover - DHCP offer - DHCP request - DHCP ack
    5. 网络地址转换(NAT) : 对外部网络来讲, 本地网络只用一个IP地址
    \quad\quad\quad\quad\quad\quad\quad\quad\,\,\, 替换 : 利用 (NAT IP地址, 新端口号) 替换每个外出IP数据报的 (源IP地址, 源端口号)
    \quad\quad\quad\quad\quad\quad\quad\quad\,\,\, 记录 : 将每对 (NAT IP地址, 新端口号) 与 (源IP地址, 源端口号) 的替换信息存储到NAT转换表
    \quad\quad\quad\quad\quad\quad\quad\quad\,\,\, 收到数据报时的替换 : 根据NAT转换表, 用 (源IP地址, 源端口号) 替换进入内网的 (目的IP地址, 目的端口号)

  • 互联网控制报文协议(ICMP)
    1. 支持差错(或异常)报告 : 五种报文有 目的不可达、源抑制、超时/超期、参数问题、重定向(Redirect)
    \,\,\,\, 支持网络探询 : 两组报文有 回声(Echo)请求与应答(Reply)报文、时间截请求与应答报文
    2. 几种不发送ICMP差错报告报文的特殊情况
    3. ICMP报文格式 : 类型字段, 编码字段 以及引起该ICMP报文的IP分组的前8字节
    \,\,\,\, ICMP报文封装到IP数据报中传输

    4. Traceroute和ICMP : 源端发送一系列的IP分组给目的端, 第一个分组TTL=1, 第二个TTL=2, … 路由器丢弃分组时返回ICMP报文

  • IPv6
    1. 数据报格式 : 基本首部+载荷(扩展首部+数据);固定长度的40字节基本首部;不允许分片;
    2. IPv6首部 : 优先级(priority) : 标识数据报的优先级
    \quad\quad\quad\quad\,\,\,\, 流标签(flow Label) : 标识同一“流”中的数据报
    \quad\quad\quad\quad\,\,\,\, 下一个首部(next header) : 标识下一个选项首部或上层协议首部(如TCP首部)
    3. 与IPv4的其它不同 : 校验和(checksum) : 彻底移除,以减少每跳处理时间
    \quad\quad\quad\quad\quad\quad\quad\quad 选项(options) : 允许,但是从基本首移出,定义多个选项首部,通过“下一个首部”字段指示
    \quad\quad\quad\quad\quad\quad\quad\quad ICMPv6 : 伴随新版的ICMP, 增加消息类型 例如"分组太大", 多播组管理功能
    4. IPv6基本地址类型 : 单播, 多播, 任意播
    5. IPv4和Pv6路由器共存的网络如何运行 : 双栈方法、隧道。后者即IPv6数据报作为IPv4数据报的载荷进行封装,穿越IPv4网络

  • 路由算法 (选路算法)
    1. 链路状态算法 : 即Dijkstra算法。 复杂度O(N2), 更高效的实现为O(NlogN)。 存在震荡的可能
    \,\,\,\, 所有节点知道网络拓扑结构和链路开销, 通过"链路状态广播"完成, 所有节点有同样的信息
    2. 距离向量算法 : 每次本地产生迭代是由于本地链路开销变化或从邻居来的最小开销路径变化。好消息传的快, 坏消息传的慢
    \,\,\,\, 解决无穷计数问题 : 毒性逆转(poisoned reverse)、定义最大度量(maximum metric)
    \,\,\,\, 注 : 距离向量算法有点像层次遍历, 一层一层的进行。即每轮可走的步长(或可理解为TTL)逐轮+1。(通过手写演算各结点的距离表的表项更新过程即可发现)
    3. 层次路由 : 一个区域内的路由器聚合成集合"自治系统(AS)"
    \,\,\,\, 同一AS内的路由器运行相同的路由协议(算法), 不同自治系统内的路由器可以运行不同的AS内部路由协议。
    \,\,\,\, 网关路由器(gatewayrouter)位于AS边缘, 通过链路连接其他AS的网关路由器。运行域间路由协议和域内路由协议 !
    \,\,\,\, 自治系统间的路由任务 : 对于某个AS,将它的各个邻居AS可以到达哪些目的端传播给这个AS内的所有路由器, 如AS1的邻居有AS2和AS3则将AS2和AS3可以到达哪些目的端通知给AS1内的所有路由器。只要涉及到跨自治系统的 目的网络可达信息(不论是要获取还是传播), 都属于自治系统间路由任务
    \,\,\,\, 热土豆路由 : (当为了到达某个目的端)有多个 (AS-PATH相等的) 网关可选择时, 将分组发送给最近的网关路由器

  • Internet中的路由协议 (选路协议)
    内部网关协议(自治系统内的路由协议):RIP、OSPF、IGRP
    外部网关协议(自治系统间的路由协议):BGP、BGP4
    1. RIP协议 : 基于距离向量路由算法。由应用层进程实现。距离度量为跳步数(max = 15 hops),每条链路1个跳步。
    \quad\quad\quad\quad\,\, 每隔30秒,邻居之间交换一次DV,成为通告(advertisement)。每次通告包含最多25个目的子网(IP地址形式)。
    \quad\quad\quad\quad\,\, 相比距离向量算法,交换的信息多了下一跳,可起到毒性逆转作用。(此外,无穷大距离 = 16 hops)
    2. OSPF协议 : 基于链路状态路由算法。OSPF报文直接封装到IP数据报中。OSPF通告在整个AS范围泛洪。
    \quad\quad\quad\quad\quad\,\, LS分组扩散(通告)。每个路由器构造完整的网络(AS)拓扑图。利用Dijkstra算法计算路由。
    \quad\quad\quad\quad\quad\,\, 优点 :
    3. BGP协议 : BGP运行在AS系统之间, 传递的是子网的可达信息。基于半永久的TCP连接。
    \quad\quad\quad\quad\,\,\,\,\, eBGP:从邻居AS获取子网可达性信息。网关路由器用eBGP获得其他AS的可达信息
    \quad\quad\quad\quad\,\,\,\,\, iBGP:向所有AS内部路由器传播子网可达性信息。AS内部的路由器(非网关路由器)用iBGP获得网关路由器掌握的信息
    \quad\quad\quad\quad\,\,\,\,\, 网关路由器收到路由通告后,利用其输入策略来决策接受/拒绝该路由 (基于策略路由)
    \quad\quad\quad\quad\,\,\,\,\, 表项怎样进入路由器的转发表: 1.路由器接收到前缀(从其他路由器接收到前缀信息) → 2.为前缀决定路由器输出端口(使用BGP路由选择发现最佳的域间路由(将AS看作一个整体, 选择最短的AS-PATH?), 使用OSPF发现最佳域内路由, 路由器决定最佳路由的端口) → 3.将前缀-端口信息填到转发表


§ 第六章 · 链路层+物理层

  • 数据链路层 : 负责通过一条链路从一个节点向另一个物理链路直接相连的相邻结点传送数据报
    链路层提供的服务 : 成帧、链路访问、差错检测、可靠传输、流量控制等
    链路类型 : 点对点和共享

  • 差错编码
    1. 差错编码基本原理 : D→DR , 其中R为差错检测与纠正比特(冗余比特)。注: 没有任何一个编码能实现100%的检错或者纠错
    \,\,\,\, 差错编码不能保证100%可靠 (不是所有的差错都一定能被检测出来, 只能说没检测出错而不是没有错)。
    \,\,\,\, 希望设计的编码 : 检错能力更强, 冗余信息更少。
    2. 对于检错码 : 若编码集的汉明距离d=r+1 则该差错编码可以检测r位的错
    \,\,\,\, 对于纠错码 : 若编码集的汉明距离d=2r+1 则该差错编码可以检测r位的错。纠错原则:将无效码纠为和它距离最近的码字。
    3. Internet校验和 :
    \,\,\,\, 奇偶校验 : 检错奇数位差错或偶数位差错。检错能力或漏检率为50%
    \,\,\,\, 循环冗余校验码(CRC) : 将D末尾添加r个0, 再与(r+1位的)G模二除, 所得余式即为R。注: 一般在链路层用硬件直接实现运算
    \quad\quad\quad\quad\quad\quad\quad\quad\,\,\,\,\, 在接收端用DR模二除以G看余数是否全为0, 否则说明有错。CRC可检测出所有≤ r r r位的差错

  • 多路访问控制(MAC)协议 注: 属于链路层协议
    共享介质(或者说使用多址访问技术的三大类协议) : 信道划分、随机访问、轮转
    1. 信道划分MAC协议 : TDMA(时分) , FDMA(频分) , CDMA(码分)
    2. 随机访问MAC协议 : (非时隙/纯)ALOHA协议 , 时隙ALOHA协议 , CSMA协议 , CSMA/CD协议 , CSMA/CA协议
    3. 轮转MAC协议 : 主结点轮询 , 令牌传递

  • 链路层编址
    MAC(或LAN或物理或Ethernet)地址是一种全局性的平面地址。
    ARP协议(地址解析协议)的功能 : 局域网上一些节点的IP/MAC地址映射 (知道B的IP地址怎么知道它的MAC地址)
    ARP表的表项 : < IP address; MAC address; TTL> 注: ARP协议是IP→MAC;RARP协议是MAC→IP。

  • 以太网(Ethernet)技术
    以太网和局域网的区别与联系
    1. 以太网技术定义链路层和物理层的实现方式
    2. 以太网帧格式
    3. 以太网提供无连接、不可靠的服务,提供错误检测
    \quad 共享式以太网采用CSMA/CD介质访问控制技术的基本原理
    \quad 以太网适配器(网卡)工作在数据链路层 (在链路层负责CSMA/CD协议, 在物理层负责将数据转化成0101数字信号?)
    4. 物理层采用曼彻斯特编码
    \quad Ethernet的物理层协议主要有10BASE-T、100BASE-T、1000BASE-T
    5. 连接设备使用集线器和交换机
    6. 集线器和交换机各自的特点
    交换机和集线器的区别
    7. 路由器和交换机:
    都是存储转发设备,路由器: 网络层设备,转发分组;交换机: 数据链路层设备,转发帧。
    路由器实现路由算法建立路由表,并转发分组。交换机实现自学习包含交换表、转发/过滤

拨号上网通常使用PPP协议(属于链路层协议), 光纤宽带通常使用PPPoE协议。PPP接收到一个错误的数据帧时, 会直接丢弃该帧, 而不是丢弃该帧并返回一个否认帧。






部分例题

  • 假设Alice用Web方式向Bob发邮件,Bob用Outlook收邮件。报文是怎样从Alice的主机到达Bob的主机的?列出报文移动时所使用的协议:
    信息从Alice的主机发送到她的邮件服务器,使用HTTP 协议。然后邮件从Alice 的邮件服务器发送到Bob的邮件服务器,使用SMTP协议。最后Bob 将邮件从他的邮件服务器接收到他的主机,使用POP3协议。
    注: 接收邮件时 使用了TCP协议(POP3使用TCP协议), 而不是SMTP协议。

  • DNS的功能及其查询方法?
    DNS功能: 实现域名和IP地址的相互转换; 实现别名机制; 实现邮件系统的别名标识; 实现负载分配。
    查询方法: 递归解析和迭代解析。

  • 简述浏览器访问一个网页的过程?
    1.浏览器发送DNS请求服务器的IP。
    2.浏览器与服务器使用三次握手建立TCP连接。
    3.浏览器发送HTTP请求。
    4.服务器发送HTTP响应。
    5.浏览器与服务器断开TCP连接。

  • 带流水线的持久连接和不带流水线的持久连接有什么区别?
    不带流水线的客户机先响应消息收到然后再发送新的消息,每个引用对象经历一个RTT时间。
    带流水线的客户机遇到一个引用对象就发送一个消息,所有对象经历一个RTT时间。

  • 描述cookie技术的实现方式?
    服务器收到一个客户HTTP请求报文后,为该客户分配一个唯一的cookie ID标识,并将该标 识与客户的对应关系记录到后台数据库中;返回HTTP响应报文时,在响应报文中添加首部 行set-cookie:ID;客户收到响应报文后保存cookie ID和自身用户的对应关系到cookie文 件中;下次再次访问同一个服务器时,HTTP请求报文中增加首部行cookie:ID,指明自身 身份; 服务器收到带有cookie ID指示的请求时, 可以查询后台数据库对用户进行身份鉴别。

  • 描述WEB缓存的作用?
    降低客户请求响应时间;降低内部网络与接入链路的流量;总体上降低因特网的WEB流量。(转发HTTP请求并响应)

  • 网络应用程序有哪几种体系结构,各有什么优缺点?
    网络应用程序体系结构包括:客户/服务器、P2P、客户/服务器和P2P混合体系结构。
    C/S:管理简单、维护成本高、可拓展性差、对故障容忍性不好。
    PSP:管理复杂、可拓展性好、对故障的容忍性好。
    C/S和P2P混合体系结构。


  • 主机A通过TCP连接向主机B发送一个序号为20的30字节报文段, 则该报文段的确认号 不一定 是50(有可能比50小), 此报文段中的确认号是多少不能确定。

  • 若因特网上所有链路传输都是可靠的,那么使用UDP协议也可实现可靠传输。(False)
    注: 因为IP协议是无连接的, 所以其传输是不可靠的 (和虚电路网络下提供有连接服务不同, 由于数据报网络下提供的是无连接服务, IP数据包可以使用不同的路由通过网络, 到达接收端的顺序会不一致, 因此需要TCP来使字节流按正确的序号到达接收端)。虽然链路保证了数据包在端到端的传输中不发生差错, 但是它不能保证IP数据包是按照正确的顺序到达最终目的地。

  • 可靠数据传输包括哪两类技术?概述每一种技术的实现方法?
    可靠数据传输包括:停等协议和流水线技术。
    停等技术:在发送一个数据以后必须等待对方的确认才能发送下一个数据。
    流水线技术:可以连续发送多个数据而不需要等待前一个数据的确认,即在网络上可以同 时传输多个未被确认的数据。一般使用滑动窗口技术实现。

  • 简述TCP的AIMD算法
    即加性增、乘性减。当网络出现拥塞的时候congwin窗口变为原来的一半,然后每个RTT congwin窗口增加一个MSS直到出现下一个拥塞。

  • 简述TCP建立连接和释放的过程。
    通过三次握手建立连接 Step 1: 客户主机发送 TCP SYN 数据段到服务器(syn=1,客户机指定起始序号seq=x) Step 2: 服务器主机收到 SYN, 用 SYN+ACK 数据段响应(syn=1,指定服务器起始序号 seq=y;ack=x+1)。 Step 3: 客户收到 SYN+ACK, 用 ACK 数据段响应, 可以包含数据 (syn=0,seq=x+1,ack=y+1)。 通过四次挥手释放连接 Step 1: 客户结束发送 TCP FIN 控制数据段到服务器(FIN=1) 。 Step 2: 服务器收到 FIN, 用ACK响应. Step 3: 服务器发送 FIN (FIN=1,此时处于半关闭连接状态) 。Step 4: 客户收到 FIN,发送ACK确认关闭 (进入 “timed wait”,等待结束时释放连接资 源) 。 Step5:服务器接收 ACK. 连接关闭。

  • 流量控制和拥塞控制有什么区别?
    流量控制是为了防止接收主机的缓冲区溢出,是解决一个局部性问题。
    拥塞控制是为了保证网络能够承载用户的通信量,是一个全局性的问题。

  • 试述TCP是如何进行拥塞控制和流量控制的?
    流量控制:接收方通过改变rwnd窗口的长度来告知发送方自己接收缓冲区的大小。发送方发送的长度为min(rwnd, cwnd)。
    拥塞控制:发送方通过超时或者3个重复的ACK来感知拥塞。发送方通过维护一个congwin来处理拥塞。当计时器超时时进入慢启动,congwin=1,阀值=congwin/2,当congwin小于阀值时congwin指数增长,当congwin大于阀值时congwin线性增长。当发送方收到3个重复的ACK时进入快速重传,congwin=congwin/2,阀值=congwin。发送方发送的长度为min(rwnd, cwnd)。

  • 描述TCP协议可靠数据传输过程?
    1)发送方设置一个发送窗口,表示可以连续发送但不需要收到确认的最大报文数,当发送 方收到确认报文后,则窗口向后移动到未收到确认的报文段的位置,并设置定时器; 2)发送方如果在某一个报文的定时器超时之前没有收到确认报文,则发送方重传该报文。 并重置定时器。 3)接收方有一个接收窗口,表示能够接收的数据的最大数量,接收方在接收一个新报文时 如果之前所有接收的报文都已经被确认,则等待500ms,如果在500ms之内再次接收一个新 报文,则返回累计确认,如果在500ms之内没有接收到新报文,则返回对该报文的确认。 4)接收方如果接到一个失序的报文则保存该报文,并重发正确接收的最高序号的报文段的 确认。 如果接收到的报文能够填充所有未被确认的报文序列, 则返回最高序号的累计确认。


  • 路有器有哪三种交换结构,各有什么特点。
    内存交换:分组交换受CPU控制、分组被拷贝到内存、交换速度受内存带宽影响
    总线交换:交换速度受总线带宽的限制
    经一个互联网络交换:克服总线带宽的限制

  • 结合路由器的结构阐述一个分组在路由器转发过程中的处理过程?
    输入端口:bit接收、数据链路处理、根据分组中的目的地址,在输入接口缓存中查找转发表得到适当的输出地址。如果输入的速度大于转发到交换结构的速度,数据就会在输入端口排队。
    交换结构:根据转发表把输入端口的数据送到输出接口。
    输出端口:数据先经过数据链路处理,然后再变成bit发送出去。如果分组到达的速度大于网络的传输速度时,数据就会在输出端口排队。

  • 电路交换和分组交换各有哪些优缺点?
    电路交换在通信之前先要建立源和目的之间的真实物理通道,一旦建立通道,则对分配的 所有资源都是独占的方式, 为数据传输预留通道上的链路资源, 提供数据传输的带宽保障。
    分组交换以单个分组为单位,来自所有计算机的分组具有平等的地位,对网络上所有链路 资源采用共享的方式进行数据传输,不进行资源预留,不提供数据传输带宽保障。

  • 简述虚电路服务和数据报服务。同虚电路服务相比,数据报服务具有哪些优点和缺点?
    虚电路网络在分组传输之前需要先建立源到目的计算机的数据通路-虚电路;源和目的计算机之间传输的所有分组都沿着确定的通路进行传输,分组可以按顺序到达接收方。路由负载较小;其缺陷是一旦出现链路故障,整个链路将失效无法进行数据传输。
    数据报网络直接发送分组,每个分组都是独立的数据转发单元,源和目的计算机之间传输的分组可以自由选择转发路径,所有分组所经历的路径可以不同,分组到达接收方可能是失序的。当出现链路故障时分组可以自适应的路由到其它链路,路由负载较大。
    优点:对于端到端的连接路由不用维护状态信息;网络内部简单;对故障的容忍性好。
    缺点:不能保证可靠传输;不能保证带宽;端系统复杂。

  • 简述链路状态算法工作原理,并和距离向量选路算法比较,谈谈它的优缺点。
    链路状态算法:通过让每个节点向网络中所有其他节点广播链路状态分组,其中每个链路状态分组包含它所连接的链路特征和代价,然后网络中的节点使用dijkstra算法计算出以自己为根节点的最小生产树。
    距离向量算法:每个节点周期性的给相邻节点发送自己的距离向量估计值,当它的邻居节点收到距离向量估计值之后用bellman-ford方程计算更新自己的距离向量估计值。
    优点:收敛快、比较健壮(DV选路算法中一个不正确的节点计算值会扩散到整个网络)。
    缺点:CPU资源使用大、会产生振荡。

  • 简单说明RIP和OSPF的工作原理,并分别说明它们各自的特点?
    RIP是使用距离向量算法,OSPF是使用链路状态算法。
    RIP优点:计算量小。
    RIP缺点:收敛慢、乒乓循环。
    OSPF优点:收敛快。
    OSPF缺点:振荡、计算量大。


  • 以太网是如何进行介质访问控制的?什么是CSMA/CD? 它是如何工作的?
    载波监听多路访问 / 冲突检测
    1.主机在发生数据之前先监听信道,如果信道空闲则发送数据,如果信道忙则继续监听信道,一旦发现空闲就发送数据。
    2.如果适配器传送整个帧都没有检测到其他传输, 就完成该帧的传送。
    3.如果在发生数据的时候检测到冲突就停止发送数据,转而发送一个干扰信号jam强化冲突。
    4.发送干扰信号后,适配器进入指数回退阶段等待一个随机时间回到第1步。

  • 二层交换机连接的具有不同IP网络号的两台主机之间可以直接通信。(False)
    注: 不同ip网络号意味着通信需要夸网段,需要第三层的处理如路由器。而二层的交换机只负责将同一个子网划分成若干个LAN网段。

  • 现有一网络如下图所示,请根据图示回答下列问题:

【基础课程】计算机网络相关推荐

  1. 动态主机配置协议服务器不能提供,计算机网络基础课程—动态主机配置协议(Dhcp)...

    原标题:计算机网络基础课程-动态主机配置协议(Dhcp) DHCP(RFC 2131,2132)是对BOOTP的扩展,这种扩展体现在两个方面: 能在一个DHCP消息中为客户提供所有的网络配置信息,如I ...

  2. 计算机网络tcp传送,计算机网络基础课程—传输控制协议(Tcp)

    原标题:计算机网络基础课程-传输控制协议(Tcp) •TCP和UDP都使用相同的网络层(IP),但TCP向应用层提供与UDP完全不同的服务. •TCP提供一种面向连接的.可靠的字节流服务. •UDP提 ...

  3. 高职计算机网络基础教学环节,计算机网络基础课程教学改革研究

    摘要:当前我国的社会发展模式已经进入了信息化社会,快速发展的网络技术对人才的综合素质有了更高的要求,对高职院校的计算机网络人才培养模式也提出了全新的要求,在新的时代背景下,如何优化高职院校的网络基础课 ...

  4. 计算机网络知识英语,计算机网络基础课程中英文简介.DOC

    计算机网络基础课程中英文简介 <计算机应用基础>课程中英文简介 Fundamentals of Computer Application 课程代码:070014ACourse Code:0 ...

  5. 计算机网络基础这门课重要吗,计算机网络基础课程改革论文

    计算机网络基础是计算机应用技术.网络技术.电子信息工程.电子商务.信息管理等相关专业的专业基础课,重要性不言而喻.下面是小编给大家推荐的,希望大家喜欢! 篇一 <高职院校计算机网络基础课程改革与 ...

  6. 试论计算机网络课程教学论文,试论高校计算机基础课程网络化教学

    试论高校计算机基础课程网络化教学 目前各大高校非常重视计算机基础教学的改革工作,在计算机网络教学方面不断努力.怎样浅论高校计算机基础课程网络化教学? 论文关键词:网络化教学 主要环节 系统网站 论文摘 ...

  7. 浙江万里学院期末计算机网络,(浙江万里学院云计算基础课程大作业封面.doc

    (浙江万里学院云计算基础课程大作业封面 浙江万里学院云计算基础课程论文封面 教师填写: 得分 任课教师签名 年 月 日 学生填写: 姓名 学号 所在学院计算机与信息学院专业信息工程课程名称云计算基础? ...

  8. 中职计算机网络基础知识点总结,计算机应用基础知识点【中等职业学校计算机应用基础课程教学探索】...

    摘要:社会经济不断高速发展,计算机作为一种处理信息的工具,已经被广泛地运用到实际生活中的各个领域,由此为背景,计算机的基础教学发展成为了中等职业院校的基础教育. 关键词:中等职业学校:计算机:应用课程 ...

  9. 计算机网络朱晓姝课后答案,非计算机专业计算机基础课程教学改革探究

    黄凡 摘 要:文章对非计算机专业计算机基础课程方教学改革进行了探讨与研究,目的是为我国的科技技术信息提供参考的依据. 关键词:非计算机专业:计算机基础课程:教学改革 随着我国经济的飞速发展,教育改革也 ...

  10. 计算机应用公共课程,公共基础课程中计算机应用管理制度

    公共基础课程中计算机应用管理制度 作者:职称驿站 浏览量:14925 时间:2017-11-04 新科技技术的不断发展建设是带动教学发展.社会进步等等方面的因素.同时对于计算机应用上的建设发展来说也是 ...

最新文章

  1. 论文:Insights on Transfer Optimization: Because Experience is the Best Teacher(1)文章结构以及以及自己的感觉
  2. Java对多线程的支持
  3. 开发效率不高?墙裂推荐这十款精选 IntelliJ IDEA 插件
  4. 为取消大小周而欢呼?字节员工可不那么想...
  5. android KK版本号收到短信后,点亮屏的操作
  6. java 中变量的存储与引用
  7. CSDN-Markdown-图片设置(大小,居中)
  8. Python新建文件夹
  9. 在线编程 - PyPool小站启动记
  10. 黑客防线2012合订本
  11. 控制台接收信息转发_微信多群转播能够起到什么作用?微信群聊录制课程语音转发多群怎么操作?...
  12. VC操作Word书签模板
  13. CRM管理软件有哪些?这5款好用的CRM软件值得推荐!
  14. 抽奖系统的实现(两种)
  15. 惠普ZBook 14u G5(3XG37PA)电脑 Hackintosh 黑苹果efi引导文件
  16. 带武器的格斗游戏,武器带回血
  17. 串行异步通信_什么是并行传输、串行传输、异步传输?
  18. 计算机的基础操作知识试题,计算机操作基础知识试题(220道)
  19. 中国书法家协会理事、陕西武警总队原司令员王春新莅临秦储指导交流
  20. HHUOJ 1818 More is better

热门文章

  1. 2019年苹果申请邓白氏(和以前(2018年之前)相比多了【确认知悉涵】)
  2. java使用poi逐页读取ppxt,JAVA-WEB(通过POI)实现PPT在线预览
  3. 区别:KL散度,JS散度,Wasserstein距离(EMD)
  4. 搜图出处的软件_【识图】怎样查找图片的来源出处,又快又好
  5. stty设置串口命令
  6. Python案例分析之客户信贷预测模型
  7. MySqlDataAdapter.Update -- 报错
  8. bootstrap使用及解析
  9. c++ vector的底层实现
  10. Linux--Ubuntu Tweak