1 / 37

ARCNET

ARCNET. Token-bus net. Host 1. Host 2. Host n. Hastighed : max 10 Mbit/s Antal hosts pr. segment: 255 dvs ID: 1-255. Opstart af token. Hvis en maskine ikke er med d vs ingen INVITATION TO TRANSMIT i 420  S. Så råber den ''ALLE SKAL DØ''. RECONFIGURATION BURST. 111111110.

winda
Download Presentation

ARCNET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ARCNET Token-bus net Host 1 Host 2 Host n ..... Hastighed : max 10 Mbit/s Antal hosts pr. segment: 255 dvs ID: 1-255

  2. Opstart af token Hvis en maskine ikke er med dvs ingen INVITATION TO TRANSMIT i 420 S. Så råber den ''ALLE SKAL DØ'' RECONFIGURATION BURST .... 111111110 111111110 111111110 765 gange Her efter: Når bus bliver IDLE vent 41S + 73 S * (255-ID) ------------------------------------------------------------------------------------ Hvis stabig IDLE så:Send INVITATION TO TRANSMIT til mig selv samt find næste hoat men mindre ID Ellers: Vent til en sender INVITATION TO TRANSMIT til mig

  3. Find NID NID er ID'en for den host med nærmeste lavere ID. NID = ID NID--; Send ITT to NID hvis ingen aktivitet i 37,4 S så hop: ellers stop ca 3 km frem samt tilbage= 15 S + 15 S plus opstartstid ca 6.4 S.

  4. Pakkeformat 11 bit Der sendes byte enheder: xxxx-xxxx 110 Invitation To Transmit: ITT 111111 EOT DID DID End Of Transmission: 04Hex To gange Distination ID

  5. Pakkeformat Free Buffer Enquiries 111111 ENQ DID DID Enquiry: 85Hex To gange Distination ID Negative Acknowledgement Acknowledgement 111111 NAK 111111 ACK 15Hex 86Hex

  6. Pakkeformat DataPakke ... 111111 SOH SID DID DID Source ID Start Of Header: 01Hex To gange Distination ID ... COUNT SC DATA CRC CRC 1-508 byte 256-N for short packet 16 15 2 1 X + X + X + X 512-N for long packet 0 for long packet

  7. Data transmision Sender: ID Modtage: DID ITT til ID send FBE send ACK send DataPacket send ACK ITT til NID

  8. TDMA

  9. TTP MEDL-tabel for note 3 Time Buf add. D L I T ..... 3 1 4 0 5 0 6 0 7 0 .....

  10. Pakkeformat Normal 1 4 0-128 16 CRC Data Header StartOf Frame Header: 1 Bit I/N-frame og 3bit Mode change. Init 1 4 16 CRC Global time, current MEDL index, Membership vector

  11. Tradmark (Name) Application area Technology Capacity Support Controller Area Network (CAN) automotive industry, cars, forklifters, tractors CSMA/CA 40m: 1 mbps 500m: 125kbps Intel embedded controllers (80517). Keil RT-51. DeviceNet from Allen Bradley Profibus Proces control Higher level token rotation. Lower level master slave. 2 mbps on rs-485 Siemens Simatic EN50170 P-net  Proces control Virtual higher level token rotation. Lower level master slave. 76.8 kbps on rs-485 P-net from Proces Data EN50170 Attached Ressource Computer Network ARC-net Robot control, Marine automation Token bus. 2-5 mbps on rs-485 Mitsubitsi  ATOMOS EN50170 Time Triggered Protocol Car automation, x-by wire TDMA 2 mbps Tttech, Tech Univ. of Vienna. Herman Kopetz LON proces control CSMA/CD ... 300-1.2 mbps EcheLon LonWorks Motorola Highway Adressable Remote Transducer (HART) Transducer communication FSK on 4-20 mA  Master Slave 3-4 req. / sec. InterBus Procescontrol Master Slave. Summation Frame Protocol 500 kpbs on rs-485 Bitbus radio broadcast and telecommunication systems building automation Master Slave 300 kbps on rs-485 FireWire Connecting video and audio equiptment in PC-env. Combined Daisy Chain and TDMA 50-400 mbps on  tw. pair. (4.5 m.) IEEE 1394 Fiber Distributed Data Interface (FDDI) all purpose LAN space applications Token ring 100 mbps on fiber optics or tw. pair. (100km, max 2 km betw. stations.) IEEE 802.5 Industrial Ethernet

  12. Transmission Error Control Tilføje ekstra bit til pakker således at der bliver en given mindste afstand (Hamming afstand) mellem lovlige pakker. Fx. Even paritet som giver Hamming afstand på 2.

  13. Transmission Error Control Hamming afstand: dmin = 5. Max antal fejl der kan detekteres: dmin - 1. Max antal fejl der kan rettes: (dmin - 1) / 2.

  14. CRC - Cyclic Redundancy Check IEEE 802.3 CRC-32: x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1 Dvs 10000 0100 - 1100 0001- 0001 1101 - 1011 0111 ARCnet: CRC-16 x^16 + x15 + x ^ 2 + 1 Dvs 11000 0000 - 0000 0101 CAN bus: CRC-CCITT X^16+X^12+X^5+1 Dvs 10001 0000 - 0010 0001

  15. CRC - Cyclic Redundancy Check • List af de mest brugte CRC polynomier • CRC-12: X^12+X^11+X^3+X^2+X+1 • CRC-16: X^16+X^15+X^2+1 • CRC-CCITT: X^16+X^12+X^5+1 • CRC-32: X^32+X^26+X^23+X^22+X^16+X^12+ • X^11+X^10+X^8+X^7+X^5+X^4+X^2+X+1 • The CRC-12 bruges til 6-bits streams. • Både CRC-16 og CCRC-CCITT er for 8 bits streams. • CRC-32 giver ekstra sikkerhed da der generes en 32 bit Checksum. • CRC-32 bruges i fx. (IEEE-802).

  16. CRC - Cyclic Redundancy Check Polynomie: 10011 Data: 1101011011 110000 10011 :1101011011 10011 10011 10011 00001 00000 00010 00000 00101 00000 01011 Remainder Checksum 00000 1011

  17. CRC - Cyclic Redundancy Check Message M=1010001101Pattern P=110101FCS F=1110 (to be calculated)

  18. QoS – Quality of Service Network layer: • Reliability • Delay • Jitter • Bandwidth

  19. QoS – Quality of Service Løsning: • Kapacitet nok. Fx. Telefonsystemet. • Reciver buffer. Øger delay og mininere jitter. • Begrænsning af senderes bithastighed. Minder delay, mindre jitter og mindre Bandwidth.

  20. Bucket algoritmen • En sender buffer. • En cyklisk task der er aktiv hvis der er data i bufferen og sender disse data med en passende lav bidhastighed.

  21. Token Bucket algoritmen • En sender buffer der fyldes med token token/sek. • Senderen sender sine data vha tokens dvs. Nbit pr token fra bufferen.

  22. Application Presentation Session Transport Network Data Link Fysisk Netværkslaget Simpel routing Statisk routes med garanti egenskaber QoS

  23. Application Presentation Session Transport Network Data Link Fysisk Transportlaget Muligøre data overførsel. Tilpasning af QoS faktorerne.

  24. Tilpasning af QoS TCP: Pålidelig, stort jitter og delay. UDP: Upålidelig, mindre jitter og delay. RTP: Upålidelig, ingen jitter og mindre delay.

  25. Application Presentation Session Transport Network Data Link Fysisk API RPC, RMI og CORBA Socket

  26. Socket int sock; sock=socket(<adress family>,<socket type>,<protocol>); bind(sock,<server adress>,<adress length>); listen(sock,<queue size>); newsock=accept(sock,<peer adress>,<adress length>) sock=socket(<adress family>,<socket type>,<protocol>); bind(sock,<server adress>,<adress length>); connect(sock,<server adress>,<adress length>)

  27. RPC

  28. RPC program TSTPROG { version TSTVERS { int TSTSTRING(string) = 1; } =1; } = 0x20000099; int * tststring_1(argp, clnt) char **argp; CLIENT *clnt; { static int clnt_res; memset((char *)&clnt_res, 0, sizeof (clnt_res)); if (clnt_call(clnt, TSTSTRING, (xdrproc_t) xdr_wrapstring, (caddr_t) argp, (xdrproc_t) xdr_int, (caddr_t) &clnt_res, TIMEOUT) != RPC_SUCCESS) { return (NULL); } return (&clnt_res); }

  29. RPC program TSTPROG { version TSTVERS { int TSTSTRING(string) = 1; } =1; } = 0x20000099; #include <stdio.h> #include "rpcprog.h" int * tststring_1(msg) char **msg; { static int result; fprintf(stderr,"strang: %s\n", *msg); result =4; return (&result); }

  30. RPC program TSTPROG { version TSTVERS { int TSTSTRING(string) = 1; } =1; } = 0x20000099; #include <stdio.h> #include "rpcprog.h" main(argc, argv) int argc; char *argv[]; { CLIENT *cl; int *resultat; char *server; char *message; server= argv[1]; message= argv[2]; cl= clnt_create(server,TSTPROG, TSTVERS,"tcp"); resultat= tststring_1(&message,cl); printf("resultat; %d\n",*resultat); }

  31. 1.Write and compile Java code for interfaces 2.Write and compile Java code for implementation classes 3.Generate Stub and Skeleton class files from the implementation classes 4.Write Java code for a remote service host program 5.Develop Java code for RMI client program 6.Install and run RMI system

  32. Interface public interface Calculator extends java.rmi.Remote { public long add(long a, long b) throws java.rmi.RemoteException; public long sub(long a, long b) throws java.rmi.RemoteException; public long mul(long a, long b) throws java.rmi.RemoteException; public long div(long a, long b) throws java.rmi.RemoteException; }

  33. Implementation public class CalculatorImpl extends java.rmi.server.UnicastRemoteObject implements Calculator { public CalculatorImpl() throws java.rmi.RemoteException { super(); } public long add(long a, long b) throws java.rmi.RemoteException { return a + b; } public long sub(long a, long b) throws java.rmi.RemoteException { return a - b; } public long mul(long a, long b) throws java.rmi.RemoteException { return a * b; } public long div(long a, long b) throws java.rmi.RemoteException { return a / b; } }

  34. Client import java.rmi.Naming; import java.rmi.RemoteException; import java.net.MalformedURLException; import java.rmi.NotBoundException; public class CalculatorClient { public static void main(String[] args) { try { Calculator c = (Calculator) Naming.lookup( "rmi://localhost /CalculatorService"); System.out.println( c.sub(4, 3) ); System.out.println( c.add(4, 5) ); } catch (MalformedURLException murle) { System.out.println(murle); } catch (RemoteException re) { System.out.println(re); } catch (NotBoundException nbe) { System.out.println(nbe); } catch (java.lang.ArithmeticException ae) { System.out.println(ae); } } }

  35. Server import java.rmi.Naming; public class CalculatorServer { public CalculatorServer() { try { Calculator c = new CalculatorImpl(); Naming.rebind("rmi://localhost:1099/CalculatorService", c); } catch (Exception e) { System.out.println("Trouble: " + e); } } public static void main(String args[]) { new CalculatorServer(); } }

  36. CORBA

More Related