DCAP | |
---|---|
Navn | Data Link Switching Client Access Protocol |
Niveau (ifølge OSI-modellen ) | Anvendt |
Oprettet i | 1997 |
Port/ID | 1973/ TCP |
Specifikation | RFC 2114 |
DCAP ( Data Link Switching Client Access Protocol ) er en protokol, der bruges mellem arbejdsstationer og routere til at transportere SNA/NetBIOS-trafik over TCP-sessioner.
I store netværk løser DCAP problemet med skalerbarhed ved betydeligt at reducere antallet af netværksknuder, der forbinder til den centrale router. Arbejdsstationerne (DCAP-klienter) og routeren (DCAP-server) danner en hierarkisk struktur, der etablerer en klient/server -relation .
Arbejdsstationerne (DCAP-klienter) og routeren (DCAP-server) etablerer en klient/server-relation. Arbejdsstationer opretter kun forbindelse til DCAP-serveren. Til gengæld har serveren en enkelt peer-to-peer-forbindelse – med den centrale router.
TCP -protokollen bruges til at overføre data mellem serveren og klienten . Der etableres kun én TCP-forbindelse mellem klienten og serveren, som bruges til både læsning og skrivning. En race-tilstand opstår, når både serveren og klienten forsøger at etablere en TCP-session på samme tid. I dette tilfælde vil sessionen blive valgt til kommunikation, hvor initiativtageren har en lavere værdi af IP -adressen; den anden vil blive lukket.
For at etablere en session på klientsiden sender arbejdsstationen en direkte anmodning til serveren via IP-adresse. Anmodningen indeholder MAC-adressen og SAP (Service Access Point) for destinationsværten. Arbejdsstationen kan enten angive sin egen MAC-adresse eller bede serveren om at tildele en. Serverens IP-adresse skal være forhåndsregistreret på arbejdsstationen. Hvis der er angivet flere servere på arbejdsstationen, kan anmodningen sendes til alle. Den første server, der svarer, vil blive valgt til videre arbejde.
For at etablere en session sender serveren en direkte anmodning til arbejdsstationen. For at gøre dette skal serveren kende sin MAC-adresse på forhånd.
Besked | ||
---|---|---|
DCAP-hoved | DCAP-data | Brugerdata |
DCAP Header (Header) - den første blok af meddelelsen - er obligatorisk for alle meddelelser, der sendes mellem DCAP-klienten og serveren. Den har en længde på 4 bytes.
DCAP-
datablok . Blokstrukturen og størrelsen er baseret på den meddelelsestype, der er angivet i overskriften. DCAP-dataene bruges til at behandle meddelelsen. Blokken er valgfri.
Brugerdata - indeholder brugerdata sendt mellem klienter og serveren. Størrelsen af denne blok er variabel. Inkluderet i meddelelsen kun, når der er nødvendige data at sende.
Headeren angiver meddelelsens type og længde.
Byte | DCAP-pakkehoved | ||
---|---|---|---|
0 | Protokol ID | Versionsnummer | |
en | Meddelelsestype | ||
2 | Beskedens længde | ||
3 |
Meddelelsestypen kan have en af følgende værdier (ikke alle mulige værdier er angivet):
Navn | Betyder | Betyder |
---|---|---|
CAN_U_REACH | 0x01 | Angiver om den givne station er tilgængelig |
I_CAN_REACH | 0x02 | Positivt svar på CAN_U_REACH-flaget |
JEG_KAN IKKE_NÅ | 0x03 | Negativt svar på CAN_U_REACH-flag |
START_DL | 0x04 | Opsætning af en session for disse adresser |
DL_STARTED | 0x05 | Vellykket sessionstart |
START_DL_FAILED | 0x06 | Mislykket sessionstart |
XID_FRAME | 0x07 | Ramme XID |
CONTACT_STN | 0x08 | Indstil SABME-tilstand med destination |
STN_CONTACTED | 0x09 | Station tilgængelig - indstil SABME-tilstand |
DATA_FRAME | 0x0A | Send SNA/NetBIOS-datagram uden at etablere en forbindelse |
INFO_FRAME | 0x0B | I-Frame med tilslutning |
HALT_DL | 0x0C | Afslut sessionen |
HALT_DL_NOACK | 0x0D | Afslut session uden at modtage bekræftelse |
DL_HALTED | 0x0E | Sessionen er blevet afsluttet. |
DGRM_FRAME | 0x11 | datagram til skema |
CAP_XCHANGE | 0x12 | Beskedfunktioner. |
CLOSE_PEER_REQUEST | 0x13 | Afbrydelsesanmodning. |
CLOSE_PEER_RESPONSE | 0x14 | Svar på CLOSE_PEER_REQUEST |
PEER_TEST_REQ | 0x1D | Forespørgsel om tilslutningstest |
PEER_TEST_RSP | 0x1E | Tilslutningstestsvar |
Strukturen og størrelsen af blokken afhænger af, hvilken type besked der blev angivet i headeren. Denne blok indeholder ikke brugerdata. Det er vigtigt at bemærke, at de reserverede felter skal sættes til 0 i den besked, der sendes, og den modtagende side skal ignorere disse felter.
Følgende diagram viser rækkefølgen, i hvilken meddelelser udveksles mellem klient og server for normal sessions start og afslutning.