计算机网络基础知识

Jul 7, 2015

版权声明:本文为博主原创,未经作者许可谢绝转载。
如有任何疑问或者建议,请联系 xiangchen.cs@gmail.com

体系结构

计算机网络:通过通信信道互联起来的集合体

计算机网络关注的基本问题:连通性,可靠性,经济型,扩展性,适应性

现今的互联网采用基于分组交换分层架构

特征:分组交换,无连接,统计时分复用,扁平拓扑和路由,异质异构

分层架构的优点:模块化,独立性,复用性,标准化

分层架构的缺点:性能优化困难

物理层

处理直连节点间的比特传输

编码

基本是另一门学科了,归零不归零、曼彻斯特差分曼彻斯特等等

复用

多路信号共用一条物理线路的技术,常用的有时分、频分、波分等等

交换

在多节点通信网络中,为有效利用通信设备和线路,希望动态设定通信双方的线路,有:

  • 电路交换:需要建立和拆除线路,但数据传送延迟较短。如电话网、ISDN。
  • 报文交换:信息以报文为单位进行存储转发,中间节点缓冲大、延迟较长。
  • 分组交换:报文分为分组,独立路由;网络节点不预先分配资源;实现统计复用。
    • 数据报:每个分组均带有网络地址,独立路由。如 IP 网。
    • 虚电路:同一分组流的分组通过预先建立的路径传输,确保分组顺序,不同分组流可能会交错在一起。如ATM网络。

相关设备

中继器

通过对数据信号的重新发送或者转发,来扩大网络传输的距离

集线器

将多条以太网双绞线或光纤集合连接在同一段物理介质下

数据链路层

为管理多点访问信道,分为 LLC 和 MAC 两个子层。MAC 层提供尽力而为的服务;LLC 提供确认机制和流量控制,隐藏了不同 MAC 层的差异,为网络层提供统一的接口。

LLC 逻辑链路控制子层

组帧

将比特流分成离散的帧,方法有

  • 字符计数法:在帧头表示整个帧的字符个数。若计数出错,错误扩散。
  • 首尾字符定界法:局限于 8 位字符传送。
  • 位填充首尾标记定界法:特殊位串标记。
  • 物理层编码违例:仅适用于物理层编码有冗余的情况。

差错控制

  • 情况:帧出错,帧丢失

  • 特点:随机,连续突发

  • 基本策略:纠错码,检错码

差错恢复 ARQ

  • 无约束单工协议:发送方不停地发,接收方不停地收
  • 单工停等协议:接收方每收到一个帧,给发送方一个响应
  • 有噪声信道的单工协议:若信息帧损坏或丢失,则重传
  • 滑动窗口协议:为提高信道利用率,给信息帧编号,进行连续地发送
    • 一比特滑动窗口协议:发送接收窗口大小均为 1
    • 回退N滑动窗口协议:接收窗口为 1,从出错帧起丢弃之后的帧
    • 选择重传滑动窗口协议:只重传出错帧

相关协议

HDLC 是使用最广泛的数据链路层协议

此外还有 SDLC、ADCCP、LAP 等等

MAC 介质访问控制子层

介质共享的主要方式分两种:

  • 静态信道分配:TDM,FDM 等
  • 动态访问控制

动态访问控制

  • 随机访问
    • ALOHA:直接发送,若冲突则等待随机时间重发
    • slotted ALOHA:信道时间分成离散的时间槽
    • CSMA:载波监听多路访问协议,发送前监听信道有无载波
      • 1 坚持:信道空闲则一定发送,信道忙则持续监听信道,产生冲突则等待随机时间
      • 非坚持:信道空闲则一定发送,信道忙则等待随机时间,产生冲突则等待随机时间
      • p 坚持:信道空闲以概率p发送,信道忙则监听信道,产生冲突则等待随机时间
      • CSMA-CD:带冲突检测的载波监听多路访问协议,检测到冲突则立即终止发送并发出瞬间干扰信号。发送时间>2倍最大滞后时间以保证检测正确性。
  • 预约
    • 无冲突协议
      • 基本位图协议:竞争周期有 N 个时隙,发送者有帧发送则在对应时隙内发送比特 1,之后按序发送数据
      • 二进制下数法:站地址用二进制位串表示,发送地址时做或操作,高位站优先发送
    • 有限竞争协议:结合竞争方法和无冲突方法,如适应树搜索协议
  • 轮询 细分为中心控制式(USB),中继式,环形等。802.4 协议为采用令牌总线技术的局域网,802.5 协议为采用令牌环技术的局域网

相关协议

IEEE 802.3:采用 1-坚持型 CSMA-CD 技术+二进制指数回退

相关设备

网桥

用于扩展局域网段和隔离冲突域

源地址学习,目标地址转发,未知地址洪泛

交换机

传输线路之间不再共享相同的介质和信道资源

网络层

间接连接的节点间数据传输

寻址

IP 地址采用两级地址结构:网络地址+主机地址

结构化地址有 ABC 三类。由于 IP 地址紧张,基于分类的 IP 地址空间过于浪费,故而采用无类别域间路由 CIDR:网络地址聚合,路由表压缩

路由

  • 距离向量法:基于 Bellman-Ford 算法,如 RIP 协议,路由环路问题(水平分割,毒性反转,触发更新)
  • 链路状态法:基于 Dijkstra 算法,如 OSPF 协议
  • 路径向量法:边界网关协议 BGP

相关协议

  • IP 协议:不解释
  • ICMP:控制消息协议(封装在 IP 包里,如 ping、traceroute、tracert)
  • ARP 地址解析协议(IP->MAC)
  • RARP 反向地址解析协议(MAC->IP)
  • BOOTP:使用 UDP,手工配置映射表
  • DHCP:动态主机配置协议,每个 LAN 要有 DHCP 中继代理
  • ATM 虚电路网络。优点:压缩中间节点维护状态信息规模,对服务质量提供支持
  • IPV6:加速中转路由器处理,简化基本报头结构,取消检验和和分段重组,提供功能扩展,指针链式扩展报头
  • MPLS 多协议标签交换

相关设备

路由器

传输层

多路复用与解复用:引入端口。如 HTTP 80 端口,FTP 21 端口。

提供端到端的通信并提供一定的服务质量

相关协议

TCP

由于两军问题的存在,建立连接采用三次握手、释放连接采用三次握手+定时器

TCP 不支持组播、广播

流量和拥塞控制:可变滑动窗口,按可变发送窗口 Awnd 和拥塞窗口 Cwnd 的较小值发送,Cwnd 加性增乘性减以实现公平和效率的平衡

  • 慢启动:拥塞窗口初始值为连接允许的最大段长,得到确认则拥塞窗口加倍
  • 拥塞避免:大于阈值则拥塞窗口线性增长,超时则阈值设置为拥塞窗口大小的一半,窗口重新设置为最大段长,执行慢启动
  • 快速重传:区分轻微拥塞(连续相同 Ack)和严重拥塞(超时)。收到三个相同 Ack 则重传该分组而不等待超时计数器
  • 快速恢复:快速重传后,不使用慢启动算法,拥塞窗口减半,门限设为拥塞窗口,使用拥塞避免算法
  • Tahoe 协议采用了慢启动+拥塞避免,Reno 协议加入了快速重传+快速恢复

UDP

无连接,延迟小

可能丢失、乱序

常用于流媒体、RIP、DNS

应用层

提供面向终端用户的功能

DNS

电子邮件

  • SMTP 简单邮件传输协议
  • POP3 邮件取回本地
  • IMAP 邮件保持在邮箱中

WWW

FTP

P2P

基于小世界模型、六度分离原理,进行去中心化的资源利用和自组织管理

  • 第一代:中心化 P2P(Napster),纯粹 P2P(Gnutella 0.4,Freenet)
  • 第二代:混合 P2P(Gnutella 0.6,JXTA),动态中心
  • 第三代:结构化,基于DHT,无中心(Chord,CAN)