Advertisement

计算机网络 知识点总结

阅读量:

文章目录

  • 引言

  • 物理层

  • 数据链路层

  • 介质访问控制子层(MAC)

  • 网络层

  • 传输层

  • 本文为 计算机网络 第五版 的知识点总结

  • 较为零散,可差缺补漏式的看看

引言

  • 广域网使用router将多个局域网连接起来
  • 广域网中通信是点对点
  • 报文流有边界,字节流无边界
  • 低三层(物理、数据链路、网络)被称为 通信子网
  • data link是点到点(host主机到host主机),transfer是端到端(进程到进程)
  • OSI模型的网络层可以是面向连接或无连接的,TCP/IP的网络层只能是无连接的(因为使用的IP协议无连接)
  • 各个硬件设备:
    • Hub物理层。不能隔离冲突域和广播域
    • Switch、Bridge数据链路层。可以隔离冲突域,不可隔离广播域
    • Router网络层。可以隔离冲突域和广播域

物理层

基带传输,直接传输0,1电压

物理层需要做宽带调制和频分复用

Nyquist(奈式)定理,决定了传播信号速率上限

max = 2Wlog_2V (b/s)

其中W为采样率,单位是Hz;V是进制数

Shannon(香农)定理,决定了有噪声情况下的最大传播速率

max=Wlog_2(1+S/N)

其中W单位Hz,S/N为信噪比。(db转换为10lg(S/N))

各个信号编码模式

分组交换有两种:

复制代码
* 数据报
* 虚电路:先在逻辑上建立一条虚电路,之后类似电路交换

数据链路层

data link要做:

复制代码
* 流量控制:控制发送速度 
  * 停等协议(即Wt=Wr=1的滑动窗口)
  * 滑动窗口协议:Wt发送窗口,表示还可以发送多少,收到ACK向前滑;Wr接受窗口,收到就前滑并返回ACK
  * 后退N协议:按序发送N个帧后,发现N前的那个未收到ACK,就将其和其之后的全部重传。此外,连续正确才发送ACK,即第N帧的ACK表示N和N以前的都正确。发送窗口需要小于2^n-1,否则无法分辨新旧帧
  * SR选择重传协议:和GBN类似,但在发现差错后会缓存收到的正确帧,不必全部重传。此外,发现怀疑有错,需要发送NAK来表示怀疑。其Wt=Wr

* 差错控制: 
  * CRC冗余校验,一
  * 海明码可以纠错
  * ARQ重传,FEC前向纠错

* 成帧:即定界并打包。 
  * 比特填充:例如HDLC,F(011111110)作为界。中间5个1填1个0
  * 字节填充:例如PPP

以太网是无确认无连接,无线是有确认无连接

信道利用率的计算:

利用率=\frac{L/C}{T}

T=L/C+2R

其中L为发送的比特数,C为传输率,T为发送周期,R为单播时间。此外,如果是滑动窗口协议,则为:

\frac{NT_{frame}}{2T_{prop}+T_{frame}}

吞吐量=利用率*发送速率

注意ACK帧是额外发送的

介质访问控制子层(MAC)

  • 是data link的底部。使得两结点之间相互通信,不会互相干扰

  • 多路复用:1条链路,多个信道

    • FDM频分复用:可以保护频带
    • TDM时分:时间片,轮流来
    • WDM波分
    • CDM码分:用不同的编码方式来区分。一种方法,设置码片使得任意两个码片正交。如果要发送1,则发送该码片;如果发送0则发送反码片(全部取反)。之后将存在的各个结果累加。将信号分到各个编码,只需要将总信号和码片点积即可
  • 随机访问介质:解决不同用户访问同一个信道的问题

纯ALOHA,自由,用户占全部速率,碰撞则重传。其吞吐量为:

S=Ge^{-2G}

其中G为负载。在G为0.5时,S为0.184,为最大吞吐量

时隙ALOHA,将时间分为多个时隙,而非连续的时间。其吞吐量为:

S=Ge^{-G}

在G为1时,S为0.368,为最大吞吐量

CSMA (Carrier Sense Multiple Access),载波侦听。其思想为不断检测信道是否被占用,直到发现信道空闲之后再发送。其可分为以下几种:

复制代码
  * 1-persistent CSMA。1坚持的含义是,监听如果发现信道空闲,发送的概率是1。如果监听忙,等待;如果发现冲突,随机等待
  * non-persistent CSMA。如果忙,随机等待一段时间,然后再继续监听
  * p-persistent CSMA。如果空闲,以p的概率发送
  * CSMA/CD (Collision Detection)。802.3(以太网)就采用此,是一种半双工。其思维是监听碰撞,且边听边发。 
* 注意,假设总线传播时延为τ,则需要2τ时间知道是否冲突。所以,最小帧长=2τ*传输速率。
* 以太网2τ=51.2μs,其传输速率为10Mb/s。故其最小帧长为512b = 64B
* 一旦发生了冲突,则使用二进制指数退避来避免,其退避时间为2rτ

  * CSMA/CA (Collision Avoidance)。802.11a(wifi)使用此。其思维为,尽力避免冲突,不等待检测冲突。具体为先等待,再进入冲突窗口,计算退避时长。
  * 轮询/令牌
  • NIC网卡是计算机与传输介质之间的接口

网络层

  • 路由器作用:路由选择、分组转发

  • 动态路由:

    • 距离向量,RIP
    • 链路状态,OSPF
  • 层次路由:IGP(域内),EGP(域间,BGP)

  • 路由表的构成:目标IP,子网掩码,下一跳IP,接口号

  • IPv4,注意首部长度、总长度、片偏移分别为4B、1B、8B。注意DF、MF值和分片的关系等。

  • 通常下,IPv4地址可以分为网络号和主机号,网络只分配网络号。

    • 网络号根据其数值,可以分为ABC类网络
    • 主机号全零表示本机,全1表示广播
    • 注意:计算IP地址分配问题,可以支持多少主机
  • 而如果有子网掩码的话,则变为了三级IP,{网络号, 子网, 主机号}。子网掩码和IP逐位与得到结果

  • ARP是地址解析协议,从IP到MAC

  • DHCP是动态分配IP的协议(是个应用层协议,使用UDP)

  • ICMP用于报告差错和异常(网络层协议)

  • IPv6的首部是8B的整倍数,其地址是128位

    • 注意,IPv6中,连续的0可以省略,直接写作::。但是一个地址中只能有一个双冒号。(因为多个双冒号则无法推断0的个数)

传输层

  • UDP:

    • 8B首部
    • 计算校验和时,以2B为一组,求和后其反码为校验和(要加上伪首部)
  • TCP:

    • 20B首部

    • 计算校验和时,以4B为一组算

    • 面向字节流

    • 其头部有几个特殊的字段:

      • 确认号:希望得到下一个TCP包的序号
      • ACK(acknowledge):其值为1时,确认号才有用
      • SYN(synchronize):在建立连接时有用
      • FIN:终止符
    • 建立连接的过程,三次握手:

      • 请求,去
      • 同意,回
      • 确认,去
    • 断开连接的过程,四次挥手:

      • 发起断开,去
      • 同意并开始最后一次传输,回
      • 传输完成,回
      • 确认断开,去。需要等待2MSL之后才能确认关闭了
    • 过程中如果收到了超时或者冗余的ACK,都会重传

    • 流量控制:利用滑动窗口来控制发送速率

    • 拥塞控制:其思想是有接受窗口rwnd和拥塞窗口cwnd,可发送的数目为他们的最小值。rwnd固定,而cwnd不断增长,其增长方式有以下两种:

      • Tahoe慢开始+拥塞避免。cwnd从1开始,每过一个时间单位翻倍;如果到达了thresh,则变为每次加1。如果过程中发生了拥塞,则thresh减半,cwnd重新置为1
      • Reno快重传+快恢复。与Tahoe类似,但发生拥塞之后thresh减半,cwnd从减半后的thresh开始加1

全部评论 (0)

还没有任何评论哟~