计算机网络
新学期开始营业
计算机网络
第一章 引论
1.2 网络硬件
按照传输技术分类,分为两种:
- 点到点(point-to-point)
- 在诸多路由中找到一条最好的路径
- 只有一个发送方和接收方
- 广播(broadcasting)
- 一台机器向所有机器发送消息
- 接受的其余所有机器先检查地址字段,如果自己的地址就是就是这个消息的目的地,就处理此消息,否则忽略
- 点到点(point-to-point)
按照传输距离分类:
- 1米:个域网(PAN)
- 10米~1千米:局域网(LAN)
- 10千米:城域网(MAN)
- 100千米~1000千米:广域网(W)
- 10000千米:互联网(Internet)
有趣的事情:当”internet”一词首字母小写的时候,指的是一堆互联的机器,也就是互联网;而当这一词首字母大写的时候(即”Interney”),特指的就是链接世界上所有机器的因特网。因特网是一种特殊的互联网。
1.3 网络软件
1.3.1 协议层次结构
第n-1层的协议为第n层提供服务的接口,可以理解为一种封装。所以在保证提供的服务不变的情况下,第n-1层协议的实现细节可以任意改变。
两台机器进行交流的时候,并不是直接从一个机器的第n层传输到另一个机器的第n层,而是从一个机器的第n层到第n-1层,再到第n-2层,直到最底层,传输到另一台机器,再通过协议一层层恢复到第n层。
层和协议的集合被称为网络体系结构。
下面分析一下上图的消息传输过程:
1. 一个应用程序在第5层产生了一个消息(M),交由第4层。
2. 第4层为这个消息加上了一个头($H_4$),该头包含了一些控制信息(如地址),然后交由第3层。
3. 第3层将第4层的内容进行分割,因为通常情况下一次传输的消息长度是被限制的,而第4层传来的消息可能过于长,所以第三层将这些消息分割为更小的包(packet)。然后再为每个更小的包加上一个头,其中可能包含这些包的次序信息。然后交由第2层。
4. 第二层除了在每个包的前面加上了一个头,还在每个包的结尾处加上了一个尾(T)。最后交由第一层进行传输。
1.3.2 层次设计问题
- 可靠性:网络传输线路本身由并不可靠的组件构成,所以要保证可靠性是非常关键的问题。首先可以考虑的是一种优秀的编码方案可以检错和纠错(离散下群码有说)。然后就是自动智能的修改信息传输的路由途径。
- 可扩展性:网络功能逐渐复杂,网络规模逐渐扩大。如人口过多手机号不够用或者城市过大找不到家这类的问题。一个解决方案:层和协议
- 资源分配:该给谁什么时候分配多少带宽,什么样的服务质量(QoS),什么样的即时水平。
- 网络安全
1.3.3 面向连接和无连接的服务
- 面向连接的服务(connection-oriented service):这种服务是模拟电话系统的,一方提起电话拨打号码,另一方提起电话应答。在网络中双方和传递过程中的媒介通常会提前商量好要求的最长消息长度,服务质量等。
- 无连接服务(connectionless service):这种服务是模拟邮政系统的,每一个发送的报文都带有完整的地址信息,通过系统的中间路由自己寻找路径到达目的地。这一行为与之前和之后的报文都无关,一般情况下先发送的报文会先到达目的地,但因为网络状况的不同,不同批次的报文并不总是和发送顺序一样的到达目的地的。
- 可靠的和不可靠的服务:可靠与不可靠和是否面向连接无关。
从上图发现,一般要求顺序正确的都采用面向连接的服务,不要求顺序的都采用无连接的服务。
1.3.4 服务原语
一系列用于交流的指令。
1.3.5 协议和服务的关系
服务是指某一层向他上一层提供的原语(操作),不涉及这些操作是如何定义的,服务的对象是层。
协议与服务的具体实现有关,它们对用户是完全不可见的,协议的对象是数据包。
第二章 物理层
2.1 数据通信的理论基础
2.1.1 数据通信的性能指标
基础概念
信道(Channel):传输信息的媒体
数据率(Bit Rate):数据传输速率(bps)
=1秒/每一个高电平或低电平持续的时间
波特(Baud):码元传输速率
=$(\log_2V)$bps,其中V是信号的电平级数。如果传输的信号只有高电平(5V)代表1,低电平(0V)代表0,那么电平级数就是2,此时波特速率=比特速率;如果传输的信号有0V-255V共256个电平级数,相当于一个单位的信息代表了之前8个0或1的信息量,此时波特速率就是8倍的比特速率。
传播速度(Propagation Speed):通信线路上,信号单位时间内传播的距离。光速:$3\times 10^8$m/s;铜线:$2\times 10^8$m/s。
带宽(Bandwidth):信号占用的频率范围(Hz)
信道容量(Channel Capacity):信道的最大数据率,防止低配置的机器被数据淹没。
吞吐量(Throughput):网络容量的度量,表示单位时间内网络可以传送的数据位数(后常用包作为单位)
误码率BER(Bit Error Rate):信道传输可靠性指标
P=传送错的位数/传送总位数
时延(Delay):从向网络中发送数据块的第一比特开始,到最后一位数据被接收所经历的时间
时延=传播时延+发送时延+处理时延+排队时延
传播时延 = 距离/传播速度
发送时延 = 包比特量/数据率单工通信(Simplex):数据传输只能单向进行(FM广播)
半双工通信(Half-deplex):可以交替地(不同时地)进行双向通信(对讲机)
全双工通信(Full-duplex):可以同时进行双向通信(电话)
并行通信(Parallel transmission)
串行通信(Serial transmission)
串行通信又分为:- 异步通信(Asynchronous Transmission)
- 独立时钟(传输只需要一来一回两条线和地线,共3条)
- 以字符为单位进行传输
- 发送两个字符之间的间隔是任意的
- 接收方依靠字符中的起始位和停止位同步
- 成本低,近距离低速传输
- **同步通信(Synchoronous Transmission)
- 以时钟信号线对传输的数据线上的信号进行比特同步(传输需要一来一回两条线,时钟两条线,地线一条,共5条线)
- 以数据块,帧或分组为单位传输
- 成本高,远距离高速传输
- 异步通信(Asynchronous Transmission)
2.1.2 带宽有限的信号
传输字母’b’的例子
- 假设在我们的例子中,比特率为b比特/秒,那么传输8比特(一次发送一个比特)就需要8/b秒(周期T),一次谐波的频率就是b/8Hz(频率f),在人为引入的截止频率是3000的情况下,最大谐波数($a_n$,$b_n$的角标能取到几)为3000/(b/8),即24000/b。
- 需要注意的是,带宽一词,有时指的是频率(Hz)就像上文所说的那样,有时指的是一个信道的最大数据速率(bps)。需要根据上下文语境判断。
2.1.3 信道的最大数据速率
- 尼奎斯特(Nyquist)定理:
$$
C = 2B\log_2V
$$
其中B为带宽(Hz),V为电平级数。C是算出来的最大数据速率(比特/秒) - 香农(Shannon)定理:
$$
C = 2B\log_2(1+S/N)
$$
其中S/N是信噪比,一般用分贝表示
$$
(S/N)_{db} = 10\times \log_{10} (S/N)
$$
2.2 引导性传输介质
2.2.1 磁介质
- 把信息录入到磁带里,用货运方式运过去。
2.2.2 双绞线
之所以将两根铜线缠绕在一起,是因为两根行的线会构成一个很好的天线。当两根线绞在一起后,不同电线产生的干扰波会相互抵消,从而能显著降低电线的辐射。信号通常以两根电线的电压差来承载,这样对外部噪声有更好的免疫力
到6类为止,所有的双绞线都称为非屏蔽双绞线(UTP, Unshielded Twisted Pair),这些双绞线仅由导线和绝缘层简单地构成。相对应地,7类双绞线在每对双绞线外面加了个屏蔽层,然后在整个线缆外面再加一个屏蔽层(内层的是塑料保护套)。屏蔽层能够减弱外部干扰和来自附近线缆的串扰,从而满足苛刻的性能规范要求。
2.2.3 同轴电缆
后面的太多了,感觉不关键,到时候有空再说。