学习笔记|【笔记】计算机网络(一)


文章目录

  • 引言
    • 计算机网络定义
    • 网络硬件
    • 网络软件
    • 参考模型
    • 网络实例
    • 网络标准化
  • 物理层
    • 数据通信的理论基础
    • 传输介质
    • 数字调制
    • 多路复用
    • 公共电话交换网络
  • 数据链路层
    • 成帧
    • 差错检测和纠正
    • 基本数据链路层协议
    • 滑动窗口协议
  • 介质访问控制子层
    • 信道分配问题
    • 多路访问协议
    • 以太网
    • 无线局域网
    • 数据链路交换

引言 计算机网络定义 计算机网络:大量相互独立但彼此连接的计算机共同完成计算任务。
【学习笔记|【笔记】计算机网络(一)】P2P:对等(peer-to-peer),在这种通信形式下,组成一个松散群体中的个人可以与群体中的其他人通信。原则上,每个人都可以与一个或多个其他人通信,这里的客户端和服务器没有固定的分工。
网络硬件 广播(broadcasting):将一个数据包发送给所有目标机器。
组播(multicasting):给一组机器发送数据包。
单播(unicasting):只有一个发送方和一个接收方。
LAN:私有网络,一般在一座建筑物内或建筑物附近。
MAN:范围可覆盖一个城市。
WAN:范围很大,能跨越很大的地理区域,通常是一个国家、地区或者一个大陆。
因特网(Internet):全球范围的互联网,连接各种各样的企业网络、家庭网络和许多其他网络。
分组交换(packet switching):把一个要发送的整块数据划分为几个分组后再进行传送。
网络软件 协议(protocol):通信双方就如何进行通信的一种约定。
层(layer):为了降低网络设计的复杂性,绝大多数网络都组织成一个层次栈或分级栈,每一层都建立在其下一层的基础之上。每一层的目的是向上一层提供特定的服务,而把如何实现这些服务的细节对上一层加以屏蔽。
接口(interface):定义了下层向上层提供哪些原语操作和服务。
服务(service):服务是指某一层向它的上一层提供的一组原语(操作)
错误控制:从接收到的信息中发现错误,然后重新传输接收到的不正确信息,直到它被正确接收为止。更强大的编码不仅能检错,还能纠错,即从最初收到的可能不正确的比特中恢复正确的消息。
流量控制:保持快速发送方不会用数据把慢速接收方淹没。
面向连接的服务:服务用户首先必须建立一个连接,然后使用该连接传输数据,最后释放该连接。
无连接服务:每个报文都携带了完整的目标地址,每个报文都由系统中的中间节点路由,而且路由独立于后续报文。
可靠和不可靠的服务:对于可靠服务,接收方向发送方确认收到的每个报文,因而发送方可以据此保证报文已经到达接收方;而对于不可靠的服务,报文则没有被确认。
服务与协议的关系:服务是指某一层向它的上一层提供的一组原语(操作),而协议是一组规则,规定了同一层上对等体之间所交换的数据包或者报文的格式和含义。对等体利用协议来实现它们的服务定义,它们可以自由地改变协议,只要不改变呈现给它们用户的服务即可。
参考模型 OSI 参考模型:从下到上分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
TCP/IP 参考模型:从下到上分别为链路层、互联网层、传输层、应用层。
网络实例 802.11:无线局域网,WiFi。
网络标准化 网络标准化:使不同的计算机可以相互进行通信。
物理层 数据通信的理论基础 带宽(bandwidth):在传输过程中振幅不会明显减弱的频率的宽度,也可以表示一个信道的最大数据速率,以每秒多少个比特来计量。
尼奎斯特定理:最大数据速率 = 2Blog2V(比特/秒),B 为带宽,V 为信号包含的离散等级。
香农定理:最大比特率 = Blog2(1+S/N),S 为信号功率,N 为噪声功率,S/N 为信噪比。
传输介质 大致上可以把介质分为引导性介质(也称有线介质)和非引导性介质(也称无线介质)。
引导性介质:磁介质、双绞线、同轴电缆、电力线、光纤
非引导性介质:无线电、微波、红外线、光信号、卫星
数字调制 调制解调器(modem):执行数字比特流和模拟信号流之间转换的设备,是调制器和解调器的缩写。
调幅(AM):将不同的数据信息调制成幅度不同但频率相同的载波信号(用不同的振幅表示 0 和 1)。
调频(FM):将不同的数据信息调制成频率不同但幅度相同的载波信号(用不同的频率表示 0 和 1)。
曼彻斯特编码:当时钟与 0 电压异或时,只是简单地将时钟信号产生一次“从低到高”的转变,这种信号跳变表示逻辑 0;当时钟与 1 电压异或时产生一次“从高至低”的相反转变,这种信号跳变表示逻辑 1。
差分曼彻斯特编码:与曼彻斯特编码类似,都在每个时钟位的中间有一次跳变,不同的是,在时钟位的开始,如果时钟与 0 电压异或,则进行跳变,否则不跳变。
多路复用 频分复用(FDM):利用通带传输的优势使多个用户共享一个信道。它将频谱分成几个频段,每个用户完全拥有其中的一个频段来发送自己的信号。
时分多路复用(TDM):用户以循环的方式轮流工作,每个用户周期性地获得整个带宽非常短的一个时间。
波分多路复用(WDM):这是在光波频率范围内,把不同波长的光波,按一定间隔排列在一根光纤中传送。
公共电话交换网络 非对称数字用户线(ADSL):是 DSL 技术中的一种,它提供的上行和下行宽带不对称。
电路交换(circuit switching):当你或者你的计算机发出一个电话呼叫时,电话系统的交换设备就会全力以赴地寻找一条从你电话通向接收方电话的物理路径。
分组交换(packet switching):数据包尽可能快地被发出,无须像电路交换那样要事先设立一条专门的路径。
三种交换方式的比较:链接
数据链路层 成帧 位填充:每个帧的开始和结束由一个特殊的比特模式标记(如 01111110,每当发送方的数据链路层在数据中遇到连续五个 1,它便自动在输出的比特流中填入一个比特 0)。
字节填充:让每个帧用一些特殊字节作为开始和结束(标志字节和转义字节)。
差错检测和纠正 循环冗余校验码(CRC)的计算方式:
  1. 假设 G(x) 的阶为 r,在帧的低位端加上 r 个 0 位,使得该帧现在包含 m+r 位,对应多项式为 xrM(x)。
  2. 利用模 2 除法,用对应于 G(x) 的位串去除对应于 xrM(x) 的位串。
  3. 利用模 2 减法,从对应于 xrM(x) 的位串中减去余数,结果就是将被传输的带校验和的帧。
注意事项:
  1. 生成多项式 G(x) 是发送方和接收方必须预先商定的,它的最高位和最低位系数必须是 1。
  2. 多项式的算术运算遵守代数域理论规则,以 2 为模来完成,加法没有进位,减法没有借位,加法和减法都等同于异或。
  3. 带校验和的帧的多项式可以被 G(x) 除尽(模 2)。
基本数据链路层协议 停等协议(stop-and-wait):发送方发送一帧,等待对方确认到达后才能继续发送。
滑动窗口协议 捎带确认(piggybacking):暂时延缓确认以便将确认信息搭载在下一个出境数据帧上,能够更好地利用信道的可用带宽。
发送窗口:发送方窗口内的序号代表了那些可以被发送的帧,或者那些已经被发送但还没有被确认的帧。任何时候当有新的数据包从网络层到来时,它被赋予窗口中的下一个最高序号,并且窗口的上边界前移一格。当收到一个确认时,窗口的下边界也前移一格。按照这种方法发送窗口持续地维持了一系列未被确认的帧。
接收窗口:接收方数据链路层的窗口对应于它可以接受的帧。任何落在窗口内的帧被放入接收方的缓冲区。当收到一个帧,而且其序号等于窗口下边界时,接收方将它传递给网络层,并将整个窗口向前移动 1 个位置。任何落在窗口外面的帧都将被丢弃。在所有情况下,接收方都要生成一个确认并返回给发送方。
介质访问控制子层 信道分配问题 静态信道分配:把信道容量拆开分给多个用户使用,如果总共有 N 个用户,则整个带宽被分成 N 等份,每个用户分得一份。
动态信道分配的假设:流量独立、单信道、冲突可观察、时间连续或分槽、载波侦听或不听。
多路访问协议 纯 ALOHA:当用户有数据需要发送时就传输。
分槽 ALOHA:当用户有数据时不会立即发送,而是要等到下一个时间槽的开始时刻。
载波检测多路访问(CSMA):站监听是否存在载波(即是否有传输),并据此采用相应的动作。
CSMA/CD:带冲突检测的 CSMA,每个站快速检测到发生冲突后立即停止传输帧(而不是继续完成传输),因为这些帧已经无可挽回地成为乱码。
最小帧长:在发送帧的最后一位前,发送站点必须检测冲突,如有任何冲突都要放弃传输。这是因为一旦整个帧被被发送了,站点就无法保留帧的副本并无法掌控线路中的冲突检测。因此,帧的传输时间必须至少是最长传播时间的 2 倍。以太网的最小帧长是 64B。
MACAW:无线的冲突避免多路访问,发送方刺激接收方输出一个短帧,以便其附近的站能检测到该次传输,从而避免在接下去进行的(较大)数据帧传输中也发送数据。
以太网 二进制指数后退算法:在第 i 次冲突之后,从 0 ~ 2i-1 之间随机选择一个数,然后等待这么多个时间槽。然而,达到 10 次冲突之后,随机数的选择区间被固定在最大值 1023,以后不再增加。在 16 次冲突之后,控制器放弃努力,并给计算机返回一个失败报告。进一步的恢复工作由高层协议完成。
IEEE 802.3 帧格式:
字段名称 字节数
前导码(不被计算进帧长中) 8
目标地址 6
源地址 6
Length 2
数据 0 - 1500
填充 0 - 46
校验和 4
无线局域网 隐藏终端问题:由于竞争者离得太远而导致站无法检测到潜在的竞争者。
暴露终端问题:需要一个 MAC 协议,防止此类延迟传输的发生。
CSMA/CA:类似于以太网的 CSMA/CD,在发送前侦听信道和检测到冲突后指数后退。然而,需要发送帧的站必须以随机后退开始(除非它最近没有用过信道,并且信道处于空闲状态),而且它不等待冲突的发生。
802.11 MAC子层协议:与以太网有很大的不同,这种本质上的差异性来自于无线通信的两大因素:无线电几乎总是半双工的,这意味着它们不能在一个频率上传输的同时侦听该频率的突发噪声;不同站的传输范围可能有所不同。
数据链路交换 中继器:模拟设备,主要用来处理自己所连的线缆上的信号。在一个线缆上出现的信号被清理、放大,然后再被放到另一个线缆上。
集线器:有许多条输入线路,它将这些输入线路连接在一起。从一条线路上到达的帧都会被发送到所有其他的线路上。
网桥:连接两个或多个局域网。一个现代网桥有多个端口,每个端口被隔离成它自己一个冲突域。
交换机:现代网桥的另一个称呼,网桥倾向于连接相对数目较少的局域网,因而端口数也相对较少,而交换机的端口数往往有多个。交换机也可以指以太网交换机或一个完全不同类型的转发决策设备,例如电话交换机。
路由器:检查数据包的地址,并基于这些地址路由数据包。
网关:用于两个高层协议不同的网络互连。
网桥中的散列表:列出每个可能的目的地以及它隶属的输出端口。
泛洪算法:对于每个发向未知目的地址的入境帧,网桥将它输出到所有的端口,但它来的那个输入端口除外。随着时间的推移,网桥将会学习到每个目标地址在哪里。一旦知道了一个目标地址,以后发给该地址的帧只被放到正确的端口,而不再被泛洪到所有端口。
后向学习法:网桥工作在混杂模式下,所以,它们可以看得到每个端口上发送的所有帧。通过检查这些帧的源地址,网桥就可获知通过哪个端口能访问到哪些机器。
动态拓扑结构变化:当打开、关闭或者移动机器和网桥时,网络的拓扑结构会发生变化。为了处理这种动态的拓扑结构,一旦构造出一个散列表项后,帧的到达时间也被记录在相应的表项中。当一帧到达时,如果它的源地址已经在表中,那么对应表项中的时间值被更新为当前时间。因此,与每个表项相关联的时间值反映了网桥最后看到该机器发出一帧的时间。在网桥中有一个进程定期扫描散列表,并将那些时间值在几分钟以前的表项都清除掉。
生成树网桥:通过去掉一些链路,由网桥之间的连接组成的图即被简化为一棵生成树。在这棵树上,从每个站到每个其他站恰好只有一条路径。一旦网桥同意这棵生成树,则站之间的所有转发都将沿着这棵树进行。由于从每个源到每个目标都只有唯一一条路径可走,所以不可能产生回路。

    推荐阅读