网络原理-计算机网络详解-网络层之ICMP和ping

ICMP协议 (Internet控制报文协议)

1、ICMP协议概述

通常被认为是IP层的组成部分,一般被IP层或更高层(TCP、UDP)使用。
ICMP报文是在IP数据报内部被传输的。如图:

 

ICMP报文的格式如下:

报文的前4个字节都一样: 8bit类型,8bit代码,16bit检验和。

16bit检验和,算法和计算IP首部检验和一样,ICMP检验和要覆盖整个报文,包括首部和数据。
ICMP报文有不同的报文类型,不同类型由这个8bit的类型和8bit的代码共同决定。一个类型下可能有多个代码。
比如: 类型0表示回显应答(ping应答);类型1表示目的不可达,其中代码0表示网络不可达,代码1表示主机不可达,代码2表示协议不可达,代码3表示端口不可达等等…

报文也分为查询类型还是差错类型。因为有时要对差错报文进行特殊处理,比如对ICMP差错报文进行响应时就不会再生成一个ICMP差错报文…
当发生的是差错报文时,报文始终包含导致产生ICMP差错报文的原IP首部和数据部分的前8个字节(比如传输层的UDP或者TCP,这包含了端口号)。这里的原IP首部中的协议字段和前8个字节的端口号,可以判断出是哪个协议和哪个用户进程。
除了上述的ICMP差错报文不会再产生ICMP差错报文,一般目的地址是广播的数据报不会再产生ICMP差错报文了,这样防止广播风暴…

ICMP地址掩码请求与应答
ICMP时间戳请求与应答
ICMP端口不可达差错:
如果说报文发送到目的主机的未监听的端口,那么目的主机就会返回一个端口不可达的ICMP差错报文。traceroute就利用了这一点。

 

可以看出ICMP报文的数据部分,包含了原IP的首部和IP数据部分的前8个字节(这里就是UDP首部)。

2、ICMP之ping

ping程序是由Mike Muuss编写,目的是为了测试一个主机是否能到达。相当于潜艇的声呐一样,给对方发送测试信息,等待对方是否响应返回。

该程序的原理就是向目的主机发送一个请求回显类型(ICMP众多类型的一个,类型是8,代码是0)的ICMP报文,并等待返回ICMP回显应答(ICMP众多类型的一个,类型是0,代码是0)。
一般来说,如果ping不通主机,就表示不能访问那台机器。不过随着Internet安全意识提高,比如现在的路由器和防火墙已经可以提供访问控制列表了,ping不通也不一定是访问不了主机了…

ping程序ICMP回显请求和回显应答的报文格式如下:

Unix系统在实现ping程序时,标识符字段置成发送进程的ID号,这样一台机器启用多个ping的时候,当本机接到应答报文时,就能识别出是哪个ping实例发出的。
ping返回每个序列号,ttl,time…序列号是每发送一个新的回显请求就加1,起始是0。ttl就是过了几个路由(ping局域网内的机器发现ttl就不会减少)。time就是计算的往返时间,发送的时候在数据部分记录下发送时间,收到的时间减去这个发送时间。
ping的时候,往往会发现第一个回来的报文比别的要用的往返时间长,这个多出去的时候就可能是arp寻找mac地址…

ping程序也提供了查看IP记录路由选项的.在IP首部中,还记得有个选项的字段吧~这些个ip记录就放在这个字段里。每经过一个路由,就把这个路由出口的ip(注意这里规范是出口地址),回显应答报文回到源端时仍然会记录下每个路由的出口地址。
IP首部最长是60个字节,减去固定的20字节长度,剩下40个字节。记录路由IP的这个类型项、长度项、记录ip位置的指针各占1个字节,这样存放各个路由ip就只剩下37个字节,一个ip4个字节,因此最多只能记录9个路由…
IP首部的选项还可以记录IP时间戳。这个类似于IP记录路由选项。

3、ICMP之Traceroute

traceroute程序–可以让我们看到IP数据报从一台主机传到另一台主机所经过的路由情况。

ping程序中也提供了查看IP记录路由选项,为啥还要再搞一个traceroute咧?主要原因还是因为IP首部选项能存储的ip数量太少了,最多9个。如果只考虑去和回的一个方向,那么最多只能存储4-5个路由,这在现在的互联网规模来看显然是不太满足的。
traceroute几个核心知识:利用TTL通过路由减1,直到变为1或者0时(路由不会传送TTL为0的包),路由就会发送超时类型的ICMP报文通知源端主机。利用UDP发送一般不常见的端口号给目的主机,当真正到达目的主机时,目的主机会发送一个端口不可达错误的ICMP报文(在未到达时,是路由返回的超时类型的ICMP报文,需要辨识开)。源端主机根据这个确认是否到达。TTL开始是1,逐渐递增。

一个细节:对于每个TTL值,都会发送三个包。每接到一个报文,就计算并打印出来往返时间。如果5秒钟内一个包没收到,就打印一个*号,并发送下一份数据报。

ICMP超时报文格式如下:

 

IP源站选路选项:
通常IP路由是动态的,每个路由都要判断下一站转发给谁。源站选路:就是由发送者指定路由。采用类似Traceroute程序的工具来发现实际的路由。
一般分为严格和宽松的两种。严格的源站,是由发送端确切指明每个路由,如果发现指定的路由不在这个连接的路由上,那么就会发送“源站路由失败”的ICMP报文。
宽松的:发送端指明一个路由的IP地址清单,每两个IP路由之间可以通过其他路由器。
这里指定的路由和IP记录路由选项是一样的,都是利用IP首部的选项字段,格式也很类似。

 

 


参考自:

http://www.cnblogs.com/firstForEver/p/5345900.html

网络原理-计算机网络详解-数据链路层之以太网

网络层 包括两种结构:

数据报与虚电路
https://blog.csdn.net/lovecc_orange/article/details/79237256

一、以太网帧结构

常见的以太网帧结构有:IEEE 802.3 和 DIX Ethernet V2

下面是 DIX Ethernet V2

802.3 又细分为 不同的 以太网 帧。

但主要就是 将上图的类型改为 长度 了,其他就是 将数据部分 做了一点拆分,其他变化不大。

802.3 以太网帧结构【来自维基百科】
前导码 帧开始符 MAC 目标地址 MAC 源地址 802.1Q 标签 (可选) 以太类型 负载 冗余校验 帧间距
10101010 7个octet 10101011 1个octet 6 octets 6 octets (4 octets) 2 octets 46–1500 octets 4 octets 12 octets
64–1522 octets
72–1530 octets
84–1542 octets

Ethernet II
以太 II 帧 (也称作DIX以太网,是以这个设计的主要成员,DEC,Intel和Xerox的名字命名的。[1]),把紧接在目标和源MAC地址后面的这个两字节定义为以太网帧数据类型字段。

例如,一个0x0800的以太类型说明这个帧包含的是IPv4数据报。同样的,一个0x0806的以太类型说明这个帧是一个ARP帧,0x8100说明这是一个IEEE 802.1Q帧,而0x86DD说明这是一个IPv6帧。

当这个工业界的标准通过正式的IEEE标准化过程后,在802.3标准中以太类型字段变成了一个(数据)长度字段。(最初的以太包通过包括他们的帧来确定它们的长度,而不是以一个明确的数值。)但是包的接收层仍需知道如何解析包,因此标准要求将IEEE802.2头跟在长度字段后面,定义包的类型。多年之后,802.3x-1997标准,一个802.3标准的后继版本,正式允许两种类型的数据包同时存在。实际上,两种数据包都被广泛使用,而最初的以太数据包在以太局域网中被广泛应用,因为他的简便和低开销。

为了允许一些使用以太II版本的数据报和一些使用802.3封装的最初版本的数据包能够在同一个以太网段使用,以太类型值必须大于等于1536(0x0600)。这个值比802.3数据包的最大长度1500byte (0x05DC)要更大。因此如果这个字段的值大于等于1536,则这个帧是以太II帧,而那个字段是类型字段。否则(小于1500而大于46字节),他是一个IEEE 802.3帧,而那个字段是长度字段。1500~1536(不包含)的数值未定义。因为网络环境 MTU选择是1500【即以太网帧最大负载是1500字节】,所以我们上网用的以太网帧 应该是 802.3帧。

=======================================================

标准的以太网帧,我们经常说的以太网帧长度是从图中 目标MAC地址开始,FCS结束。网卡对网络层数据的操作是加以太网帧头、以太网帧尾FCS,很显然上层需要提供目的MAC地址,否则接口无从完成以太网帧的封装。这需要IP层需要事先完成和ARP的交互,解析出目的IP对应的目的MAC,这显然不能由网卡来完成。

网卡对物理层接收到的二进制流成帧处理,校验FCS,去掉以太网帧头,把载荷Payload (中文指以太网帧内的数据)放在接收缓存,等待网络层取走。

标准的以太网帧最大可以发送长度1518字节,指的就是这个。去掉以太网头14个字节,再去掉尾部的校验和FCS 4个字节,留给上层协议也就是(1518-14-4)=1500个字节,这个就是MTU的由来。上层协议加黑的原因是要引起大家的注意,这个上层协议如果是IP,那么就是IP MTU,如果是MPLS,就是MPLS MTU,如果是IPv6,那就是IPv6 MTU。

类型: 以太网协议

网卡用来分辨封装的是什么协议,然后再通知不同的协议模块来取走数据。

Payload: 载荷(就是指以太网帧中的数据)

这个允许负荷的最大长度对应的就是负荷的最大传输单元,即MTU,标准的以太网帧,允许的最大负荷长度为1500字节,所以如果上层协议为IPv4,那就是IPv4 MTU=1500,所以经常看到主机的MTU为1500字节。

FCS: 校验码

为了防止在传输过程中发生错误,数据发送方的网卡会计算一个校验码,覆盖整个以太网帧,并放在以太网帧尾部,发送出去,接收网卡需要对其进行校验,来决定是否接收。而如果不校验,一个错误的帧可能要到TCP、UDP才能被发现出来,这样的话会浪费很多CPU资源。CPU会说:屁大点的事都搞不定,还要劳烦朕,可以去自宫了。而如果网卡来进行校验,错了就默默地丢弃,不惊动高层,高层肯定偷偷乐开了花。

IP层能发现IP包的损坏吗?

IP头的校验码只覆盖IP头,保证关键信息如目的IP在传输过程没有差错,可以到达目的地,至于里面封装内容则由目的地主机负责校验,可以减少路由器的处理时间,提高转发效率。

二、以太网特点

CSMA/CD可归结为四句话
发前先侦听,空闲即发送, 边发边检测,冲突时退避。

CSMA/CD解决的是,介质占用问题。
而全双工倾向解决的是,两端同时发送数据的碰撞问题。
具体内容可以查看介质访问控制 文章

为了通信的简便 以太网采取了两种重要的措施

  • 采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。
  • 以太网对发送的数据帧不进行编号,也不要求对方发回确认。
    • 这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。

以太网提供的服务

  • 以太网提供的服务是不可靠的交付,即尽最大努力的交付。
  • 当目的站收到有差错的数据帧时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。
  • 如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。

三、以太网的差错控制和流量控制

3.1差错控制

以太网的数据链路层的FCS检查是针对整个帧进行检查的。

IP帧的校验码只覆盖IP头,【16位首部校验和,可以查看ip报头】保证关键信息如目的IP在传输过程没有差错,可以到达目的地,至于里面封装内容则由目的地主机负责校验,可以减少路由器的处理时间,提高转发效率。所以IP层不能发现IP包的损坏。

所以以太网的差错重传,只能靠传输层的tcp/udp 进行控制了。因为数据链路层 和 ip层 差错重传都 不管。

3.2流量控制

以太网不需要确认帧(碰撞检测:CSMA/CD) 无线网有确认帧(碰撞检测:CSMA/CA)。
有确认帧的,可以使用窗口滑动协议进行流量控制。

当通过交换机一个端口的流量过大,超过了它的处理能力时,就会发生端口阻塞。
网络拥塞一般是由于线速不匹配(如100M向10M端口发送数据)和突发的集中传输而产生的,它可能导致这几种情况:延时增加、丢包、重传增加,网络资源不能有效利用。
流量控制的作用是防止在出现阻塞的情况下丢帧。

在半双工方式下,流量控制是通过反压(backpressure)技术实现,模拟产生碰撞,使得信息源降低发送速度。
有两种方法可以达到这一目的:交换机可以强行制造一次与服务器的冲突,使得服务器退避;或者,交换机通过插入一次“载波检测”使得服务器的端口保持繁忙,这样就能使服务器感觉到交换机要发送数据一样。利用这两种方法,服务器都会在一段时间内暂停发送,从而允许交换机去处理积聚在它的缓冲区中的数据。

在全双工方式下,IEEE802.3 x标准定义了在全双工环境中实现流量控制的方法。交换机产生一个”PAUSE”MAC控制帧,”PAUSE”MAC控制帧使用一个保留的组播地址:01-80-C2-00-00-01,将它发送给正在发送的站,发送站接收到该帧后,就会暂停或停止发送。PAUSE帧利用了一个保留的组播地址,它不会被网桥和交换机所转发,这样,PAUSE帧不会产生附加信息量。
在全双工环境中,服务器和交换机之间的连接是一个无碰撞的发送和接收通道。由于没有碰撞检测,且不允许交换机通过产生一次冲突而使得服务器停止发送

以太网pause帧 格式  【资料不全,大致整理如下】

目标mac 6字节 源mac  6字节 length/type 2字节 mac control opcode 2字节 mac control parameters 保留域 FCS

4字节

四、以太网CSMA/CD中的重传功能

1、以太网是没有差错控制中的重传功能的,以太网帧只有FCS(覆盖整个以太网帧,并放在以太网帧尾部)【大白话,计算帧头到帧尾前的数据,输出FCS放于帧尾处】

2、但是以太网每发完一帧,一定要把已经发送的帧暂时保留一下。如果在争用期内检测出发生了碰撞,那么还要在推迟一段时间后再把这个帧重传一次。

===================================================

五、PPPOE

PPPOE 就是  PPP over Ethernet

PPPoE报文的格式就是在以太网帧中携带PPP报文,如图所示

PPPoE报文的格式就是在以太网帧中携带PPP报文,如图所示。

各个字段解释如下:

Destination_address域:一个以太网单播目的地址或者以太网广播地址(0xffffffff)。对于Discovery数据包来说,该域的值是单播或者广播地址,PPPoE Client寻找PPPoE Server的过程使用广播地址,确认PPPoE Server后使用单播地址。对于Session阶段来说,该域必须是Discovery阶段已确定的通信对方的单播地址。Source_address域:源设备的以太网MAC地址。

Ether_type:设置为0x8863(Discovery阶段或拆链阶段)或者0x8864(Session阶段)。

Ver域:4bits,PPPoE版本号,值为0x1。 Type域:4bits,PPPoE类型,值为0x1。  Code域:8bits,PPPoE报文类型。Code域为0x00,表示会话数据。Code域为0x09,表示PADI报文;Code域为0x07,表示PADO或PADT报文;Code域为0x19,表示PADR报文;Code域为0x65,表示PADS报文。报文的具体情况请参见附录部分。Session_ID域:16bits,对于一个给定的PPP会话,该值是一个固定值,并且与以太网Source_address和Destination_address一起实际地定义了一个PPP会话。值0xffff为将来的使用保留,不允许使用。   Length域:16bits,定义PPPoE的Payload域长度。不包括以太网头部和PPPoE头部的长度。数据域,有时也称之为净载荷域,在PPPOE的不同阶段该域内的数据内容会有很大的不同。在PPPOE的发现阶段时,该域内会填充一些Tag(标记);而在PPPOE的会话阶段,该域则携带的是标准的点对点协议包


六、以太网答疑

为什么以太网有最短/最长帧长度的要求?

总线型以太网半双工,碰撞检测所致长度要求。后来的星型以太网,全双工模式,长度可能就不受限制了。在全双工模式下,不会有冲突域、专用的交换机端口可用于全双工节点、主机的网卡和交换机端口必须能够运行在全双工模式下。

全双工以太网适用于:
1交换机到pc主机的连接。
2交换机到交换机的连接
3pc到pc的连接(使用交叉电缆
4交换机到路由器的连接(使用交叉电缆)
5路由器到路由器的连接(使用交叉电缆)
6路由器到主机pc的连接(使用交叉电缆)

全双工模式下,为了允许一些使用以太II版本的数据报和一些使用802.3封装的最初版本的数据包能够在同一个以太网段使用,以太类型值必须大于等于1536(0x0600)。这个值比802.3数据包的最大长度1500byte (0x05DC)要更大。

因此如果这个字段的值大于等于1536,则这个帧是以太II帧,而那个字段是类型字段。否则(小于1500而大于46字节),他是一个IEEE 802.3帧,而那个字段是长度字段。1500~1536(不包含)的数值未定义。因为网络环境 MTU选择是1500【即以太网帧最大负载是1500字节】,所以我们上网用的以太网帧 应该是 802.3帧。

以太网帧长度上下限
标准以太网帧长度下限为:64 字节
标准以太网帧长度上限为:1518 字节

最早的以太网工作方式:载波多路复用/冲突检测CSMA/CD,因为网络是共享的,即任何一个节点发送数据之前,先要侦听线路上是否有数据在传输,如果有,需要等待,如果线路可用,才可以发送。

假设A发出第一个bit位,到达B,而B也正在传输第一个bit位,于是产生冲突,冲突信号得让A在完成最后一个bit位之前到达A,这个一来一回的时间间隙slot time是57.6μs.

在10Mbps的网络中,在57.6μs的时间内,能够传输576个bit,所以要求以太网帧最小长度为576个bits,从而让最极端的碰撞都能够被检测到。这个576bit换算一下就是72个字节,去掉8个字节的前导符和帧开始符,以太网帧的最小长度为64字节。

如果说以太网帧的最小长度64byte是由CSMA/CD限制所致,那最大长度1500byte又是处于什么考虑的呢?

IP头total length为两个byte,理论上IP packet可以有65535 byte,加上Ethernet Frame头和尾,可以有65535 +14 + 4 = 65553 byte。如果在10Mbps以太网上,将会占用共享链路长达50ms,这将严重影响其它主机的通信,特别是对延迟敏感的应用是无法接受的。

由于线路质量差而引起的丢包,发生在大包的概率也比小包概率大得多,所以大包在丢包率较高的线路上不是一个好的选择。

但是如果选择一个比较小的长度,传输效率又不高,拿TCP应用来说,如果选择以太网长度为218byte,TCP payload = 218 – Ethernet Header -IP Header – TCP Header=218-18 – 20-20= 160 byte

那有效传输效率=160/218= 73%

而如果以太网长度为1518,那有效传输效率=1460/1518=96%

通过比较,选择较大的帧长度,有效传输效率更高,而更大的帧长度同时也会造成上述的问题,于是最终选择一个折衷的长度:1518 byte ! 对应的IP packet 就是 1500 byte,这就是最大传输单元MTU的由来。

MRU的由来(最大接收单元)

最早的以太网是通过Hub或集线器来工作的,在任意时刻只能有一台主机发送,这种共享方式发送效率很低,而现代高速交换机则让每个连接交换机的主机工作在独占模式,带宽独享,可以同时收发,而且现在早已不是早期的10Mbps的带宽,而是1000M、10000M,即使发送大包也不会影响别的主机,影响的只是交换机的接收和发送队列,既然发送大包效率要比小包效率搞,而且特定的应用也有发大包的需求,比如NFS文件系统,那为什么不把接口MTU提高一些,再高一些呢?这是一个好主意,于是网卡、交换机、路由器网络接口可以实现更大的MTU,可以达到>9000字节的大小,我们称这种远大于标准以太帧尺寸的帧为巨型帧Jumbo Frame 。

于是网络接口提供可以修改MTU的配置命令,比如缺省为1500,可以修改为1508以支持QinQ,或者1512以支持802.1q Mpls label,这样既可以支持终端用户标准1500 字节IP packet,又可以避免分片。

有一点需要说明,二层交换机的接口,我们可以看成一块普通的网卡,网卡工作在数据链路层,所以分片不是它的职责,如果一个帧需要从交换机一个接口发送出去,而帧的长度>接口MTU,怎么办?丢弃!会发什么消息告诉源主机吧?不会的,默默地丢,当什么否没有发生,这种情况最难以排查,如果traceroute可以看到端对端使通的,而发送数据就是会失败。所以切记,一台交换机要保证接口MTU的一致性。如果在一个VLAN上、或整个交换机都采用同样的MTU,就不会发生上述情况。而如果入接口是9000字节,而出接口是1500,就会发生上述问题。

如果一条物理链路的两端MTU不一致,则会发生什么情况,比如一侧是1500,一侧是9000,1500一侧发出来的数据肯定没有问题,但是如果从9000侧发给1500呢?数据也背默默地丢了。为什么呢?我们来谈另外一个很少提及的词汇:MRU,最大接收单元。

最大接收单元MRU

我们一直谈的最大传输单元MTU是关于出方向的流量处理,而MRU恰恰相反,是关于入方向的流量处理。

一般情况下MTU = MRU,比如9000侧的数据到达1500,由于9000>MRU ,所以直接默默丢弃。

所以在配置链路时,要确保两侧的设备MTU要匹配,无论各家厂商对MTU理解如何、实现如何,一定要保证两端匹配,即各自允许在以太网线上发送、接收的数据流,即以太网帧的最大长度一样

为什么无线局域网上发送数据帧后要对方必须发回确认帧,而以太网就不需要对方发回确认

CSMA/CD媒体访问控制方法的工作原理,可以概括如下:
先听后说,边听边说;
一旦冲突,立即停说;
等待时机,然后再说;

CSMA/CD协议解决了如何在有线以太网上检测和避免当两个或两个以上的网络设备需要同时进行数据传输时网络上的冲突。其工作原理可以总结为先听后说,边听边说;一旦冲突,立即停说;等待时机,然后再说。但其并不适合无线局域网,在无线局域网中,无线电波传输距离受限,不是所有的节点都能够都能监听到信号;而且,无线网卡工作在半双工模式下,设备无法一边接收数据信号,一边传送数据信号。另一方面,无线带宽本就不高,一旦发生碰撞,重新发送数据,会降低吞吐量。

为此,在802.11中对CSMA/CD进行了一些修改,采用了新的协议CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance),即,载波监听多路访问/冲突避免机制,利用ACK信号来避免冲突的发生,也就是说,只有当STA收到网络上返回的ACK信号后才确认送出的数据已经正确到达目的地址。
CSMA/CA协议
为了尽量避免碰撞,802.11标准规定,所有的STA在完成帧的发送后,必须在等待一段很短的时间才能发送下一帧,这段时间叫做帧间间隔IFS。帧间间隔的长短取决于该站要发送的帧的类型。高优先级的帧需要等待的时间较短,因此可以优先获得发送权,但低优先级帧就必须等待较长的时间。若低优先级帧还没来得及发送而其他高优先级帧已发送到媒体,则媒体变为忙态因而低优先级帧就只能再推迟发送了。这样就减少了发生碰撞的机会。至于各种帧间间隔的具体长度,这取决于使用的物理层特性。
SIFS,即短(Short)帧间间隔。SIFT是最短的帧间间隔,用来分隔开属于一次对话的各帧。在这段时间内,一个STA应当能够从发送方式切换到接收方式。使用SIFS的帧类型有:ACK帧、CTS帧、由过长的MAC帧分片后的数据帧,以及所有回答AP探询的帧和在PCF方式中接入点AP发送出的任何帧。
PIFS,即点协调功能帧间间隔(比SIFS长),是为了在开始使用PCF方式时(在PCF方式下使用,没有争用)优先获得接入到媒体中。PIFS的长度是SIPS加一个时隙时间(slot time)的长度。时隙的长度是这样确定的:在一个基本服务集BSS内,当某个站在一个时隙开始时接入到信道时,那么在下一个时隙开始时,其它站就都能检测出信道以转变为忙态。
DIFS,即分布协调功能帧间间隔(最长IFS),在DCF方式中用来发送数据帧和管理帧。DIFS的长度比PIFS再多一个时隙长度。
为了尽量减少碰撞的机会,802.11标准采用了一种叫做虚拟载波监听地的机制,这就是让源站把它要占用的信道时间(包括目的站发回确认帧所需时间)写入到所发送的数据帧中,(即在首部中的“持续时间”字段中写入需要占用信道时间,以微秒为单位,一直到目的站把帧确认完为止),以便使其他所有的站在这一段时间都不要发送数据。“虚拟载波监听”的意思是其他各站并没有监听信道,而是由于这些站都知道了源站正在用信道才不发送数据。这种好像是其他站都监听了信道。 当站点检测到正在通信中传送的帧“持续时间”字段时,就调整自己的网络分配向量NAV。NAV指出了信道处于忙状态的持续时间。信道处于忙状态就表示:或者是由于物理层的载波监听检测到信道忙,或者是由于MAC层的虚拟载波监听机制指出了信道忙。
CSMA/CA工作原理
(1)首先检测信道是否有STA在使用,如果检测出信道空闲,则等待DIFS时间后,才送出数据。
 (2)目的STA如果正确收到此帧,则经过SIFS时间间隔后,向源STA发送确认帧ACK。
 (3)源STA收到ACK帧,确定数据正确传输,在经历DIFS时间间隔后,会出现一段空闲时间,叫做争用窗口,表明会出现各STA争用信道的情况。
如果检测信道时发现信道正在使用,STA使用CSMA/CA协议的退避算法。冻结退避计时器。只要信道空闲,退避计时器就进行倒计时。当退避计时器减少到零时,STA就发送帧并等待确认。如果没有收到ACK帧,必须重传次帧。

参考:

https://zhuanlan.zhihu.com/p/21318925

https://blog.csdn.net/u011531613/article/details/59038866

https://blog.csdn.net/violet_echo_0908/article/details/51897628

 

 

网络原理-串行/并行通信、异步/同步传输

同步/异步这两个词不同领域的概念完全不同啊……
从数字电路的角度来说,以太网是典型的同步时序逻辑,它的时钟信号通过曼彻斯特编码(以前)或者4B/5B编码(现在)编码到了信号当中,接收方需要从信号当中使用锁相环解出这个时钟信号,这样发送方和接收方就有了一个同步的时钟信号。依靠这个同步的时钟信号接收方能够正确读取发送方发送的数据。实际上几乎所有的高速数字传输协议都是同步时序逻辑。

但是从软硬件接口的角度来看,这个过程又是异步的。计算机不会直接通过CPU指令操作当前正在发送的数据,而是通过一系列缓存,将数据送交到网卡,或者从网卡读取数据。计算机不关心网卡实际上在什么时候将数据发出,它只要将数据提交给网卡就可以继续进行其他任务了,实际上提交给网卡这样的工作通常也会使用DMA之类的方法。数据到来时也是一样的,网卡不会在接收到网络数据包第一个字节的时候就通知CPU处理,而是将接收到的数据先缓存起来,随时等待CPU或者DMA在合适的时候读取。这种有缓冲区的结构是典型的异步通信机制。
从socket接口上来看,又分为同步和异步两种,也可以叫做BLOCK/NONBLOCK。同步接口在不能发送数据或者接收数据时会阻塞,直到完成;异步接口则会通知你socket暂时不可用,让你使用epoll等机制等待。其实虽然非阻塞一般都叫做异步IO,真正的异步IO应该是使用信号通知机制的才算,但现在不太区分这个。实际上即使是所谓同步接口,在内核中仍然有缓冲区存在,只是用户态到内核态的这一层通信使用了同步的逻辑。

所以说,你这个问题首先取决于你对同步/异步的定义,以及在哪一层上看问题。

作者:灵剑
链接:https://www.zhihu.com/question/49448290/answer/116025530

=========================================================

问
所谓的同步异步最大得区别应该在于:同步中传输方和接受方使用同步时钟(即波特率是一样的,时序是一样的),而异步通讯允许双方使用各自不同的时钟。
我有点疑惑:如果一个数据能够被正确接受,那末它自身的波特率必须要和机器的时钟相吻合才可以,数据本身是有波特率的,比方说数据单字节a,一共长8秒钟,那末第一位占用1秒,第2位占用1秒,剩下的各位都是一位占一秒,共8秒;如果机器想要正确接收数据a,那末它的接受时钟就必须符合要求。我可以假设这样的情况:机器时钟也是每1秒判断一次,则正好正确接受数据a,如果机器每2秒判断一次,则接受数据a就会出现错误,如果机器每0。5秒判断一次,那末我们可以通过软件设置,规定0。5秒后再延迟0。5秒才进行下一此判断,这样我们也可以正确接受数据。(也就是说,接受数据的机器时钟不能比数据波特率长才能正确接受数据)。
说道这里,我们再看同步异步的定义:同步需要同步时钟,异步允许使用不同的时钟。同步可以理解,但是异步允许使用不同的时钟,假设,异步通讯中输出端s,接受端j,s输出数据a(a为单字节,共长8秒),而j的时钟为2秒,那样的话接受不就出现错误了马?(如果j的时钟为0。5秒,虽然和a的波特率不一样,但是我们可以通过软件设置保证接受正确)。
这样看来,异步中所说的允许使用各自独立的和不同步的时钟不就错误吗?请指教 谢谢

答 为什么很多地方讲解同步异步时都会说他们的“最大区别“? 因为两者有很多的相似点。我认为任何通信从广义上讲都是“同步“的。不管同步异步,要 保证通信的正确,就必须等待对方的确认,也就是说,我发送方必须与你接受方“同步“,反之亦然。或者说“协同”更好一点。同步通信要求双方的时钟同相,即同频率同时序。而异步通信可以不理会这点。但是同样要求接受方的时钟误差的积累程度不会造成误码。象楼主的情况,就是偏差太大了。 另外,在异步通讯时,基本单位是字符,传输时字符间异步,字符内各位同步,双方不需要严格同步,即使有百分之几的差异也可以保证数据的可靠传输;同步通讯时,字符与字符间和字符内部的位与位之间都需要严格同步,所以发送双方要使用同一时钟源。 其实,同步和异步的最大区别就是:字符与字符间的传送一个是异步,一个是同步;而在字符内的位与位之间,两者都是同步的。

=========================================================

简单说

同步传输模式就是,数据没有被对方确认收到则调用传输的函数就不返回。
接收时,如果对方没有发送数据,则你的线程就一直等待,直到有数据了才返回,可以继续执行其他指令。

异步传输模式就是,你调用一个函数发送数据,马上返回,你可以继续处理其他事,接收时,对方的有数据来,你会接收到一个消息,或者你的相关接收函数会被调用。

========================================================

查阅了很多资料,终于理清了头绪。首先讲串行通信和并行通信,这个比较简单。接着再讲讲,异步传输和同步传输。(里面涉及了帧同步和群同步问题)

以太网在物理层的同步传输,我查了一下,这边传输,另一边不需要回确认收到的应答信息,以太网在数据链路层也是,发送过来后,校验FCS,帧是否会出错,出错就丢弃。也不会请求重发,会将数据传递到上层。在udp和tcp中都有超时重传功能。

因为以太网采用较为灵活的无连接的工作方式,即不必先建立连接就可以直接发送数据。以太网对发送的数据帧不进行编号,也不要求对方发回确认。这样做的理由是局域网信道的质量很好,因信道质量产生差错的概率是很小的。(这和当时定义的 同步传输—一定要等对方发回确认信息后,才能传输下一段数据,有点不一样,切记。同样,ppp也没有重传机制。)

一、串行通信和并行通信

串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行通信是指 使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

USB是英文 Universal Serial Bus 的缩写,翻译成中文的含义是“通用串行总线”。

上网属于串行通信。
串行信号指的是同一时刻点,两设备之间指存在一个数据脉冲进行收发。而每根电缆里面,同一时刻只有一个数据脉冲,可以传输较远距离。这样,并行线至少要求有一大排线,传输距离非常有限,电话线只有两根,所以是串行信号通信。(从pc的网卡出去到服务器的网卡前,至于计算机内部看了下百科–>数据总线是并行的,所以内部应该是并行传网络数据的,备注:需要去看看《微机原理》)

家用的网线是串行传输数字信号,里面用差分信号技术来传输电压变化信息。

在计算机和终端之间的数据传输通常是靠电缆或信道上的电流或电压变化实现的。如果一组数据的各数据位在多条线上同时被传输,这种传输方式称为并行通信。比如,老式打印机同电脑之间。

并行接口与CPU的连接
数据总线:是CPU与并行接口进行数据交换的通道。

⑵读出写入信号线:控制数据流向,确定操作是读还是写。
⑶复位线,准备好状态线:并行接口数据准备就绪。
中断请求线:并行接口向CPU进行中断请求。
⑸地址译码电路:进行选择不同的接口电路,选择接口电路内部不同的寄存器
并行接口
控制寄存器:接收CPU发来的控制命令。
⑵数据输入缓冲器、数据输出缓冲器:进行数据的输入、输出。
状态寄存器:提供接口电路工作状态供CPU查询。

二、同步传输与异步传输

1、同步传输(Synchronous Transmission)
  • 它的比特分组要大的多,它不是独立地发送每个字符,每个字符都有自己的起始位和停止位,而是组合起来一起发送。我们将这些组合称为数据帧,简称为帧。
  • 帧的第一部分包含一组同步字符。
  • 帧的最后一部分是一个帧结束标记。
  • 同步传输通常要比异步传输快速,但其大小有限制。

2、异步传输

  • 异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。
  • 接收方并不知道数据会在什么时候到达。
  • 异步传输的实现比较容易,由于每个信息都加上了‘同步’信息,因此计时的漂移不会产生大的积累,但却产生了较多的开销。

三、同步传输与异步传输的区别

1、异步传输是面向字符的传输,而同步传输是面向比特的传输。
2、异步传输的单位是字符而同步传输的单位是帧。
3、异步传输通过字符起止的开始和停止码,抓住再同步的机会,而同步传输则是以数据中抽取同步信息。
4、异步传输对时序的要求较低,同步传输往往通过特定的时钟线路协调时序。
5、异步传输相对于同步传输效率较低。

参考自:https://wenku.baidu.com/view/1985669fdd88d0d233d46a7c.html

======================================================

大白话讲:异步传输和同步传输

简单来说:

同步传输就是,数据没有被对方确认收到则调用传输的函数就不返回。接收时,如果对方没有发送数据,则你的线程就一直等待,直到有数据了才返回,可以继续执行其他指令。同步传输,就是发完一帧后,等待对方回应后,才能发下一帧。  

异步传输就是,你调用一个函数发送数据,马上返回,你可以继续处理其他事,  接收时,对方的有数据来,你会接收到一个消息,或者你的相关接收函数会被调用。

在网络通信过程中,通信双方要交换数据,需要高度的协同工作。为了正确的解释信号,接收方必须确切地知道信号应当何时接收和处理,因此定时是至关重要的。在计算机网络中,定时的因素称为位同步。同步是要接收方按照发送方发送的每个位的起止时刻和速率来接收数据,否则会产生误差。通常可以采用同步或异步的传输方式对位进行同步处理。

参考:https://blog.csdn.net/rs_network/article/details/50689539
首先同步和异步是指的物理层的属性,同时该同步和异步也会MAC层的封装造成影响(实际上MAC层协议也是针对物理层属性进行设计的),比如在HDLC封装的情况下,物理层一定是同步链路。

同步传输


同步传输的基本单元是帧,如果从这个层面上而言,当前网络大部分都是基于同步网络的。相对于异步传输,同步传输的效率会高很多,尤其是数据块的长度越长的时候,其效率越高。比如巨帧就是为了效率而扩展数据块的。从直观上来看,这里所述的同步帧的格式,也是当前主流的一些二层帧格式的框架,比如802.3的帧,或者802.11的帧。一个同步帧由同步字符,数据块,校验字符,与结束字符组成,第一个同步字符,从802.3来看就是Preamble部分,用来找SFD的,也就是帧同步。802.11里面也存在类似的部分,比如802.11b的PLCP preamble,或者802.11 a/g中间的preamble中的STF字段(其中T0~T7),这一块是用来做帧同步的。数据块就是用来放数据的,一般就是对应的MPDU。然后校验字符,一般就是FCS部分。最后一个部分目前理解不深,结束字符。当前接收帧的过程不确定是数个数的方法还是找结尾的方法,因为一般的帧头部都是按照TLV结构,即有了length之后,直接数多少个Bit看数据帧有没有接收完即可,不一定要采用固定结尾的方法。尤其在802.11中,该数据帧的length部分既出现在MAC以及上层中,也在PLCP部分也有。在802.11接收过程中,首先接收物理层头部,即可以获取其中的length,然后再等接收完完整上层数据帧后,在进行解析。以上所述即不确定最后一个EOB部分有没有在当前协议中广泛采用,即使不使用,也是可以接收完整个帧的。

同步传输的比特分组要大得多。它不是独立地发送每个字符,每个字符都有自己的开始位和停止位,而是把它们组合起来一起发送。我们将这些组合称为数据帧,或简称为帧。

数据帧的第一部分包含一组同步字符,它是一个独特的比特组合,类似于前面提到的起始位,用于通知接收方一个帧已经到达,但它同时还能确保接收方的采样速度和比特的到达速度保持一致,使收发双方进入同步。

帧的最后一部分是一个帧结束标记。与同步字符一样,它也是一个独特的比特串,类似于前面提到的停止位,用于表示在下一帧开始之前没有别的即将到达的数据了。

同步传输通常要比异步传输快速得多。接收方不必对每个字符进行开始和停止的操作。一旦检测到帧同步字符,它就在接下来的数据到达时接收它们。另外,同步传输的开销也比较少。例如,一个典型的帧可能有500字节(即4000比特)的数据,其中可能只包含100比特的开销。这时,增加的比特位使传输的比特总数增加2.5%,这与异步传输中25 %的增值要小得多。随着数据帧中实际数据比特位的增加,开销比特所占的百分比将相应地减少。但是,数据比特位越长,缓存数据所需要的缓冲区也越大,这就限制了一个帧的大小。另外,帧越大,它占据传输媒体的连续时间也越长。在极端的情况下,这将导致其他用户等得太久。

同步传输方式中发送方和接收方的时钟是统一的、字符与字符间的传输是同步无间隔的。
异步传输方式并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。

=======================================================

深入分析同步模式举例

下面是以太网数据链路层的两种帧结构:

因为IEEE为了便于对数据链路层的优化管理,将数据链路层分成了LLC层和MAC层。如上图所示。后来还是其他的以太网帧格式流行,LLC层就没人用了。
上图我们可以看出,
以太网 数据链路层有 帧头(目的地址,原地址,帧类型【arp,ip,rarp等】)
以太网 数据链路层有 帧尾(FCS【帧检验序列FCS(使用CRC校验法):检测该帧是否出现差错】)
下图 清晰展示 以太网 各层结构:
前同步码:第一个字段是7个字节的前同步码,1和0交替,作用是用来使接收端的适配器在接收MAC帧时能够迅速调整时钟频率,使它和发送端的频率相同。
帧开始定界符:第二个字段是1个字节的帧开始定界符,前六位1和0交替,最后的两个连续1表示告诉接收端适配器:“帧信息要来了,你准备接收把。
MAC 目的地址:第三个字段是6字节(MAC地址占48位,如:FF,FF,FF,FF,FF),发送方的网卡(MAC)地址,用处是当网卡接收到一个数据帧时,首先会检查该帧的目的地址,是否与当前适配器的物理地址相同,如果相同则会进一步处理,不同则直接丢弃。
源MAC地址:发送端的MAC地址同样占6个字节。
类型:该字段在网络协议栈分解中及其重要,考虑当PDU(协议数据单元)来到某一层时,它需要将PDU交付给上层,而上层协议众多,所以在处理数据的时候,必须要一个字段标识我这个交付给谁。如,该字段为0x0800时,表示将有效载荷交付给IP协议,为0x0806交付给ARP,0X8035交付给RARP。
数据:数据也叫有效载荷,除过当前层协议需要使用的字段外,即需要交付给上层的数据,以太网帧数据长度规定最小为46字节,最大为1500字节,如果有不到46字节时,会用填充字节填充到最小长度。最大值也叫最大传输单元(MTU),我们可以再 Linux输入 ifconfig 可以看到有一项MTU:1500。
帧检验序列FCS(使用CRC校验法):检测该帧是否出现差错。

以太网是用同步模式传输的,将以太网的物理层 和下面 对比一下就能明白:

数据库和区块校验字符是,数据链路层层的。区块结束字符(EOB),在以太网中不存在。
=======================================================

异步传输

异步传输的基本单元是“编码字符”。一个一个编码字符按照顺序进行发送,这些编码字符传输的过程中,不需要一个个挨着进行传输,换言之,我们可以把该“编码字符”理解成一个小数据帧。这个方法适合一些同步性能不好,或者信道质量不好的情况。按书上所述,这里是不需要同步的,实际上这里理解应该是不需要帧同步,或者成为符号同步的,貌似在异步情况下,这两个同步的概念应该类似。在一些信道环境差的情况下,异步传输可能效果会好一些,比如说在802.11中一个帧只有在完整发送完之后,等待看有没有ACK从而判断数据帧有没有错误,如果采用异步传输的方式,由于每一个“编码字符”都是独立的,从而很快就能发现错误,从而避免问题。在一些无线研究中,也有参考类似的机制。不过异步传输的缺点是,传输效率低,每一个字符都要额外的起始位和停止位,如果把这两个去除的话,那么性能有很高的提高。异步传输的一个典型应用应该就是ATM,不过目前对ATM特质理解还不深,有待学习。

异步传输将比特分成小组进行传送,小组可以是8位的1个字符或更长。发送方可以在任何时刻发送这些比特组,而接收方从不知道它们会在什么时候到达。一个常见的例子是计算机键盘与主机的通信。按下一个字母键、数字键或特殊字符键,就发送一个8比特位的ASCII代码。键盘可以在任何时刻发送代码,这取决于用户的输入速度,内部的硬件必须能够在任何时刻接收一个键入的字符。

异步传输存在一个潜在的问题,即接收方并不知道数据会在什么时候到达。在它检测到数据并做出响应之前,第一个比特已经过去了。这就像有人出乎意料地从后面走上来跟你说话,而你没来得及反应过来,漏掉了最前面的几个词。因此,每次异步传输的信息都以一个起始位开头,它通知接收方数据已经到达了,这就给了接收方响应、接收和缓存数据比特的时间;在传输结束时,一个停止位表示该次传输信息的终止。按照惯例,空闲(没有传送数据)的线路实际携带着一个代表二进制1的信号,异步传输的开始位使信号变成0,其他的比特位使信号随传输的数据信息而变化。最后,停止位使信号重新变回1,该信号一直保持到下一个开始位到达。例如在键盘上数字“1”,按照8比特位的扩展ASCII编码,将发送“00110001”,同时需要在8比特位的前面加一个起始位,后面一个停止位。

异步传输的实现比较容易,由于每个信息都加上了“同步”信息,因此计时的漂移不会产生大的积累,但却产生了较多的开销。在上面的例子,每8个比特要多传送两个比特,总的传输负载就增加25%。对于数据传输量很小的低速设备来说问题不大,但对于那些数据传输量很大的高速设备来说,25%的负载增值就相当严重了。因此,异步传输常用于低速设备。

=======================================================

深入分析异步模式举例

因为PPP模式支持异步传输和同步传输,所以以PPP异步传输举例最方便了。

PPP帧结构,查阅官方RFC资料

   A summary of the standard PPP frame structure is shown below.  This
   figure does not include start/stop bits (for asynchronous links), nor
   any bits or octets inserted for transparency.  The fields are
   transmitted from left to right.

           +----------+----------+----------+----------+------------
           |   Flag   | Address  | Control  | Protocol | Information
           | 01111110 | 11111111 | 00000011 | 16 bits  |      *
           +----------+----------+----------+----------+------------
                   ---+----------+----------+-----------------
                      |   FCS    |   Flag   | Inter-frame Fill
                      | 16 bits  | 01111110 | or next Address
                   ---+----------+----------+-----------------

   Inter-frame Time Fill

   For asynchronous links, inter-frame time fill SHOULD be accomplished
   in the same manner as inter-octet time fill, by transmitting
   continuous "1" bits (mark-hold state).

   For synchronous links, the Flag Sequence SHOULD be transmitted during
   inter-frame time fill.  There is no provision for inter-octet time
   fill.

   Implementation Note:

      Mark idle (continuous ones) SHOULD NOT be used for idle
      synchronous inter-frame time fill.  However, certain types of
      circuit-switched links require the use of mark idle, particularly
      those that calculate accounting based on bit activity.  When mark
      idle is used on a synchronous link, the implementation MUST ensure
      at least 15 consecutive "1" bits between Flags, and that the Flag
      Sequence is generated at the beginning and end of a frame.

PPP帧结构如下:数据链路层。

 

1.1 PPP帧的首部

  • 首部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110),标志字段表示一个帧的开始。
  • 首部中的地址字段A规定为0xFF(即11111111)。
  • 首部中的控制字段C规定为0x03(即00000011)。
  • 首部中的2字节的协议字段:
    (1)当协议字段为0x0021时,PPP帧的信息字段就是IP数据报。
    (2)当协议字段为0xC021时,PPP帧的信息字段就是PPP链路控制协议LCP的数据。
    (3)当协议字段为0x8021时,PPP帧的信息字段就是网络层的控制数据。

1.2 PPP帧的信息字段部分

  • 信息字段的长度是可变的,不超过1500字节。

1.3 PPP帧的尾部

  • 尾部中的第一个字段(2个字节)是使用CRC的帧检验序列FCS。
  • 尾部中的标志字段F(Flag),规定为0x7E(符号0x表示它后面的字符是用十六进制表示的。十六进制的7E的二进制表示是01111110),标志字段表示一个帧的结束。

注:标志字段就是PPP帧的定界符。连续两帧之间只需要用一个标志字段。如果连续出现两个标志字段,就表示这是一个空帧,应当丢弃。

PPP异步传输时:

1、数据链路层:使用透明传输,预先处理。

  • 当PPP使用异步传输时,它把转移符定义为0x7D,并使用字节填充。
  • RFC1662规定了如下填充方法:
    (1)把信息字段中出现的每一个0x7E字节转变为2字节序列(0x7D,0x5E)。
    (2)若信息字段中出现一个0x7D的字节(即出现了和转义字符一样的比特组合),则把转义字符0x7D转变为2字节序列(0x7D,0x5D)。
    (3)若信息字段中出现ASCII码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。例如,出现0x03(在控制字符中是“传输结束”ETX)就要把它转变为2字节序列的(0x7D,0x31)。
  • 由于在发送端进行了字节填充,因此在链路上传送的信息字节数就超过了原来的信息字节数。但接收端在接收到数据后再进行与发送端字节填充相反的变换,就可以正确地恢复出原来的信息。

2、物理层:在数据链路层的首尾两端各添加 一位(1bit),分别代表起始位和停止位。【  资料缺乏,但协议上已经说了,异步传输肯定 会添加  start/stop bits (for asynchronous links)  】

PPP同步传输时

1、数据链路层:使用透明传输,预先处理:

  • 当PPP使用同步传输时,使用零比特填充。
  • 零比特填充的具体方法:
    (1)在发送端先扫描整个信息字段(通常使用硬件实现,但也可以用软件实现,但是会慢一些)。
    (2)只要发现有5个连续的1,则立即填入一个0。
    (3)接收端在收到一个帧时,先找到标志字段F以确定帧的边界,接着再用硬件对其中的比特流进行扫描,每当发现5个连续1时,就把5个连续1后的一个0删除,以还原成原来的信息比特流。
  • 因此通过这种零比特填充后的数据,就可以保证在信息字段中不会出现连续6个1。

2、物理层:在数据链路层,头部添加:前同步码。至于尾部,暂时不清楚,反正基本上是和以太网 的同步传输 情况是一样的

=======================================================

当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接(底层up)。PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
这些分组及其响应选择一些 PPP 参数,和进行网络层配置(此前如有PAP或CHAP验证先要通过验证),NCP 给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
说明,拨号上网一直在用,直达拔了网线,没了IP。

=======================================================

四、透明传输

就是在传输的数据里面,避免出现,该层的定界符,以免误判 数据块 提早结束了。

五、帧同步与群同步

帧同步与群同步 两者是等价的,其实就是指异步传输。

在群同步的通信系统中,传输的信息被分成若干”群”。所谓的”群”,一般是以字符为单位,在每个字符的前面冠以起始位、结束处加上终止位,从而组成一个字符序列o数据传输过程中,字符可顺序出现在比特流中,字符与字符间的间隔时间是任意的,即字符间采用异步定时,但字符中的各个比特用固定的时钟频率传输。在数据通信中,习惯于把群同步称为”异步传输”。字符间的异步定时和字符中比特之间的同步定时,是群同步即异步传输的特征。这种传输方式中,每个字符以起始位和停止位加以分隔,故也称”起一止”式传输。
群同步又称帧同步,其作用是在时分复用系统中使接收端能在所接收到的数字信号序列中找出一帧的开头和结尾,从而能正确的分路。实现帧同步的方法也有两类:第一类方法是在发送的数字信号序列中插入帧同步脉冲或帧同步码作为帧的起始标志,这就是外同步法;另一类方法是利用数字信号序列本身的特性来恢复帧同步信号,即自同步法。
同步传输规程中的每个字符可由下列四部分组成:
(1)1位起始位,以逻辑“0”表示;
(2)5~8位数据位,即要传输的字符内容;
(3)1位奇/偶检验位,用于检错,该部分可以不选;
(4)1~2位停止位,以逻辑”1″表示,用以作字符间的间隔。

 

群同步实现方法:

(1)连贯插入法
连贯插入法是在每帧的开头插入一个帧同步码字,如PCM30/32路帧同步码。
帧同步码应具有以下特点:
1) 在满足帧同步性能的条件下,为提高有效信息的传输效率,帧同步码的长度应尽可能短。
2)捕捉时间要短。
3)尽可能避免信息数据中出现和它相同的码字,以减少假同步。
帧同步的种类:
1)全0码
2)全1码
3)0与1交替码
4)PCM30/32路帧同步码0011011
5)巴克(Barker)码
(2)分散插入法

连贯插入同步码是一个码组,要使同步可靠,同步码组就要有一定的长度,从而降低了传输效率。而分散插入则是每帧只插入一位作为帧同步码。例如北美和日本采用的24路PCM,每帧有8×24=192信息码元,每逢奇帧其后插入一位帧同步码,1010…交替插入。由于每帧只插入一位,它和信息码元混淆的概率为1/2,这样似乎无法识别帧同步码。不过分散插入方式在捕获同步时,并不是只检测1帧2帧,而是要连续检测10帧以上,每帧都符合“1”、“0”交替的规律才确认同步。误同步概率是很小的。
分散插入法传输效率高,但同步捕获时间长。

网络原理-计算机网络详解-数据链路层概述

一、数据链路层含义

数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。

封装成帧,将数据链路层的帧,直接交给物理层就行。物理层会自动添加首尾(物理层头部一定会加的,尾部不确定),并编码。

二、数据链路层协议分类

1.面向字符的链路层协议

ISO的IS1745,基本型传输控制规程及其扩充部分(BM和XBM)
IBM的二进制同步通信规程(BSC)
DEC的数字数据通信报文协议(DDCMP)
PPP(同步传输模式面向位,异步传输模式面向字符)
等等

2.面向比特的链路层协议

 HDLC的产生背景

在计算机通信的早期人们就已发现,对于经常产生误码的实际链路,只要加上合适的控制规程,就可以使通信变为比较可靠的。那时 ARPANET 和 IBM 公司分别使用了各自的控制规程,它们分别是:IMP-IMP 协议和 BSC 规程(也可称为 BISYNC,即 BInary SYNchronous Communication 的缩写)。这些规程都是数据链路层的协议。

上述的两种协议都是面向字符的。所谓面向字符就是说在链路上所传送的数据必须是由规定字符集(例如 ASCII 码)中的字符所组成。不仅如此,在链路上传送的控制信息也必须由同一个字符集中的若干指定的控制字符构成。这种面向字符的链路控制规程在计算机网络的发展过程中曾起了重要的作用。

但随着计算机通信的发展,这种面向字符的链路控制规程就逐渐暴露出其弱点。就以著名的 BSC 规程来说,其主要限制是

(l)通信线路的利用率低,因为它采用的是停止等待协议,收发双方交替地工作。

(2)所有通信的设备必须使用同样字符代码,而不同版本的 BSC 规程要求使用不同的代码。

(3)只对数据部分进行差错控制,若控制部分出错就无法控制,因而可靠性较差。

(4)不易扩展。每增加一种功能就需要设定一个新的控制字符。

此外,它还存在其他一些缺点。由此可见,需要设计出一种新的链路控制规程来代替旧的面向字符的链路规程。

1974年,IBM 公司推出了著名的体系结构 SNA。在 SNA 的数据链路层规程采用了面向比特的规程  SDLC( Synchronous Data Link Control)。后来   IBM 将此规程提交美国国家标准协会 ANSI 和国际标准化组织 ISO,建议能成为国家和国际标准。ANSI 把 SDLC 修改为 ADCCP(Advanced Data Communication Control Procedure)作为美国国家标准,而 ISO 把 SDLC 修改后称为 HDLC(High-level Data Link Control),译为高级数据链路控制,作为国际标准 ISO 3309。我国的相应国家标准是 GB 7496。 CCITT 则将 HDLC 再修改后称为链路接入规程 LAP(Link AccessProcedure),并作为 X.25 建议书的一部分(即有关数据链路层协议的部分)。不久,HDLC 的新版本又把 LAP 修改为 LAPB,“B” 表示平衡型(Balanced),所以 LAPB 叫做链路接入规程(平衡型)。这样X.25的数据链路层就叫做LAPB了。

上述这几个面向比特的链路规程均大同小异。ADCCP 与 HDLC 没有多少区别。SDLC 虽然最早提出,但它实际上是 HDLC 的一个子集。

LLC是为了使数据链路层更好地适应各种局域网标准,由802委员会做出决定将数据链路层拆分为2个子层,即LLC Logical Link control逻辑链路控制子层和MAC Mdedium Access Control媒体接入控制子层。将于接入到传输媒体有关的内容都放在MAC子层,而LLC子层则与传输媒体无关。

而到了上个世纪90年代后,以太网中的DIX Ethernet V2已经成为了事实上的业界标准,并且也不属于802委员会所规定的几种以太网标准之一。所以等于说标准落后于实际生产了,这个时候LLC已经失去了作用。

从那往后,大多数的网卡上都不装LLC协议,而只有MAC协议了。

所以我们现在一般在座比较的时候,直接来比较HDLC和MAC两个层控制协议以及他们所控制的的数据结构就可以了。LCC基本上已经消失了。

三、数据链路层功能

1、帧同步

大白话就是,从数据链路层中,准确识别并提取 数据链路层 的帧信息。(和之前提到的,群同步、异步传输等于帧同步 ,不是特别对,反正大致意思明白就行,人家的百科 群同步 等于 帧同步 等于 异步传输,本来就写得不妥)
用到的方法有:
(1)字节计数法:这是一种以一个特殊字符表示一帧的起始并以一个专门字段来标明帧内字节数的帧同步方法。接收方可以通过对该特殊字符的识别从比特流中区分出帧的起始并从专门字段中获知该帧中随后跟随的数据字节数,从而可确定出帧的终止位置。
(2)使用字符填充的首尾定界符法:该法用一些特定的字符来定界一帧的起始与终止,为了不使数据信息位中出现的与特定字符相同的字符被误判为帧的首尾定界符,可以在这种数据字符前填充一个转义控制字符(DLE)以示区别,从而达到数据的透明性。但这种方法使用起来比较麻烦,而且所用的特定字符过份依赖于所采用的字符编码集,兼容性比较差。
(3)使用比特填充的首尾标志法:该法以一组特定的比特模式(如01111110)来标志一帧的起始与终止。本章稍后要详细介绍的HDLC规程即采用该法。为了不使信息位中出现的与特定比特模式相似的比特串被误判为帧的首尾标志,可以采用比特填充的方法。比如,采用特定模式01111110,则对信息位中的任何连续出现的五个“1”,发送方自动在其后插入一个“0”,而接收则做该过程的逆操作,即每接收到连续五个“1”,则自动删去其后所跟的“0”,以此恢复原始信息,实现数据传输的透明性。比特填充很容易由硬件来实现,性能优于字符填充方法。
(4)违法编码法:该法在物理层采用特定的比特编码方法时采用。例如,一种被称作曼彻斯特编码的方法,是将数据比特“1”编码成“高-低”电平对,而将数据比特“0”编码成“低-高”电平对。而“高-高”电平对和“低-低”电平对在数据比特中是违法的。可以借用这些违法编码序列来定界帧的起始与终止。局域网IEEE 802标准中就采用了这种方法。违法编码法不需要任何填充技术,便能实现数据的透明性,但它只适用于采用冗余编码的特殊编码环境。由于字节计数法中COUNT字段的脆弱性以及字符填充法实现上的复杂性和不兼容性,较普遍使用的帧同步法是比特填充和违法编码法。
=========================================================
以太网 V2  没有帧长度   , 如何识别 物理层 如何识别?
The Ethernet II frame format does not contain a length field, and I’d like to understand how the end of a frame can be detected without it.
来自:https://stackoverflow.com/questions/3416990/how-to-determine-the-length-of-an-ethernet-ii-frame

The length field inside the frame is not needed for layer1.Layer1 uses other means to detect the end of a frame which vary depending on the type of physical layer.

  • with 10Base-T a frame is followed by a TP_IDL waveform. The lack of further Manchester coded data bits can be detected.
  • with 100Base-T a frame is ended with an End of Stream Delimiter bit pattern that may not occur in payload data (because of its 4B/5B encoding).

A rough description you can find e.g. here:http://ww1.microchip.com/downloads/en/AppNotes/01120a.pdf “Ethernet Theory of Operation”

网友答案:
LLC只出现在802.3以太网的格式中,802.3的MAC层没有字段指明上层协议字段,但是指明了数据包长度,所以上层协议需要LLC指明。
在ETHERNET_II帧中,把802.3的长度字段改为了type。由Type字段区分上层协议,这时候就没有必要实现LLC子层,仅包含一个MAC子层。
只是现在厂商都用ETHERNET_II。实际效果和802.3+LLC是一样的。
如何区分两种帧 
  根据源地址段后的前两个字节的类型不同。 
  如果值大于1500(0x05DC),说明是以太网类型字段,EthernetII帧格式。值小于等于1500,说明是长度字段,IEEE802.3帧格式。因为类型字段值最小的是0x0600。而长度最大为1500。 
那么问题来了,802.3是有长度标志的,LLC表示上层协议,Ethernet_II没有长度标志,至少现在都不用了,那么判定一个数据包是不是发送完了呢。
解答:
因为以太网帧使用4B/5B编码,出现5bit固定类型的二进制,表示此数据包结束,正常传输中是不会出现这5bit的特定序列,如果有也是经过反码或者补码什么的替换掉了,学过计算机组成原理的同学就知道了。所以不需要协议里面有长度字段。当然具体还有很多细节,喜欢深究的同学可以自行脑补。【100M以太网的情况下看来是】
=========================================================

2、差错控制

为了防止在传输过程中发生错误,数据发送方的网卡会计算一个校验码,覆盖整个以太网帧,并放在以太网帧尾部,发送出去,接收网卡需要对其进行校验,来决定是否接收。而如果不校验,一个错误的帧可能要到TCP、UDP才能被发现出来,这样的话会浪费很多CPU资源。CPU会说:屁大点的事都搞不定,还要劳烦朕,可以去自宫了。而如果网卡来进行校验,错了就默默地丢弃,不惊动高层,高层肯定偷偷乐开了花。

大白话就是:数据链路层帧的FCS,就是用来检查帧有没有传错的,一般FCS里面用的是CRC检错法。因为以太网帧和PPP帧都没有重传机制,所以的重传控制只能由tcp/udp 的传输控制里面去了。而下面的方法,都是基于确认帧的。

FCS检查完后,正确的接收,错误的丢弃。这叫做无差错接收。
后面的差错帧重传,这样才算可靠传输【数据帧   的  无差错,无丢失】。

数据链路层的FCS检查是针对整个帧进行检查的。

IP帧的校验码只覆盖IP头,【16位首部校验和,可以查看ip报头】保证关键信息如目的IP在传输过程没有差错,可以到达目的地,至于里面封装内容则由目的地主机负责校验,可以减少路由器的处理时间,提高转发效率。所以IP层不能发现IP包的损坏。

所以以太网的差错重传,只能靠传输层的tcp/udp 进行控制了。因为数据链路层 和 ip层 差错重传都 不管。

关于以太网的CSMA/CD ,这个是解决 共享传输介质下 如何独占 收发信息。以太网在全双工下,也会出现 传输的帧出 差错,但是因为概率小,所以就没有用确认帧。

1. 差错的产生原因

当数据信号从发送端出发到物理线路时,由于物理线路存在噪声,因此数据信号经过物理线路到达接收端时,接收信号必然是数据信号和噪声信号的叠加,这就是差错的产生原因。

2. 差错的控制方法

2.1 误码率的定义

误码率(Pe):指二进制比特在数据传输系统中被传错的概率
N为传输的二进制比特总数,Ne为传错的比特数

Pe = Ne / N

2.2 差错控制

差错控制:检测和纠正 比特流传输错误的方法,目的是为了减少物理线路的传输错误

差错控制的两种策略:
纠错码:每个传输的分组带上足够的冗余信息,接收端能发现并自动纠正传输差错
检测码:分组仅包含足以使接收端发现差错的冗余信息,接收端能发现出错,但不能确定哪一比特是错的,并且自己不能纠正传输差错

纠错码实现困难,而检错码方法虽然可以通过重传机制达到纠错目的,但是实现简单,所以广泛采用检错码策略

2.3 检错码:循环冗余编码(CRC)

检错码又分为两种,奇偶校检码和循环冗余编码,而循环冗余编码是广泛使用的检错码方法,它检错能力强,实现容易。

循环冗余编码(CRC)的工作原理:

  1. 首先收发双方约定一个**生成多项式**G(x)
  2. 发送端把数据看成一个多项式f(x)
  3. 把f(x) 乘以生成多项式的最高次幂,f(x) * xk,目的是为了左移k位,用来放余数
  4. f(x) * xk/G(x),求得余数
  5. 将f(x) * xk+R(x)作为整体,发送到接收端
  6. 接收端用接收到的数据f′(x)采用相同的算法,去除约定好的G(x),得到余数R′(x)。如果R′(x)等于 R(x),表示发送没有出错;否则,说明传输出错,例如:1100111001 / 11001 = 0。

举例:发送数据110011
1. 约定G(x)=x4+x3+1,则对应G(x)的二进制代码为: 11001(N = 5,k = 4)
2. 发送数据比特序列为110011,其对应的多项式为f(x)=x5+x4+x1+1
3. G(x)的最高次幂为4,f(x) * x4 = 1100110000
4. f(x) * xk/G(x),余数为:R(x) = 1001
5. 将f(x) * xk+R(x)作为整体,发送到接收端:1100111001
6. 接收端解码:1100111001 / 11001 = 0,说明传输成功

========================================================

用以使发送方确定接收方是否正确收到了由它发送的数据信息的方法称为反馈差错控制。通常采用反馈检测和自动重发请求(ARQ)两种基本方法实现。

反馈检测法

反馈检测法也称回送校验或“回声”法,主要用于面向字符的异步传输中,如终端与远程计算机间的通信,这是一种无须使用任何特殊代码的错误检测法。双方进行数据传输时,接收方将接收到的数据(可以是一个字符,也可以是一帧)重新发回发送方,由发送方检查是否与原始数据完全相符。若不相符,则发送方发送一个控制字符(如DEL)通知接收方删去出错的数据,并重新发送该数据;若相符,则发送下一个数据。反馈检测法原理简单、实现容易,也有较高的可靠性,但是,每个数据均被传输两次,信道利用率很低。一般,在面向字符的异步传输中,信道效率并不是主要的,所以这种差错控制方法仍被广泛使用。

自动重发法

(ARQ法):实用的差错控制方法,应该既要传输可靠性高,又要信道利用率高。为此让发送方将要发送的数据帧附加一定的冗余检错码一并发送,接收方则根据检错码对数据帧进行错误检测,若发现错误,就返回请求重发的答,发送方收到请求重发的应答后,便重新传送该数据帧。这种差错控制方法就称为自动请求法(Automatic Repeat reQuest),简称ARQ法。ARQ法仅返回很少的控制信息,便可有效地确认所发数据帧是否被正确接收。ARQ法有若干种实现方案,如空闲重发请求(Idle RQ)和连续重请求(Continuous RQ)是其中最基本的两种方案。

空闲重发请求

(Idle RQ):空闲重发请求方案也称停等(stop-and -wait)法,该方案规定发送方每发送一帧后就要停下等待接收方的确认返回,仅当接收方确认正确接收后再继续发送下一帧。空闲重发请求方案的实现过程如下: 发送方每次仅将当前信息帧作为待确认帧保留在缓冲存储器中。当发送方开始发送信息帧时,随即启动计时器。 当接收方检测到一个含有差错的信息帧时,便舍弃该帧。当接收方收到无差错的信息帧后,即向发送方返回一个确认帧。 若发送方在规定时间内未能收到确认帧(即计时器超时),则应重发存于缓冲器中待确认信息帧。若发送方在规定时间内收到确认帧,即将计时器清零,继而开始下一帧的发送。从以上过程可以看出,空闲RQ方案的收、发双方仅须设置一个帧的缓冲存储空间,便可有效地实现数据重发并保证收接收方接收数据不会重份。空闲RQ方案最主要的优点就是所需的缓冲存储空间最小,因此在链路端使用简单终端的环境中被广泛采用。

连续重发请求

(Continuous RQ):连续重发请求方案是指发送方可以连续发送一系列信息帧,即不用等前一帧被确认便可发送下一帧。这就需要一个较大的缓冲存储空间(称作重发表),用以存放若干待确认的信息帧。每当发送站收到对某信息帧的确认帧后,便从重发表中将该信息帧删除。所以,连续RQ方案的链路传输效率大大提高,但相应地需要更大的缓冲存储空间。连续RQ方案的实现过程如下:发送方连续发送信息帧而不必等待确认帧的返回。发送方在重发表中保存所发送的每个帧的拷贝。重发表按先进先出(FIFO)队列规则操作。接收方对每一个正确收到的信息帧返回一个确认帧。每一个确认帧包含一个唯一的序号,随相应的确认帧返回。接收方保存一个接收次序表,它包含最后正确收到的信息帧的序号。当发送方收到相应信息帧的确认帧后,从重发表中删除该信息帧。当发送方检测出失序的确认帧(即第n号信息帧和第n+2号信息帧的确认帧已返回,而n+1号的确认帧未返回)后,便重发未被确认的信息帧。实际操作过程中,两节点间采用双工方式将确认帧插在双方的发送信息帧中来传送的。上面的连续RQ过程是假定在不发生传输差错的情况下描述的。如果差错出现,如何进一步处理可以有两种策略,即Go-back-N和选择重发。 Go-back-N是当接收方检测出失序的信息帧后,要求发送方重发最后一个正确接收的信息帧之后的所有未被确认的帧,或者当发送方发送了n帧后,若发现该n帧的前一帧在计时器超时后仍未返回其确认信息,则该帧被判定为出错或丢失。对接收方来说,因为这一帧出错,就不能以正确的序号向它的高层递交数据,对其后发送来的n帧也可能都不能接收而丢弃,因此,发送方发现这种情况,就不得不重新发送该出错帧及其后的n帧,这就是Go-back-N(退回N)法名称的由来。Co-back-N法操作过程如图3-2所示。图中假定发送完8号帧后,发现2号帧的确认返回在计时器超时后还未收到,则发送方只能退回从2号帧开始重发。Go-back-N可能将已正确传送到目的方的帧再传一遍,这显然是一种浪费。另一种更好的策略是当接收方发现某帧出错后,其后继续送来的正确的帧虽然不能立即递交给接收方的高层,但接收方仍可收下来,存放在一个缓冲区中,同时要求发送方重新传送出错的那一帧,一旦收到重新传来的帧后,就可与原已存于缓冲区中的其余帧一并按正确的顺序递交高层。这种方法称为选择重发(Selective repeat),其工作过程如图3-3所示。图中2号帧的否认返回信息NAK2要求发送方选择重发2号帧。显然,选择重发减少了浪费但要求接收方有足够大的缓冲区容量。
=========================================================

3、流量控制

流量控制涉及链路上字符或帧的传输速率的控制,以使接收方在接收前有足够的缓冲存储空间来接受每一个字符或帧。例如,在面向字符的终端--计算机链路中,若远程计算机为许多台终端服务,它就有可能因不能在高峰时按预定速率传输全部字符而暂时过载。同样,在面向帧的自动重发请求系统中,当待确认帧数量增加时,有可能超出缓冲器存储容量,也造成过载。
=======================================================

以太网的流量控制:

以太网不需要确认帧(碰撞检测:CSMA/CD) 无线网有确认帧(碰撞检测:CSMA/CA)。
有确认帧的,可以使用窗口滑动协议进行流量控制。

当通过交换机一个端口的流量过大,超过了它的处理能力时,就会发生端口阻塞。
网络拥塞一般是由于线速不匹配(如100M向10M端口发送数据)和突发的集中传输而产生的,它可能导致这几种情况:延时增加、丢包、重传增加,网络资源不能有效利用。
流量控制的作用是防止在出现阻塞的情况下丢帧。

在半双工方式下,流量控制是通过反压(backpressure)技术实现,模拟产生碰撞,使得信息源降低发送速度。
有两种方法可以达到这一目的:交换机可以强行制造一次与服务器的冲突,使得服务器退避;或者,交换机通过插入一次“载波检测”使得服务器的端口保持繁忙,这样就能使服务器感觉到交换机要发送数据一样。利用这两种方法,服务器都会在一段时间内暂停发送,从而允许交换机去处理积聚在它的缓冲区中的数据。

在全双工方式下,IEEE802.3 x标准定义了在全双工环境中实现流量控制的方法。交换机产生一个”PAUSE”MAC控制帧,”PAUSE”MAC控制帧使用一个保留的组播地址:01-80-C2-00-00-01,将它发送给正在发送的站,发送站接收到该帧后,就会暂停或停止发送。PAUSE帧利用了一个保留的组播地址,它不会被网桥和交换机所转发,这样,PAUSE帧不会产生附加信息量。
在全双工环境中,服务器和交换机之间的连接是一个无碰撞的发送和接收通道。由于没有碰撞检测,且不允许交换机通过产生一次冲突而使得服务器停止发送

在实际的网络中,尤其是一般局域网,产生网络拥塞的情况极少,所以有的厂家的交换机并不支持流量控制。高性能的交换机应支持半双工方式下的反向压力和全双工的IEEE802.3x流控。有的交换机的流量控制将阻塞整个LAN的输入,降低整个LAN的性能;高性能的交换机采用的策略是仅仅阻塞向交换机拥塞端口输入帧的端口,保证其他端口用户的正常工作。
##################################################
pause帧格式:
至于以太网的CSMA/CD ,应该是 数据帧发送,检测数据帧小于64字节,说明发生了链路碰撞。数据帧的发送和接收应该是用协议发送的,接收数据帧到本地,用设计好的CSMA/CD函数判断数据帧是不是小于64字节,然后决策是不是 数据碰撞了。

https://en.wikipedia.org/wiki/Ethernet_flow_control
https://www.tuicool.com/articles/Bzu2uuf

========================================================

4、链路控制

链路管理功能主要用于面向连接的服务。当链路两端的节点要进行通信前,必须首先确认对方已处于就绪状态,并交换一些必要的信息以对帧序号初始化,然后才能建立连接,在传输过程中则要能维持该连接。如果出现差错,需要重新初始化,重新自动建立连接。传输完毕后则要释放连接。数据连路层连接的建立维持和释放就称作链路管理。在多个站点共享同一物理信道的情况下(例如在LAN中)如何在要求通信的站点间分配和管理信道也属于数据链路层管理的范畴。
=========================================================
在以太网中,LLC只出现在802.3以太网的格式中,802.3的MAC层没有字段指明上层协议字段,但是指明了数据包长度,所以上层协议需要LLC指明。在ETHERNET_II帧中,把802.3的长度字段改为了type。由Type字段区分上层协议,这时候就没有必要实现LLC子层,仅包含一个MAC子层。

以太网的上层协议可以有好几种,(1)无连接,这种传输效果难以保证。(2)面向连接,该方式提供了四种服务:连接的建立、确认和数据到达响应、差错恢复(请求重发接收的错误数据)以及滑动窗口(用来提高数据传输速率)。(3)无连接应答响应服务。

网络层的IP协议,就是面向无连接的。 

经过探讨,因为以太网是面向无连接的,而PPP是面向连接的,所以以太网不需要向PPP那样,建立连接,断开连接,这些数据链路层控制命令操作。
=========================================================

5、透明传输

因为数据链路层的帧是有帧定界的,如果该帧上面传递的数据,意外包含了帧定界的,采取以下措施:
当信息字段中出现和标志字段一样的比特组合时,如(0x7E),就必须采取一些措施使这种形式上和标志字段一言的比特组合不出现在信息字段中。
如:
当PPP使用异步传输时,它把转移符定义为0x7D,并使用字节填充。
当PPP使用同步传输时,使用零比特填充。


四、滑动窗口协议-基于确认帧的流量控制协议

目前只知道滑动窗口协议可以实现流量控制,但是这是建立在帧的确认基础上的.
滑动窗口协议:可以一次控制发送几帧,用于流量控制。也可以进行帧出错重传,用于差错控制方面。
以太网不需要接收端发送确认帧是怎样实现流量控制的呢? 
半双工方式下是backpressure方式发送信号干扰其他站的发送
全双工下使用802.3x定义的pause帧来通知对端。

前面提到了用检错码来检测帧传输中是否发生了错误,如果发生了错误,就需要通过滑动窗口协议来解决。

滑动窗口协议分为两种类型: 

1. 单帧停止等待协议

发送端每次发送1帧之后,需要等待接收端返回确认帧,如果接受到ACK,表示传输成功,发送下一帧;如果接收到NAK,表示传输错误,重新发送此帧

2. 多帧连续发送协议

多帧连续发送有两种类型,后退N帧(GBN)拉回重发方式和选择重发(SR)方式

1. 后退N帧(GBN)拉回重发方式

只要有一个帧发送失败,则当前发送的全部帧都重新发送,这样导致的问题就是会发送许多重复帧,流量控制不好

2. 选择重发(SR)方式

选择重发和拉回重发的区别在于,当前发送的帧中出现某个帧传输错误后,在下一次发送时只是重新发送该错误的帧

3. 滑动窗口机制

在GBN和SR中,发送端可以连续发送多个数据帧,从流量控制的角度出发,发送端连续发送数据帧的数量必然会收到限制:
1. 接收端的缓冲区可以用于接受新的帧的容量
2. 接收端处理数据帧的速度
3. 接收端需要等待重传的帧的数量

引入滑动窗口的目的:对可以连续发出的最多帧数(已发出但未确认的帧)作限制 

发送窗口(Ws):表示在收到对方确认的信息之前,以连续发出的最多数据帧数
接受窗口(Wr):可以连续接收的最多数据帧数(只有序号在窗口内的帧才可以接收,否则丢弃)

滑动窗口机制实例

 


参考:

ppp协议:

https://blog.csdn.net/lnboxue/article/details/79486069

https://blog.csdn.net/cainv89/article/details/50612718

https://blog.csdn.net/windeal3203/article/details/51066331

https://blog.csdn.net/csucxcc/article/details/1684416

================================================

以太网帧格式

https://blog.csdn.net/a1414345/article/details/72781130

http://blog.sina.com.cn/s/blog_87bbe37e01013zim.html

https://blog.csdn.net/jeffleo/article/details/53932693

 

https://zhuanlan.zhihu.com/p/21318925

https://www.jianshu.com/p/ffb4423be724

 

http://blog.sina.com.cn/s/blog_5f38b78d0100c62d.html   专题

网络原理-计算机网络详解-物理层之以太网架构

物理层架构

  这一节来学习一下以太网的物理层,IEEE802.3标准就给出了以太网的物理层结构,如下图所示红色框内所标注的。

    我们可以看到物理大致可以分为: GMII介质无关接口、 PCS物理编码子层,PMA物理介质连接层,PMD物理介质相关层、MDI接口 、MEDIUM物理介质。
    我们从下往上看,首先看物理介质层。

    1、物理介质层

         这里所谓的物理介质,我们最常见的就是我们的网线,这就是一种以太网传输的物理介质。常见的物理介质还有同轴电缆、光纤等,现在基本没人用同轴电缆了。
         看下表,其中10-100-1000表示以太网的速度10M-100M-1000M。而BASE后的字母数字,则表示了当前介质的类型。
         其中最后几个是千兆网的传输介质,千兆以太网可以在下列四种媒质上运行:单模光纤(LX),最大连接距离至少可达5公里;多模光纤(SX),最大连接距离至少550米;同轴电缆(CX),最大连接距离至少25米;超五类/六类线(T),最大连接距离为100米 。
10BASE2: 采用细同轴电缆接口的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 10.)
10BASE5: 采用粗同轴电缆接口的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 8.)
10BASE-F:采用光纤电缆接口的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 15.)
10BASE-T:采用电话双绞线的IEEE 802.3 10Mb/s物理层规格 (参见 IEEE 802.3 Clause 14.)
100BASE-FX: 采用两个光纤的IEEE 802.3 100Mb/s 物理层规格 (参见 IEEE 802.3 Clauses  24 and 26.)
100BASE-T2: 采用两对3类线或更好的平衡线缆的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 32.)
100BASE-T4: 采用四对3、4、5类线非屏蔽双绞线的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE 802.3 Clause 23.)
100BASE-TX: 采用两对5类非屏蔽双绞线或屏蔽双绞线的IEEE 802.3 100 Mb/s 物理层规格 (参见 IEEE  802.3 Clauses 24 and 25.)
1000BASE-CX: 1000BASE-X 在特制的屏蔽电缆传输的接口规格(参见 IEEE 802.3 Clause 39.)
1000BASE-LX: 1000BASE-X 采用单模或多模长波激光器的规格(参见 IEEE 802.3 Clause 38.)
1000BASE-SX: 1000BASE-X 采用多模短波激光器的规格(参见 IEEE 802.3 Clause 38.)
1000BASE-T: 采用四对五类平衡电缆的1000 Mb/s  物理层规格 (参见 IEEE 802.3 Clause 40.)
   这里提到了各种规范,其实每一种规范对应的物理层都是不一样的。
  我们看一下1000BASE-X的物理层。
    下面是1000BASE-T的物理层。可以看到1000BASE-T的自协商与1000BASE-X位置不一样。

    2、MDI接口

        MDI就是连接PHY芯片和物理介质的接口,常见的是RJ45接口。
        百兆网时,MDI四根线,两对差分信号,只用了RJ45的 1,2,3,6线,。
        千兆网时, MDI一共8根线,四对差分信号, 用了RJ45的8根线
        再说一下RJ45上的两个灯—— 绿灯:长亮,表示链路完整。  黄灯:闪烁,表示有数据收发。

    3、PMD \PMA\PCS 层

       原本想介绍一下这三个层,但最后还是放弃了,因为不同规范下,每一层都不一样,很难统一介绍。笔者也未深入研究。这里简述一下这三次完成的大致功能。
       PCS:    物理编码子层。
       对于1000BASE-X采用了8B/10B编码.
       而对于1000BASE-T,则采用了PAM5编码转换方式。
        PMA: 如上图可以看出PMA层主要实现了串并转换。
        PMD: PMD层主要负责将串行信号转到相应的物理介质上。
        如下补充4D-PAM5编码方式的解释:
       在通信网络中,接收端需要从接收数据中恢复时钟信息来保证同步,这就需要线路中所传输的二进制码流有足够多的跳变,即不能有过多连续的高电平或低电平,否则无法提取时钟信息。百兆以太网100BASE-T用的4B/5B编码与MLT-3编码组合方式,发送码流先进行4B/5B编码,再NRZ-I,最后进行MLT-3编码,最后再上线路传输;千兆以太网中1000BASE-X用的是8B/10B编码与NRZ编码组合方式;万兆以太网用的是64B/66B编码;PCIE 3.0用的是128B/130B编码。说到底这些编码都是为了从数据中恢复时钟。

    4、自协商 Auto_negotiation

        自协商一般是在物理层完成的。但是具体在PHY的哪一层完成,由具体物理介质规范决定。基本原理就是将 自协商的信息通过一串脉冲序列发送出去,这串脉冲称为FLP。这串脉冲的特点如下。脉冲中分为时钟脉冲和数据脉冲,数据脉冲夹在时钟脉冲中间,第一个脉冲为时钟脉冲,数据脉冲中正脉冲表示1,无脉冲表示0.一个FLP脉冲序列包含17个时钟脉冲,16个数据脉冲。时钟脉冲每个125us出现一次。
以下摘自华为《以太网标准和物理层、数据链路层专题》其中主要是百兆网的自协商。千兆网也类似差不多,相当于增加了一些位定义。

快速连接脉冲(FLP)的信息编码可以分为两类,一类是基本连接码字(基本页),支持基本的信息的交换。另一类是下一页码字,以支持附加信息页的交换。

基本页的信息编码可由下图表示。

图 1-1  基本页的信息编码图

选择域(Selector Field)

S[0:4]用于标识自协商消息的类型。已定义的类型如下表所示,所有未列出的组合的意义均保留,保留的编码组合目前不应在传输中出现。

自协商的类型含义

S4 S3 S2 S1 S0 Selector description
0 0 0 0 0 Reserved for future Auto-Negotiation development
0 0 0 0 1 IEEE Std 802.3
0 0 0 1 0 IEEE Std 802.9 ISLAN-16T
1 1 1 1 1 Reseerved for future Auto-Negotiation development

技术能力域(Technology Ability Field)

A[0:7]用于描述本端网络接口所支持的各种工作模式。不同的选择域类型对应不同的技术能力域定义。下面表格给出IEEE 802.3标准下定义的各种技术能力及其编码。

自协商的技术支持域的含义。

Bit Technology Minimum cabling requirement
A0 10BASE-T Two-pair Category 3
A1 10BASE-T FULL DUPLEX Two-pair Category 3
A2 100BASE-TX Two-pair Category 5
A3 100BASE-TX FULL DUPLEX Two-pair Category 5
A4 100BASE-T4 Four-pair Category 3
A[5:7] Reserved for furure technology

   5、RGMII接口

    这里我主要介绍一下RGMII接口。因为我的开发板是这个接口的。RGMII(Reduced Gigabit Media Independent Interface)是Reduced GMII(吉比特介质独立接口)。RGMII均采用4位数据接口,工作时钟125MHz,并且在上升沿和下降沿同时传输数据,因此传输速率可达1000Mbps。
一般用于MAC和PHY之间的通信。
发送器:
  •  GTX_CLK——吉比特TX..信号的时钟(125MHz)
  •  TXD[3..0]——被发送数据
  •  TX_CTL——发送控制
注:在千兆速率下,向PHY提供GTX_CLK信号,TXD、TXEN、TXER信号与此时钟信号同步。否则,在10/100M速率下,PHY提供 TXCLK时钟信号,其它信号与此信号同步。其工作频率为25MHz(100M网络)或2.5MHz(10M网络)。
接收器:
  • RX_CLK——接收时钟频率(从收到的数据中提取,因此与GTXCLK无关联)
  • RXD[3..0]——接收数据
  • RX_CTL——接收控制
  • COL——冲突检测(仅用于半双工状态)
  • CRS——载波监听
管理配置(控制和状态信息):
  • MDC——配置接口时钟
  • MDIO——配置接口I/O
RGMII接口相对于GMII接口,在TXD和RXD上总共减少8根数据线。
RGMII时序
如下图
来自:https://blog.csdn.net/lg2lh/article/details/51288750
资料补充:
以太网接口自动协商原理
https://blog.csdn.net/zhangliang_571/article/details/41486337
http://blog.51cto.com/cchome/526579

网络原理-计算机网络详解-物理层概述

一、物理层含义

物理层(Physical Layer)是计算机网络OSI模型中最低的一层。物理层规定:为传输数据所需要的物理链路创建、维持、拆除,而提供具有机械的,电子的,功能的和规范的特性。简单的说,物理层确保原始的数据可在各种物理媒体上传输。


二、物理层功能

  1. 为数据端设备提供传送数据通路
  2. 传输数据

三、物理层传输方式

(1)串行和并行通信

(我们上网用的是串行接口。大白话就是网线用的是串行接口。)
按照数据通信使用的信道数,可分为:
1. 串行通信:将一个字符的二进制代码从低位到高位依次传输,需要建立一个信道
2. 并行通信:将一个字符的二进制代码同时通过8条并行的通信信道发送,每次发送一个字符,需要建立8个信道,但造价较高,远程通信一般使用串行通信

并行通信:主要用在短距离信号输出上面,比如打印机连接计算机的接口是并行通信。

串行通信:主要用于远距离传输上,比如我们的上网接口。

(2)单工,半双工和全双工通信

(数据链路层协议和网络拓扑应该是互相适应的,有些协议是全双工的,有些是半双工,因为数据链路层的数据  靠物理层传输所以在这里提前讲了)

按照信号传送方向和时间的关系,可分为:
单工通信:只能一个方向传输,例如寻呼机
半双工通信:双向传送,但一个时间只能一个方向发送信息,例如对讲机
全双工通信:可以同时发送信息,并且双向传送,例如手机

(3)同步技术

1、为统一时钟频率服务器和客户端在物理层上采用位同步技术

为了正确同步服务器和客户端的时钟频率,以便准确编码和解码数字信息。采用位同步技术,目的是使接收端接收的每一位信息都与发送端保持同步,有下面两种方式:

△外同步——发送端发送数据时同时发送同步时钟信号,接收方用同步信号来锁定自己的时钟脉冲频率。
△自同步——通过特殊编码(如曼彻斯特编码),这些数据编码信号包含了同步信号,接收方从中提取同步信号来锁定自己的时钟脉冲频率。

我们常见的以太网在物理层用的就是自同步,来同步时钟频率。

2、异步传输与同步传输问题

请看 异步传输与同步传输的分析比较

3、透明传输在数据链路层实现

因为数据链路层的帧是有帧定界的,如果该帧上面传递的数据,意外包含了帧定界的,采取以下措施:
当信息字段中出现和标志字段一样的比特(0x7E)组合时,就必须采取一些措施使这种形式上和标志字段一言的比特组合不出现在信息字段中。
如:
当PPP使用异步传输时,它把转移符定义为0x7D,并使用字节填充。
当PPP使用同步传输时,使用零比特填充。


四、 物理层的数据传输类型

在传输介质上传输的信号分为2种类型:
1. 模拟信号:电平幅度连续变化的电信号,例如人的语音,电话线路就是用来传输模拟信号的
2. 数字信号:两种不用的电平表示0,1比特序列电压跳变的脉冲信号

调制:将发送端的数字信号变换为模拟信号
解调:将接收端的模拟信号变换为数字信号

====================================================
在上网时,连接电脑的网线传输的是数字信号(里面估计用电压高低表示信号),网线经过路由器:
如果后面接的是光猫则后面是用光信号调制的数字信号,
如果后面接的是电话猫则后面是用电信号调制的模拟信号。
====================================================

下文将会讲到数字与模拟信号的互相转换


五、基带传输技术:数字数据编码为数字信号

计算机里面传输的是二进制数据,在传输给网线时会在物理层进行编码,这时编码的数字数据需要转换成数字信号。这个就是网卡的作用了。

通常来说,直接以数字信号传输时比较常用的传输技术。在数据通信中,表示数字信号的波形是典型的矩形脉冲信号(就是高电平和低电平)
基带传输技术:在数字信道上直接按照数字信号原有的波形(脉冲形式)在信道上直接传输,不需要调制,但是需要编码和解码。

编码:发送端把二进制代码数据转化为在信道中传输的脉冲信号
解码:接收端把脉冲信号转换回二进制代码数据

 数字数据编码方法

数字数据编码的方法有:非归零码,曼彻斯特编码,差分曼彻斯特编码

1. 非归零码

非归零码比较简单,使用高电平表示1,低电平表示0
但是非归零码的缺点是无法判断一位的开始和结束,使得收发双发无法同步,这时 就引入同步时钟,在发送非归零码的同时,在另一个信道发送同步信号。

2. 曼彻斯特编码(Manchester)

曼彻斯特编码的规则
1. 每比特的周期T分为前T/2和后T/2
2. 前T/2传送该比特的反码,后T/2传送该比特的原码(造成该规则是原因是用数据和时钟信号做“异或运算”)

曼彻斯特编码的特点
1. 每个比特中间有一次电平跳变,两次电平的跳变间隔可以为T/2或者T
2. 效率低,如果信号传输速率为100Mbps,则发送时钟信号速率为200MHz

3. 差分曼彻斯特编码(Difference Manchester)

差分曼彻斯特编码的规则
1. 每比特的中间跳变仅用做同步
2. 如果每比特开始处如果发生电平跳变,则表示传输二进制“0”;如果不发生电平跳变,则表示传输二进制“1”


六、频带传输技术:数字信号调制为模拟信号

计算机产生的是二进制数字信号,有时候我们的线路是模拟线路不能直接传输数字信号,例如电话线,这时就需要模拟信号和数字信号的转换。
频带传输技术:利用模拟通信信道传输数字信号的方法,这一过程是通过调制器和解调器来完成的。

1. 调制方法

设模拟信号的正弦信号为:

u(t) = μ * sin(ωt + φ)

μ为振幅,ω为角频率,φ为相位,可以通过变化这三个变量,来实现模拟信号信号的编码。

具体的调制方法有以下几个:

(1)振幅键控(ASK)

振幅键控通过改变振幅μ来表示数字信号的1,0
其表达式为:
u(t) = μ * sin(ω0 t + φ0) :数字1
u(t) = 0 :数字0
ASK信号实现容易,技术简单,但是抗干扰能力差

(2)移频键控(FSK)

振幅键控通过改变角频率ω来表示数字信号的1,0
其表达式为:
u(t) = μ0 * sin(ω1 t + φ0) :数字1
u(t) = μ0 * sin(ω2 t + φ0) :数字0
FSK信号实现容易,技术简单,但是抗干扰能力较强,是最常用的调制方法之一

(3)移相键控(PSK)

振幅键控通过改变相位值φ来表示数字信号的1,0,其中用相位的绝对值表示数字信号1,0,称为“绝对调相”;用相位的相对偏移值表示数字信号1,0,称为“相对调相”

绝对调相
其表达式为:
u(t) = μ0 * sin(ω0 t + 0) :数字1
u(t) = μ0 * sin(ω0 t + π) :数字0

相对调相
最简单的相对调相是:两信号接口处遇0,相位不变;接口处遇1,相位偏移π

2. 调制速率和数据传输传输速率

波特率B:即调制速率,指模拟线路信号的速率,以波形每秒的振荡数来衡量
比特率S:即数据传输速率,在数字信道中,比特率是数字信号的传输速率,指每秒钟传送的二进制代码比特数(注意是主机向传输介质发送数据的速率

S = 1 / T(bps)

例如发送1比特的0,1信号需要1ms,则S = 1 / (1/1000) = 1000bps

波特率B,比特率S,调制相数k的关系:

S = B * log2(k)


七、基带传输技术:模拟信号编码为数字信号

前面说到了数字信号调制为模拟信号,二进制数据编码为数字信号,那么由于数字信号传输失真小,误码率低,速率高,因此在网络中,除了计算机直接产生的数字以外,模拟语音,图像信息的数字化也成了必然的趋势。
脉冲编码调制(PCM技术): 将模拟信号编码为数字信号
发送端通过PCM编码器将语音信号或图像信号,转换为数字信号,通过通信信道传输到接收端,接收端通过PCM解码器将它还原成语音信号或图像信号


八、总结以上三种转换技术

三种调制器的区别:

各种转换技术的区别:


九、传输信道的传输速率和带宽的关系

在计算机网络中,传输信道的传输速率一般用 带宽 来表示,带宽和速率的关系可以用奈奎斯特准则和香农定理来解释

1. 奈奎斯特准则

奈奎斯特准则:在有限带宽,无噪声的理想情况下,最高速率和带宽的关系。
最大数据传输速率Rmax, 理想信道带宽B(单位Hz):

Rmax = 2B(bps)

2. 香农定理

香农定理:有限带宽,有随机热噪声情况下,信道的最大传输速率和信道带宽、信号噪声功率的关系。
最大数据传输速率Rmax, 理想信道带宽B(单位Hz),信噪比S/N:

*Rmax = B log2 (1 + S/N)


十、多路复用技术

前面提到的,只是停留在发送主机通过信道发送信号到接受主机,但是实际上不存在这种两台主机直接通过1个信道传输信号的情况,原因有如下两点:
1. 信道的架设费用非常高
2. 带宽会被浪费,例如一条线路的带宽为10Mps,而两台计算机通信需要的带宽为100Kps,如果这两个计算机独占了10Mps的信道,然而却只使用100Kps的带宽,这样会导致带宽浪费

于是,多路复用技术就出现了
多路复用技术:发送端将多个用户的数据通过多路复用器汇集到一条通信线路(这条通信线路的带宽应该尽可能高),发送到接收端,接收端通过分用器把数据分离成各路数据,分发给接收端的多个用户

多路复用技术可以分为四类:
1. 时分多路复用
2. 频分多路复用
3. 波分多路复用
4. 码分多路复用和正交频分复用

1. 时分多路复用

时分多路复用将信道用于传输的时间划分为若干个时间片,每一个用户获得一个时间片,用户在其占有的时间片内使用信道的全部带宽

1.1 同步时分多路复用

同步时分多路复用:若有n条信道复用一条通信线路,则可把通信线路的单位传输时间分成n个时间片。每个周期内,将第1个时间片分配给第1路信号,将第2时间片分配给第2路信号,依次。

1.2 统计时分多路复用

统计时分多路复用:时间片与信道号不存在固定关系,只分配给需要发送数据的信道。例如把T分成4个时间片,第12个时间片给主机A,第34个时间片给主机C

2. 频分多路复用

频分多路复用是指在一条通信线路设置多个通信信道,每个信道的中心频率不同,各个信道的频率互不重叠。

3. 波分多路复用

光纤通道(fiber optic channel)技术采用了波长分隔多路复用方法,即在一根光纤上复用多路光载波信号。

 


十一、接入技术简介

成千上万的住宅,办公室,家庭和移动终端设备的等接入Internet,不同的设备接入技术也不同。
用户接入分为:家庭接入、校园接入、机关与企业接入
接入技术分为:有线接入、无线接入

按照接入技术来分:


参考自:

https://blog.csdn.net/jeffleo/article/details/53929338
https://blog.csdn.net/leiflyy/article/details/50623963
维基百科

网络原理-OSI七层模型中各协议归属清单查询

802.11是IEEE最初制定的一个无线局域网标准,主要用于解决办公室局域网和校园网中,用户与用户终端的无线接入,业务主要限于数据存取,速率最高只能达到2Mbps。目前,3Com等公司都有基于该标准的无线网卡。由于802.11在速率和传输距离上都不能满足人们的需要,因此,IEEE小组又相继推出了802.11b和802.11a两个新标准。三者之间技术上的主要差别在于MAC子层和物理层。

如果你非要和ISO的层对应上,那么涉及物理层、数据链路层。主要是链路层,甚至可以说其就是链路层协议。


本文列出了协议,按其最近的开放系统互连 (OSI)模型层进行分类。该列表不仅仅是OSI协议族所独有的。其中许多协议最初都基于Internet协议套件(TCP / IP)和其他模型,并且它们通常不能完全适合OSI层。

ISDN有争议:我在网络查了一下,属于三层结构。

ISDN用户-网络接口有两种接口结构,即BRI和PRI。
BRI (Basic Rate Interface):基本速率接口,提供2个64kbit/s速率的信道和1个16kbit/s速率的信道,也即是2个B信道和1个D信道,总共144kbit/s的信息通路。B信道是用来传送语音和数据等用户信息的通路。D信道是用来传送信令信息和低速分组数据的信道。BRI是大部分用户所用的接口,用户可以在这种接口上接入最多达8个的各种类型终端,进行语音、数据和图像等多种业务的通信。
PRI也称为基群速率接口,是一种线路类型的通常叫法。PRI接口分E1 PRI和T1 PRI两种,B、D信道的带宽均为64kbit/s。E1 PRI为30B+D,分TS0~TS31共32个时隙,TS0用于帧同步,TS16为D信道,一般在中国、亚洲部分国家和地区、欧洲等地使用;T1 PRI为23B+D,分TS0~TS23共24个时隙,TS23为D信道,一般在北美(北美把T1 PRI接口定义为PRA)、加拿大、日本、香港等地使用。
思考:T1线路中没有用于实现帧同步的时序,那么T1线路是怎么实现帧同步的呢?(关于这个问题看我的另一篇文章《isdn帧格式介绍》)

ISDN采用了其中底三层,只有这3层都正常工作了,ISDN连接才能工作。
第一层是物理层。物理层提供建立、维持和释放物理连接的手段,保证物理电路上的信息传输。物理层采用的协议是I.430(BRI)和I.431(PRI)。
第二层是数据链路层。在物理层的基础上提供数据链路的建立、维持和释放手段。ISDN用户-网络接口链路层协议称为LAPD(Link Access Procedure on the D channel: D通路链路接入协议)。LAPD的主要功能是在ISDN D通路上建立链路,以帧为单位传递第三层的信息或第二层的控制信息。
第三层是网络层。包括D信道上的Q.931信令和B信道上的网络层协议(IP、IPX、APPLETALK等),Q.931信令处理呼叫方和被叫方之间的呼叫建立连接问题。 详情可参看此处

B-ISDN协议分为3面和3层。(来自全国计算机等级考试真题 (笔试+上机) 详解与样题精选: 三级网络技术)

3面为:
用户面:负责传送用户信息
控制面:传送信令,完成用户通信的连接建立,维护和拆除。负责提供呼叫和逻辑连接的控制功能。
管理面:提供面管理和层管理两种功能。

每个面又可分为3层:
物理层,ATM层,ATM适配层。

 

Layer 1 (Physical Layer)[edit]

Layer 2 (Data Link Layer)[edit]

Network Topology[edit]

Layer 2.5[edit]

  • MPLS Multiprotocol Label Switching
  • ARP Address Resolution Protocol

Layer 3 (Network Layer)[edit]

  • CLNP Connectionless Networking Protocol
  • IPX Internetwork Packet change
  • NAT Network Address Translation
  • Routed-SMLT
  • SCCP Signalling Connection Control Part
  • AppleTalk DDP
  • HSRP Hot Standby Router protocol
  • VRRP Virtual Router Redundancy Protocol

Layer 3+4 (protocol suites)[edit]

Layer 4 (Transport Layer)[edit]

  • AEP AppleTalk Echo Protocol
  • AH Authentication Header over IP or IPSec
  • DCCP Datagram Congestion Control Protocol
  • ESP Encapsulating Security Payload over IP or IPSec
  • FCP Fibre Channel Protocol
  • IL Originally developed as transport layer for 9P
  • iSCSI Internet Small Computer System Interface
  • NBF NetBIOS Frames Protocol
  • SCTP Stream Control Transmission Protocol
  • Sinec H1 for telecontrol
  • SPX Sequenced Packet Exchange
  • NBP Name Binding Protocol {for AppleTalk}

Layer 5 (Session Layer)[edit]

This layer, presentation Layer and application layer are combined in TCP/IP model.

  • 9P Distributed file system protocol developed originally as part of Plan 9
  • ADSP AppleTalk Data Stream Protocol
  • ASP AppleTalk Session Protocol
  • H.245 Call Control Protocol for Multimedia Communications
  • iSNS Internet Storage Name Service
  • NetBIOS, File Sharing and Name Resolution protocol – the basis of file sharing with Windows.
  • NetBEUI, NetBIOS Enhanced User Interface
  • NCP NetWare Core Protocol
  • PAP Password Authentication Protocol
  • PPTP Point-to-Point Tunneling Protocol
  • RPC Remote Procedure Call
  • RTCP RTP Control Protocol
  • SDP Sockets Direct Protocol
  • SMB Server Message Block
  • SMPP Short Message Peer-to-Peer
  • SOCKS “SOCKetS”
  • ZIP Zone Information Protocol {For AppleTalk}
  • This layer provides session management capabilities between hosts. For example, if some host needs a password verification for access and if credentials are provided then for that session password verification does not happen again. This layer can assist in synchronization, dialog control and critical operation management (e.g., an online bank transaction).

Layer 6 (Presentation Layer)[edit]

  • TLS Transport Layer Security
  • AFP Apple Filing Protocol
  • SSL Secure Socket Layer

Layer 7 Applications[edit]

来自:维基百科 https://en.wikipedia.org/wiki/List_of_network_protocols_(OSI_model)

网络原理-PON-MSTP-OTN-MPLS-PTN-HFC的发展由来

一、传输网整体认知

传输网一般分为:核心层-骨干层-汇聚层-接入层。

骨干层一般采用OTN设备或DWDM设备,汇聚层一般式采用大容量的10G/2.5G SDH或10GE PTN设备,接入层一般采用小容量的155M/622M SDH设备或 GE PTN设备 。

OTN+PTN+PON的基本拓扑

PTN专线主要解决大颗粒的专线业务,不是所有的小区和家庭用户都是大客户,EPON/GPON是综合业务接入设备主要用于综合业务区,覆盖小区,提供语音、数据等综合业务

OTN是用在:核心层–>骨干层(物理层)

PTN是用在:骨干层—>汇聚层—>接入层 (物理层)

PON是用在:接入层(物理层,数据链路层)

PTN 和OTN 都属于传送技术, 所以他们都一般定为在网络OSI的物理层, 也就是提供物理连接,提供路由器到路由器的传送通道.
不同的是,
OTN提供的是物理通道, 每一个波长/子波长提供一个点到点的通道.
PTN 除了提供通道之外, 还可以在网络中表现得像二层设备或三层设备, 具备分组交换能力, 通常会用MPLS为网络层提供VPN通道.

PON是一种接入技术, 就像家庭以前用的ADSL一样, 工作在OSI的物理层以及数据链路层.【产生了GPON和EPON在数据链路层。】PON中OLT提供的业务描述,  一般最终用户经过ONU来进行接入,  可以提供 宽带, POTS电话, IPTV, VOD, E1 等业务接入


二、PDH被SDH取代原因

PDH,准同步数字系列。

PDH主要有两大系列标准:

1)E1,即PCM30/32路,2.048Mbps,欧洲和我国采用此标准。

2)T1,即PCM24/路,1.544Mbps,北美采用此标准。

原理:

PCM脉冲调制,对模拟信号采样,8000个样值每S,每个样值8bit,所以一个话路的速率为64kbps。E1有32个时隙,TS0用来同步,TS16用来传送信令,其中30路用来传话音信号的,32个话路的速率为2.048Mbps,即PCM基群,也叫一次群。…,他们的速率是四倍关系。

T1的采样与E1相同,只是有24个话路,其速率为64kbps*24 = 1.544Mbps 四个一次群复用为一个二次群,当然一个二次群的速率比四个一次群的速率总和还要多一些,用于同步的码元。四个二次群复用为一个三次群,依次类推。 E1=2.048、E2=8.448、E3=34.368Mbps ……

PDH的缺点:

1)没有世界性的标准(欧洲、北美和日本的速率标准不同)。

2)没有世界性的标准光接口规范。

3)结构复杂,硬件数量大,上下电路成本高,也缺乏灵活性。

4)网络运行、维护和管理能力差。

因此,要满足现代电信网络的发展需求,SDH作为一种结合高速大容量光传输技术和智能网络技术的新体制,就在这种情况下诞生了。


三、SDH介绍

SDH

随着以微处理器支持的智能网元的出现,使得高速大容量光纤传输技术和智能网络技术的结合,SDH光同步传输网应运而生。

SDH全称为同步数字传输体制,它规范了数字信号的帧结构、复用方式、传输速率等级,接口码型等特性。同时,SDH改善了PDH的不利于大容量传输缺点。

SDH的优点:

1)速率和光接口统一。

2)管理能力强。

3)上下电路方便。

基站里的SDH设备

基站综合柜里的SDH设备连接关系图

SDH帧结构

SDH的帧结构为块状帧结构。

信息净负荷(9行×261列)

STM-N帧中放置各种业务信息的地方。

2M/34M/140M等PDH信号、ATM信号、IP信息包等打包成信息包后,放于其中。然后由STM-N信号承载,在SDH网上传输。若将STM-N信号帧比做一辆货车,其净负荷区即为该货车的车厢。

在将低速信号打包装箱时,在每一个信息包中加入通道开销POH,以完成对每一个“货物包”在“运输”中的监视。

段开销

段开销完成对STM-N整体信号流进行监控。即对STM-N“车厢”中所有“货物包”进行整体上的性能监控。

●再生段开销(RSOH)—完成对STM-N整体信息结构进行监控

●复用段开销(MSOH)—完成对STM-N中的复用段层信息结构进行监控

●RSOH、MSOH、POH组成SDH层层细化的监控体制

●二者区别:宏观(RSOH)和微观(MSOH)

管理单元指针——AU-PTR

●定位低速信号在STM-N帧中(净负荷)的位置,使低速信号在高速信号中的位置可预知。

●发端在将信号包装入STM-N净负荷时,加入AU-PTR,指示信号包在净负荷中的位置,即将装入“车厢”的“货物包”,赋予一个位置坐标值。

●收端根据AU指针值,从STM-N帧净负荷中直接拆分出所需的低速支路信号;即依据“货物包”位置坐标,从“车厢”中直接所需要的那一个“货包”。

●由于“车厢”中的“货物包”是以一定的规律摆放的——字节间插复用方式;所以对货物包的定位仅需定位“车厢”中第一个“货物包”即可。

SDH 的帧传输时按由左到右,由上到下的顺序排成串型码流依次传输,每帧传输时间为125us,每秒传输8000 帧,对 STM-l 而言每帧字节,8 比特/字节×(9×270×1)字节=19440比特,则 STM-l 的传输速率为19440×8000 = 155.520Mbit/s。同理,

●STM-4——622.08Mbit/s

●STM-16——2488.32Mbit/s(2.5G)

●STM-64——10Gbit/s

PDH的E1信号也是8000帧/秒。但是,SDH的帧周期恒定,使STM-N信号的速率有其规律性。比如,STM-16恒定等于STM-4的4倍,等于STM-1的16倍。但是,PDH中的E2信号速率≠E1信号速率的4倍。所以,SDH简化了复用和分用技术,上下路方便,特别适用于大容量的传输情况。

SDH的复用

SDH的复用包括两种情况:一种是低阶的SDH信号复用成高阶SDH信号;另一种是低速支路信号(例如2Mbit/s、34Mbit/s、140Mbit/s)复用成SDH信号STM-N。

复用是依复用路线图进行的,ITU-T规定的路线图有多种,但通常一个国家或地区仅使用一种。

第一种情况,复用的方法主要通过字节间插复用方式来完成的,复用的个数是4合一,即4×STM-1→STM-4,4×STM-4→STM-16。在复用过程中保持帧频不变(8000帧/秒),这就意味着高一级的STM-N信号是低一级的STM-N信号速率的4倍。在进行字节间插复用过程中,各帧的信息净负荷和指针字节按原值进行间插复用,而段开销则会有些取舍。在复用成的STM-N帧中,SOH并不是所有低阶SDH帧中的段开销间插复用而成,而是舍弃了一些低阶帧中的段开销 第二种情况用得最多的就是将PDH信号复用进STM-N信号中去。

C-容器、VC-虚容器、TU-支路单元、TUG-支路单元组、AU-管理单元、AUG-管理单元组  

SDH传输业务信号时各种业务信号要进入SDH的帧都要经过映射、定位和复用三个步骤:映射是将各种速率的信号先经过码速调整装入相应的标准容器(C),再加入通道开销 (POH)形成虚容器(VC)的过程,帧相位发生偏差称为帧偏移;定位即是将帧偏移信息收进支路单元(TU)或管理单元(AU)的过程,它通过支路单元指针(TU PTR)或管理单元指针(AU PTR)的功能来实现;复用则是将多个低价通道层信号通过码速调整使之进入高价通道或将多个高价通道层信号通过码速调整使之进入复用层的过程。

VC4是与140Mbit/sPDH信号相对应的标准虚容器,此过程相当于对C4信号再打一个包封,将对通道进行监控管理的开销(POH)打入包封中去,以实现对通道信号的实时监控。

虚容器(VC)的包封速率也是与SDH网络同步的,不同的VC(例如与2Mbit/s相对应的VC12、与34Mbit/s相对应的VC3)是相互同步的,而虚容器内部却允许装载来自不同容器的异步净负荷。虚容器这种信息结构在SDH网络传输中保持其完整性不变,也就是可将其看成独立的单位(货包),十分灵活和方便地在通道中任一点插入或取出,进行同步复用和交叉连接处理。

也就是说SDH的最小单元是个容器,其大小是固定的。SDH是专门为语音设计的,可应用于固定速率的业务。也就是说用固定的容器传送固定速率的话音业务。用VC传固定速率的语音,带宽利用率较高,但是对于数据业务这种不固定速率的业务,SDH的利用率较低。容器的大小是固定的,用来装水可以满满的,用来装石头则间隙比较大,空间利用率要小。

SDH组网

有个形象的比喻:

把sdh理解成沿着环形铁路线运行的火车,先不考虑保护。

假设北京、上海、广州间用stm-16组成sdh环网。

北京附近的地区用stm-4组成环网,作为北京stm-16网元的子网,以此类推,stm-4环网下面再有stm-1组成的子网。

把stm-1组成的环网,想象成一节火车车厢,里面有3个集装箱,每个集装箱里有7个小柜子,每个柜子里又有3个小箱子。火车车厢就是vc4,小箱子就是vc12.

火车沿着环路不停运行,每到一站,车站就根据做的业务,打开小箱子,把vc12里的信息取出,或者放进2m,占用的是一个stm-1中的vc12时隙。

SDH采样二纤双向复用段保护环组网,一个很大的优点是采用自愈混合环形网结构。

SDH有抗单次故障能力,采样双向复用保护环。一个通道出现故障,可以从另外一条保护通道进行传输。

环形组网的自愈能力是SDH的一个很重要的特点。


四、以太网与ATM共创MPLS

以太网包括(物理层协议,数据链路层协议)
ATM包括(数据链路层协议,物理层协议自己没有去查过)

********************************************************
大白话:
ATM 是欧洲人发明的,IP 是美国人发明的,两者竞争网络层的老大,最后 IP 胜出,成为当仁不让的网络层霸主。
ATM 只好委身于 IP 的「淫威」之下,充当数据链路层协议,由于 ATM 设计之初并不是为了服务 IP,而是直接服务于应用层,所以需要将 IP 包先切割,分片成 48 个字节的数据,再添加 5 个字节的 ATM 头,这样就是 53 字节 ATM 信元,传输到 ATM 网络,ATM 信元像小鱼一样自由自在地在 ATM 网络里穿梭,但一旦进入 IP 网络的边界,则需要将 ATM 信元,去掉 ATM 头,再将数据重组成一个完整的 IP 包。
********************************************************

ATM百科解释:
异步传输模式ATM Asynchronous Transfer Mode),就是建立在电路交换和分组交换的基础上的一种新的交换技术。(即可以实现电路交换也可以实现分组交换)
所谓面向连接,是在通信前先在收与发终端间建立一条连接,在通信时,报文或信息不断地在该连接上传送,因此在一次通信中有多个报文或信息时,从发端到收端的路由固定。
在面向无连接中采用逐段转发的方式,即根据报文或信息上的地址发给下一站,再由下一站根据地址是收下还是继续向前发送直至目的地,因此在一次通信中有多个报文或信息时,从发端到收端的路由可能不固定。
ATM的规程分为三个层次:物理层ATM层ATM适配层
物理层:规定了ATMosphere数据流和物理介质之间的接口,包括2个子层:物理介质相关子层和传输会聚子层。前者规定了ATM数据流通过给定介质传输的速率,后者规定了通过物理介质相关子层传输的信元的规程。
ATM层:是ATM的技术的核心,主要负责信元的选路、复用和反复用。
AAL(ATM Adaptation Layer, ATM适配层):将高层来的用户业务转换成ATM中净荷的格式和长度,当到达目的地后再把它们转换成原来的用户业务。AAL又可以分为2层,分为会聚子层(CS)和拆装子层(SCR)。

以太网就两层,平时用的多,比较熟悉。

=========================================================

话说当年,以太网和ATM,就像华山派,以剑术精妙独步武林,在武林中有较高的声望,但在华山派中有分为以剑为主以气为辅的剑宗和以气为主以剑为辅的气宗

以太网就像剑宗,ATM就像气宗

以太网以简单著称,容易上手引来众多门徒;ATM因其内功心法太过高深,修炼之人寥寥。最后的争斗中以太网获得大胜,这与小说中的情节不相符,令人费解……

直到有一天,以太网在为如何将本门派再发扬光大烦恼,同时ATM也在为有如此高深的武功没人赏识郁闷,二位昔日的对手,偶遇并交谈后,ATM想借以太网来提高影响,以太网想借ATM的内功精髓来壮大声势,一拍即合

两人经过数月秘密商讨,并在一年之后,共同发布了一本新的武功秘笈-MPLS(多协议标签交换)

该部武功秘笈后来被改编为多个版本,是其它武功的重要基础,这是后话!

核心对比:

ATM   VPI     VCI

MPLS  TUNNEL  VC

=================================================

了解MPLS前,我们先看一看传统IP路由网络的缺陷。

传统的IP路由技术是不可管理、不可控制的。IP逐级转发,每经过一个路由器都要进行路由查询(可能多次查找),速度缓慢,这种转发机制不适合大型网络。

而MPLS(全称为:多协议标签交换)是通过事先分配好的标签,为报文建立一条标签转发通道(LSP),在通道经过的每一台设备处,只需要进行快速的标签交换即可(一次查找),从而节约了处理时间。

 

以太网的声势越来越大,再加上又有MPLS助阵,逐渐有了可以抗衡SDH的实力,所以才有了SDH与以太网的初步融合,诞生了MSTP(请看下文第五节)


五、MSTP的起源

首先要说的是TDM的概念,TDM就是时分复用,就是将一个标准时长(1秒)分成若干段小的时间段(8000),每一个小时间段(1/8000=125us)传输一路信号;

SDH协议最初是针对语音业务(即固定带宽业务)设计的,主要提供TDM(各种可以间差复用的SDH中的业务,如E1,E3等)接入。SDH系统的电路调度均以TDM为基础,所以看到很多人说SDH业务就是TDM业务,就是传统的电路调度,是有理论依据的;(就是电路交换的意思,相当于点对点专线,比如电话业务)由于SDH协议极高的服务质量,及可维护管理性,受到了全球电信运营商的青睐,SDH一度统治了传输网。

但在SDH大红大紫的时候,另一场战争以太网和ATM(不是取款机哟)大战中,以太网取得全面胜利【上文第四小节提到】,从而以太网大行其道,其中又以IP最为强势,导致今天很多业务侧都IP化了,不能不说以太网太XXXXX了。

问题:SDH大红人一个,以太网是另一个大红人,能否合作一下???一拍即合,MSTP诞生!

在合资公司MSTP中的股份分配不太均匀:SDH占股70%,以太网占股20%,其它包括ATM占股10%,掌权的还是SDH,内核还是TDM,TDM的一切劣势都依旧保留,如刚性管道;以太网和ATM因为股权问题,都没有拿出像样的东西,只是须有其表(提供相应接口而已)

通过GFP,HDLC,PPP等封装协议,MSTP可以把非固定带宽业务封装到SDH帧中。因此,MSTP可以支持ETHERNET,ATM/IMA等业务的接入。

MSTP = SDH + 以太网(二层交换) + ATM(传信令) 也就是在SDH的用户侧增加了以太网接口或ATM接口,实现IP化接口。IP over SDH。

MSTP的核心仍然是SDH,在SDH的基础上进行了改进。

▲MSTP功能架构

MSTP的关键技术

(1) 协议封装

我们知道IP是三层协议,也就是网络层,而SDH属于物理层,那么IP over SDH就需要在IP和SDH之间有一个二层的东西进行转换。也就是说需要把IP包封装为帧在SDH上进行传送。

EOS(Ethernet over SDH) 

EOS是把数据封装为以太帧再映射到SDH的虚容器的方法。

EOS的接口速率和以太的速率相同,10Mbps、100Mbps、1Gbps、10Gbps,还有40Gbps和100Gbps

(2) 级联技术

在上面提到,IP的包可能会很大,在封装时需要进行分片,而容器相对于大速率来说太小,由此引出了级联技术,复用成一个更大的容器。VC12、VC3、VC4,它们分别对应着2M、34M/45M、140M/155M,相对于以太速率来说不是很匹配。

有两种级联技术:

●相邻级联

将SDH帧中相邻的5个VC12虚容器级联起来。一个Vc12是2M,5个级联起来就是10M,这种级联需要在同一帧内完成.

●虚级联

虚级联可以使不连续的5个VC12,也可以跨帧.

(3) LCAS链路容量调整机制

这是个信令技术,由网管发出LCAS指令,改变虚级联的个数来调整带宽。


六、MSTP的问题与OTN的诞生

MSTP的核心仍然是SDH,在SDH的基础上进行了改进。MSTP = SDH + 以太网(二层交换) + ATM(传信令) 也就是在SDH的用户侧增加了以太网接口或ATM接口,实现IP化接口。IP over SDH。 

在使用MSTP的过程中,随着互联网的大力普及,电脑、手机、电视等终端都能上网了,带宽的需求急剧增加,电信运营商们赚钱的机会来了,但挑战也来了,以前1*155M可以供好上千人打电话,现在人们在打电话时还要上网,带宽需求增长和现网资源出现矛盾。

要解决这个矛盾,我们就来看看SDH这位红人平时是如何与人相处的:

SDH这位红人一直都是我行我素,唯我独尊,从不与人分享公共资源,比如二环批给我跑,二环就不许有其它车辆经过,上面就我一辆车,刚开始,我这个车能拉1个客人(STM-1),那么二环的效率就是运送了一个人(155M–STM-1),后来把车吨位升级了,我能拉64个客人(64*STM-1),那么二环的效率就是(10G-STM-64),这就是环速率;目前最大是40G

如果有个时间段没有人需要运送,那么我就空跑,沿路看看风景、美女什么的,这时的效率就是0,其它道路就是堵死了也和我没关,由于比较固执,自己也有很多的无奈,比如你的车能装64位客人,但现在有65位客人,对不起,我也只能运64人,我们把这种低效率运作方式叫刚性管道

现在需要运送的客人越来越多了,忙不过来了,解决方法有三个途径:

第一种:多修几条路(新建光缆),进行人员分流;缺点:成本和周期太长——–PASS

第二种:升级汽车吨位(提高速率);缺点:汽车厂还没研发出更大载重的车辆(电子元器件受限)-PASS

第三种:将二环划分成多个车道(波道),多个车辆共享道路

领导看后,立即批示:方案三可行,立即执行!波分产生

波分WDM就是将多个车道(波道)的车辆(信号)放到同一条道路(光纤)中进行传送,这里有根据车道间隔大小分为两类:

车道间隔为20nm的,为稀疏波分,又称粗波分;

车道间隔小于等于0.8nm的,为密集波分

这样带宽成倍增加了,暂时解决了带宽不足的问题!可以休息休息了…………

WDM得到重用后,各地纷纷仿效,现在的WDM不仅在城市主干道里使用(城域波分),还用在跨市、跨省道路上(长途波分);

它的具体工作方式是各种类型的货物或乘客(业务信号)都被装载到一辆辆汽车中,汽车按照预先分配的车道(波道)行驶,中间汽车需要加油我们还设置了加油站(光放站OLA),司乘人员需要吃饭休息补充体力,我们为他们设置临时休息区(中继站),当然我们还是离不开交警系统的支持(光监控OSC或电监控ESC)

随着人们需求的不断增加,车道数也由刚开始的16或32一下子扩充到40、80、160,目前施工水平(制造工艺)已经突破200个车道数(波道),但我们的管理水平还是很低的,主要体现在一下几个方面:

1、交通管理消息传递不畅(OAM缺乏):WDM的初衷就是为了解决带宽不够问题,没有考虑到带宽提高后,管理也要跟上呀,现在最大的问题是车辆多了,如何对每一辆车的状态做到了如指掌,交警(OSC)感到力不从心;这时有几位SDH的司乘人员在小声谈论:我们SDH公交系统,都有统一的管理机构,每一辆车上都有司机和售票员,分工明确,还用实时视频监控(在线监测),公司时刻都能了解每一辆车的运行状况,WDM你差的太远了

2、调度不够灵活:WDM在设计之初就有一个严重缺陷:比如一个货物要从西安运到北京,预先分配的车道是10车道(第10波),那么从西安到北京全程都是第10车道,不能更改,除非你经过了好几个高速段(光再生段),如西安-郑州、郑州-北京,那么你在郑州可以有一次更换车道的机会,而且这种更换车道的代价是为你这次的行为专门修一条小路(布放光纤);以前SDH遇到类似的情况时就在郑州修一个大的调度中心,所有问题都解决了

3、容易堵死(保护不完善):在城市主干道或省际快速道路上,为了提高效率,在公路设计时就考虑到与普通道路的区别,只设置几个很少的出口,其它全是封闭的,这样带来的后果是一旦发生拥堵或交通事故,乘客就会闹得不可开交(业务中断);想想我们的城市公交SDH,司机一看到前面堵车,马上就操小路窜了,可能会有几个乘客不能在目的地下车(少量业务中断),绝大部分乘客都能顺利到达,究其原因有大量可用迂回路由,再加上灵活调度(司机就可决定)

交通运输局(ITU-T)看到问题所在,从以下几个方面进行改革:

1、为所有上路车辆增加监控设备以及必要的安全管理员—-增加OAM开销

2、在交通枢纽节点增设调度枢纽—–增加业务调度(车道间调度【光层调度】和货物或乘客间调度【电层调度】)

3、依托调度枢纽,加上在道路上预留一部分车道或一部分车辆,为所有车辆提供完善的保障—–完善保护机制

SDH笑道:这是什么改革,我们一直都是这样做的,就是容量没你大而已;

WDM回应道:我容量确实比你大得多,但这些方面没你们做得好;

他们握手言欢,优势互补,一个全新的制度诞生了——OTN

概况一下OTN

OTN是在WDM基础上,融合了SDH的一些优点,如丰富的OAM开销、灵活的业务调度、完善的保护方式等,

OTN对业务的调度分为:光层调度和电层调度

光层调度可以理解为是WDM的范畴;电层调度可以理解为SDH的范畴

所以简单的说:OTN=WDM+SDH

但OTN的电层调度工作方式与SDH还是有些不同的地方:

回顾一下SDH的特点:

1、统一发车频率,1秒发车8000次,制度规定,无法更改(沿袭PDH制度);

2、通过研发更大吨位的车辆来提高容量,高容量的车一般是由4辆低一个容量级别的车拼接而成,所以不同容量的车结构是不一样的;

OTN电层调度的工作特点:

1、所有车辆的大小、规格、容量均统一,外形尺寸:4*4080;

2、根据需求提高发车频率

优点:

1、无需不断研发更大容量的车,减低开发成本;

2、统一结构,便于管理;

3、跨区域运输方便(异厂家互通方便);

4、理论上,可以通过提高发车频率就可以无限提高容量,实现方式更简单明了;


七、OTN的介绍

OTN

简单的说,OTN = SDH + WDM。

WDM(波分复用)

WDM是把不同波长的光信号复用到一根光纤中进行传送的方式(每个波长承载一个业务信号) ,主要功能是传送和复用。

SDH就好比在高速公路上只能行驶一辆车,而WDM好比在高速公路上可并行多辆车。WDM的出现解决了SDH网络容量不足的问题:每个波长带宽10G,WDM的带宽可达80Gbps,而SDH网络带宽最大为10G。

同时,WDM能够远距离传送,600km—2000km,所以WDM可以起到一个大容量、远距离的作用。

但是,WDM类似PDH系统,只能组点对点连接,不能组成环,不能对波长进行灵活调度,无法组成复杂网络,且不支持ASON智能特性,无法向智能光网络演进,这就需要利用SDH。

OTN就是在WDM基础上,融合了SDH的一些优点,如丰富的OAM开销、灵活的业务调度、完善的保护方式等,OTN对业务的调度分为:光层调度和电层调度;光层调度可以理解为是WDM的范畴;电层调度可以理解为SDH的范畴。

OTN业务和组网场景

OTN设备:

 

花开两朵,各表一支,我们对以前的红人SDH在江湖的发展做了详细的描述,现在的SDH也只相当于OTN掌门下的一个堂主而已了,那么另一位红人它现在发展的如何呢?(请看下文第八节)

八、以太网对SDH的反击,诞生新协议

以太网 觉得  当时和SDH合作的 MSTP因为股权问题,还是SDH主导,以太网、ATM只能是配角,以太网并不高兴,发誓要有所改观……

为了对抗SDH阵营,以太网大力发展自己的势力范围,走农村包围城市的策略,先将末端IP化(业务侧IP化)。IP可以作为SDH的货物,通过SDH进行传输,但问题出来了:

SDH当初开发时就对货物有严格的外形要求,必须是“块状结构”,而且大小也是标准的,每一个座位也是按照这个要求做的,这样运输的效率最高;后来IP这种长相奇特(格式不同)的货物越来越多,就算是专门开发出了MSTP,说白了MSTP就是在SDH车辆上给IP和ATM留了几个专座而已,IP还是不能很好的运输!原因是IP是以太网门下的得力弟子,以太网就是因为简单、无拘无束、尽力而为等特点为其创派宗旨,所以IP也有此特性,有的小巧,有的肥大(IP帧长可变),如果SDH/MSTP中的IP较少,问题不大,如果IP占到一半以上,恐怕车辆的改造成本就太大了

【MSTP:如果分组业务低于50%,仍有成本优势】;

但现在的问题是IP货物越来越多,我要自己成立运输公司,而且要我说了算,不能再受制于SDH了;同时SDH也再想,能不能将车厢分成二层,一层给原来的业务,一层专门给IP预留,这样就可以兼顾了。

现在真是百家争鸣的时期,各种新公司、新技术都涌现出来。

(MSTP+诞生原因)

我们先说SDH阵营,由于先前MSTP成立时,股权分配不均,有很多遗留问题,导致现在以太网严重不满意,现在SDH集团研究后推出MSTP+(也叫Hybrid MSTP),50/50股权分配,车辆变成二层,二层分开管理和调度,两套调度体系(双内核交叉);也不为一种好的补偿措施

再说以太网阵营,自由散漫惯了,现在出现了两种大的分歧:

(IP-RAN诞生的原因)

一种认为我们自己成立的运输公司不让SDH的客户(TDM业务)上车,如果一定要进来,必须改头换面-伪装(仿真),同时我们没有时间上的保证(无时间同步),我们纯粹为我们以太网服务,我们的公司名叫IP-RAN;

(PTN诞生的原因)

一种认为我们应该吸收一些SDH的客户,SDH经营了这么多年,它的客户还是很多的(还有很多TDM业务需求),同样进来后还是要改头换面-伪装(仿真),然后再我们的帮派里活动,出帮派后再去掉伪装还原成自己原来的模样,这个公司取名叫PTN

无论哪种方式,伪装-易容术总少不了,随后就开发了PWE3易容术

在PTN公司中又有2大派别:

一派是融合MPLS、易容术PWE3和MSTP的产物——–MPLS-TP派别;

一派是融合了QinQ和MSTP的产物——————PBT派别;

对于MPLS-TP派别,支持者众多,有华为、中兴、烽火、阿朗、爱立信、中移动等重量级明星;

对于PBT派别,支持者仅有北电网络,人单势孤;

所以我们现在看到的PTN绝大部分是MPLS-TP派别;

随着相互学习,现在的IP-RAN和PTN的差别也越来越小了,IP-RAN的优势是三层无连接服务,但PTN现在也可以实现了;以前PTN为了传输SDH的客户TDM业务,专门开发了时间和时钟同步系统叫1588系统,现在使用的是V2版本,V3版本正在试验中,现在IP-RAN也学过来了,也支持这一系统了。

真应了那句话:分久必合合久必分!

MSTP+(Hybrid MSTP)可以看做是SDH向以太网的妥协方案,不得已而为之;

IP-RAN和PTN现在已趋于一致,差别不大了,它们可以看做是向SDH发起的全面挑战,现在看来它们是胜利了!


九、PTN介绍

PTN

PTN叫做packet translate network(包传送网)。因为MSTP/SDH电路交换为核心,承载IP业务效率低,带宽独占,调度灵活性差,所以,PTN应运而生。

PTN最简单的方程式为:PTN=MPLS+OAM+保护-IP,其增强了开销(吸取了SDH的优势)、对业务的保护(吸取了SDH的优势),“-IP”可以简单的看做是“对MPLS的简化”,去掉我们不需要的东西(例如复杂的各种握手协议等)。

OAM(Operation Administartion and Maintenance):是为保障网络与业务正常、安全、有效运行而采取的生产组织管理活动,简单运行管理维护或运维管理。

从字面上解释,PTN叫做packet translate network(包传送网),而SDH叫做同步数字体系。从传输单元上看,PTN传送的最小单元是IP报文,而SDH传输的是时隙,最小单元是E1即2M电路。PTN的报文大小有弹性,而SDH的电路带宽是固定的。这就是PTN与SDH承载性能的最本质区别。

从协议上看,PTN遵循的叫做TMPLS,即经过改进的MPLS(多协议标签交换),即TMPLS=MPLS-IP+OAM。

从业务管理能力看,PTN通过硬件收发管理报文来实现对信道的监控和管理,而SDH通过开销字节实现系统的OAM。

OAM这块却是最大的卖点。相比“MPLS也能做OAM”,PTN引入的OAM更多的是仿照传统SDH的开销,能够提供50ms以内的电信级LSP保护和环保护——这个是运营商特别特别看重的!!可以说没有这个为前提,PTN不可能发展起来。

然后,PTN的OAM所提供的各种在线、离线的管理维护信息十分丰富,对PTN每层都作了高效率而且规范的定义,可以说不比SDH引以为豪的开销字节差多少。

总之,

Packet:分组内核,多业务处理,层次化QOS能力。

Tranport:类SDH的保护机制:快速、丰富,从业务接入到网络侧以及设备级的完整保护方案;类SDH的丰富OAM维护手段;综合的接入能力、完整的时钟同步方案。

Network:业务端到端,管理端到端。

基站里的PTN设备:


十、PON介绍

光纤接入从技术上可分为两大类:有源光网络(AON,Active Optical Network)和无源光网络(PON,Passive Optical Network)。1983年,BT实验室首先发明了PON技术;PON是一种纯介质网络,由于消除了局端与客户端之间的有源设备,它能避免外部设备的电磁干扰和雷电影响,减少线路和外部设备的故障率,提高系统可靠性,同时可节省维护成本,是电信维护部门长期期待的技术。PON的业务透明性较好,原则上可适用于任何制式和速率的信号。目前基于PON的实用技术主要有APON/BPON、GPON、EPON/GEPON等几种,其主要差异在于采用了不同的二层技术。

APON是上世纪90年代中期就被ITU和全业务接入网论坛(FSAN)标准化的PON技术,FSAN在2001年底又将APON更名为BPON,APON的最高速率为622Mbps,二层采用的是ATM封装和传送技术,因此存在带宽不足、技术复杂、价格高、承载IP业务效率低等问题,未能取得市场上的成功。

为更好适应IP业务,第一英里以太网联盟(EFMA)在2001年初提出了在二层用以太网取代ATM的EPON技术,IEEE 802.3ah工作小组对其进行了标准化,EPON可以支持1.25Gbps对称速率,随着光器件的进一步成熟,将来速率还能升级到10Gbps。由于其将以太网技术与PON技术完美结合,因此成为了非常适合IP业务的宽带接入技术。对于Gbps速率的EPON系统也常被称为GEPON。100M的EPON与1G的EPON的不同在速率上的差异,在其中所包含的原理和技术,是一致的,目前业界主要推广的是GEPON,百兆位的EPON也有不多的一些应用。在后面文档中提到的EPON,如果没有特别说明,都是指千兆位的GEPON。

EPON采用点到多点结构,无源光纤传输方式,在以太网上提供多种业务。目前,IP/Ethernet应用占到整个局域网通信的95%以上,EPON由于使用上述经济而高效的结构,从而成为连接接入网最终用户的一种最有效的通信方法。10Gbps以太主干和城域环的出现也将使EPON成为未来全光网中最佳的最后一公里的解决方案。

在一个EPON中,不需任何复杂的协议,光信号就能准确地传送到最终用户,来自最终用户的数据也能被集中传送到中心网络。在物理层,EPON使用1000BASE的以太PHY,同时在PON的传输机制上,通过新增加的MAC控制命令来控制和优化各光网络单元(ONU)与光线路终端(OLT)之间突发性数据通信和实时的TDM通信,在协议的第二层,EPON采用成熟的全双工以太技术,使用TDM,由于ONU在自己的时隙内发送数据报,因此没有碰撞,不需CDMA/CD,从而充分利用带宽。另外,EPON通过在MAC层中实现802.1p来提供与APON/GPON类似的QoS。

在EFMA提出EPON概念的同时,FSAN又提出了GPON,FSAN与ITU对其进行了标准化,其技术特色是在二层采用ITU-T定义的GFP(通用成帧规程)对Ethernet、TDM、ATM等多种业务进行封装映射,能提供1.25Gbps和2.5Gbps下行速率,和155M、622M、1.25Gbps、2.5Gbps几种上行速率,并具有较强的OAM功能。如果不考虑EPON可以看得到的不久将提升到10Gbps速率(10G以太网已经成熟),当前在高速率和支持多业务方面,GPON有优势,但技术的复杂和成本目前要高于EPON,产品的成熟性也逊于EPON。

================================================

PON网络-宽带无源光网络:由OLT(光线路终端)、Splitter(分光器)、ONU(光网络单元)组成。具有高带宽,高效率,大覆盖范围,用户接口丰富等众多优点,被视为实现接入网业务宽带化、综合化改造的理想技术。

从OLT到ONU之间那部分线路是无源的,所以称之为无源光网络。

PON系统采用WDM(波分复用)技术,实现单纤双向传输。

PON应用场景—FTTx

PON设备:


 


十一、WDM-PON在5G的光纤前传和中传系统中发挥重要作用

邬贺铨表示,从1G到4G主要是面向个人的通信,5G主要面向移动互联网和工业互联网,将更多考虑到产业的应用。5G将重新定义信息技术的新应用,推动移动网与固网技术的融合,光纤通信技术将在5G时代发挥更大作用。例如美国光纤接入渗透率仅10%左右,原有同轴电缆带宽不足,新铺光纤的施工成本高,美国电信运营商将把5G作为宽带有线接入系统的替代。

与此同时,5G也将促进超级Wi-Fi的产生。2016年60%的移动终端业务流经过Wi-Fi或微微蜂窝卸载到光纤网,卸载流量每月达10.7EB;到2021年卸载的比例是63%,卸载的流量是83.6EB/月,即上升7.8倍。5G的带宽更宽,在有可能使用Wi-Fi的情况下将尽量将流量卸载到Wi-Fi,考虑到现有Wi-Fi带宽为100Mbit/s量级,需要有与5G峰值速率接近的超级Wi-Fi。

5G需要大规模天线的支撑,同时基站与分布天线之间也需要更密集。此外,5G还需要支持高频段和高带宽,若用高功率宏站则布设与运营成本高,但采用大量微站,则干扰严重难以进行站点选址优化。“为此,解决方法是,宏蜂窝与微蜂窝混合组网,宏蜂窝解决广覆盖,微蜂窝解决热点覆盖;控制面与数据面分离组网;上下行解异构组网,在蜂窝边缘可采用5G下行+4G上行异构方式。”邬贺铨表示。

中国工程院院士  邬贺铨

  云网不断融合

在邬贺铨看来:“只有高高在上的云是不够的,只有独善其身的网也是不够的,ICT技术的融合已经发展到云网一体的新阶段。未来,网络将不断走向云化,为适应视频业务、VR/AR与车联网等对时延要求,节约网络带宽,需将存储和内容分发下沉到接入网,移动边缘计算可以实现基站与互联网业务的深度融合。”

5G为光通信带来了机遇与挑战。5G前传带宽高,空口时延比4G从严十倍,时间同步精度比4G严格十倍,还要考虑对网络切片等相应的承载能力。5G站点大幅增加,将导致从天线到机房的前传/中传光纤资源非常紧张,需要节省光纤资源,实现5G网络低成本部署。5G无线接入网的前传和中传及回传对光纤传输系统提出高带宽低时延的要求。5G希望有类似以太网的统计复用机制,能够动态地适应不同流量状况,从而能够汇聚多个基站的业务。

邬贺铨指出,在光纤直连、有源DWDM、WDM、PON、OTN等多个选择中,WDM-PON更适于5G RAN。WDM PON是点到多点的技术,节省光纤;对于每一个连接,WDM-PON在逻辑上又是点到点的,可独享一个波长,带宽可达25Gbit/s;WDM-PON中间无源且只有一跳,相比环网的多跳有最低的时延;用分波器代替分光器可降低损耗,获得较长传输距离;在网络管理方面,采用AMCC信号调顶技术,管理信道叠加在每个波长上。“WDM-PON在5G的光纤前传和中传系统中将发挥重要作用,在以太网基础上改进的时延敏感网络TSN可实现基站用户数据流的统计复用,提升传输效率。”邬贺铨总结道。

参考自:通信世界全媒体;网优雇佣军


补充:

光纤分布式数据接口(FDDI)它是于80年代中期发展起来一项局域网技术,它提供的高速数据通信能力要高于当时的以太网(10Mbps)和令牌网(4或16Mbps)的能力。FDDI标准由ANSI X3T9.5标准委员会制订,为繁忙网络上的高容量输入输出提供了一种访问方法。FDDI技术同IBM的Tokenring技术相似,并具有LAN和Tokenring所缺乏的管理、控制和可靠性措施,FDDI支持长达2KM的多模光纤。FDDI网络的主要缺点是价格同前面所介绍的“快速以太网”相比贵许多,且因为它只支持光缆和5类电缆,所以使用环境受到限制、从以太网升级更是面临大量移植问题。
FDDI有它自身的缺点,一是成本高,二是升级面临大量移植问题,三是网络是100M的;千兆以太网出现后,就慢慢淘汰了。


HFC:Hybrid Fiber-Coaxial的缩写,即混合光纤同轴电缆网。是一种经济实用的综合数字服务宽带网接入技术 。HFC通常由光纤干线、同轴电缆支线和用户配线网络三部分组成,从有线电视台出来的节目信号先变成光信号在干线上传输;到用户区域后把光信号转换成电信号,经分配器分配后通过同轴电缆送到用户。它与早期CATV同轴电缆网络的不同之处主要在于,在干线上用光纤传输光信号,在前端需完成电—光转换,进入用户区后要完成光—电转换。

有线电视宽带采用的就是HFC网络(光纤同轴混合网),它通过频分复用的方式,将一个物理线路分成了很多个逻辑通道,然后每个通道再采用相应的调制方式来传输多套有电视视音视频节目或数据信号。
比如,目前主流有线电视运营商通过频分复分,使同轴电缆网络具有860MHz传输频宽,5-65MHz规划为上行频率,65-87Mhz为隔离带,87-860Mhz为下行频经,下行信号每8Mhz(欧标,美标为6MHz)为一个通道,由于存在分带陡坡,采用6.875的符号率,QAM64的调制方式,可提供约38Mbps的传输能力(具体计算方法可以翻阅相关的通信教程)那么一个标清节目的码流约为3.75Mbps,高清节目约为7.5Mpbs,一个传输通道传输6-10套标清,3-5套高清节是不成问题的。这样,有线电视网络就可以传输大量的高清度电视节目了。同轴电缆的传输能力的确是普通3类电话线不能比的,目前电信公司的电缆网络最多只能提供12Mbps的接入,超过只能用光纤。
那么宽带信号又是怎么回事呢?宽带也是采用的8MHz一个通道,只不过会采用256QAM或更高的调制方式及符号率来保证更高的传输速率(52Mbps),DOCSIS3.0还充许同时8个下行通道一起工作,就相当约400Mbps的端口下行速率。
通常,一台高密度的CMTS机箱可以容纳16个以上的CMTS板卡,而每个卡可以提供给16个下行端口。但是每个端口的速率是下接用户共享的,那么每个端口规划多少个用户,就是成本控制的关键所在了。
上行通道的原理基本相同。而电信为什么不用同轴电缆这个和政策和历史原因有关了,起初的电信公司只能经营语音相关业务,视频经营许可由广电掌握,因此,电信公司也没有必要建设视频传输网络,但随着三网融合的发展趋势,光纤将会成为网络公司主要的竞争筹码。


帧中继(FR)详解  : https://www.qingsword.com/qing/675.html

网络原理-网民上网回忆录

上网回忆录-那些年我们曾上过的网


来自:http://www.xcar.com.cn/bbs/viewthread.php?tid=11049044

终于升级ADSL 2M了, 忆苦思甜15年来上网过程,90年代就上网的同志可进来共同见证

今天每个月adsl的费用会多出14元,达到152元的水平, 因为我把我1M的adsl服务升级到了2M,同时允许网通对我进行“推送服务”,也就是传说中的垃圾广告。

记得还是95年往前的时候,有几个人听说过因特网呢,咱上的都是BBS,而且是拨号的BBS, 一根线的点对点, 纯DOS界面, 有4根线以上的BBS, 那属于豪华的。 咱用的猫是多快的呢,2400bps, 什么概念呢, 就是现在的 1M bps = 1024K bps = 1048576 bps , 所以 1M adsl 的速度可以说是当时的 430 多倍。 有人说了, 那咋可能上网, 现在手机上网都感觉慢的不行了,因为当时都是纯DOS,文字的, 2个bits 就是一个汉字, 上BBS看文章的时候, 那是非常科幻, 文字都是一行一行出的, 直到刷满全屏, 跟电影里面的黑客一模一样的, 太刺激了。 那个猫多少钱呢, 记得好像是全进口的, 3,4千, 95年之前的 3,4千, 那可是一个厕所面积的钱。

记得当时的BBS那才叫真的灌水,注册用户 一共没有20,30个人, 成天就那几个人在那BB,
但也挺有意思的,每天第一件事就是用个软件把全站的新帖子down下来, 然后一封一封回, 然后再up上去。

后来换了 14.4Kbps的猫, 速度有了质的飞跃, 最NB的是, 咱可以用瀛海威+ windows 3.0 上国际互联网! 瀛海威记得是一个叫张什么新的创办的, 当时听说是个女的,觉得很惊讶,这么先进的东西老爷们怎么没研究出来啊。上的第一个网站印象绝对深刻, www.westwood.com , 为啥, 因为当时 C&C是最火的游戏。 我当时想, 我真连上了美国的服务器啊, 还是北京也有镜像, 整了好久都没整明白。 记得当时 20块钱一小时? 好像还不只, 那时候中文网站有什么? 我真记不清了。 依然泡BBS。后来BBS也出了NB的东西, 就是在bbs里面有一个通道,可以直接连卫星上互联网, 真伟大。 记得当时bbs里面我们觉得最最大拿的一个, 那个时候成天抱着一个砖头大哥大, 连上巨沉的笔记本, 就能上国际互联网, 绝对的科幻,神样人物。当时就喜欢搜集些小软件什么的, 记得积攒了 30多M , 那可是海量,我再重复一遍, 海量!! 有一次硬盘挂了, 哭的心都有, 郁闷了一个星期才缓过来。

后来换 28.8K 33.6K 56K modem , 后来又出什么 V90 V92, 无非是为了快那么1,2K, 印象中 33.6的猫用的最久, 貌似当时最好的猫叫贺氏, 我一直还想, 这个姓贺的很强, 很为中国人争光。 后来才明白那是英文字母 Hayes 。

之后紧跟潮流, 装了 ISDN, 2B+D啊! 解决了一个上网的重大问题, 那就是可以上网的同时打电话了!!! 以前一拨号上网就提心吊胆, 家里谁一拿电话, 准掉线, 现在好了, 两不误。但就是价格贵了点, 双线捆绑 128K 一个月下来上网费2,3千都打不住, 幸亏它寿命短, 很快被 512K adsl 代替了。后面的事情大家就很熟悉了, 512k adsl 从不包月到包月, 后来到升级 1M ,2M, 4M ,但感觉一直落后于国际, 听说倭寇和棒子都能到 20,30M , 真是心有不甘。 用 512K 中间有一阵, 通过关系搞到一个网通 8M adsl 的测试帐号, 记得下载能有每秒900K 以上吧, wow, good old days。 现在只能老老实实用 2M , 每秒在 250K左右, 将就吧, 同时用一个教育网的LAN,下载某些资源还是刚刚的, 几M/s , 但浏览, 出国什么的就是垃圾, 也不稳定, 时快时慢。

大概乱七八糟回忆了这么多, 据说这两年就要发展 internet 2代了, 能到 20M以上, 拭目以待。

时间久了,有些东西记不太清, 说的不对的请大家指正。

网络原理-计算机网络详解-整体认知把握

一、入门基本知识必读


在讲计算机网络原理前,先看一些基础的文章。对计算机网络有个整体的认识是很有必要的,有利于加深理解。

1、了解OSI七层模型和TCP/IP网络模型

2、知道常见的网络硬件设备(hub,网桥,交换机,路由器,网关)

3、了解计算机网络入门必备常识

4、最后了解一下计算机网络拓扑与多路访问和路由协议

5、顺便在了解一下路由器各种连接模式

6、因特网与中国网络发展史

中国网民的上网史,应该从ChinaNET 建成后算起。后文提到的 模拟拨号上网,ISDN上网,ADSL上网,光纤上网,这些都是接入方式。这些都叫接入层,接入层最终都会连接到核心层,也就是ChinaNET(电信的网络,为了方便不考虑移动联通)。通过ChinaNet与国际互联网相连,ChinaNet的网络架构一直再随历史发展,数据链路层和物理层,不清楚到底用什么方案。【至于网络层都是IP数据包】

了解完上面的知识点后,我们便以普通网民的角度,方便理解,继续讲解计算机网络原理。

二、网民上网简史


第一阶段:模拟电话拨号上网

利用电话局的线,接个猫(模拟信号转数字信号),接个网线到pc。
V90协议,电话拨号上网(下行56kbps,上行33.6kbps)
V92协议 电话拨号上网(下行 56kbps 上行48kbps)

V90,V92应该是猫调制数字信号的协议,这个阶段电话线要么上网,要么打电话,不能同时占用。
至于运营商那边的网络,应该是PSTN(公共交换电话网络)

国内 用的 是 RS232 接口,连接猫,再连接pstn 电话网。

网络

  • 接入网/本地回路 ——– 模拟线路
  • 电话交换机/局(端局、汇接局、长途局) ——- 数字化程控交换,提供交换连接

接入技术

  • 通过PSTN接入因特网
    • 物理层主要使用RS-232
    • 数据链路层为PPP(点对点协议)
    • 网络层为IP

看看下图中的–端局   –>后面直接 接入 因特网了,也就是上图说的数字传输。

入网方式

  • 通过普通拨号电话线入网
  • 通过租用电话专线入网
  • 经普通拨号或租用专用电话线方式由PSTN转接入公用数据网【又叫PDN或者PDSN】的入网方式

###########################################

PDN是许多网络的泛称,最初PDN主要指 X.25网络【X.25是三层结构,物理层:X.21;数据链路层采用LAPB(HDLC 协议的一部分)网络层:PLP ,用于点到点连接 】【X.25是点到点连接,网络原理-网络拓扑与多路访问和路由协议 提到过,但那篇文章存有 X.25 关于 多路访问的疑问】

帧中继(Frame-Relay)保留了X.25数据链路层的HDLC帧格式,但不采用HDLC的LAPB,而是采用LAPD。LAPD能在数据链路层实现链路的复用和转换,所以帧中继只有物理层和数据链路层。确切来说,帧中继是基于ISDN的LAPD的数据链路层协议。用于点到点连接和点到多点连接。点对点子接口是每一个子接口一个网段,也就是说,中心节点和每一个分支都是一个网段。点对多点子接口,就是中心节点和所有的分支都在同一个网段。

PDN网络作为接入方式,可以与因特网相连。【如中国电信的CHINAPAC网络就与CHINANET相连了】

PDN现在包括了1、分组交换如  X.25、帧中继      2、电路交换  如ISDN

**************************************************
但是看了老网民的回忆:说猫的出口是 RJ45的网口,猫的进口当然是电话线啦。
资料如下:

对与国内的绝大多数网民来说,最早接触互联网就是通过电话线和56K“猫”(Modem,调制解调器)来实现的,即电话拨号上网——通过普通电话线音频波段进行数据通信,而其中“猫”的作用就是将数字信号调制到模拟载波信号上进行传输,并解调收到的模拟信号以得到数字信息。电话拨号上网属于典型的常见民用窄频接入,接入带宽从9600bps到56Kbps(V.92标准),期间还包括14.4K、28.8K、33.6K等等,相信亲身体验过的网民朋友并不多。

内置56K调制解调器(图片来源:www.ebay.com.hk)

    网民们最早接触到的56K“猫”通常就是这种“内置”版本,接口类型包括PCI、ISA和笔记本专用的PCMCIA等等,优点在于无需外接电源,较稳定,而缺点则是需要拆开机箱安装,比较麻烦;与此同时,市场中还出现了外置的56K“猫”,以及USB“猫”,它们的应用效果与内置“猫”相比并无差别,只不过安装起来较为方便。

    56K“猫”所使用的是非对称性技术,理论上讲,上传速率可达48Kbps,下载速率则可达56Kbps,当然这仅仅是理论极值,因为在实际上网中,其速度通常仅有5KB/s左右,然而就是这样的“窄带”,却足以满足当时网民们收发邮件,浏览新闻,甚至是进行软件下载(还记得网络蚂蚁这款软件吗?)的需求。当然,电话拨号上网也有弊端,而其中最显著的就是在上网时,电话就无法使用了。

==================下面是外国连接pstn的情况=================

年代久远,听说连pc用的是BNC-T接口,那样的话物理层就是同轴电缆了,应该只支持半双工,估计这里应该是半双工的以太网,然后数据链路层是PPP协议,用于拨号上网。问题是PPP协议是全双工协议。google了一下,说因为半双工的以太网进行了一些设置,可以兼容 PPP协议。

找到了答案:https://groups.google.com/forum/#!topic/comp.protocols.ppp/JnYZG7hFvzo

Randy Dawson <rdaw…@houston.rr.com> writes:
> I have an application for a ‘one wire’ and ground PPP serial
> connection.  This is long (2-3 mi) coax, too long for ethernet, but I
> can transmit megabaud serial OK thru it.
>
> Is it possible to force PPP to half duplex, so TX and RX can share the
> same conductor?

In general, PPP cannot run half-duplex.  This is stated right up front
in RFC 1661:

1.  Introduction

The Point-to-Point Protocol is designed for simple links which
transport packets between two peers.  These links provide full-duplex
simultaneous bi-directional operation, and are assumed to deliver
packets in order.  It is intended that PPP provide a common solution
for easy connection of a wide variety of hosts, bridges and routers
[1].

However, what really matters here is whether the medium *appears* to
be full duplex to users.  For instance, plain old Ethernet is actually
half-duplex — there’s at most one transmitter at a time — but the
way the protocol is specified (using idle and collision detection), it
*appears* to be full duplex to the clients because they can transmit
at any time.  Thus, PPP can run over Ethernet despite the apparent
mismatch.

So, if your physical layer implementation somehow allows for automatic
turn-around, such that neither PPP peer ever has to issue ‘go ahead’
signals, and neither functions as a master or slave, then you can make
this work.

> I need to disable RX interrupt from the endpoint I am transmitting, so
> I do not ‘hear myself’

Right.  PPP will fall apart if that happens.

> That the transmitters never go active when they detect serial data on
> their RX’s untill EOT

Right.  If you can emulate something like Ethernet at the physical
layer — check for idle, start sending, make sure you’re not
overlapping with the (or any) peer, back off in case of trouble and
try again — then you should be good to go.

> This is a master slave setup, where only one guy will ask for data.
> The master will request a file from slave and let an already built
> protocol (PPP) do error check and retransmit frames as required.

No.  Master/slave is fine from the application layer design, but PPP
itself requires the underlying physical connection to be peer-to-peer.

> I want to FTP files from the slave, but I must share the same TX RX
> medium NO modems just baseband serial going two directions, one at a
> time.  Half duplex.

If you really want to do half-duplex (requiring some sort of polling
and line turn-around signal), you’re on your own.  It might be
possible to do this by hacking the PPP state machine and constraining
the way the protocol is designed to work, but that’s essentially
equivalent to inventing a _new_ protocol that just happens to look a
bit like PPP.  It won’t be compatible with any other implementation.

If compatibility isn’t important for some reason (some sort of ‘walled
garden’), then that might be reasonable.  It might also be fairly hard
to make reliable.

(It might also be possible to make such a line turn-around mechanism
simply turn the line around continuously when idle.  That’d be
sufficient, though perhaps a bit tricky to get right in the face of
errors, and the processing overhead might be considered “high,”
depending on the design constraints.)


James Carlson, IP Systems Group                <james.d…@sun.com>
Sun Microsystems / 1 Network Drive         71.234W   Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757   42.497N   Fax +1 781 442 1677


第二阶段:数字电话直接上网

刚刚已经提到,拨号上网最大的弊端就是上网时打不了电话,而为了改善这一情况,ISDN应运而生。ISDN(即Integrated Services Digital Network,综合业务数字网)是一个数字电话网络国际标准,是一种典型的电路交换网络系统(circuit-switching network)。简单来说,它就是采用数字交换和数字传输的电信网的简称,在国内叫做“一线通”。

ISDN“一线通”

    在通过ISDN上网时,用户不仅可以拨打电话、发传真,同时还可获得更好的语音和数据的传输速率和质量。虽然其与电话拨号上网一样,同为窄频接入,但其接入带宽已提升至64/128Kbps,实际上网时的速度更是可达10KB/s以上,相比56K“猫”有了成倍的增长。与此同时,以铜缆作为介质的ISDN是全部数字化的电路(只有0和1这两种状态),所以它能够提供更加稳定(不像模拟线路一样易受干扰)且创新的数据业务服务(例如视频、视像会议、图像等等)。

ISDN(综合业务数字网)准确来说,其实那个时候叫N-ISDN(窄带-综合业务数字网),后来技术发展出现了B-ISDN(宽带-综合业务数字网)
我国最早进行ISDN商用试验的城市是上海。1995年,上海开始商用试验网的建设,此网络独立于PSTN。之后,北京和广州开始建设小规模的商用试验网。北京在没有ISDN本地网的情况下,大胆采用从国际局入手,设置独立ISDN局和8个模块局,率先为国内的外企和商业用户开放国际ISDN业务。1996年正式将ISDN业务命名为“一线通”,非常形象地概括了ISDN的基本特性。
一线通是“2B+D”信道,2*64+16=144kbps (最高传输速率)
网上说 : 可以64Kb上网同时64kb打电话;或者也可以128kb上网。不清楚是144还是128,上网传输最大。
在取得ISDN的运营经验之后,原中国电信不断加强其ISDN的建设力度原中国电信自1996年起进行国内长途网和国际局的改造,到1998年为止,全国26个省会城市的26部原有PSTN长途交换机通过版本升级和硬件改造具备了ISDN功能。大白话,就是PSTN的长途部分改造升级成了ISDN。有些地方,连市里的PSTN线路也进行了ISDN改造。
N-ISDN具有类似于OSI的三层结构。多路复用属于物理层的功能;ISDN的数据链路层采用LAPD协议;网络层主要有电路交换和分组交换功能,与X.25的分组层协议极为相似。
话说回来,以太网也同时提供了物理层和数据链路层规范。
至于我们国家,N-ISDN搞了一段时间后,就不搞了,因为ISDN不像ADSL那样语音与数据容易分离,因此用户必须使用全部数字化的设备,这就造成运营商和用户都要投资的状况。一方面运营商要不断满足飞速增长的网络连接需求,另一方面还有发展固定电话业务。ISDN不能灵活的适应中国需求多样化的市场,只能淡出市场角逐。而DSL高带宽,大容量和低廉的改造费用让运营商很快投入到DSL网络建设。

【在其他国家,B-ISDN也有去发展了,该网络的数据链路层协议是ATM】
N—ISDN线接入家中时,因为是数字信号,所以这个时候就不需要猫了。这个阶段家里是以太网,应该用的是PPPOE拨号上网技术了。

ISDN终端适配器如下:【包括电源,isdn接入线,两个电话口,两个网线口】

说明:S/T 就是我们说的RJ45以太网网线接口。


上海贝尔 ISDN SBT6015 “一线通”  usb终端适配器sta/usb用于pc机的 isdn接入,支持即插即用。带有一个标准的rj45接口,用以连 接isdn网络终端(nt)的s/t口;一个usb接口,用以连接计算机 的usb接口。 (上海贝尔“一线通”usb终端适配器也可以称作”数字 modem”)


上海贝尔 ISDN SBT6013产品特点

· 即插即用外置式终端适配器
· 用于PC机的ISDN接入,为您提供快速 Internet、Intranet访问
· ISDN S/T接口,符合I.430协议
· 只提供串口
· 计算机环境:Win95,Win98.WinNT,Win2000或更高
· 支持BOD(动态带宽调整)功能,有电话拨入时可自动释放一个B信通
· 同步/异步PPP,ML-PPP, V.120速率适配
· MODEM AT 命令集
· 提供的CAPI平台可支持一切基于CAPI的数据传输,数据会议等应用软件
· 可通过数据口下载更新软件


关于网卡普及问题:

看了上面的资料,可能揣测  模拟电话拨号上网56Kbps阶段,那个时候网卡不普及,只能自己买网卡。后来的ISDN阶段,看到 架构图,好像网卡普及了,不知道 是在 ISDN阶段 还是 在ADSL 阶段,才在主板上集成了 网卡。

网卡是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件,其不仅能实现与局域网传输介质之间的物理连接和电信号匹配,还涉及帧的发送与接收、帧的封装与拆封、介质访问控制、数据的编码与解码以及数据缓存的功能等。

第三阶段:ADSL拨号上网

  告别窄带接入 ,ADSL引领宽带时代。

这个阶段,中国电信的骨干网chinanet,上面采用的是ATM技术。连接到家里的是电话线(里面有两根铜线),里面传输的是模拟信号。相当于还是那个PSTN网络。

ADSL(Asymmetric Digital Subscriber Line,即非对称数字用户线路/环路),其与拨号上网一样,同样采用非对称技术,只不过上行带宽和下行带宽的差距更加明显(目前来看,最高上行速率为1Mbps,最高下行速率为8Mbps)。与此同时,其采用频分复用技术把普通的电话线分成了电话、上行和下行三个相对独立的信道,从而避免了相互之间的干扰。这既解决了拨号上网电话占线的问题,也带来了更加出色的网络质量。

ADSL(非对称数字用户线路/环路)网络接入

目前,大多数ADSL​​通信都是全双工的。全双工ADSL通信通常通过频分双工(FDD),回声消除双工(ECD)时分双工(TDD)在线对上实现。FDD使用两个独立的频带,称为上游和下游频段。所述上行频带用于从最终用户到电话中心局通信。的下游频带用于从中心局传送给最终用户。【就是介绍电话线(两根铜线)的全双工技术),博客里有文章介绍
ADSL技术采用频分复用技术把普通的电话线分成了电话、上行下行三个相对独立的信道,从而避免了相互之间的干扰。用户可以边打电话边上网,不用担心上网速率和通话质量下降的情况。理论上,ADSL 可在5 km 的范围内,在一对铜缆双绞线上提供最高1 Mbps的的上行速率和最高8Mbps的下行速率(也就是我们通常说的带宽),能同时提供话音和数据业务。

因为到家里的是模拟信号,所以需要ADSL调制解调器(分离电话信号和网络信号),解调完后一根电话线连电话机,一根网线可以连电脑了。

这个阶段,家里是以太网了,用的是双绞线,然后拨号是pppoe(PPP over Ethernet)上网了,通俗讲 以太网帧的数据包里面封装了PPP帧。

相信不少朋友还听说过ADSL2+,那么它与ADSL又是什么关系呢?其实简单来说,ADSL2+就是ADSL的技术升级版,其突破了ADSL带宽限制的瓶颈,将最高上行带宽(速率)提升至3.5Mbps,最高下行带宽(速率)提升至24Mbps。而除了ADSL2+外,凭借VDSL技术,可使带宽进一步升级到上行19.2Mbps,下行55.2Mbps。当然,前提是电信服务提供商的设备端和用户终端之间距离小于1.3公里,而距离的限制,也正是ADSL(xDSL)的短板。

第四阶段:光纤上网

这个阶段,

国家骨干网的技术 :

OTN是用在:核心层–>骨干层(物理层)
PTN是用在:骨干层–>汇聚层–>接入层(物理层)
PON是用在:接入层(物理层,数据链路层)

关于OTN -PTN -PON 详细解释,请参考这里。

=======================================

光纤连接到小区楼 FTTB(然后采用交换机连接到用户家),然后用普通双绞线连接到家里。

光纤连接到家里 FTTH(直接连接到家里,光纤先在楼里用分光器,然后再从楼里用光纤继续连接到家里,主要是分光器不耗电);光纤到家里时,再用光猫,将数字光信号解调成数字信号。这样我们就可以用以太网上网了。拨号还是用PPPOE。

光纤从骨干网边缘,连接到用户这,采用GPON或者EPON技术。目前运营商两者都有,我家是GPON接入。简单的说EPON可以最大支持1比32的分光。GPON可以支持1比64的分光、经过优化后最大可以支持1比128的分光。

现在基本都是GPON。光纤到户,一个端口能带64户。。。。。如果是EPON,一个端口最多能带32户,所以EPON一般都用在光纤到单元,再楼道里加交换机使用。。。。整体网速等基本没区别,最好用GPON。

这么说吧,ftth 和 fttb 的区别就是一个是光纤到户和光纤到楼,你说的楼道里多出来那个小箱子里面是分光器。
至于怎么区分,很简单,ftth 入户用的是光纤,必须配合光猫才可以使用。光纤长什么样子?入户光纤一般是黑色或者白色,特别细。尾部一般是黄色的,接头是蓝色的。
光猫的作用通俗的说就是将光信号转为电信号.
fttb 使用网线入户,可以不用光猫,直接插路由器电脑就可以使用。
目前我见过的大部分光改了的小区都是 FTTH,因为 ftth 易维护,成本总体来说低一点。只要主光缆分光器没问题,一般不会有什么事情.

FTTB 则是在楼道放的交换机。
FTTH 虽然在前期投资建设方面成本高,比如需要 OLT,PON 板之类的,但是更稳定一点,易维护.
分光器无需供电,交换机需要供电.大大减少了维护成本.

FTTH 是未来的主流,因为光纤相比网线来说更稳定,不受电磁干扰.
在 100M 以下的带宽差别不是太大,但是到了现在各大城市都在推行 200 300 甚至千兆入户的情况下,要想用网线跑到这个速率,太艰难了.

=============================================
补充:
PTN 和OTN 都属于传送技术, 所以他们都一般定为在网络OSI的物理层, 也就是提供物理连接,提供路由器到路由器的传送通道.
不同的是,
OTN提供的是物理通道, 每一个波长/子波长提供一个点到点的通道.
PTN 除了提供通道之外, 还可以在网络中表现得像二层设备或三层设备, 具备分组交换能力, 通常会用MPLS为网络层提供VPN通道.

PON是一种接入技术, 就像家庭以前用的ADSL一样, 工作在OSI的物理层以及数据链路层.【产生了GPON和EPON在数据链路层。】PON中OLT提供的业务描述,  一般最终用户经过ONU来进行接入,  可以提供 宽带, POTS电话, IPTV, VOD, E1 等业务接入

====================================================

三、网络信息的来龙去脉

由于平时上网都是,以太网,所以我们主要用以太网的情境去讨论上网问题。

本节主要以OSI七层模型,对上网情形进行逐层探讨。

上网时,我们连接的网线属于物理层。我们拨号上网用的是PPPOE,属于数据链路层。用数据链路层的以太网帧封装了PPP。

1、上网时,浏览器访问网页,采用HTTP协议(应用层)

2、HTTP访问请求会被封装成包,加上源端口号目标端口号,交由TCP传输。

3、tcp数据包+源IP地址和目标IP地址,一起封装成IP数据包,交由物理层。

4、物理层是以以太网帧的形式发送和接收数据的。【所以说以太网包括一层和两层】以太网帧需要包括目标主机mac地址和源主机mac地址。所以,在第一次传输时,需要arp请求(广播方式),获取目标主机的mac地址。获取成功时,将以太网帧,交由物理层进行传输。

5、物理层  在  以太网帧前面,又添加了八个字节 其中前面7个字节是前同步码。后面一个字节是帧开始界定符。
物理层原因如下:因为以太网采用的是同步传输模式,我在  入门必备常识  里已经提到过。同步传输可以一次性传输多个bit位,发送数据时,数据头部会添加同步码,数据尾部会添加区块结束字符(不一定有)。而异步传输是一次传一个字节或更长,每次传数据时 ,数据段前后都标有起始位和终止位(资料太少,不清楚起始位和停止位是否都只占一位【bit】)。

         为什么需要同步码,因为计算机都是有时钟频率的,计算机根据时钟频率对目标信息编码,每一个编码才会占用一定的时间。同样解码时,也会根据时钟频率,每解一个码占用一段时间。如果编码时是001100,解码的时钟频率慢了一倍,可能解析结果就是010,所以同步时钟频率就是为了,解码和编码时结果能统一。

         物理层除了添加信息以外,还包括物理编码。百兆以太网100BASE-T用的4B/5B编码与MLT-3编码组合方式,发送码流先进行4B/5B编码,再NRZ-I,最后进行MLT-3编码,最后再上线路传输;说到底这些编码都是为了从数据中恢复时钟。
          物理层还包括协议自动协商过程,因为以太网有好几种速率,10M,100M,1000M,等。现在的设备都支持各种以太网速率。网线一端连电脑,一端连路由器。那么两端就会协商采用,1000M还是100M的网速协议,看看双方是否都支持,这就是自动协议协商。

6、物理层会经多个节点传输,在多个路由器上传播,每经过一个节点都会层层拆包,检查网络层上的IP数据包的目标IP地址,并查看路由表,决定发往哪个路由器。决定完路由路线后,又将ip数据包层层封装成物理层信号,进行传输。

7、就这样数据经过多个路由器,多个网关,到达了目标主机地址。然后目标主机将数据层层拆包,到达应用层,供服务器软件使用。同理服务器返回应答的信息,传输过程也一样。

上图中说明:数据链路层有帧头和帧尾。帧尾是FCS(冗余检验码),以太网帧的帧头从目标mac地址开始。

物理层中:以太网帧前面还添加了帧同步符(前同步码,前导码)和帧界定符(帧开始符)。

以太网帧常见的有:IEEE 802.3 和 DIX Ethernet V2  两种结构。

802.3 以太网帧结构
前导码 帧开始符 MAC 目标地址 MAC 源地址 802.1Q 标签 (可选) 以太类型 负载 冗余校验 帧间距
10101010 7个octet 10101011 1个octet 6 octets 6 octets (4 octets) 2 octets 46–1500 octets 4 octets 12 octets
64–1522 octets
72–1530 octets
84–1542 octets

接下来,整体感知一下计算机数据通信全过程。

上图是数据包在互联网中的传送 (R1…R5,这些标记都是路由器)

上图是对数据包在互联网中传送的一个详细解读!!!

从图中我们可以看到有两个局域网通过两个路由器相连。我们现在假设图中PC4给PC3发送数据。

发送端PC4

  • 1、应用程序准备要传输的文件
  • 2、传输层 将文件分段并编号 数据段
  • 3、网络层 将分好段的数据加IP地址封装成包 数据包
  • 4、数据链路层 两种情况:
    • 使用自己的子网掩码 判断自己在哪个网段
    • 使用自己的子网掩码 判断目标地址在哪个网段
    • 如果是同一个网段,则使用ARP协议解析目标IP的MAC地址
    • 如果不是同一个网段,则使用ARP协议解析网关的MAC地址,将数据包交给路由器
  • 将数据包加上MAC地址和帧检验序列(FCS)交给物理层进行发送

集线器的做法:集线器是物理层的设备,只负责转发比特流

交换机的做法:将数据进行存储转发,他可以把比特流存储起来拆封装成数据帧,看到里面数据帧的MAC地址,根据目的MAC地址和自己的MAC地址表进行转发

路由器的做法:可以将传来的比特流存储起来拆封装成数据包,看到里面的IP地址,根据目的IP地址和自己的路由表将数据包交给下个路由器

最后到达PC3,主机将比特流接收后开始按照与发送端相反的步骤一层一层拆封装,直到把要接收的数据拆出来,一次通信完成。

 

关于具体的OSI每一层的内容,可参看其他文章。

也可以看 计算机网络详解-上网内部流程分析 这篇文章。


个人感觉不错的书:《计算机网络自上而下》

参考:

udp 问题 :https://blog.csdn.net/ddr77/article/details/52400439

arp问题:https://blog.csdn.net/cuiweitju/article/details/38761381

==================================================

tcp/ip 专栏

http://www.cnblogs.com/zhangyinhua/category/1086895.html

http://blog.sina.com.cn/s/articlelist_1597552525_0_1.html

网络知识参考书:

https://wizardforcel.gitbooks.io/network-basic/content/7.html

=================================================

https://blog.csdn.net/qq_20233867/article/details/73856180