ATM模拟程序

ATM模拟程序,第1张

/*

要求:使用字符用户界面。当输入给定的卡号和密码(初始卡号和密码为123456)时,系统能登录ATM柜员机系统,用户可以按照以下规则进行:

1、查询余额:初始余额为10000元

2、ATM取款:每次取款金额为100的倍数,总额不超过5000元,支取金额不允许透支。

3、ATM存款:不能出现负存款。

4、修改密码:新密码长度不小于6位,不允许出现6位完全相同的情况,只有旧密码正确,新密码符合要求,且两次输入相同的情况下才可以成功修改密码。

(卡号密码余额放到文件中)

*/

public class ATM {

private Account acc

private File dataFile

private FileWriter fw

private BufferedWriter bw

private String filePath = "./data.txt"

public ATM() {

this.acc = new Account()

try {

this.dataFile = new File(this.filePath)

if (!this.dataFile.exists()) {

this.dataFile.createNewFile()

}

this.fw = new FileWriter(this.filePath)

this.bw = new BufferedWriter(this.fw)

} catch (IOException io) {

System.err.println("Cannot open file")

io.printStackTrace()

} catch (Exception e) {

e.printStackTrace()

}

}

public static void main(String[] args) {

new ATM().interact()

}

public void interact() {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in))

System.out.println("Account #: ")

String temp = br.readLine()

System.out.println("Password: ")

String temp2 = br.readLine()

if (!this.acc.isValid(Long.parseLong(temp.trim()), temp2.trim()) {

System.err.println("Wrong password")

return

}

System.out.println("1. Account Inquery.")

System.out.println("2. Withdraw")

System.out.println("3. Deposit.")

System.out.println("4. Change Password.")

System.out.println("5. Export to File.")

System.out.println("0. Exit.")

int c = 100

while (c != 0) {

String str = br.readLine()

try {

int c = Integer.parseInt(str.trim())

} catch (NumberFormatException nfe) {

System.err.println("Invalid choice")

continue

}

switch (c) {

case 0:

System.out.println("Thank you")

break

case 1:

System.out.println("Balance: " + this.acc.balanceInquery())

break

case 2:

System.out.println("How much? ")

String temp = br.readLine()

try {

long ammount = Long.parseLong(temp.trim())

this.acc.withdraw(ammount)

break

} catch (NumberFormatException nfe) {

System.err.println("Invalid amount")

continue

}

case 3:

System.out.println("How much? ")

String temp = br.readLine()

try {

long ammount = Long.parseLong(temp.trim())

this.acc.deposit(ammount)

break

} catch (NumberFormatException nfe) {

System.err.println("Invalid amount")

continue

}

case 4:

System.out.println("Old password: ")

String temp = br.readLine()

System.out.println("New password: ")

String temp2 = br.readLine()

this.acc.changePassword(temp, temp2)

break

case 5:

this.bw.write(this.acc.toString())

break

default:

break

}

}

}

}

class Account {

private long accNo = 123456

private String pass = "123456"

private long balance = 10000

public Account() {

}

public boolean isValid(long accNo, String pass) {

return (this.accNo == accNo) &&(pass.equals(this.pass))

}

public void changePassword(String oldPass, String password) {

if (!oldPass.equals(this.pass)) {

System.err.println("Wrong password.")

return

}

if (password.length <6) {

System.err.println("Password too short")

return

}

if (password.equals(this.pass)) {

System.err.println("Password cannot be the same.")

return

}

this.pass = password

}

public long balanceInquery() {

return this.balance

}

public void withdraw(long amount) {

if (amount >5000 || amount <0) {

System.err.println("Withdraw limit: $0-$5000")

return

}

if ((amount % 100) != 0) {

System.err.println("The amount has to be a product of 100")

return

}

long newBalance = this.balance - amount

if (newBalance <0) {

System.err.println("Not enough money in the account")

return

}

this.balance = newBalance

}

public void deposit(long amount) {

if (amount <0) {

System.err.println("Cannot deposit negative amount")

return

}

this.balance += amount

}

public String toString() {

return ("Account #: " + this.accNo + "\n" + "Password: " + this.pass + "\n" + "Balance: " + this.balance)

}

}

请采纳答案,支持我一下。

从ATM网络的内部结构来看,实际上包含三个层次,即由物理链路组成的网络、由VP组成的网络、由VC组成的网络。对用户来讲,涉及的是VC级网络;对交换机来讲涉及的是VP级网络;对网络维护者来讲涉及的是物理级网络。

采用VC为用户提供服务,而用VP来连网。在用户一用户应用的情况下,把VP细分为各单位的VC,并由用户控制那些VC所属的全部资源,在VP内各VC的建立和释放只包括两个换机,而信息在交换机内的交换和选路则由VP来完成,一条VP可当作两个ATM交换机之间的虚中继线用。

由于ATM是一种面向连接的交换技术,用户进行通信前必须先申请虚路径,提出业务要求,如峰值比特率、平均比特率、突发性、质量要求、优先级等,网络根据用户要求和资源的占用情况来决定是否可以为用户提供虚路径,从而且实现按需动态分配带宽,而且带宽不是固定的或被某用户所独占,通过统计复用技术达到网络资源的充分利用。

由于ATM又是一种面向分组的交换技术,它将任何业务信息都变成长度相同的信元(Cell,53byte长,其中报头占5byte,信息域48byte),通过异步时分复用技术把不同用户和不同业务的信元变成连续的比特流,送入ATM交换机。不同的用户信元在ATM信元流中没有固定的位置,是按需动态占用的,因而不同类型和速率的用户业务都能方便、灵活地进入网络。交换机对用户信元是透明的,不进行任何处理,把差错控制和流量控制等工作交给网络终端设备来完成。交换机通过硬件实现选路和信元转移,从而大大提高了信息转移容量和转移速度。而且,ATM是一种为支持宽带综合业务网而专门开发的新技术,它与现在的电路交换无任何衔接。当发送端想要和接收端通信时、它通过UNI发送一个要求建立连接的控制信号。接收端通过网络收到该控制信号并同意建立连接后,一个虚拟线路就会被建立。与同步传递模式(STM)不同,ATM采用异步时分复用技术(统计复用)。来自不同信息源的信息汇集在一个缓冲器内排队。列中的信元逐个输出到传输线上,形成首尾相连的信息流。ATM具有以下特点:因传输线路质量高,不需要逐段进行差错控制。ATM在通信之前需要先建立一个虚连接来预留网络资源,并在呼叫期间保持这一连接,所以ATM以面向连接的方式工作。信头的主要功能是标识业务本身和它的逻辑去向,功能有限。信无长度小,时延小,实时性较好。

TCP(Transmission Control Protocol)传输控制协议

TCp协议位于第四层。其代表的含义是传输控制协议(Transmission Control protocol)。TCP 在端点间建立连接或虚拟电路进行可靠通信。当一个数据包被封装之后,第三层当然有个Ip协议头,紧接着就是这个TCp协议头。TCp协议头成为了Ip协议头中的“数据”。就像其它协议都有自己的术语一样,TCp协议也有自己的专门术语,如以太网帧、Ip数据报和现在的TCp段等。你可以把它们都当作数据包。但是,当它们之间在进行通讯的时候,一定要使用正确的术语。由于大多数网络应用程序都在同一台机器上运行,计算机上必须能够确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。这是通过使用 TCP 的“端口号”完成的。网络 IP 地址和端口号结合成为唯一的标识 , 我们称之为“套接字”或“端点”。

TCp协议是一种端对端的协议。使用TCp没有任何广播或类似的概念。TCP 通过面向连接的、端到端的可靠数据报发送来保证可靠性。TCP 在字节上加上一个递进的确认序列号来告诉接收者发送者期望收到的下一个字节。如果在规定时间内,没有收到关于这个包的确认响应,重新发送此包。TCP 的可靠机制允许设备处理丢失、延时、重复及读错的包。超时机制允许设备监测丢失包并请求重发。

要用TCp协议与另一台计算机通信,两台机之间必须像打电话一样连接在一起,每一端都都为通话做好准备。“流传输”(Stream delivery)是谈到TCp时的另一个常用词语。这个短语的含义是TCp协议主要用来处理数据流,可以正确处理乱序的数据包。TCp协议甚至还允许存在丢失的或者损坏的数据包,最终它可以再次得到这些数据包。你很可能听一位程序员在谈论“流”的概念。他指的是这样一个事实:数据到底是在什么时候发送的是很难说清楚的,你也可以在TCp流中发送非结构化数据。TCp协议以它自己的方式缓存数据。不过,其缓存过程对程序员和用户是透明的。 关于流数据传输 ,TCP 交付一个由序列号定义的无结构的字节流。 这个服务对应用程序有利,因为在送出到 TCP 之前应用程序不需要将数据划分成块, TCP 可以将字节整合成字段,然后传给 IP 进行发送。

TCp协议每发送一个数据包将会收到一个确认信息。这种发送/应答模式是提供可靠的协议的唯一方法:你必须让对方知道你否收到了数据。当然,这也会造成一些性能损失,而人们需要改善系统效率不高的状况。所以引入了“捎带确认(piggybacking ACKs)”的方法。TCp协议之所以是全双工的就是因为这个“捎带确认”信息,因为它允许双方同时发送数据。这是通过在当前的数据包中携带以前收到的数据的确认信息方式实现的。从提高网络利用率的角度看,这比单纯发送一个通知对方“信息已收到”的数据包要好得多。最后,还有一个批量确认的概念:也即一次确认一个以上的数据包,表示“我收到了包括这个数据包在内的全部数据包”。

在Ip协议中,我们处理的单个数据包是一个更大的数据报的一部分。请记住,一个TCp段就是一个单个的TCp数据包。TCp是一个数据流,因此,除了“连接”之外,没有任何需要真正担心的其它概念。最大报文段长度(MSS)是在连接的时候协商的,但是,它总是在不断地改变。默认的最大报文段长度是536字节,这是576字节(Ip协议保证的最小数据包长度)减去用于Ip头的20个字节和用于TCp头的20个字节以后的长度。TCp协议要设法避免在Ip级别上的分段。因此,TCp协议总是从536字节开始的。

TCp协议最有魅力的功能仍然保留着。这就是滑动窗口协议。这个窗口实际上是已经发出的“没有签收确认的”数据总数。这个窗口可以根据意愿放大和缩小。这是很有趣的。下一讲将介绍这方面的内容。

一个TCp数据包的头是20个字节,就像一个Ip数据包一样。如果使用一些选项,Ip和TCp数据包头都可以放大。TCp头不包含Ip地址,它仅需要知道要连接哪一个端口。不过,你不要被这弄晕了。TCp工作时要一直跟踪状态表中的端对端的连接。这个状态表包含Ip地址和端口。这就是说,只是TCp头不需要Ip信息,因为它来自于Ip头。

把一个数据包设想为一个字节跟着一个字节的数据流是很容易的。很多人都想要一个显示TCp头的表格。但是,这常会把事情搞乱。TCp头从第一位开始依次是下面这些内容:

�6�1源端口,16位:用于这次连接的本地TCp端口。

�6�1目的地端口,16位:通讯目标机器的TCp端口。

�6�1序列号,32位:用来跟踪数据包顺序的号码。

�6�1确认编号,32位:我们确认的以前收到的序列号。

�6�1头长度,4位:报头中的32位字(words)的数量。如果不使用选项,这个值设定为5。

�6�1保留,6位:为将来的使用保留的字节。

�6�1标记,一共6位:每一个标记一个字节(开或者关)

-URG:紧急字段指针。

-ACK:本数据包是(或者包含)一个确认信息。

-pSH:推送功能(没有使用)。

-RST:重置,或者中断本次连接。

-SYN:同步数据包,也就是开始连接。

-FIN:最后一个数据包,开始挂断序列。

�6�1窗口尺寸,16位:从接收方将收到的确认字段开始。

�6�1校验和,16位:TCp头和数据的校验和。

�6�1应急指针,16位:指向跟在URG数据后面的数据的序列号的偏移值。

�6�1选项:MSS、窗口比例等等。我们在关于TCp协议的下一讲中将重点介绍这个部分。

TCp连接的两端使用两对Ip地址和端口识别这个连接,并且向监听这个端口的应用程序发送数据。

小结

TCp是一种最常用的协议,在协议栈中位于第四层,也就是传输层协议(它是一个协议),它通过序列确认以及包重发机制,提供可靠的数据流发送和到应用程序的虚拟连接服务。与 IP 协议相结合, TCP 组成了因特网协议的核心。

TCp协议提供阻塞控制、可靠性、发送数据的流传输、有效流控制、全双工 *** 作和多路复用技术等。

为了提高效率,TCp协议在得到确认之前努力发送尽可能多的数据。

全双工 *** 作: TCP 进程能够同时发送和接收包。

TCP 提供了有效流控制。当向发送者返回确认响应时,接收 TCP 进程就会说明它能接收并保证缓存不会发生溢出的最高序列号。

TCP 中的多路技术:大量同时发生的上层会话能在单个连接上时进行多路复用。

累死了,就这样吧~~!

这事太深了。。。

LZ之所以觉得不明白可能是看他们都有分包,交换等特点吧。。。。其实他们太不同,,都没法比。。

帮你找了下!!

ATM技术

异步转移模式(Asynchronous transfer mode)简称ATM,是一种集传输与交换于一体的通信模式。ATM已成为二十一世纪宽带通信的关键技术,已被国际电联确定为宽带综合业务数字网的基本传送方式。 90年代初计算机网络发展兴起,网络传输媒体光纤化和多媒体技术商用加快。面对巨量信息传输需求,传统的网络技术,如以太网、快速以太网、FDDI,无比是在传输速度和连接方式等方面都无法适应用户的需求。

应运而生的 ATM技术是在传统的电路转移模式和分组转移模式基础上发展起来的新兴信息转移模式。它具有传输速度快、距离不受限制等特点,其集语音、图像和声音传输于一体的特色,尤其适合多媒体业务的应用。

一、 ATM基本概念与原理

1. 什么是ATM

ATM(Asynchronous Transfer Mode) 译为异步传输模式(或者异步传输模式)。ATM是一中采用固定长度分组、异步时分复用①、传送任意速度的宽带信号和数字等级系列信息的交换技术。它可以综合任意速率的话音、数据、图象和视频业务。

ATM的基本定义可以归纳为两点:

⑴面向连接的快速分组交换技术。

⑵基于固定长度信元(53个字节)的异步转移技术。各种类型的信息流(包括语音、数据、视频等)均被适配成固定长度的(53字节)的“信元”(Cell)进行接入、传输和交换。

2. 信元结构

在ATM网中,信息是以信元为基本单元进行通信的。ATM信元是一种固定长度的数据分组,一个信元定长53个字节,其中前5个字节称为信头。ATM就是根据信头中的信息来对信元的类型、路径、流量、信息优先级、校验等进行控制,完成准确无误的信息反馈传送。它有识别路径、优先处理、关错控制和网络管理等功能。信头后面的48个字节称作信息域OAM(或者称净负荷、净荷)(ATM自身的运行维护功能)。信元的信息域内容有统一的规定。用户信元的信息域内容可由用户根据不同的电信业务的要求自行确定。

根据原CCITT建议,当ATM信元在用户与网络接口(UNI)之间或网络与网络接口(NNI)之间传输时,其信元头的结构略有不同,起差别在于是否留有GFC字段以及用于路由选择字段(VPI和VCI)的长度。ATM信元头个字段的含义如下。

 GFC:一般流量控制标识符。一个UNI接口上往往接有多个终端设备,它们共享缓存器、接口线路等资源,需要对他们发送的业务量进行控制,以减少可能出现的网络过载。

 VPI:虚通道标识符,表明虚通道的号码,用于虚通道的路由选择。一个需通道可以含若干个需通路(VC)。

 VCI:虚通路标识符,表明虚通路的号码,用于虚通路的路由选择。她随着呼叫的产生和释放而生成和消失。

 PTI(3bit):净荷类型标识符。其作用是用来表示信元中的有效负荷是用户信息还是网络OAM信息。包括信元类型、拥塞状态指示及是否是最后的信元等信息。

用户信元类型(bit4)是用来区别信元携带的是用户数据(bit4=0),还是OAM数据(bit4=1);当bit4=0时,拥塞状态指示(bit3)指示信息是否通过拥塞交换,bit3=0表示无拥塞,bit3=1表示有拥塞;(bit2)用来区分是否是最后用户信元,bit2=0,标识用户数据块未结束,bit2=1,标识此用户数据块是最后一块数据块。下面是这3bit代表的含义。

000:表示用户数据,无拥塞,未结束

001:表示用户数据,无拥塞,结束

010:表示用户数据,拥塞,未结束

011:表示用户数据,拥塞,结束

100:表示是分段OAM信元

101:表示是端到端OAM信息

110:表示是资源管理RM信元

111:预留备用,功能扩展。

 CLP:信元丢失优先级。当网络拥挤时,悠闲级低的信元被丢失,而优先级高的信元则不会被丢失。CLP用来说明该信元的悠闲级,CLP=1表示的低优先级信元,在网络拥塞时可丢弃;CLP=0的信元则不被丢失,网络尽量保证传输。

 HEC:信头差错控制。用来进行信头(前4个字节)差错检测和纠正(1bit错时)并完成信元的定界功能。其中验证多项式是 。

在信头的各个组成部分中,VPI和VCI是最重要的标识符。这两个部分组合起来便构成了一个信元的定界功能。ATM交换就是依据各个信元上的VPI和VCI,来决定把它们送到哪一条出线上,动态地改变VPI和VCI,即可以改善网络的灵活性和可靠性。

3. ATM的交换概念

将ATM信元从一条入线(如有N条入线)被传送到一条或者多条出线(假定有M条出线)的过程为ATM信元的交换过程。交换指从一个输入的ATM逻辑信道到一输出的ATM逻辑信道的信息交换,这种交换可以在许多输出逻辑信道中选择。ATM逻辑信道以VPI/VCI来表征。

4. ATM的交换及虚连接

ATM和STM都是面向连接的传输模式。但ATM和STM不同,其连接是“临时”的,不像STM中的那样,用户在呼叫期间独占物理信道(的一部分),ATM是逻辑上的“虚连接”,故称“虚电路”。用户间的信元传输必须在虚电路建立以后,才能进行;信元按序发送,并按序到达目的终端;个虚电路拥有自己的(在呼叫建立期间协商好)的企业性能参数。

(1)VP/VC的概念

虚通路(VC):两个终端接入点的逻辑连接。

虚通道(VP):一组虚通路的集合。

在ATM中一个物理信道被分成若干个虚通道(VP),一个虚通道(VP)有被分成上千个虚通路(VC)复用。用VPI标识VP,用VCI标识VC。这样一个呼叫连路就可以用VPI/VCI标识所分配的虚通道和虚通路。在ATM交换中只要将输入的VPI/VCI的值修改为输出的VPI/VCI值,就可以实现信元的交换。

(2)VP和VC的交换过程

ATM是一种面向连接的技术。当发送端个接收端通信的时候,通过UNI送一个要求建立连接的控制信号。接收端通过网络收到该控制信号并同意建立连接以后,一个虚电路就会被建立起。在虚电路中,相临两个交换节点之间信元的标识VPI/VCI保持不变。在相临两节点间形成一个VC链(VC Link),一串VC莲相连形成的VC连接叫做VCC(VC Connection)。相应地,VP链(VP Link)和VP连接(VP Connection ,VPC)也可以类似的方式形成。

VP和VC交换在网络节点内部进行,只要将输入的VPI/VCI改写成输出的VPI/VCI就可以实现信元交换。ATM信元交换既可在VP级进行,也可在VC级进行。下面分别介绍VP交换、VC交换的过程。

① VP交换过程

VP交换是指VPI/VCI值经过ATM交换点时,该交换点根据VP连接的目的地,将输入信元的VPI值改写为可导向接收端的新VPI值赋予信元并输出。以上过程被称为“VP交换”。此过程中VPI值不变。VPI和各个虚拟通道(VP)占用的网络资源可有网管系统以半固定的方式分配,因此VP半永久地占用一定的网络资源。一个VP内的所有虚连接(VC)动态的占用这个资源,每个VP最多可有4096个虚连接。从这个意义上看,虚拟VP就像一个大网中的虚拟网络,它简化了大网里的资源。VP的另一个作用是可以提高主干网中的交换效率,一些交换机可以只对VP进行交换,将一个VP内的所有VC交换到另一个VP内。

由于VP是半固定连接的,所以这种交换不需要复杂的信令处理即可以达到几十G的吞吐量,这和现在电话网中的交叉连接设备功能相似。

② VC交换过程

VC交换是指将输入的信元的VPI值与VCI值同时被改写为新值赋予信元并输出,则为VC交换。

(3)PVC和SVC

虚连接建立有两种,永久虚连接(PVC)和交换虚连接(SVC)。通过网管建立一条半永久的连线,称为PVC方式;通过信令将其动态的建立,VC和VP占用的网络资源都在连接建立是分配,称为SVC方式。

PVC与SVC的不同点在于SVC是靠信令建立的,而PVC的建立是通过网管 *** 作来实现的。当前市场上很多ATM设备只能实现PVC功能而不能实现SVC功能,严格意义上讲只能叫ATM交叉连接设备(Cross-Connect),而不能叫做ATM交换机(Switch)。

通常所说的ATM-SVC只能就VC连接(VCC)而言,现在的VP连接(VPC)只能做到永久的VPC或半永久的VPC,交换型VP连接将来可能会随着信令的完善而实现。

虚拟连接是ATM的连接中的有个重要概念。ATM采用面向连接的方式,提高了交换速率,同时,ATM的连接是虚拟连接,在建立连接时,网络只对连接进行资源预分配,只有当该连接真正发送信元时才占用网络资源,使网络资源可由各连接统计复用,从而大大提高资源利用率。

二、 ATM交换原理

1.ATM交换原理

与普通IP传输的非面向连接不同,ATM是一种面向连接的交换方式。ATM交换机是根据信元头的信息,基于信元完成的。一个ATM交换机可能只使用信元头的VPI部分,或只使用VCI部分,或者两个部分都使用来决定如何转发信元。其工作过程大致是:ATM交换机接收来自特定输入端口的、带有标记的VPI/VCI字段和表明属于特定虚电路的信元,然后检查路由表,从中找出从哪个输出端口转发该信元,并设置输出信元的VPI/VCI值。就像电话呼叫的例子,只使用信元头部的VPI字段进行ATM信元的大量交换是非常有用的。

ATM采用了虚连接技术,将逻辑子网和物理子网分离。类似于电路交换,ATM首先选择路径,在2个通信实体之间建立虚通路,将路由选择与数据转发分开,使传输中间的控制较为简单,解决了路由选择瓶颈问题。设立虚通路和虚通道两级寻址,虚通道是由两结点间复用的一组虚通路组成的,网络的主要管理和交换功能集中在虚通道一级,减少了网管和网控的复杂性。在一条链路上可以建立多个虚通路。在一条通路上传输的数据单元均在相同的物理线路上传输,且保持其先后顺序,因此克服了分组交换中无序接收的缺点,保证了数据的连续性,更适合于多媒体数据的传输。

在信头的各个组成部分中,VPI和VCI是最重要的了。这两个部分合起来构成了一个信元的路由信息,该信息表示这个信元从哪里来,到哪里去。为此常把这两个部分合起来记作VPI和VCI。ATM交换就是依据各个信元上的VPI和VCI,来决定把他们送到哪一条输出线上去。

每个ATM交换机建立一张对照表。对于每个交换端口的每一个VPI和VCI,都有对应表中的一个入口。当VPI和VCI分配给某一信道时,对照表将给出该交换机的一个对应输出端口以及用于更新信头的VPI和VCI值。

当某一信元到达交换机时,交换机将读出该信元信头的VPI和VCI值,并与路由对照表比较。当找到输出端口时,信头的VPI和VCI被更新,信元被发往下一段路程。

在ATM环境中,怎样使用VP和VC呢?VP就像一个能够携带许多VC(最多可达65000条)的管道或通道,他可以是从交换机到交换机的虚拟线路,也可以是横穿ATM网络由终端到终端的所有线路。除了最大的专用局域网或广域网外,65000条VC在当今是足够的。实际上支持复杂的VP并不需要这么多VC,许多ATMLAN发送点仅支持一条虚通道,即VPI=0。当只有一条VP被支持时,他不用作端到端的连接,所以这里并不要求VC一定在给定的VP中,这样VC可连接任何一组站群而不受VP的影响。通常数据是在一条VC中传送的。

另一方面,交换机在典型情况下,必须支持成百上千条不同的VP,最大可能支持上百万条不同的VC。通常客户系统希望能够提供给他们用户一条通过网络的专用VP,VP可以连接网络中任意2个端到端用户,若VP使用这种方式,则被称为一条虚通道连接(VPC)或称为一个“虚通道路径(VPChannel)”。他可以带有“永久虚拟线路(PVC,PermanentVirtualCircuits)”和“交换虚拟线路(SVC,SwitchedVirtualCircuits)”。如图2所示。

在一个VP通道中,系统用户可以建立PVC和SVC,而无需系统以任何方式参与,甚至系统的交换机也不必直接支持SVC。VP通道能够提供一条路径将公用网中不同的公司互相隔离开来。在使用公用ATM服务器的这条路径中,就需要用复合VP通道互联用户网络中的网点。

在公用ATM网络环境中,若系统不提供VP通道的能力(有些可能没有),则系统只能提供PVC,这是因为交换机不能直接支持SVC(有些从不支持),有些系统也不希望支持SVC(因为他使企业间帐目复杂化,并增加了保密数据的流量)。若无VP通道,系统通常在网络端点用VPI=0,产生和结束PVC。如图3所示。

在公用网络中,PVC是用户提前申请并由系统建立的。PVC在对外连接“ATM网络设备”(如以太网或带ATM的FDDI转换器、ATM集线器)时是相当有用的。许多非ATM信号源可通过单个PVC动态多路复合返回到指定点。在ATM主机间使用PVC也可限制预定端点的通信。在公用网中这是符合要求的。

在专有网络(LAN或WAN)中,由于终端站可以自己申请建立SVC,所以SVC是站点之间的通信更可取的路径。这就是当今大多数专用非ATMLAN和WAN的工作方式。因此,占用网络ATM交换机必须直接支持SVC。但是,若终端站或边缘设备不支持SVC或是按要求不允许申请连接SVC,这时在专用网中有用PVC的,PVC必须由网络控制者提前建立。但由于路径是预定的,所以当网络出现故障时,PVC比SVC优越性差。故此,在专用网络中虚通道VP不重要甚至不需要了,如图4所示。

2.ATM交换机

在B-ISDN中,ATM交换机连接着用户线路和中继线路。在用户线路上和中继线路上传送的都是ATM信元。ATM信元交换机的通用模型及其原理如图5所示。其通用模型有一些输入线路和一些输出线路,通常在数量上相等(因为线路是双向的)。在每一个周期从每一输入线路取得一个信元(如果有的话)。通过内部的交换结构(switchingfabric),并且逐步在适当的输出线路上传送。从这一角度上看,ATM交换机是同步的。而且,他不关心信息的内容和形式。他简单地把信息分割成相同长度的分组,并给分组加上头部,以使分组能到达目的地。ATM信头只有很少的几项功能,这使其能被网络无时延地处理。

所有的ATM交换机都有2个共同的目标:一个是以尽可能低的丢失率交换所有的信元;另一个是决不能在虚电路上记录信元。可以说,ATM交换机的任务,就是根据ATM信头上虚通道标识符和虚通路标识符,把送入的ATM信元转送到相应的中继线或用户线上去。举例来说,用户A正在使用虚通道VPI=2、虚通路VCI=1向北京发送一幅图片;同时又在使用VPI=3、VCI=1向北京发送一段语音;同时还在用VPI=4、VCI=2从深圳接收数据。那么,交换机就应该把从用户线A上收到的VPI=2、VCI=1的ATM信元转送到中继线C上,把从用户线A上收到的VPI=3、VCI=1的ATM信元也转送到中继线C上;同时把从中继线D上收到的VPI=4、VCI=2的ATM信元转送到用户A上,如图6所示。

由于在B-ISDN上,用户线和中继线上传送的都是ATM信元,所以对ATM交换机来说,可以在许多情况下对中继线和用户线不予区分,这样就可以得到一个抽象的ATM模型。联接在这个交换机模型上的一部分线路向这个交换机抄送出ATM信元,因而叫做这个交换机的入线;另一部分线路则从这个交换机接收ATM信元,因而叫做这个交换机的出线。ATM交换机的功能就是根据送入的ATM信元的VPI和VCI,把他们送到相应的出线上去。

为了完成上述ATM信元的工作,一个ATM交换机一般由3个基本部分构成:入线处理和出线处理部分、ATM交换单元、ATM控制部分。其中,ATM交换单元完成交换动作;ATM控制单元对ATM交换单元的动作进行控制;入线处理部分对各入线上的ATM信元进行处理,使他们成为适合送入ATM交换单元的形式;出线处理部分对ATM交换单元送出的ATM信元进行处理,使他们成为适合于传输的形式。

我们知道,在通信线路上常常是传送一个比特一个比特的串行信号,而在ATM交换单元中为了提高速度,常常需要一次读入若干比特的并行信号。因此,诸如串/并转换等功能,在入、出线处理部件里总是需要的。事实上,为了简化交换单元的设计,我们也总是把那些可以在入线和出线就能处理的事放入到入、出线处理部件上工作。

交换机的主要功能是提供一种方法,将来自输入端口的信元快速、有效地路由到输出端口。ATM交换设备将进行单个信元的输入处理、标头的转换以及输出处理。信元标头必须按输出端口的要求进行转换。为确保信元进入适当的物理链路,交换机必须对信员进行输出处理。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7956626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存