接收码字为:"0011101"(n=7) hF%M!otcJ-
hF%M!otcJ-
求:发送端的信息码。 hF%M!otcJ-
hF%M!otcJ-
解:1)由海明码的监督关系式计算得S2S1S0=011。 hF%M!otcJ-
2)由监督关系式可构造出下面错码位置关系表: hF%M!otcJ-
3)由S2S1S0=011查表得知错码位置是a3。 hF%M!otcJ-
4)纠错--对码字的a3位取反得正确码字:"0 0 1 0 1 0 1" hF%M!otcJ-
5)把冗余码a2a1a0删除得发送端的信息码:"0010" hF%M!otcJ-
hF%M!otcJ-
方法二:(不用查表,方便编程) hF%M!otcJ-
hF%M!otcJ-
1)海明码的生成(顺序生成法)。 hF%M!otcJ-
hF%M!otcJ-
例3.已知:信息码为:" 1 1 0 0 1 1 0 0 " (k=8) hF%M!otcJ-
求:海明码码字。 hF%M!otcJ-
解:1)把冗余码A、B、C、…,顺序插入信息码中,得海明码 hF%M!otcJ-
码字:" A B 1 C 1 0 0 D 1 1 0 0 " hF%M!otcJ-
码位: 1 2 3 4 5 6 7 8 9 10 11 12 hF%M!otcJ-
其中A,B,C,D分别插于2k位(k=0,1,2,3)。码位分别为1,2,4,8。 hF%M!otcJ-
2)冗余码A,B,C,D的线性码位是:(相当于监督关系式) hF%M!otcJ-
A->1,3,5,7,9,11; hF%M!otcJ-
B->2,3,6,7,10,11; hF%M!otcJ-
C->4,5,6,7,12;(注 5=4+1;6=4+2;7=4+2+1;12=8+4) hF%M!otcJ-
D->8,9,10,11,12。 hF%M!otcJ-
3)把线性码位的值的偶校验作为冗余码的值(设冗余码初值为0): hF%M!otcJ-
A=∑(0,1,1,0,1,0)=1 hF%M!otcJ-
B=∑(0,1,0,0,1,0)=0 hF%M!otcJ-
C=∑(0,1,0,0,0) =1 hF%M!otcJ-
D=∑(0,1,1,0,0) =0 hF%M!otcJ-
4)海明码为:"1 0 1 1 1 0 0 0 1 1 0 0" hF%M!otcJ-
hF%M!otcJ-
2)海明码的接收。 hF%M!otcJ-
hF%M!otcJ-
例4.已知:接收的码字为:"1 0 0 1 1 0 0 0 1 1 0 0"(k=8) hF%M!otcJ-
求:发送端的信息码。 hF%M!otcJ-
解:1)设错误累加器(err)初值=0 hF%M!otcJ-
2)求出冗余码的偶校验和,并按码位累加到err中: hF%M!otcJ-
A=∑(1,0,1,0,1,0)=1 err=err+20=1 hF%M!otcJ-
B=∑(0,0,0,0,1,0)=1 err=err+21=3 hF%M!otcJ-
C=∑(1,1,0,0,0) =0 err=err+0 =3 hF%M!otcJ-
D=∑(0,1,1,0,0) =0 err=err+0 =3 hF%M!otcJ-
由err≠0可知接收码字有错, hF%M!otcJ-
3)码字的错误位置就是错误累加器(err)的值3。 hF%M!otcJ-
4)纠错--对码字的第3位值取反得正确码字: hF%M!otcJ-
"1 0 1 1 1 0 0 0 1 1 0 0" hF%M!otcJ-
5)把位于2k位的冗余码删除得信息码:"1 1 0 0 1 1 0 0" hF%M!otcJ-
第3章 计算机网络体系结构及协议
3.1 网络体系结构及OSI基本参考模型 hF%M!otcJ-
hF%M!otcJ- 3.1.1 协议及体系结构 hF%M!otcJ- hF%M!otcJ- 通过通信信道和设备互连起来的多个不同地理位置的计算机系统,要使其能协同工作实现信息交换和资源共享,它们之间必须具有共同的语言。交流什么、怎样交流及何时交流,都必须遵循某种互相都能接受的规则。 hF%M!otcJ- hF%M!otcJ- 1.网络协议(Protocol) hF%M!otcJ-
为进行计算机网络中的数据交换而建立的规则、标准或约定的集合。协议总是指某一层协议,准确地说,它是对同等实体之间的通信制定的有关通信规则约定的集合。 hF%M!otcJ- 网络协议的三个要素: hF%M!otcJ- 1)语义(Semantics)。涉及用于协调与差错处理的控制信息。 hF%M!otcJ- 2)语法(Syntax)。涉及数据及控制信息的格式、编码及信号电平等。 hF%M!otcJ- 3)定时(Timing)。涉及速度匹配和排序等。 hF%M!otcJ- hF%M!otcJ- 2.网络的体系结构及其划分所遵循的原则 hF%M!otcJ- 计算机网络系统是一个十分复杂的系统。将一个复杂系统分解为若干个容易处理的子系统,然后“分而治之”,这种结构化设计方法是工程设计中常见的手段。分层就是系统分解的最好方法之一。 hF%M!otcJ- 在(图3.1)所示的一般分层结构中,n 层是n-1层的用户,又是n+1层的服务提供者。n+1层虽然只直接使用了n层提供的服务,实际上它通过n层还间接地使用了n-1层以及以下所有各层的服务。 hF%M!otcJ- hF%M!otcJ-
hF%M!otcJ-
图3.1 层次模型
层次结构的好处在于使每一层实现一种相对独立的功能。分层结构还有利于交流、理解和标准化。 hF%M!otcJ- 所谓网络的体系结构(Architecture)就是计算机网络各层次及其协议的集合。层次结构一般以垂直分层模型来表示(图3.2)。 hF%M!otcJ- hF%M!otcJ-
hF%M!otcJ-
图3.2 计算机网络的层次模型
层次结构的要点: hF%M!otcJ-
1)除了在物理媒体上进行的是实通信之外,其余各对等实体间进行的都是虚通信。 hF%M!otcJ-
2)对等层的虚通信必须遵循该层的协议。 hF%M!otcJ-
3)n层的虚通信是通过n/n-1层间接口处n-1层提供的服务以及n-1层的通信(通常也是虚通信)来实现的。 hF%M!otcJ-
hF%M!otcJ-
层次结构划分的原则: hF%M!otcJ-
1)每层的功能应是明确的,并且是相互独立的。当某一层的具体实现方法更新时,只要保持上、下层的接口不变,便不会对邻居产生影响。 hF%M!otcJ-
2)层间接口必须清晰,跨越接口的信息量应尽可能少。 hF%M!otcJ-
3)层数应适中。若层数太少,则造成每一层的协议太复杂;若层数