计算机网络之通信编码与网络通信模型

通信编码

众所周知,计算机只能读取二进制的数据,而这些二进制数字信息在传输过程中可采用不同的代码,这些代码的抗噪性和定时能力各不相同。
● 最基本的数字编码有单极性码、极性码、双极性码、归零码、不归零码、双相码六种。
● 常用于局域网的有曼彻斯特编码、差分曼彻斯特编码。
● 常用于广域网的4B/5B码、8B/10B码。

一、基本编码

1.极性编码

极性编码可以分为单极性码,极性码,双极性码。
极包括正极和负极。
● 单极性码:只使用一个极性,再加零电平(正极表示0,零电平表示1);
● 极性码使用了两极(正极表示0,负极表示1) ;
● 双极性码则使用了正、负两极和零电平(典型的双极性码是信号交替反转编码AMI,它使用零电平表示0004则使电平在正、负极间交替翻转)。

在极性编码方案中,始终使用某一特定的电平来表示特定的数,因此当连续发送多个"1”或"0”时, 将无法直接从信号判断出个数。要解决这个问题,就需要引入时钟信号。

2、归零性编码

归零性指的是编码信号量是否回归到零电平。
归零码就是指码元中间的信号要回归到零电平。不归零码则不回。
归零(而是当1时电平翻转,0时不翻转),也称为差分机制。

3、双相码

通过不同方向的电平翻转(低到高代表0,高到低代表1),这样不仅可以提高抗干扰性,还可以实现自同步,这也是曼彻斯特编码的基础。

总结:

二、应用性编码

1、曼彻斯特编码

曼彻斯特编码(简称"曼码”)是一种双相码,用低到高的电平转换表示0,用高到低的电平转换表示1(有些教程描述正好相反,即用低到高的电平转换表示1,用高到低的电平转换表示0),它可以实现自同步,常用于802.3 10Mbps以太网。

2、差分曼彻斯特编码

差分曼彻斯特编码(简称差分曼码)是在曼彻斯特编码的基础上加上了翻转特性,遇1翻转,遇0不变,常用于令牌环网。使用曼彻斯特编码和差分曼彻斯特编码时,每传输1bit的信息,就要求线路上有2次电平状态变化(2波特),因此要实现100Mbps的传输速率,就需要有200MHz的带宽,即编码效率只有50%。

3、4B/5B编码、 8B/6T编码和8B/10B编码

正是因为曼码的编码效率不高,所以在带宽资源宝贵的广域网和速度要求更高的局域网中,就面临困难。因此就出现了mbnb编码,也就是将m比特位编码成为n波特(代码位)的编码。

提高了频带的利用率,但抗噪性较差。

网络架构

一、网络的分类

不同传输距离的网络可以分为
●局域网
●城域网
●广域网

1.局域网(LAN)

局域网中常见的传输媒介有双绞线、细同轴电缆、微波、射频信号和红外线等。主要特点:
(1)距离短
(2)速度快
(3)高可靠性
(4)成本较低

2.广域网(WAN)

广域网是在传输距离较长的前提下所发展的相关技术的集合,用于将大区域范围内的各种计算机设备和通信设备互联在一起组成一个资源共享的通信网络。其主要特点:
(1)长距离
(2)低速率
(3)高成本
WAN由通信子网与资源子网两部分组成

3.城域网(MAN)

域域网的覆盖范围介于局域网和广域网之间。
城域网的主要技术是DQDB(分布式队列双总线),即1EEE802.6。DQDB是由双总线构成的,所有的计算机都连接在上面。

二、网络互联模型

1.物理层;2.数据链路层;3.网络层;4.传输层;5.会话层;6.表示层;7.应用层;

OSI是一种分层的体系结构,每一层中由一些实体(包括软件元素和硬件元素)组成。
它的基本想法是每一层都在它的下层提供的服务的基础上提供更高级的增值服务,而每一层是通过服务访问点(SAP)来向上一层提供服务的。
在OSI分层结构中,其目标是保持层次之间的独立性,也就是第N层实体只能够使用(N-1)层实体通过SAP提供的服务,并且只能够向(N+1)层提供服务,实体间不能够跨层使用,也不能够同层调用。

1、物理层

是OSI参考模型的最低层或第一层。物理层协议要解决的是主机、工作站等数据终端设备与通信线路上通信设备之间的接口问题。国际电报电话咨询委员会(CCITT)和ISO用4个技术特性来描述:●机械特性●电气特性●功能特性●规程特性

(1)机械特性
规定了DTE和DCE之间的连接器形式,包括连接器形状、几何尺寸、引线数目和排列方式等。
(2)电气特性
规定了发送器和接收器的电气参数及其他有关电路的特征。如1和0的各自电压的大小,每比特持续多少微秒等。电气特性决定了传送速率和传输距离。
(3)功能特性
接口信号分为数据信号、控制信号和时钟信号。功能特性对接口各信号线的功能给出确切的定义,说明某些连线上出现的某一电压表示的意义。
(4)规程特性
规定了DTE和DCE之间各接口信号线实现数据传输的操作过程(操作顺序)。

我们首先要解决两台物理机的通信需求,具体就是机器A往机器B发送bit流,怎么接受bit流,这便是物理层做的事情,定义物理设备的标准,如网线的类型,光纤接口类型他的主要作用是传输bit流,也就是0101二进制数据,数模转换,如网卡。

2、数据链路层(DataLink)

建立、维持和释放网络实体之间的数据链路,这种数据链路对网络层表现为一条无差错的信道。
它通常把流量控制和差错控制合并在一起。数据链路层可以分为MAC(媒介访问控制层)和LLC(逻辑链路控制层)

在传输bit流的过程中,会产生错传,数据传输不完整的可能,定义如何格式化数据以进行传输,控制如何对物理介质的访问,通常提供错误检测和纠正,以确保数据传输的可靠性,本层将bit数据组成了帧,其中交换机工作在本层,对帧解码,并根据帧中的信息发送到接收方,随着网络节点的不断增加,点对点通信的时候是需要多个节点的,那么如何找到目标节点,如何选择最佳路径?

3、 网络层(Network)

属于通信子网,通过网络连接交换传输层实体发出的数据。网络解决的问题是路由选择、网络拥塞、异构网络互联等问题,其服务访问点为逻辑地址(网络地址)。代表性协议有IP,IPx协议等。网络层解决点到点。

其重要功能是将网络地址翻译成对应的物理地址,并决定如何将数据发送方路由到接收方,网络层通过综合考虑发送优先权、网络质量、优先程度等,从一个网络节点A到另一个网络节点B的最佳路径,路由器属于网络层,此时数据称之为数据包,本层我们需要关注的协议是IP协议,因为随着网络通信需求的进一步扩大,通信过程中需要发送大量的数据,需要海量文件传输的需要很长一段时间,而网络在通信过程中,会中断好多次,为了保证大量文件的准确性,需要对发出去的数据进行切分,切割一个一个的segment,其中一个段落丢失了怎么办?要不要重传?每个段落要按照顺序到达吗?这个便是传输层需要考虑的问题。

4、传输层(Transport)

实现发送端和接收端的端到端的数据分组传送,负责保证实现数据包无差错、按顺序、无丢失和无冗余的传输。服务访问点为端口。代表性协议有TCP,UDP,SPX协议等。

传输层解决了主机间的数据传输,数据间的传输可以是不同网络的,传输层解决了传输质量的问题,该层被称之为OSI协议最重要的一层,传输层协议同时进行流量控制,可根据接收方接受的快慢控制速度,它可以将数据分割成较小的数据片,同时对每一数据片安排一序列号,以便数据到达接收方时,能以正确的顺序重组,该过程即称为排序,传输层需要我们关注的TCP/IP协议有的TCP协议和UDP协议。

5、会话层( Session)

会话层主要功能是管理和协调不同主机上各种进程之间的通信(对话)。即负责建立、管理和终止应用程序之间的会话。

现在我们已经保证给正确的计算机发送正确的封装过后的信息了,但是用户级别的体验好不好,难道我每次都要去掉用肢体去打包,然后调用IP协议去找路由自己去发,当然不行,所以我们要建立一个自动收发包自动寻址的功能,于是发明了会话层,作用就是建立和管理应用程序之间的通信,现在我能保证应用程序自动收发和自动寻址。

6、表示层(Prsentation)

表示层处理流经结点的数据编码的表示方式问题,以保证一个系统应用层发出的信息可被另一系统的应用层读出。应用层可以根据其服务解释数据的含义。通常包括数据编码的约定、本地句法的转换、数据压缩与解压缩。例如,JPEG, ASCI,GIF, DES,po MPEG等。

但我要用LinuxWindows发包两个系统民法不一致,就像安装包一样exe不能在Linux下面去执行,elfwindows下也是不能直接运行的,于是需要帮我们解决不同系统之间的通信语法的问题,在表示层数据将按照网络能理解的方案进行格式化,这种格式化也因所使用网络的类型不同而不同。

7、应用层(Application)

直接为端用户服务,提供各类应用程序的接口和用户接口。例如,HTTP, Telnet, FTP, SMTP等。

此时虽然发送方知道自己发送的是什么东西转化成字节数组后有多长,但接收方肯定不知道,所以应用层的网络协议达成了,他规定发送方和接收方必须使用一个固定长度的消息头,消息头必须使用某种固定的组成,而且消息头里需记录消息的长度等一系列信息,以方便接收方能够正确的解析发送方发送的数据应用层旨在让你更方便的应用从网络接收到的数据,该层需要我们重点去关注的是与之相对应的tcp/ip协议中的HTTP协议以上就是关于osi各层次的划分

从应用层开始都会对需要传输的数据头部进行处理,加上分层,而一些信息最终由物理层通过以太网电缆等介质将数据解析成比特流在网络中传输数据,传递到目标地址,并自底而上的将先前对应成的头部给解析分离出来,这个就是我们的网络数据处理的整个流程。

OSI是一个定义良好的协议规范机制并有许多可选部分完成类似的任务,它定义了开放系统的层次结构,层次之间的相互关系以及各层所包括的可能的任务是作为一个框架来协调和组织各层所提供的服务,但是OSI参考模型并没有提供一个可以实现的方法,而是描述了一些概念,用来协调进程间通信标准的制定及OSI参考模型并不是一个标准,而是一个在制定标准时所使用的概念性框架。

常用的网络协议

事实上的标准是TCP/IP四层架构参考模型,首先是使用的网络体系结构,后来改结构被美国国防部用来作为计算机网络的标志。由于领头大哥的推动,市面上绝大多数厂商也已该标准为主用于商用,虽然tcpip协议并不完全符合osi的七层参考模型,但我们依然可以理解为他是OSI的一种实现,接下来咱们来讲讲这个主流的协议,

从字面上讲,有人可能会认为tcpip。确实TCP和IP这两种协议实际生活当中,有时也确实就是指这两种协议,然后在很多情况下,他只是利用IP进行通信时所必须用到的协议群的统称,具体来说,ST或者STMP的TCP或者udptelnet或者FTP这些干扰以及HTTP,都属于tcpip协议,他们与TCP或IP的关系紧密是互联网必不可少的组成部分,Tcpip泛指这些协议,因此有时也称tcpip为网际协议群从,tcpip协议拿与osi在分层模块上稍有区别。

TCP/IP协议簇分为应用层、传输层、网际层和网络接层四层

1.应用层

TCP/IP的应用层对应于OSI模型的应用层和表示层,应用程序通过本层协议利用网络。协议主要有FTP、TFTP、 HTTP、 SMTP、DHCP、NFS、 Telnet、 DNS和SNMP等。

2.传输层

TCP/IP的传输层大致对应于OS1模型的会话层和传输层,主要包括TCP和UDP,这些协议负责提供流控制、错误校验和排序服务。
●TCP是整个TCP/IP协议族中最重要的协议,它在IP协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。TCP协议用于传输数据量比较少,且对可靠性要求高的场合。
●UDP是一种不可靠的、无连接的协议,它的错误检测功能要弱得多,一般用于传输数据量大,对可靠性要求不是很高,但要求速度快的场合。
●TCP有助于提供可靠性,UDP有助于 提高传输的速率。

3.网际层

TCP/IP的网际层对应于OSI模型的网络层,包括IP、ICMP ( 网际控制报文协议)、IGMP(网际组管理协议),以及ARP(址解析协议)和RARP(向地址解析协议)。
这些协议处理信息的路由及主机地址解析。IP所提供的服务是无连接的和不可靠的,因此把差错检测和流量控制功能交给其它层来完成。

4.网络接口层

TCP/IP协议不包含具体的物理层和数据链路层,只定义了网络接口层作为物理层的接口规范。
网络接层处在TCP/IP协议的最底层,在发送端将上层的IP数据报封装成帧后发送到网络上;数据帧通过网络到达接收端时,该结点的网络接口层对数据帧拆封,并检查帧中包含的MAC地址。

5.端口

端口号使一个接收端计算机系统能够确定它所收到的IP包类型,并把它交给合适的高层软件。
端口号的范围从0到65535,从0-1023是知名端口号,固定分配给一些服务,从1024-49151叫已注册端口号,被一些公司用于自己的某种协议。
●SMTP端口号是25
●POP3端口号是110
●DNS端口号力53
●HTTP端口号为80
●FTP数据端口20,控制端口21。

网络地址及子网掩码

1. IP地址结构及类别

IP地址是由32位二进制数,即4个字节组成的(由四组十进制数,组成,零到255),由网络号和主机号两个字段组成。


网络号的位数决定了可以分配的网络数(2n);
主机号的位数决定了网络中最大主机个数(2m-2)

为了便于对IP地址进行管理,把IP地址分成为5类,即A类到E类,目前大量使用的是A,B,C三类。

2.特殊IP地址

IP定义了一套特殊地址格式,称为保留地址。
(1)网络地址。主机号全0表示网络地址
(2)广播地址。主机号全1表示广播地址
(3)子网掩码。网络号部分全为1,主机号部分全为0;用于计算网络地址用(只需将IP地址和子网掩码做与操作,就可得到网络地址)

猜你喜欢

转载自blog.csdn.net/FMC_WBL/article/details/108630812