GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
NATM(4) FreeBSD Kernel Interfaces Manual NATM(4)

natm
?ͥ??ƥ??֥⡼?? ATM ?ץ??ȥ?????

BSD ATM ???եȥ??????ϥͥ??ƥ??֥⡼?? ATM ?ץ??ȥ????ؤ??ޤߡ? AAL0 ?? AAL5 ?β??۲??? (?С??????륵?????å?) ?ؤΥ????åȥ??٥??Υ??????????󶡤??ޤ??? ?ܥץ??ȥ????ؤ?ͭ???ˤ????ˤϡ??????ͥ??????ե???????
options NATM
???ä????????ͥ??κƹ??ۤ??ԤäƤ??????? (???κ? “make clean” ??˺?줺?˹ԤäƤ???????)??

NATM ?ؤǤϲ??۲????????ꤹ?뤿???? struct sockaddr_natm ?????Ѥ??ޤ?:
struct sockaddr_natm {
  u_int8_t      snatm_len;              /* Ĺ?? */
  u_int8_t      snatm_family;           /* AF_NATM */
  char          snatm_if[IFNAMSIZ];     /* ???󥿥ե?????̾ */
  u_int16_t     snatm_vci;              /* vci */
  u_int8_t      snatm_vpi;              /* vpi */
};

VPI 0, VCI 201 ?β??۲????? AAL5 ???ͥ??????????????????ˤϼ????ͤˤ??ޤ?:

  struct sockaddr_natm snatm;
  int s, r;
  s = socket(AF_NATM, SOCK_STREAM, PROTO_NATMAAL5);
                       /* ??: PROTO_NATMAAL0 ?? AAL0 ?Ǥ? */
  if (s < 0) { perror("socket"); exit(1); }
  bzero(&snatm, sizeof(snatm));
  snatm.snatm_len = sizeof(snatm);
  snatm.snatm_family = AF_NATM;
  sprintf(snatm.snatm_if, "en0");
  snatm.snatm_vci = 201;
  snatm.snatm_vpi = 0;
  r = connect(s, (struct sockaddr *)&snatm, sizeof(snatm));
  if (r < 0) { perror("connect"); exit(1); }
  /* ?ʾ??? s ?? ATM ????³?????ޤ???! */

socket() ????????ñ????̤??³?? NATM ?????åȤ????????ޤ??? connect() ????????̤??³?? NATM ?????åȤ????۲????˷????դ??? ?ǡ????μ????Τ????ˤ??β??۲?????ͭ???ˤ????褦?ɥ饤?Ф????Τ??ޤ??? connect() ???????μ¹Ը塢???Υ????åȤ??Ф? read() ?ޤ??? write() ?????Ѥ??? ATM ?????Ϥ??Ԥ??ޤ???

????Ū?ˡ?NATM ?ץ??ȥ????ؤ? ???Υ????ƥ????????ƤΥ????ƥ??֤ʲ??۲????Υꥹ?Ȥ? natm_pcbs ???ݻ????Ƥ??ޤ??? ?????ϡ?NATM ?? IP ?????۲??????Ǿ??ͤ??뤳?Ȥ??ɤ??????ˡ? ???λ? IP ?ǻ??????β??????ޤߤޤ???

???۲????Υǡ?????????ͭ???????????ȡ? NATM ?ץ??ȥ????ؤϥץ??ȥ????????֥??å??Υ??ɥ쥹?? ???? “?ϥ??ɥ?” ?Ȥ??ƥɥ饤?Ф??Ϥ??ޤ??? ???ϥǡ????????夹???ȡ? ?ɥ饤?Ф?Ŭ?ڤʼ????ϥ??ɥ??ȶ??˥ǡ??????֤??ޤ??? NATM ?ؤϡ? ?ץ??ȥ????????֥??å??θ????Υ????Хإåɤ??򤱤뤿???ˡ? ???ξ????????Ѥ??ޤ??? ?????ˤ??ꡢATM ?????˥ǡ??????ǥޥ????ץ쥯?????Ƥ??????̤? ???Ѥ??뤳?Ȥ??Ǥ??ޤ???

?桹?ϸ??ߥӥǥ??????Хץ????????Ȥ˼????Ȥ??Ǥ??ꡢ ???ι????ΰ????Ȥ??Ƥ??Υɥ饤?Ф????Ѥ??Ƥ??ޤ??? ?桹?μ긵?ˤϲ桹?κ??????? MMX ?ȸƤФ????ǥХ??????????ޤ??? ?ӥǥ????????? MMX ????³???ơ??ӥǥ????Ϥ? AAL0 ?? ???륹?ȥ꡼???Ȥ????????????뤳?Ȥ??Ǥ??ޤ??? ???????󤳤Υ??ȥ꡼???Ϥ??ʤ?®?? (?ºݤ??????̤Ǥ?!)?? ?ܥɥ饤?Ф??̾??? AAL0 ?ؤν????Ǥ??н??Ǥ??ޤ??? (???????ϡ??????? mbuf ???ȤΥ????򥢥ץꥱ?????????? ?????????褦?Ȼ??ߤ??Ǥ??礦???????????????å??ؤ????μ??? ?ǡ??????ȥ꡼???ν????ˤĤ??Ƥ????ʤ??????狼???ޤ?)?? ?????????????褹?뤿?ᡢ?桹?? “raw” ?⡼?ɤ????????ޤ????? ?????ϡ??????ɤ???????̤?????? AAL0 ?ξ????????礭?ʥǡ????? ?????ޤ??ؤȽ??????ޤ??? ?????å??ؤ????????ʿ????񤤤򤹤뤳??̵???????Υǡ??????ꥢ?륿?????? ?ǥ?????????¸???뤳?Ȥ??Ǥ??ޤ??? ?????ˤ??????Υǡ??????ˤ? RBD (receive buffer descriptors: ?????Хåե????һ?) ?ڤӥ????إå????ޤޤ??Ƥ??ޤ????? ?????ϼ??????߸??˽???ʤ????Фʤ??ޤ????? “raw” ?⡼?ɤ?ͭ?????????ˤϼ????ͤ? ioctl ?????Ѥ??ޤ?:
  int size = 4000; /* bytes */
  ret = ioctl(s, SIOCRAWATM, (caddr_t)&size);

???????Ǥϡ??̾??? 48 ?Х??ȤΤ????ޤ??ǤϤʤ???4000 ?Х??Ȥ? ?????ޤ??? AAL0 ?Υǡ??????????????褦?ɥ饤?Ф??????ޤ??? ???餫?ˤ????Ͼ????ƻ?????ˡ?ǤϤ????ޤ????? ?桹?θ??ߤΥ??ץꥱ?????????ˤ?ɬ?פʤ??ΤǤ??? ???衢Ŭ?????礭?? AAL5 ?Υե졼???ǥӥǥ????󸻤????? ?ǡ??????????Ԥ????뤳?Ȥ????Ԥ??Ƥ??ޤ???

NATM ?ץ??ȥ????Υ??ݡ??Ȥ? ATM ?ץ??ȥ????γ?ȯ?ˤ??? ?ѹ??????䤹???Ǥ??? ?桼???ϸ??ߤμ????ξܺ٤˰?¸?????٤??ǤϤʤ??? ?ष?????????ݡ??Ȥ??줿?????ӥ??˰?¸???٤??Ǥ???

en(4)

1996 ǯ??NetBSD ?ˤ????ơ?Washington University ?? Chuck Cranor ?? NATM ?ץ??ȥ????ؤ? EN ATM ?ɥ饤?Фȶ??˼??????ޤ?????
December 29, 1997 BSD

Search for    or go to Top of page |  Section 4 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.