CD U.S. Government License Proprietary computer software. Valid license from HP required for possession, use or copying. Consiste

Size: px
Start display at page:

Download "CD U.S. Government License Proprietary computer software. Valid license from HP required for possession, use or copying. Consiste"

Transcription

1 HP-UX IPv6 HP-UX 11i v1 HP-UX 11i v2 Manufacturing Part Number : B Printed in U.S.A. Copyright 2003 Hewlett-Packard Development Company L.P.

2 CD U.S. Government License Proprietary computer software. Valid license from HP required for possession, use or copying. Consistent with FAR and , Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Copyright Hewlett-Packard Development Company L.P. All rights reserved. UNIX The Open Group Intel Itanium Intel Corporation 2

3 IPv4 IPv6 HP-UX BSD ( ) Web : (hp-ux) : HP-UX IPv6 Porting Guide (B ) IPv4 IPv6 HP-UX BSD 3

4 1 2 IPv6 3 4 IPv4 IPv6 5 IPv4 IPv6 6 7 IP IPv IPv6 ioctl() 14 IPv6 15 / A IPv4 IPv6 4

5 HP-UX HP-UX 11i uname (1) -r HP-UX 11i 1 HP-UX 11i B HP-UX 11i v2 Intel Itanium B HP-UX 11i v1.6 Intel Itanium B HP-UX 11i v1.5 Intel Itanium B HP-UX 11i v1 PA-RISC HP-UX IPv6 Web docs.hp.com [networking and communications] [IPv6] HP-UX IPv6 Transport Administrator s Guide (TOUR 1.0) HP-UX IPv6 Transport Administrator s Guide (HP-UX 11i v2) RFC 2553 Basic Socket Interface Extensions for IPv6 IETF (Internet Engineering Task Force) RFC 5

6 6

7 1 IPv4 IPv6 1 7

8 IPv6 IPv6 5 (IP) 20 IP 4 (IPv4) 1980 IPv (IPv6) IPv4 HP-UX IPv6 HP-UX IPv6 Transport Administrator s Guide (TOUR 1.0) HP-UX IPv6 Transport Administrator s Guide (HP-UX 11i v2) IPv4 IPv6 HP-UX BSD IPv4? IPv4 IPv6 8 1

9 IPv6 IPv4? IPv6 IPv4? IPv6 IPv6 IPv4 IPv6 IPv6 2 IPv4 IPv6 IPv4 IPv6 IPv6 IPv4 IPv6 IPv4 IPv6 IPv6 1 9

10 IP IPv6 IP IP (IPv4 IPv6 ) IP 2PPP ATM IP IPv4 IPv6 IP (DNS) /etc/hosts ( ) IPv6 IPv4 IPv6 32 IPv4 128 IPv6 IPv4 IPv4 IPv4 IPv6 IPv6 IPv6 IPv6 IPv4 IPv4/IPv6 IPv4 IPv6 IPv6 IPv4 IPv6 IPv4/IPv6 IPv6 IPv6 IPv4 IPv4/IPv6 IPv4 IPv4 10 1

11 2 IPv6 IPv6 2 11

12 IPv6 IPv6 IPv6 IPv6 1 ( ) ( ) 3 IPv6 1 IPv6 IPv6 ISP IPv6 IPv6 IPv6 1 IPv4 IPv6 IPv4 IPv6 IPv6 IPv6 32 IPv4 2 IPv6 12 2

13 IPv6 IPv6 IPv4 IPv6 IPv6 IPv4/IPv6 IPv4 IPv6 IPv4 IPv6 IPv6 2-1 IPv4 IPv4 IPv6 IPv6 IPv6 IPv6 IPv4 IPv4 IPv6 IPv4/IPv6 IPv6 IPv4 IPv4 IPv6 IPv6 IPv4 IPv6 IPv6 32 IPv4 2-2 IPv4 2 13

14 IPv6 IPv4 IPv6 IPv4 IPv6 IPv : IPv (:) : 8888:7777:6666:5555:4444:3333:2222:1111 : 0008:0007:0006:0005:0004:0003:0002:0001 8:7:6:5:4:3:2:1 0 : 0008:0000:0000:0000:0000:0003:0002:0001 8::3:2:1 1 IP

15 IPv6 IPv4 IPv6 IPv4 IPv4 IPv6 10 IPv4 IPv4 IPv4 32 IPv IPv4 IPv6 :: ::0a09:0807 ::0a09:0807 IPv4 0 :: IPv6 CIDR (Classless Internet Domain Registry) IPv6 (<IPv6 addr> / <prefix>) : 8:7:6:5:4:3:2:1/

16 IPv6 IPv6 IPv ID ID ID IPv6 IP IPv6 IPv6 0:0:0:0:0:0:0:1 ( ::1) 16 2

17 IPv6 IPv6 LAN IPv6 IPv6 IPv4 2 17

18 IPv6 IPv6 2-7 ( ) FF02::1 ( ) FF02::2 ( ) FF02::9 RIPng (Routing Information Protocol next generation) ( ) IPv6 IPv4 IP bind() INADDR_ANY IPv6 IPv6 (struct in6_addr) IPv6 IPv6 IPv6 2 struct in6_addr IN6ADDR_ANY_INIT 18 2

19 IPv6 IPv6 struct in6_addr anyaddr = IN6ADDR_ANY_INIT; in6_addr in6addr_any <netinet/in.h> extern const struct in6_addr in6addr_any; struct sockaddr_in6 sin6;... sin6.sin6_addr = in6addr_any; /* structure assignment */... if (bind(s, (struct sockaddr *) &sin6, sizeof(sin6)) == -1) IPv6 IPv4 INADDR_LOOPBACK IPv6 <netinet/in.h> in6_addr <netinet/in.h> sin6.sin6_addr = in6addr_loopback; /* structure assignment */ IN6ADDR_LOOPBACK_INIT <netinet/in.h> sockaddr_in6 struct in6_addr loopbackaddr = IN6ADDR_LOOPBACK_INIT IPv4 IPv4 INADDR_* IPv6 IN6ADDR_* in6addr* 2 19

20 IPv6 IPv6 20 2

21 3 3 21

22 IP IP <netinet/in.h> IPv4 struct in_addr { unsigned int s_addr ; /* 32-bit IPv4*/ }; IPv6 struct in6_addr { uint8_t s6_addr[16]; } /* array of 16 8-bit elements = one 128-bit IPv6 address */ 22 3

23 4.3BSD HP-UX 4.3BSD HP-UX <netinet/in.h> IPv4 struct sockaddr_in { short sin_family; /*AF_INET */ u_short sin_port; /* transport layer port number */ struct in_addr sin_addr; /* IPv4 */ char sin_zero[8]; /* Unused */ }; IPv6 struct sockaddr_in6 { sa_family_t sin6_family; /*AF_INET6 */ in_port_t sin6_port; /* transport layer port number.* / uint32_t sin6_flowinfo; /* traffic class */ struct in6_addr sin6_addr; /* IPv6*/ uint32_t sin6_scope_id; /* Address scope */ }: 3 23

24 <netinet/in.h> struct sockaddr_storage sockaddr_storage API struct sockaddr_storage sockaddr_storage 24 3

25 4 IPv4 IPv6 HP-UX IPv4/IPv6 2 IPv4/IPv6 : IPv4 IPv6 IPv4 2 IPv6 4 25

26 IPv4 IPv6 IPv4/IPv6 IPv4/IPv6 HP-UX IPv6 IPv4/IPv6 IPv4 IPv4 IPv4 4-1 IPv4/IPv6 TCP UDP IPv6 IPv4 Ethernet FDDI 26 4

27 5 IPv4 IPv6 IPv4 IPv6 5 27

28 IPv4 IPv6 AF_INET IPv4 UDP AF_INET IPv4 UDP gethostbyname() host1 2. host1 gethostbyname() IPv socket() IPv4 AF_INET send() 5. send UDP/IP 6. UDP/IP IPv4 IPv4 28 5

29 IPv4 IPv6 AF_INET6 IPv4 UDP AF_INET6 IPv4 UDP AF_INET6 IPv6 IPv4 IPv4 gethostbyname() IPv6 POSIX getaddrinfo() IPv4 AF_INET6 IPv4 IPv6 ( ::FFFF: ) sockaddr_in6 AF_INET6 IPv getaddrinfo() (host2) AF_INET6 (hint) IPv6 AI_V4MAPPED (hint) host2 IPv6 IPv4 IPv4 IPv6 IPv4 hint getaddrinfo(3n) 5 29

30 IPv4 IPv6 AF_INET6 IPv4 UDP 2. host2 IPv getaddrinfo() AI_V4MAPPED IPv4 ::FFFF: socket() IPv6 AF_INET6 5. ::FFFF: sendto() 6. sendto IPv4 IPv6 UDP/IP 7. UDP/IP a. IPv4 IPv6 b IPv4 c. IPv4 30 5

31 IPv4 IPv6 AF_INET6 IPv4 AF_INET6 IPv4 AF_INET6 IPv6 IPv4 TCP IPv6 IPv4 IPv4 IPv6 IPv6 IPv4 IPv IPv4 2. type type 86DD IPv6 type 0800 IPv4 5 31

32 IPv4 IPv6 AF_INET6 IPv4 type 0800 IPv4 IPv4/IP IPv4/IP IPv4 IPv6 (::FFFF: ) 3. accept() IPv6 4. getnameinfo() IP ::FFFF: getnameinfo(3n) 5. hosts getnameinfo() 32 5

33 IPv4 IPv6 IPv6 AF_INET6 IPv6 AF_INET6 IPv6 AF_INET6 IPv4 IPv6 IPv6 ( 2fee:1212::200:2bff:fe2d:0c2c) sockaddr_in6 AF_INET6 AF_INET6 IPv

34 IPv4 IPv6 IPv6 AF_INET6 1. getaddrinfo() (host6) IPv6 AF_INET6 (hint) AI_DEFAULT (hint) hint host6 IPv6 hint getaddrinfo(3n) 2. host6 IPv6 getaddrinfo IPv6 2fee:1212::200:2bff:fe2d:0c2c 3. AF_INET6 4. 2fee:1212::200:2bff:fe2d:0c2c 5. UDP 6. UDP IPv6 2fee:1212::200:2bff:fe2d:0c2c IPv6 34 5

35 6 gethostbyname() IPv4 IPv6 IPv4 IP IPv6 2 getaddrinfo() getipnodebyname() 6 35

36 getaddrinfo(3n) getaddrinfo(3n) getaddrinfo() POSIX g Draft 6.6 (1997) getaddrinfo(3n) getaddrinfo(const char *nodename, const char *servname, const struct addrinfo *hints, struct addrinfo **res); *nodename *servname *hints **res IPv4 10 IPv6 16 NULL (ftp ) (21 ) NULL *nodename *servname addrinfo NULL addrinfo hints addrinfo hints addrinfo struct addrinfo { int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST, * See RFC 2553 for more details*/ int ai_family; /* PF_xxx */ int ai_socktype; /* SOCK_xxx */ int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */ size_t ai_addrlen; /* length of ai_addr */ char *ai_canonname; /* canonical name for nodename */ struct sockaddr *ai_addr; /* binary address */ struct addrinfo *ai_next; /* next structure in linked list */ }; 36 6

37 getaddrinfo(3n) hint ai_flags ai_family ai_socktype ai_protocol addrinfo

38 getipnodebyname(3n) getipnodebyname(3n) getipnodebyname() IPv4/IPv6 HP-UX 11i v2 getipnodebyname() (OBSOLESCENCE) HP-UX getaddrinfo() Host_ptr=getipnodebyname(const char *name, int addr_family, int flags, int *error_num); *name addr_family flags *error_num Host_ptr IPv4 10 IPv6 16 addr_family AF_INET (IPv4) AF_INET6 (IPv6) IPv6 IPv6 IPv4 IP 1 getipnodebyname() getipnodebyname() hostent name IP 1 hostent char *h_name (name) ( ) char **h_alias 38 6

39 getipnodebyname(3n) int h_addrtype int h_length (name) hostent IPv4 AF_INET IPv6 AF_INET6 char **h_addr_list[0] name IP 4 (IPv4) 16 (IPv6) IPv4 IPv6 6 39

40 getipnodebyname(3n) 40 6

41 7 IP gethostbyaddr() IPv4 IPv6 IPv4 2 getnameinfo(3n) getipnodebyaddr(3n) 7 41

42 IP getnameinfo(3n) getnameinfo(3n) getnameinfo() #include <sys/socket.h> #include <netdb.h> int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags); getnameinfo() getnameinfo() getaddrinfo() *sa sockelen_t *host hostlen *serv servlen flags sa ( ) getnameinfo() IP host NULL hostlen 0 host IP host serv NULL host getnameinfo() serv NULL servlen 0 serv serv flags NI_NOFQDN 42 7

43 IP getnameinfo(3n) getnameinfo() (FQDN) NI_NUMERICHOST NI_NAMEREQD getnameinfo() getnameinfo() NI_NUMERICSERV getnameinfo() NI_NUMERICSCOPE NI_DGRAM getnameinfo() ID sa IPv6 (SOCK_DGRAM) (SOCK_STREAM) ( ) TCP UDP 7 43

44 IP getipnodebyaddr(3n) getipnodebyaddr(3n) IPv6 getipnodebyaddr() IPv4 gethostbyaddr() HP-UX 11i v2 getipnodebyaddr() (OBSOLESCENCE) HP-UX getnameinfo() #include <sys/socket.h> #include <netdb.h> name_ptr =getipnodebyaddr(const void *src, size_t len,int af, int *error_num); *src len af *error_num name_ptr IP IP AF_INET 4 AF_INET6 16 AF_INET AF_INET6 hostent struct hostent { char *h_name; /* Canonical name of host name such as grace.hp.com*/ char **h_alias; /* Pointer to an array of pointers to alias names */ int h_addrtype; /* AF_INET (for IPv4 addresses)af_inet6 (for IPv6)*/ 44 7

45 IP getipnodebyaddr(3n) int h_length; /* 4 octets (IPv6) or 16 octets (IPv6) */ char **h_addr_list[0]; /* Pointer to an array of pointers to IPv4 */ } /* addresses or IPv6 addresses */ getipnodebyaddr() IPv4 IPv6 af AF_INET6 len 16 IPv6 IPv4 IPv4 IPv6 1. IPv af AF_INET 3. len 4 af AF_INET IPv4 in-addr.arpa PTR af AF_INET6 IPv6 ip6.int PTR hostent name_ptr *src af error_num 7 45

46 IP getipnodebyaddr(3n) 46 7

47 8 IPv6 getipnodebyaddr() getipnodebyname() getaddrinfo() getnameinfo() gai_strerror() 8 47

48 #include <netdb.h> char *gai_strerror(int ecode); ecode RFC 2553 Basic Socket Extensions for IPv6 (IPv6 ) EAI_xxx ecode EAI_xxx 48 8

49 9 IPv6 4 IPv

50 getaddrinfo() getnameinfo() getaddrinfo() getnameinfo() freeaddrinfo() getaddrinfo() getnameinfo() 1 addrinfo #include <netdb.h> void freeaddrinfo(struct addrinfo *ai); *ai addrinfo getipnodebyaddr() getipnodebyname() freehostent() getipnodebyaddr() getipnodebynameinfo() 1 hostent void freehostent(struct hostent *ptr); *ptr hostent 50 9

51 10 IPv4 IPv4 inet_aton() inet_addr() 10 ( ) 32 inet_ntoa() ( ) 2 IPv6 IPv4 IPv

52 void inet_pton(int addr_family, const char *strptr, void *addrptr) inet_pton() addrptr strptr IP (presentation) (numeric) inet_ntop(int family, const void *addrptr, char *strptr, site_t len) inet_ntop() IP len <netinet/in.h> 2 IPv4 IPv6 #define INET_ADDRSTRLEN 16 /* for IPv4 dotted-decimal */ #define INET6_ADDRSTRLEN 46 /* for IPv6 hex string */ 52 10

53 11 IPv6 IPv6 7 true false 5 true false IN6_IS_ADDR_LINKLOCAL IN6_IS_ADDR_SITELOCAL IPv6 true 2 IPv6 true int IN6_IS_ADDR_UNSPECIFIED (const struct in6_addr *); int IN6_IS_ADDR_LOOPBACK (const struct in6_addr *); int IN6_IS_ADDR_MULTICAST (const struct in6_addr *); int IN6_IS_ADDR_LINKLOCAL (const struct in6_addr *); int IN6_IS_ADDR_SITELOCAL (const struct in6_addr *); int IN6_IS_ADDR_V4MAPPED (const struct in6_addr *); int IN6_IS_ADDR_V4COMPAT (const struct in6_addr *); IPv6 int IN6_IS_ADDR_MC_NODELOCAL(const struct in6_addr *); int IN6_IS_ADDR_MC_LINKLOCAL(const struct in6_addr *); int IN6_IS_ADDR_MC_SITELOCAL(const struct in6_addr *); int IN6_IS_ADDR_MC_ORGLOCAL (const struct in6_addr *); int IN6_IS_ADDR_MC_GLOBAL (const struct in6_addr *); 11 53

54 IPv

55 12 IPv6 API ( ) lan0 HP-UX ( ) 1 API 2 if_nametoindex() if_indextoname() if_nameindex() if_freenameindex() 12 55

56 #include <net/if.h> unsigned int if_nametoindex(const char *ifname); 0 errno ENXIO ( ) 0 errno (ENOMEM ) #include <net/if.h> char *if_indextoname(unsigned int ifindex, char *ifname); ifname IF_NAMESIZE ifname (IF_NAMESIZE <net/if.h> NULL ) if_indextoname NULL errno ENXIO ( ) if_indextoname() NULL errno (ENOMEM ) 56 12

57 if_nameindex 1 <net/if.h> struct if_nameindex { unsigned int if_index; /* 1, 2,... */ char *if_name; /* null terminated name: "le0",.. */ }; if_nameindex 1 struct if_nameindex *if_nameindex(void); if_nameindex if_index 0 if_name NULL NULL errno if_nameindex() if_nameindex if_name if_freenameindex() if_freenameindex() if_nameindex() #include <net/if.h> void if_freenameindex(struct if_nameindex *ptr); ptr if_nameindex() 12 57

58 58 12

59 13 IPv6 ioctl() IPv4 /usr/include/sys/ioctl.h SIOCGIFCONF SIOCGIFADDR SIOCGIFFLAGS ioctl() IPv4 SIOC* ioctl() SIOC* ioctl() 1 struct ifreq (/usr/include/net/if.h ) IPv4 ifreq IPv6 IPv4 SIOC* IPv6 IPv6 ioctl() SIOCSL* SIOCGL* ioctl() name IPv6 ioctl() IPv4 ioctl() IPv6 SIOCSL* SIOCGL* ioctl() IPv4 IPv6 IPv4 ioctl() /usr/include/sys/ioctl.h IPv6 IPv6 IPv4 SIOC* ioctl() IPv4 struct ifreq IPv6 IPv6 ioctl() struct if_laddrreq struct if_laddrconf IPv6 IPv4 ioctl() /usr/include/net/if.h 13 59

60 IPv6 ioctl() 60 13

61 14 IPv6 HP-UX IPv6 /dev/ip6 IPv6 API IPv6 /dev/ip6 IPv4 API if ((fd = open("dev/ip6", O_RDWR)) == -1) /* * /dev/ip6 failed to open., Therefore the IPv6 product * is not installed on the system. An application should use the * existing IPv4 code. */... else /* * dev/ip6 exists, so the IPv6 product is probably installed. * IPv6 APIs can handle both IPv4 and IPv6 traffic */ HP-UX 11i v2 IPv6 HP-UX 14 61

62 IPv

63 15 / HP-UX 11i v2 /usr/lib/demos/networking/socket IPv4 / example /etc/services example example /etc/services example 15 63

64 / IPv4 TCP IPv4 TCP HP-UX /usr/lib/demos/networking/socket IPv4 example /etc/services example example /etc/services example struct sockaddr_in peeraddr_in; /* for peer socket address */ memset ((char *)&peeraddr_in, 0, sizeof(struct sockaddr_in)); hp = gethostbyname (argv[1]); if (hp == NULL) { fprintf(stderr, "%s: %s not found in /etc/hosts\n", argv[0], argv[1]); exit(1); } peeraddr_in.sin_addr.s_addr = ((struct in_addr *)(hp->h_addr))->s_addr; /* Find the information for the "example" server * in order to get the needed port number. */ sp = getservbyname ("example", "tcp"); if (sp == NULL) { fprintf(stderr, "%s: example not found in /etc/services\n argv[0]); exit(1); } peeraddr_in.sin_port = sp->s_port; /* Create the socket. */ s = socket (AF_INET, SOCK_STREAM, 0); if (s == -1) { perror(argv[0]); fprintf(stderr, "%s: unable to create socket\n", argv[0]); exit(1); } /* Try to connect to the remote server at the address put in peeraddr. */ if (connect(s, &peeraddr_in, sizeof(struct sockaddr_in)) == -1{ 64 15

65 / IPv4 TCP } perror(argv[0]); fprintf(stderr, "%s: unable to connect to remote\n", argv[0]); exit(1); 15 65

66 / getipnodebyname() IPv6 TCP getipnodebyname() IPv6 TCP HP-UX 11i v2 /usr/lib/demos/networking/socket/af_inet6 IPv6 getipnodebyname() struct sockaddr_in6 peeraddr_in6; /* for peer socket address */ memset ((char *)&peeraddr_in6, 0, sizeof(struct sockaddr_in6)); hp = getipnodebyname (argv[1], AF_INET6, AI_DEFAULT, &error); if (hp == NULL) { fprintf(stderr, "%s: %s not found in /etc/hosts\n", argv[0], argv[1]); exit(1); } peeraddr_in6.sin6_family = hp->h_addrtype; memcpy(&peeraddr_in6.sin6_addr, hp->h_addr, hp->h_length); /* Find the information for the "example" server * in order to get the needed port number. */ sp = getservbyname ("example", "tcp"); if (sp == NULL) { fprintf(stderr, "%s: example not found in /etc/services\n", argv[0]); exit(1); } peeraddr_in6.sin6_port = sp->s_port; /* Create the socket. */ s = socket (AF_INET6, SOCK_STREAM, 0); if (s == -1) { perror(argv[0]); fprintf(stderr, "%s: unable to create socket\n", argv[0]); exit(1); } /* Try to connect to the remote server at the address * which was just built into peeraddr. */ if (connect(s, &peeraddr_in6, sizeof(peeraddr_in6)) == -1) { perror(argv[0]); fprintf(stderr, "%s: unable to connect to remote\n", argv[0]); exit(1); } 66 15

67 / / getaddrinfo() IPv6 TCP / getaddrinfo() IPv6 TCP IPv6 TCP IPv6 gethostbyname() getaddrinfo() struct addrinfo *res, *ainfo; struct addrinfo hints; /* clear out hints */ memset ((char *)&hints, 0, sizeof(hints)); hints.ai_socktype = SOCK_STREAM; error = getaddrinfo(argv[1], "example", &hints, &res); if (error!= 0) { fprintf(stderr, "%s: %s not found in name service database\n", argv[0], argv[1]); exit(1); } for (ainfo = res; ainfo!= NULL; ainfo = ainfo->ai_next) { /* Create the socket. */ s = socket (ainfo->ai_family,ainfo->ai_socktype, ainfo->ai_protocol); if (s == -1) { perror(argv[0]); fprintf(stderr, "%s: unable to create socket\n", argv[0]); freeaddrinfo(res); exit(1); } if (connect(s, ainfo->ai_addr, ainfo->ai_addrlen) == -1) { perror(argv[0]); fprintf(stderr, "%s: unable to connect to remote\n", argv[0]); close(s); continue; } else break; } 15 67

68 / IPv4 TCP IPv4 TCP HP-UX 11i v2 /usr/lib/demos/networking/socket IPv4 struct sockaddr_in6 peeraddr_in6; /* for peer socket address */ sp = getservbyname ("example", "tcp"); if (sp == NULL) { fprintf(stderr, "%s: example not found in /etc/services\n",argv[0]); exit(1); } myaddr_in.sin_port = sp->s_port; /* Create the listen socket. */ ls = socket (AF_INET, SOCK_STREAM, 0); if (ls == -1) { perror(argv[0]); fprintf(stderr, "%s: unable to create socket\n", argv[0]); exit(1); } /* Bind the listen address to the socket. */ if (bind(ls, &myaddr_in, sizeof(struct sockaddr_in)) == -1) { perror(argv[0]); fprintf(stderr, "%s: unable to bind address\n", argv[0]); exit(1); } /* Initiate the listen on the socket so remote users * can connect. The listen backlog is set to 5, which * is within the supported range of 1 to 20. */ if (listen(ls, 5) == -1) { perror(argv[0]); fprintf(stderr, "%s: unable to listen on socket\n", argv[0]); exit(1); } 68 15

69 / getaddrinfo() IPv6 TCP getaddrinfo() IPv6 TCP HP-UX 11i v2 /usr/lib/demos/networking/socket/af_inet6 IPv6 getaddrinfo() struct addrinfo *ainfo, *res; struct addrinfo hints; /* zero-out the hints before assignment */ memset (&hints, 0, sizeof(hints)); hints.ai_family = AF_INET6; hints.ai_flags = AI_PASSIVE; hints.ai_socktype = SOCK_STREAM; error = getaddrinfo(null, "example", &hints, &res); if (error!= 0) { fprintf(stderr, "%s: %s for service 'example'\n", argv[0], gai_strerror(error)); exit(1); } /* Create the listen socket. */ ls = socket (res->ai_family, res->ai_socktype, res->ai_protocol); if (ls == -1) { perror(argv[0]); fprintf(stderr, "%s: unable to create socket\n", argv[0]); exit(1); } /* Bind the listen address to the socket. */ if (bind(ls, res->ai_addr, res->ai_addrlen) == -1) { perror(argv[0]); fprintf(stderr, "%s: unable to bind address\n", argv[0]); close(ls); exit(1); } /* Initiate the listen on the socket so remote users * can connect. The listen backlog is set to 5, which * is within the supported range of 1 to 20. */ if (listen(ls, 5) == -1) { perror(argv[0]); 15 69

70 / getaddrinfo() IPv6 TCP } fprintf(stderr, "%s: unable to listen on socket\n", argv[0]); close(ls); exit(1); 70 15

71 A IPv4 IPv6 IPv6 A 71

72 IPv4 IPv6 IPv4? IPv4? IPv4 IPv6 72 A

73 IPv4 IPv6 : : IPv6 A-1 AF_INET PF_INET AF_INET6 PF_INET6 sockaddr_in u_short sin_family in_port_t sin_port sin_addr struct in_addr sockaddr_in6 short u_short uint32_t struct in6_addr uint32_t sin6_family; sin6_port; sin6_flowinfo; sin6_addr; sin6_scope_id ifreq ifconf struct if_laddrreq struct if_laddrconf gethostbyname() gethostbyaddr() inet_ntoa() inet_addr() inet_aton() getaddrinfo() getipnodebyname() freeaddrinfo() getipnodebyaddr() getnameinfo() freeaddrinfo() inet_ntop() inet_pton() A 73

74 IPv4 IPv6 : sizeof(struct sockaddr_in) = sizeof(struct sockaddr) = 16 IPv6 sockaddr_in6 sockaddr_in IPv4 A-2 IPv4 IPv4 IPv6 IN_CLASSA IN_CLASSB IN_CLASSC IN_CLASSD IPv6 A-3 IPv4 IPv6 INADDR_LOOPBACK in6addr_loopback in6adr_loopback in6_addr A-4 IPv4 IPv6 INADDR_ANY in6addr_any in6addr_any in6_addr 74 A

75 IPv4 IPv6 : A-5 IPv4 IPv6 IP_DEFAULT_MULTICAST_LOOP IP_DEFAULT_MULTICAST_TTL IPV6_DEFAULT_MULTICAST_LOOP IPV6_DEFAULT_MULTICAST_HOPS IPv6 A-6 IPv6 IPv4 IPv6 IP_MULTICAST_IF IP_MULTCAST_TTL IP_MULTICAST_LOOP IP_ADD_MEMBERSHIP IP_DROP_MEMBERSHIP IPV6_MULTICAST_IF IPV6_MULTCAST_HOPS IPV6_MULTICAST_LOOP IPV6_JOIN_GROUP IPV6_LEAVE_GROUP getsockopt() setsockopt() level IPV6_* IPPROTO_IPV6 A 75

76 IPv4 IPv6 : IP A-7 IP IP_OPTIONS IPV6_PKTOPTIONS IP_RECVDSTADDR IP_RECVIF IP_TTL ip_mreq IPV6_DESTOPTS IPV6_HOPLIMIT IPV6_HOPOPTS IPV6_NEXTHOP IPV6_PKTINFO IPV6_PKTINFO IPV6_PKTINFO IPV6_RTHDR IPv6_UNICAST_HOPS ipv6_ip_optionsmreq IP IPV6_PKTOPTIONS 7 1 setsockopt() A-8 IP_TOS IETF IPng 76 A

77 IPv4 IPv6 : IP IPv6 A-9 IP IPv6 IPv4 IPv6 struct in_addr imr_multicast struct in6_addr ipv6mr_multiaddr struct in_addr imr_interface uint32 ipv6mr_interface IPv4: IP IPv6: A 77

78 IPv4 IPv6 : 78 A

BSDソケットによるIPv6プログラミングを紐解く

BSDソケットによるIPv6プログラミングを紐解く BSD Socket による IPv6 プログラミングを 紐解く 株式会社リコー研究開発本部基盤技術開発センター大平浩貴 ( おおひらこうき ) 1 自己紹介 1999 年頃から IPv6 にかかわる IETF 行ったり 端末 OS 触ったり 複合機のネットワークを触ったり IPsecやったり プログラミングはあまり得意ではないけど 2 今回の説明の概要 通信プログラムの基本 BSD Socket

More information

/*

/* アプリケーションの IPv6 対応ガイドライン 基礎編添付資料 アプリケーションの IPv6 化例示プログラム集 IPv6 普及 高度化推進協議会 IPv4/IPv6 共存 WG アプリケーションの IPv6 対応検討 SWG 2012 年 12 月 3 日 本文書について本文書は IPv6 普及 高度化推進協議会 IPv4/IPv6 共存 WG アプリケーションの IPv6 対応検討 SWG で編集した文書である

More information

情報ネットワーク演習 2007 年 10 月 11 日 ( 木 )

情報ネットワーク演習 2007 年 10 月 11 日 ( 木 ) 情報ネットワーク演習 2007 年 10 月 11 日 ( 木 ) 本日の内容 課題 5 HTTP クライアントハイパーテキストへのアクセス 課題 4 HTTP サーバのビルド 課題 3 ソケットを用いたプロセス間通信 課題 1 低水準入出力 課題 2 名前解決 ( ホスト名 IP アドレス ) 2 第 2 回課題 実施内容と意図 IP アドレスとホスト名の相互変換をするプログラムを拡張する. この課題を通じて,IPv4

More information

オペレーティングシステムとネットワークプログラミング 担当 : 吉藤英明 yoshfuji+camp2008 AT wide.ad.jp セキュリティ & プログラミングキャンプ /08 OS プロトコルスタック (C)2008 YOSHIFUJI Hideaki,

オペレーティングシステムとネットワークプログラミング 担当 : 吉藤英明   yoshfuji+camp2008 AT wide.ad.jp セキュリティ & プログラミングキャンプ /08 OS プロトコルスタック (C)2008 YOSHIFUJI Hideaki, オペレーティングシステムとネットワークプログラミング 担当 : 吉藤英明 E-Mail: yoshfuji+camp2008 AT wide.ad.jp 1 アウトライン 自己紹介 組織化と抽象化 人 プログラム 行為 通信と標準化 オープンシステム TCP/IP ソケット API( 実習 ) 2 自己紹介 1974 年東京生まれ 博士 ( 情報理工学 ) ( 東京大学 ) 慶應義塾大学大学院政策

More information

TCP UDP TCP UDP send()sendto()sendmsg() recv()recvfrom()recvmsg() OS Passive Active TCP UDP IP TCP UDP MTAMail Transf

TCP UDP TCP UDP send()sendto()sendmsg() recv()recvfrom()recvmsg() OS Passive Active TCP UDP IP TCP UDP MTAMail Transf 3 -- 7 2011 2 TCPUDP APIApplication Programming Interface BSD UNIX C System V UNIX XTIX /Open Transport Interface XTI TCP/IP ISO OSI XTI TCP/IP OSI TCP UDP API API API API UNIX Windows 7-1 TCP UDP 7-2

More information

Microsoft PowerPoint pptx

Microsoft PowerPoint pptx 情報ネットワーク演習 2009 年 10 月 8 日 ( 木 ) 本日の内容 課題 5 HTTPクライアントハイパーテキストへのアクセス 課題 4 HTTP サーバのビルド 課題 3 ソケットを用いたプロセス間通信 課題 1 低水準入出力 課題 2 名前解決 ( ホスト名 IPアドレス ) 2 第 2 回課題 実施内容と意図 IPアドレスとホスト名の相互変換をするプログラムを拡張する. この課題を通じて,IPv4における名前解決の方法,

More information

<4D F736F F F696E74202D D54352D6B61746F2D D B82C988CB91B682B582C882A2835C D834F E F205B8CDD8AB B83685D>

<4D F736F F F696E74202D D54352D6B61746F2D D B82C988CB91B682B582C882A2835C D834F E F205B8CDD8AB B83685D> Internet Week 2011 チュートリアル T5 IPv4 アドレス枯渇時代のアプリケーション開発 プロトコル非依存の ソケットプログラミングの基礎 NTTサービスインテグレーション基盤研究所加藤淳也 2011 年 12 月 1 日 1 2011 NTT Service Integration Laboratories アウトライン 1. 本チュートリアルの目的 2. プロトコルに依存しないアプリケーション

More information

tp2ps output file

tp2ps output file IPv6 6bone Kazu@Mew.org IPv6 - IPsec - 6bone - IPv6 IETF IPng - http://playground.sun.com/pub/ipng/html/ipng-main.html - Bay Networks Cisco 3Com & - - WIDE INRIA - NRL UNH etc... IP - 1 1B B - C - CIDR

More information

v6prog-05.ppt

v6prog-05.ppt Socket を使用した IPv6 プログラミング の基礎 IPv6 普及 高度化推進協議会 IPv6/IPv4 共存 WG アプリ IPv6 化検討 SWG メンバー 株式会社リコー研究開発本部基盤技術開発センター大平浩貴 ( おおひらこうき ) 1 IPv6 とその必要性 1990 年代よりインターネットが流行した IP が多数使われるようになった IP を使う端末が増えた IP アドレスの枯渇

More information

untitled

untitled RPC (( Remote Procedure Call (RPC: Message-Oriented Middleware (MOM) data-streaming =(protocol) A B A B Connection protocol = connection oriented protocol TCP (Transmission Control Protocol) connectionless

More information

(Microsoft PowerPoint - IPv6_summit_r2.ppt [\214\335\212\267\203\202\201[\203h])

(Microsoft PowerPoint - IPv6_summit_r2.ppt [\214\335\212\267\203\202\201[\203h]) IPv6 アプリケーションサービスの作り方 IPv6 普及 高度化推進協議会アプリケーションの IPv6 対応検討 SWG エヌ ティ ティ ソフトウェア株式会社高宮紀明 Asterisk は米国 Digium 社の登録商標または商標です そのほかの記載の会社名 製品名は それぞれの会社の商標もしくは登録商標です 2 IPv6 とその必要性 1990 年代よりインターネットが流行した IP が多数使われるようになった

More information

AsteriskのIPv6対応について

AsteriskのIPv6対応について Asterisk の IPv6 対応について エヌ ティ ティ ソフトウェア株式会社高宮紀明 Asterisk は米国 Digium 社の登録商標または商標です そのほかの記載の会社名 製品名は それぞれの会社の商標もしくは登録商標です 2 自己紹介 1999 年より IPv6 にかかわり始める 2000 年 IPv6 対応ルータを販売 第一回 TAHI プロジェクト相互接続試験に参加 USAGI

More information

IPv6 普及 高度化推進協議会 IPv6/IPv4 共存 WG アプリケーションの IPv6 対応検討 SWG 2011 年 9 月に発足 IPv6 移行ガイドライン策定 IPv6 Ready ロゴプログラム Web アプリケーションガイドライン策定基盤となる Socket プログラミングの IP

IPv6 普及 高度化推進協議会 IPv6/IPv4 共存 WG アプリケーションの IPv6 対応検討 SWG 2011 年 9 月に発足 IPv6 移行ガイドライン策定 IPv6 Ready ロゴプログラム Web アプリケーションガイドライン策定基盤となる Socket プログラミングの IP IPv6 アプリケーション / プログラムの 注意点 Socket を使用した IPv6 プログラミングの基礎から IPv6 普及 高度化推進協議会 IPv6/IPv4 共存 WG アプリ IPv6 化検討 SWG メンバー Ruri Hiromi 1 IPv6 普及 高度化推進協議会 IPv6/IPv4 共存 WG アプリケーションの IPv6 対応検討 SWG 2011 年 9 月に発足 IPv6

More information

システムインテグレータにおけるIPv4アドレス在庫枯渇に向けた取り組み

システムインテグレータにおけるIPv4アドレス在庫枯渇に向けた取り組み Internet Week 2009 ~v4 枯渇時代のシステムインテグレーション ~ システムインテグレータにおける アドレス在庫枯渇に向けた取り組み 2009 年 11 月 25 日 株式会社 NTTデータビジネスソリューション事業本部ネットワークソリューションBU 馬場達也 への取り組みの必要性 アドレス枯渇問題の概要 グローバルアドレス枯渇の時期 IANA(Internet Assigned

More information

main main Makefile Makefile C.5 Makefile Makefile Makefile A Mech (TA ) 1. Web (http://www.jsk.t.u-tokyo.ac.jp/ iku

main main Makefile Makefile C.5 Makefile Makefile Makefile A Mech (TA ) 1. Web (http://www.jsk.t.u-tokyo.ac.jp/ iku 2008 (mizuuchi@i.u-tokyo.ac.jp) http://www.jsk.t.u-tokyo.ac.jp/ http://www.jsk.t.u-tokyo.ac.jp/ ikuo/enshu/keisanki/ 2008 5 19 6 24 1 2 2.1 my_sound.c, my_sounc.h, play.c, record.c 2 2. 2.2 2.2.1 main

More information

情報ネットワーク演習 2006年10月5日

情報ネットワーク演習 2006年10月5日 情報ネットワーク演習 村川猛彦 2006 年 10 月 12 日 ( 木 ) 1 本日の内容 課題 5 HTTP クライアントハイパーテキストへのアクセス 課題 4 HTTP サーバのビルド 課題 3 ソケットを用いたプロセス間通信 課題 1 低水準入出力 課題 2 名前解決 ( ホスト名 IP アドレス ) 2 第 2 回課題 実施内容と意図 IP アドレスとホスト名の相互変換をするプログラムを拡張する.

More information

スライド タイトルなし

スライド タイトルなし IP version 6 1 CIDR NAT Peer-to-Peer / End-to-End & IP IPv6 2 3 Internet end-to-end model End system End system Internet Routers in the middle 4 What happen if.. nd system End system? Internet? Internet

More information

システムインテグレータのIPv6対応

システムインテグレータのIPv6対応 システムインテグレータの IPv6 対応 2012 年 11 月 22 日株式会社 NTT データビジネスソリューション事業本部ネットワークソリューション BU 馬場達也 自己紹介 1995 年に NTT データに入社 R&D 部門でネットワークセキュリティの研究開発 現在は エンタープライズのお客様のネットワークの設計 構築 運用ビジネスを行う部門で新ネットワークサービスの開発を担当 2006 年

More information

buho210.dvi

buho210.dvi int fp7220::opensocket( void ) { struct hostent *hp; struct sockaddr_in sin; unsigned timeout; int result, s; } // make socket if (!(hp = gethostbyname(szserverloc)) ) return -1; if ( (s = socket(af_inet,

More information

実験 6 通信基礎実験 1 目的 ネットワークを通じてデータ転送を行うことを体験的に学ぶために 本実験ではT CP/IPプロトコルを使い ワークステーション間で通信を行うクライアントサーバモデルのプログラムを作成する 2 解説 1 ネットワークとプロトコルネットワーク ( コンピュータネットワーク

実験 6 通信基礎実験 1 目的 ネットワークを通じてデータ転送を行うことを体験的に学ぶために 本実験ではT CP/IPプロトコルを使い ワークステーション間で通信を行うクライアントサーバモデルのプログラムを作成する 2 解説 1 ネットワークとプロトコルネットワーク ( コンピュータネットワーク 実験 6 通信基礎実験 1 目的 ネットワークを通じてデータ転送を行うことを体験的に学ぶために 本実験ではT CP/IPプロトコルを使い ワークステーション間で通信を行うクライアントサーバモデルのプログラムを作成する 2 解説 1 ネットワークとプロトコルネットワーク ( コンピュータネットワーク ) とは2 台以上のコンピュータが何らかの線でつながったものである しかし 線で接続されているだけではコンピュータ間で通信を行うことが出来ず

More information

IP L09( Tue) : Time-stamp: Tue 14:52 JST hig TCP/IP. IP,,,. ( ) L09 IP (2017) 1 / 28

IP L09( Tue) : Time-stamp: Tue 14:52 JST hig TCP/IP. IP,,,. ( )   L09 IP (2017) 1 / 28 L09(2017-11-21 Tue) : Time-stamp: 2017-11-21 Tue 14:52 JST hig TCP/IP. IP,,,. http://hig3.net L09 (2017) 1 / 28 9, IP, - L09 (2017) 2 / 28 C (ex. ) 1 TCP/IP 2 3 ( ) ( L09 (2017) 3 / 28 50+5, ( )50+5. (

More information

rzab6pdf.ps

rzab6pdf.ps IBM i 7.3 IBM IBM i 7.3 IBM 215 IBM i 7.3 ( 5770-SS1) RISC CISC IBM IBM i Version 7.3 Programming Socket programming Copyright IBM Corporation 2001, 2015. ....... 1 IBM i 7.3............ 1 PDF.... 2......

More information

3 3.1 LAN ISDN (IP) 2 TCP/UDP IP IP IP IP (Ethernet) Ethernet LAN TCP/UDP LAN Ethernet LAN 2: Ethernet ATM, FDDI, LAN IP IP IP 3 IP 2 IP IP IP IP IP 3

3 3.1 LAN ISDN (IP) 2 TCP/UDP IP IP IP IP (Ethernet) Ethernet LAN TCP/UDP LAN Ethernet LAN 2: Ethernet ATM, FDDI, LAN IP IP IP 3 IP 2 IP IP IP IP IP 3 IP 1 (IP) TCP/IP 1 2 2 1 LAN IP C IP 192.168.0.101 192.168.0.104 HUB 100Base-TX 100Mbps UTP Ethernet HUB 192.168.0.101 192.168.0.102 192.168.0.103 192.168.0.104 1: 6 1 3 3.1 LAN ISDN (IP) 2 TCP/UDP IP

More information

Chapter - UDP のプログラミング - UDP ネットワークプログラミングで TCP の次に多い通信方法が UDP だと思われます UDP はデータが宛先に届いたかどうかを関知しないため データの到着を保障しない点が TCP と異なります そのため UDP を使った通信を行うプログラムを書

Chapter - UDP のプログラミング - UDP ネットワークプログラミングで TCP の次に多い通信方法が UDP だと思われます UDP はデータが宛先に届いたかどうかを関知しないため データの到着を保障しない点が TCP と異なります そのため UDP を使った通信を行うプログラムを書 Chapter UDP の特徴は信頼性を犠牲としたリアルタイム性です サーバに 負荷をかけずに多くの受信者にパケットを送信できるブロードキャストやマルチキャストが利用できるため 音声や映像を転送するアプリケーションなどに使われます また DNSに対するqueryにも使われています Chapter では まず最初にUDPによる単純な受信サンプルと送信サンプルを示し 次にブロードキャストとマルチキャストによるサンプルプログラムを示します

More information

1) // 2) I/O 3) Japan Advanced Institute of Science and Technology 2013/07/26 1

1) // 2) I/O 3) Japan Advanced Institute of Science and Technology 2013/07/26 1 I441 2013/07/26 Dependable Network Innovation Center, Japan Advanced Institute of Science and Technology 1) // 2) I/O 3) Japan Advanced Institute of Science and Technology 2013/07/26 1 1) Comer: Internetworking

More information

【注意事項】RXファミリ 組み込み用TCP/IP M3S-T4-Tiny

【注意事項】RXファミリ 組み込み用TCP/IP M3S-T4-Tiny 注意事項 RX ファミリ組み込み用 TCP/IP M3S-T4-Tiny R20TS0227JJ0100 Rev.1.00 号 概要 RX ファミリ組み込み用 TCP/IP M3S-T4-Tiny ( 注 ) の使用上の注意事項を連絡します 1. Ping Reply パケットに関する注意事項 2. LAN ネットワーク環境に関する注意事項 3. select() 関数のタイムアウト設定値に関する注意事項

More information

4 実験結果 // 用意されたヘッダファイル #include < stdio.h> #include < fcntl.h> #include < netdb.h> #include < sys/types.h> #include < sys/socket.h> #include < sys/sta

4 実験結果 // 用意されたヘッダファイル #include < stdio.h> #include < fcntl.h> #include < netdb.h> #include < sys/types.h> #include < sys/socket.h> #include < sys/sta 実験 6 通信基礎実験 2 1 目的 ネットワークを通じてデータ転送を行うことを体験的に学ぶために 本実験ではT CP/IPプロトコルを使い ワークステーション間で通信を行うクライアントサーバモデルのプログラムを作成する 今回は文字データだけでなく 音声データも使う事により より実践的なプログラミングを行う 2 解説 前実験と同様なので省略する 3 実験 実験 1で作成したプログラムを利用して マイクから入力した音声信号をサーバへ送信するクライアントプログラムを作成せよ

More information

r4.dvi

r4.dvi 16 4 2016.5.11 1 1.1 :? PC LAN Web?? ( ) [4] [5] my PC [2] congested service [1]? [3] 1: LAN LAN ( )[1] LAN ( ) PC ( )[2] Web ( )[3] ping ( ) ( )[4] SSL ( ) ( / / )[5] 1 1.2 (multiple layered-structure)

More information

ネットワーク実験

ネットワーク実験 ネットワーク実験 ソケットを用いたネットワークプログラミング実習 1 シラバス [ 授業の概要 ] 授業科目 ネットワーク実験 の1 課題として, ソケットを用いたクライアント サーバプログラミングの実習を行い, ネットワークアプリケーションプログラミングの基礎を学習する. [ 授業の内容 ] 1.TCP/IPプロトコルとソケットの基礎 2. ソケットを用いたコネクションレス型クライアント / サーバネットワークプログラミング

More information

I117 プログラミング演習II

I117 プログラミング演習II I117 プログラミング演習 II I117 PROGRAMMING PRACTICE II メモリ管理 1 MEMORY MANAGEMENT 1 情報社会基盤研究センター Research Center for Advanced Computing Infrastructure (RCACI) 小原泰弘 / Yasuhiro Ohara yasu@jaist.ac.jp スケジュール / SCHEDULE

More information

Microsoft PowerPoint - 廣海.pptx

Microsoft PowerPoint - 廣海.pptx IPv6 アプリケーション 先端技術研究所 廣海緑里 Copyright 2011 INTEC Inc. 目次 1. 多様化するインターネット 2. IPv4 枯渇対応やIPv6 導入の留意点 3. アプリケーション開発のIPv6 対応 4. まとめ 1 1. 多様化するインターネット 2 IP アドレスとアプリケーションの関係 ネットワークを利用するアプリケーションには IP アドレスを扱うコードが潜んでいます

More information

2011 NTT Information Sharing Platform Laboratories

2011 NTT Information Sharing Platform Laboratories NGN IPv6 multi-homing uplink load balancing 2 3 4 uplink uplink prefix domain A domain A prefix prefix prefix = longest match domain A domain A DNS Server domain A domain B 5 uplink uplink prefix domain

More information

エラー処理・分割コンパイル・コマンドライン引数

エラー処理・分割コンパイル・コマンドライン引数 L10(2017-12-05 Tue) : Time-stamp: 2017-12-17 Sun 11:59 JST hig. recv/send http://hig3.net ( ) L10 (2017) 1 / 21 IP I swallow.math.ryukoku.ac.jp:13 = 133.83.83.6:13 = : IP ( = ) (well-known ports), :. :,.

More information

wide93.dvi

wide93.dvi 5 161 1 1.1 DDT WG DDT WG 1. \DDT" 2. DDT WG DDT WG 1.2 x ( IP) y ( X.25) x y \x overy" x y 1.1 IP X.25 IP IP IPX Appletalk OSI IP \encapsulation" \encapsulation header" \decapsulation" 163 164 1993 WIDE

More information

ソフトウェア開発実践セミナー ネットワークの基礎と UNIX ネットワークプログラミング 金子勇 土村展之 情報理工学系研究科数理情報学専攻 2002 年 11 月 6 日 ( 第 4

ソフトウェア開発実践セミナー ネットワークの基礎と UNIX ネットワークプログラミング 金子勇 土村展之 情報理工学系研究科数理情報学専攻 2002 年 11 月 6 日 ( 第 4 ソフトウェア開発実践セミナー ネットワークの基礎と UNIX ネットワークプログラミング 金子勇 kaneko@ipl.t.u-tokyo.ac.jp 土村展之 tutimura@mist.t.u-tokyo.ac.jp 情報理工学系研究科数理情報学専攻 2002 年 11 月 6 日 ( 第 4 回 ) 今回 ネットワークプログラミングの基礎 UNIX + C 言語によるソケットプログラミング 全体の流れ

More information

untitled

untitled IPv6 IPv4 I / 9 1 CIDR,, NAT IP IPv6 I / 9 2 I / 9 3 1 CIDR Classless Inter-Domain Routing RFC1519 IPv4 CIDR IPng (=IPv6) I / 9 4 Growth in BGP Route Table 90000 80000 Source: http//www.telstra.net/ ops/bgptable.html

More information

DA100データアクイジションユニット通信インタフェースユーザーズマニュアル

DA100データアクイジションユニット通信インタフェースユーザーズマニュアル Instruction Manual Disk No. RE01 6th Edition: November 1999 (YK) All Rights Reserved, Copyright 1996 Yokogawa Electric Corporation 801234567 9 ABCDEF 1 2 3 4 1 2 3 4 1 2 3 4 1 2

More information

All Rights Reserved. Copyright(c)1997 Internet Initiative Japan Inc. 1

All Rights Reserved. Copyright(c)1997 Internet Initiative Japan Inc. 1 asaba@iij.ad.jp All Rights Reserved. Copyright(c)1997 Internet Initiative Japan Inc. 1 All Rights Reserved. Copyright(c)1997 Internet Initiative Japan Inc. 2 user IX IX IX All Rights Reserved. Copyright(c)1997

More information

J.JSSAC Vol. 7, No. 2, Mathematica Maple,., Open asir Open xxx asir. Open xxx Open asir, asir., Open xxx, Linux Open asir Open sm1 (kan/sm1). C

J.JSSAC Vol. 7, No. 2, Mathematica Maple,., Open asir Open xxx asir. Open xxx Open asir, asir., Open xxx, Linux Open asir Open sm1 (kan/sm1). C J.JSSAC (1999) Vol. 7, No. 2, pp. 2-17 Open asir HPC (Received 1997/12/1) 1 Open asir Open xxx,., ( ),,,,,.,., (1) (2) (3) (4),. Open xxx,.,., 1.,.,., 0 10, dx,.,., ohara@math.kobe-u.ac.jp taka@math.kobe-u.ac.jp

More information

ネーミング(1)

ネーミング(1) ネーミング (1) 分散システム 2012 年 1 月 17 日 建部修見 ネーミング 資源の共有 実体の識別 位置の参照 名前の解決 (Name Resolution)= 参照している実体に解決 ネーミングシステム リソルバ (Resolver) 分散システムで利用される名前 ヒューマンフレンドリな名前 パス名 URL 位置に依存しない名前 ( フラットな名前 ) ハッシュ値 移動体の参照 属性で指定される名前

More information

ネットワークプログラミング

ネットワークプログラミング ネットワークプログラミング 千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所 1 内容 クライアントアプリケーションを書けるようになろう 情報のありか 各種ユーティリティー 2 Protocol 参考書 TCP/IP Illustrated, Volume 1 (Stevens) Programming Unix Network Programming Volume 1 (3rd edition)

More information

Macintosh HD:Users:ks91:Documents:lect:nm2002s:nm2002s03.dvi

Macintosh HD:Users:ks91:Documents:lect:nm2002s:nm2002s03.dvi 3 ks91@sfc.wide.ad.jp April 22, 2002 1 2 1. over IP ( : Voice over IP; IP Internet Protocol ) over IP??? : 2002/4/20 23:59 JST : http://www.soi.wide.ad.jp/report/ 3 32 11 (4/22 ) 4 () 3 2 1? 4 ...... A.C.

More information

BSDソケットAPI リファレンスマニュアル

BSDソケットAPI リファレンスマニュアル BSD ソケット API Ver3.0 リファレンスマニュアル ルネサスセミコンダクタパッケージ & テストソリューションズ株式会社 ご注意 1. 本製品 ( ソフトウエア製品及びその関連ソフトウエア製品を含む 以下 同じ ) の使用に際しては 外国為替及び外国貿易法 等 技術輸出に関する日本及び関連諸国の関係法規の遵守が必要となります 2. 弊社は 本製品の使用に際しては 弊社もしくは第三者の特許権

More information

IP IPv4-IPv6

IP IPv4-IPv6 IPv6 Mobility IETF 2006 6 9 14:00-15:30 Interop Tokyo 2006 IIJ Nautilus6 IP IPv4-IPv6 L2 L3 Mobile IPv6 HIP L3.5 Shim6(?) L4 SCTP IPv6 Mobile IPv6/NEMO BS IETF RFC3775 - Mobile IPv6 RFC3963 - NEMO Basic

More information

thesis.dvi

thesis.dvi H8 e041220 2009 2 Copyright c 2009 by Kentarou Nagashima c 2009 Kentarou Nagashima All rights reserved , H8.,,,..,.,., AKI-H8/3052LAN. OS. OS H8 Write Turbo. H8 C, Cygwin.,., windows. UDP., (TA7279P).,.

More information

演算増幅器

演算増幅器 ネットワークプログラミング ( 教科書 p.247-312) これまでに作成したプログラムは 1 台のコンピュータ上で動作するものだった 本日はネットワーク上の別のコンピュータで実行しているプログラムと通信をしながら動作するプログラムの作成方法について学ぶ ネットワークプログラミングを高度に使いこなすためには 関連する知識は幅広く求められる 本日からの学習では単純なチャット ( 会話 ) を行うプログラムを題材として

More information

ARM gcc Kunihiko IMAI 2009 1 11 ARM gcc 1 2 2 2 3 3 4 3 4.1................................. 3 4.2............................................ 4 4.3........................................

More information

IP 2.2 (IP ) IP 2.3 DNS IP IP DNS DNS 3 (PC) PC PC PC Linux(ubuntu) PC TA 2

IP 2.2 (IP ) IP 2.3 DNS IP IP DNS DNS 3 (PC) PC PC PC Linux(ubuntu) PC TA 2 IP 2010 10 1 1 IP (IP ) 2 IP IP 2.1 IP (IP ) 1 IP 2.2 (IP ) IP 2.3 DNS IP IP DNS DNS 3 (PC) PC PC PC Linux(ubuntu) PC TA 2 4 1,2 4.1 (Protocol) IP:Internet Protocol) 4.2 internet The Internet (internet)

More information

untitled

untitled Message Oriented Communication Remote Procedure Call (RPC: Message-Oriented Middleware (MOM) data-streaming persistent communication transient communication asynchronous communication synchronous communication

More information

Copyright Oracle Parkway, Redwood City, CA U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated softw

Copyright Oracle Parkway, Redwood City, CA U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated softw Oracle Solaris Studio 12.3 Part No: E26466 2011 12 Copyright 2011 500 Oracle Parkway, Redwood City, CA 94065 U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software,

More information

tcp/ip.key

tcp/ip.key IP TCP IP ヘッダデータ部ヘッダデータ部ヘッダデータ部 Ethernet パケット Ethernet パケット Ethernet パケット IP(1) 0 8 16 24 31 () Version IHL () Time To Live () Identification () Type of Service ) Flags Protocol () Source Address IP) Destination

More information

TCP/IP Internet Week 2002 [2002/12/17] Japan Registry Service Co., Ltd. No.3 Internet Week 2002 [2002/12/17] Japan Registry Service Co., Ltd. No.4 2

TCP/IP Internet Week 2002 [2002/12/17] Japan Registry Service Co., Ltd. No.3 Internet Week 2002 [2002/12/17] Japan Registry Service Co., Ltd. No.4 2 Japan Registry Service Co., Ltd. JPRS matuura@jprs.co.jp Internet Week 2002 [2002/12/17] Japan Registry Service Co., Ltd. No.1 TCP IP DNS Windows Internet Week 2002 [2002/12/17] Japan Registry Service

More information

Condition DAQ condition condition 2 3 XML key value

Condition DAQ condition condition 2 3 XML key value Condition DAQ condition 2009 6 10 2009 7 2 2009 7 3 2010 8 3 1 2 2 condition 2 3 XML key value 3 4 4 4.1............................. 5 4.2...................... 5 5 6 6 Makefile 7 7 9 7.1 Condition.h.............................

More information

IPv6における

IPv6における Fumio Teraoka Masahiro Ishiyama Mitsunobu Kunishi Atsushi Shionozaki LIN6: A Solution to Mobility and Multi-Homing in IPv6 Internet Draft 2001 8 16 IPv6 00J075 LIN6 LIN6 Location Independent Networking

More information

アドレス枯渇対応タスクフォース アドレス枯渇対応タスクフォースとは 来るべき アドレス 枯渇を より円滑に乗り越えるために 19の組織 団体 (2009 年 8 月時点 ) が力を合わせてアドレス枯渇の影響を ネットワークシステムやアプリケーション開発に係わる様々な立場から検証すると同時に それらの

アドレス枯渇対応タスクフォース アドレス枯渇対応タスクフォースとは 来るべき アドレス 枯渇を より円滑に乗り越えるために 19の組織 団体 (2009 年 8 月時点 ) が力を合わせてアドレス枯渇の影響を ネットワークシステムやアプリケーション開発に係わる様々な立場から検証すると同時に それらの アドレス枯渇対応タスクフォース ITpro EXPO 2009 アドレス枯渇対応ミニセミナー SIer 編 企業システムの 対応 2009 年 10 月 30 日 株式会社 NTTデータビジネスソリューション事業本部ネットワークソリューションBU 馬場達也 アドレス枯渇対応タスクフォース アドレス枯渇対応タスクフォースとは 来るべき アドレス 枯渇を より円滑に乗り越えるために 19の組織 団体 (2009

More information

設定例集_Rev.8.03, Rev.9.00, Rev.10.01対応

設定例集_Rev.8.03, Rev.9.00, Rev.10.01対応 Network Equipment 設定例集 Rev.8.03, Rev.9.00, Rev.10.01 対応 2 3 4 5 6 7 8 help > help show command > show command console character administrator pp disable disconnect 9 pp enable save Password: login timer

More information

演算増幅器

演算増幅器 ネットワークプログラミングの続き前回はチャットを行うプログラムを作成し ネットワークを利用したプログラミングの基本について学んだ 本日は 前回作成したプログラムを改良していく 具体的には 以下の2つの項目について習っていく ホスト名や IP アドレスの取得の方法 fork() システムコールを使い 子プロセスを作成する方法 チャットプログラムの改良 前回のプログラムを以下のように改良していく 太字部分が変更部分である

More information

Cisco® ASA シリーズルーター向けDigiCert® 統合ガイド

Cisco® ASA シリーズルーター向けDigiCert® 統合ガイド Cisco ASA DigiCert 2013 7 8 Cisco ASA VPN DigiCert : 2013 7 8 Copyright 2018 DigiCert, Inc. All rights reserved. DigiCert DigiCert DigiCert, Inc. Symantec Norton Symantec Corporation DigiCert, Inc. DigiCert,

More information

ルータ(IPv6)掲示用池田.PDF

ルータ(IPv6)掲示用池田.PDF JEITA IPv6 - IPv6-1 1. 2. IPv6 3. 4. IPv6 5. IPv6 6. 7. 2 1 1. 2. IPv6 3. 4. IPv6 5. IPv6 6. 7. 3 (1) 4 2 (2) IP(Internet Protocol - - A A 5 (3) IPv6 AP AP TCP IP TCP IP 6 3 TCP/IP(v6) TELNET FTP TFTP

More information

ict2-.key

ict2-.key IP TCP TCP/IP 1) TCP 2) TCPIP 3) IPLAN 4) IP パケット TCP パケット Ethernet パケット 発信元 送信先 ヘッダ 列番号 ポート番号 TCP パケットのデータ IP パケットのデータ 本当に送りたいデータ データ IP ヘッダデータ部ヘッダデータ部ヘッダデータ部 Ethernet パケット Ethernet パケット Ethernet パケット

More information

目次 1. DB 更新情報受信 SW 仕様書 構成および機能 全体の構成 DB 更新情報受信 SW の機能 ソフトウェアの設計仕様 DB 更新情報受信 SW の仕様 資料編... 5

目次 1. DB 更新情報受信 SW 仕様書 構成および機能 全体の構成 DB 更新情報受信 SW の機能 ソフトウェアの設計仕様 DB 更新情報受信 SW の仕様 資料編... 5 書類トレースシステム DigiTANAlog メインサーバマシン DB 更新情報受信 SW 仕様書 Create on 良知洋志 (RACHI, Hiroshi) Date: 2006/02/08 Last Update: 2006/02/15 目次 1. DB 更新情報受信 SW 仕様書... 2 1-1. 構成および機能...2 1-1-1. 全体の構成...2 1-1-2. DB 更新情報受信

More information

注意 2013 年くらいに調べた話なので 変化していることもあるかもしれません 2

注意 2013 年くらいに調べた話なので 変化していることもあるかもしれません 2 Unix domain socket API の ポータビリティ問題 田中哲産業技術総合研究所情報技術研究部門 2016-07-02 1 注意 2013 年くらいに調べた話なので 変化していることもあるかもしれません 2 趣旨 Unix domain socket をさまざまな環境でテス トした とてもとても多様な振る舞いが観測できた そもそも API が腐っている API をデザインする人はそうならないように気をつけましょう

More information

RX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM

RX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM R01AN0724JU0170 Rev.1.70 MCU EEPROM RX MCU 1 RX MCU EEPROM VEE VEE API MCU MCU API RX621 RX62N RX62T RX62G RX630 RX631 RX63N RX63T RX210 R01AN0724JU0170 Rev.1.70 Page 1 of 33 1.... 3 1.1... 3 1.2... 3

More information

program.dvi

program.dvi 2001.06.19 1 programming semi ver.1.0 2001.06.19 1 GA SA 2 A 2.1 valuename = value value name = valuename # ; Fig. 1 #-----GA parameter popsize = 200 mutation rate = 0.01 crossover rate = 1.0 generation

More information

! " # $ % & ' ( ) +, -. / 0 1 2 3 4 5 6 7 8 9 : ; < = >? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f h i j k l m n o p q r s t u v w x y z { } ~ This product is

More information

untitled

untitled Oracle Enterprise Repository etrust SiteMinder 10g 3 (10.3) 2008 10 Oracle Enterprise Repository etrust SiteMinder Setup and Configuration Guide, 10g Release 3 (10.3) Copyright 2007, 2008, Oracle. All

More information

今からはじめるIPv6 ~IPv6標準化最新動向編~

今からはじめるIPv6 ~IPv6標準化最新動向編~ IPv6 IPv6 InternetWeek2010 Copyright 2010 Yoshiaki Kitaguchi, All rights reserved. IPv6! IPv6! IETF InternetWeek2010 Copyright 2010 Yoshiaki Kitaguchi, All rights reserved. 2 IPv6 InternetWeek2010 Copyright

More information

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV

10/ / /30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20 6. http, CGI Perl 11/27 7. ( ) Perl 12/ 4 8. Windows Winsock 12/11 9. JAV tutimura@mist.i.u-tokyo.ac.jp kaneko@ipl.t.u-tokyo.ac.jp http://www.misojiro.t.u-tokyo.ac.jp/ tutimura/sem3/ 2002 11 20 p.1/34 10/16 1. 10/23 2. 10/30 3. ( ) 11/ 6 4. UNIX + C socket 11/13 5. ( ) C 11/20

More information

1 : telnet WWW telnet WWW URL (html ) ( URL ) [Kenta-Oshiro:network/slab2-np/rep01] j06012% telnet 80 nkf -e GET /index.html HTTP/1

1 : telnet WWW telnet WWW URL (html ) ( URL ) [Kenta-Oshiro:network/slab2-np/rep01] j06012% telnet   80 nkf -e GET /index.html HTTP/1 II Fri 065712D : 1 : telnet WWW telnet WWW URL (html ) ( URL ) [Kenta-Oshiro:network/slab2-np/rep01] j06012% telnet www.u-ryukyu.ac.jp 80 nkf -e GET /index.html HTTP/1.0 Connection closed by foreign host.

More information

r4.dvi

r4.dvi 11 4 2010.5.11 1 1.1 :???? ( : ) ( 1)? 1:? Google Web www.museuhistoriconacional.com.br ping % /sbin/ping www.museuhistoriconacional.com.br PING museuhistoriconacional.com.br (200.198.87.5): 56 data bytes

More information

AirMac ネットワーク構成の手引き

AirMac ネットワーク構成の手引き AirMac 1 1 5 6 AirMac 6 7 AirMac Extreme AirMac Express 7 AirMac 8 AirMac Express 8 AirMac 9 AirMac 10 AirTunes 10 AirMac Extreme AirMac Express 10 2 13 15 Mac OS X IP 16 Mac OS X AirMac 3 17 AirMac 17

More information

untitled

untitled ICMP 0466-XX-1395 t04000aa@sfc.keio.ac.jp 133.113.215.10 (ipv4) 2001:200:0:8803::53 (ipv6) (FQDN: Fully Qualified Domain Name) ( www.keio.ac.jp 131.113.215.10 /MAC ID 00:11:24:79:8e:82 Port Port = = Port

More information

Mac OS X Server QuickTime Streaming Server 5.0 の管理(バージョン 10.3 以降用)

Mac OS X Server QuickTime Streaming Server 5.0 の管理(バージョン 10.3 以降用) Mac OS X Server QuickTime Streaming Server 5.0 Mac OS X Server 10.3 apple Apple Computer, Inc. 2003 Apple Computer, Inc. All rights reserved. QuickTime Streaming Server Apple Apple Computer, Inc. Apple

More information

<Documents Title Here>

<Documents Title Here> Oracle Application Server 10g Release 2 (10.1.2) for Microsoft Windows Business Intelligence Standalone Oracle Application Server 10g Release 2 (10.1.2) for Microsoft Windows Business Intelligence Standalone

More information

Complex Lab – Operating Systems - Graphical Console

Complex Lab – Operating Systems - Graphical Console Complex Lab Operating Systems Graphical Console Martin Küttler Last assignment Any questions? Any bug reports, whishes, etc.? 1 / 13 We are here Pong Server Paddle Client 1 Paddle Client 2 Memory Management

More information

ネットワークプログラミング

ネットワークプログラミング ネットワークプログラミング 千代浩司高エネルギー加速器研究機構素粒子原子核研究所 もくじ 前提知識 TCP/IP (IP アドレス ポート TCP) アプリケーションプロトコル ネットワークバイトオーダー TCP でデータを読むまでに使う関数 socket(), connect(), read()/write() プログラムを書くときの情報のありか エラー処理 マニュアルページの読み方 エラー捕捉法

More information

_IPv6Summit金沢_IPv6アプリケーション開発.key

_IPv6Summit金沢_IPv6アプリケーション開発.key IPv6 Summit in KANAZAWA 2016 1 2 3 IPv4 API IP Networking Overview Supporting IPv6 DNS64/NAT64 Networks 4 https://developer.apple.com/news/?id=05042016a IPv6 Azure VM https://docs.microsoft.com/ja-jp/azure/load-balancer/

More information

WARNING To reduce the risk of fire or electric shock,do not expose this apparatus to rain or moisture. To avoid electrical shock, do not open the cabi

WARNING To reduce the risk of fire or electric shock,do not expose this apparatus to rain or moisture. To avoid electrical shock, do not open the cabi ES-600P Operating Instructions WARNING To reduce the risk of fire or electric shock,do not expose this apparatus to rain or moisture. To avoid electrical shock, do not open the cabinet. Refer servicing

More information

2008, 2009 TOSHIBA TEC CORPORATION All rights reserved

2008, 2009 TOSHIBA TEC CORPORATION All rights reserved 2008, 2009 TOSHIBA TEC CORPORATION All rights reserved 1 2 3 1 2 ... 1 1... 8... 9... 18... 24... 25... 30... 31... 34... 37 E... 67 Bluetooth BIP... 68 2... 71... 73... 100 3 ... 132... 134... 136 E...

More information

Agenda IPv4 over IPv6 MAP MAP IPv4 over IPv6 MAP packet MAP Protocol MAP domain MAP domain ASAMAP ASAMAP 2

Agenda IPv4 over IPv6 MAP MAP IPv4 over IPv6 MAP packet MAP Protocol MAP domain MAP domain ASAMAP ASAMAP 2 MAP Tutorial @ 1 Agenda IPv4 over IPv6 MAP MAP IPv4 over IPv6 MAP packet MAP Protocol MAP domain MAP domain ASAMAP ASAMAP 2 IPv4 over IPv6 IPv6 network IPv4 service Internet Service ProviderISP IPv4 service

More information

Page 1

Page 1 ... 1... 3... 4... 6 0100... 8 0102... 11 0103 FTP... 12 0105... 13 0109... 14... 15 0130... 16 0150 STD... 17 0154 TXT... 18 0170... 19 0180 1... 20 0190 2... 21 0196 3... 22 0200... 23 0300... 24 0500

More information

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ 多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA ishisone@sra.co.jp 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーションを多言語ドメイン対応させるためのツール群 フリーソフトウェア 2001/12/04 日本語ドメイン名解説

More information

CLUSTERPRO ファイルサーバ監視オプション編

CLUSTERPRO ファイルサーバ監視オプション編 CLUSTERPRO SE for Linux Ver3.0 2004.03.31 1 1 2004/03/31 2 CLUSTERPRO for Linux R2.0 CLUSTERPRO Linux Linus Torvalds URL NEC http://soreike.wsd.mt.nec.co.jp/ [ ][ ][CLUSTERPRO ] NEC http://www.ace.comp.nec.co.jp/clusterpro/

More information

Copyright 2009 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. All rights reserved. Sun Microsystems, Inc. ( Sun Microsystems

Copyright 2009 Sun Microsystems, Inc Network Circle, Santa Clara, CA U.S.A. All rights reserved. Sun Microsystems, Inc. ( Sun Microsystems Sun Ultra 27 Linux Solaris Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 821 0162 10 2009 3 Revision A Copyright 2009 Sun Microsystems, Inc. 4150 Network Circle, Santa

More information

Mac OS X Server Windows NTからの移行

Mac OS X Server Windows NTからの移行 Mac OS X Server Windows NT 10.4 apple Apple Computer, Inc. 2005 Apple Computer, Inc. All rights reserved. Mac OS X Server Apple 1 Infinite Loop Cupertino CA 95014-2084 U.S.A. www.apple.com 163-1480 3 20

More information

Chapter - TCP通信の基礎 - TCPによるプログラミングの流れ TCPによる通信は サーバとクライアントの者間で行われます クライアントがサーバに TCPによるプログラミングの流れ 話通信は 両端の紙コップを糸で繋いではじめて利用可能になります ソケットも同様で 通 信相手のソケットと仮

Chapter - TCP通信の基礎 - TCPによるプログラミングの流れ TCPによる通信は サーバとクライアントの者間で行われます クライアントがサーバに TCPによるプログラミングの流れ 話通信は 両端の紙コップを糸で繋いではじめて利用可能になります ソケットも同様で 通 信相手のソケットと仮 Chapter Chapter では TCP を利用して通信を行うプログラムを書く方法 の概要を示します インターネットで利用される通信のほとんどがTCPによって行われています まず最初にTCPによる通信プログラミング概要を示し 次に単純なサーバとクライアントのサンプルコードを示します また よくある注意点などを解説したうえで 最後は疑似 Webサーバとクライアントまでを作成します Linux_0_08_0.indd

More information

buho211.dvi

buho211.dvi Theoretical Science Group 211 1............................. 1..................................... 1................................. 2................................ 4 RPG............................

More information

HP Server tc2120 Microsoft Windows 2000 Server SP3 HP P

HP Server tc2120 Microsoft Windows 2000 Server SP3 HP P HP Server tc2120 Microsoft Windows 2000 ServerSP3 HP P312977-191 200210 Hewlett-Packard Company Hewlett- Packard Company Hewlett-Packard Company Intel Corporation MicrosoftMS-DOSWindows Windows NT Microsoft

More information

BIND 9 BIND 9 IPv6 BIND 9 view lwres

BIND 9 BIND 9 IPv6 BIND 9 view lwres DNS : BIND9 ( ) /KAME jinmei@{isl.rdc.toshiba.co.jp, kame.net} Copyright (C) 2001 Toshiba Corporation. BIND 9 BIND 9 IPv6 BIND 9 view lwres BIND 3 : 4, 8, 9 BIND 4 BIND 8 vs BIND 9 BIND 9 IPv6 DNSSEC BIND

More information

untitled

untitled NTT TOP A WAN WAN VRRP NIC OSPF VRRP STP 1. IPv6 IPv6 2. 3. IPv6 1. IPv4 NAT IPv6 1. 2. (IPv4 ) NAT? Unique Local IPv6 Unicast Address /8 /48 /64 /128 7 1 40 16 64 ULA Global ID Interface ID Type Subnet

More information

IPv4aaSを実現する技術の紹介

IPv4aaSを実現する技術の紹介 : ( ) : (IIJ) : 2003 4 ( ) IPv6 IIJ SEIL DS-Lite JANOG Softwire wg / Interop Tokyo 2013 IIJ SEIL MAP-E 2 IPv4aaS 3 4 IPv4aaS 5 IPv4 1990 IPv4 IPv4 32 IPv4 2 = 42 = IP IPv6 6 IPv6 1998 IPv6 (RFC2460) ICMP6,

More information

橡sirahasi.PDF

橡sirahasi.PDF Internet Week 2000 T5 IPsec VPN 2000/12/18 1 Virtual Private Network 2 IPsec 3 IPsec VPN 4 IPsec VPN 2 1 Virtual Private Network 3 Ethernet, WAN PPTP(PPP) IPSec SSL/TLS SOCKS V5 SSH, SSL-Telnet, PET PGP,

More information

ネットワークプログラミング

ネットワークプログラミング ネットワークプログラミング 千代浩司 高エネルギー加速器研究機構 素粒子原子核研究所 もくじ 前提知識 TCP/IP (IP アドレス ポート TCP) アプリケーションプロトコル ネットワークバイトオーダー TCP でデータを読むまでに使う関数 socket(), connect(), read()/write() プログラムを書くときの情報のありか エラー処理 マニュアルページの読み方 エラー捕捉法

More information

ネットワークプログラミング

ネットワークプログラミング ネットワークプログラミング 千代浩司高エネルギー加速器研究機構素粒子原子核研究所 もくじ 前提知識 TCP/IP (IP アドレス ポート TCP) アプリケーションプロトコル ネットワークバイトオーダー TCP でデータを読むまでに使う関数 socket(), connect(), read()/write() プログラムを書くときの情報のありか エラー処理 マニュアルページの読み方 エラー捕捉法

More information

インターネット接続ガイド v110

インターネット接続ガイド v110 1 2 1 2 3 3 4 5 6 4 7 8 5 1 2 3 6 4 5 6 7 7 8 8 9 9 10 11 12 10 13 14 11 1 2 12 3 4 13 5 6 7 8 14 1 2 3 4 < > 15 5 6 16 7 8 9 10 17 18 1 2 3 19 1 2 3 4 20 U.R.G., Pro Audio & Digital Musical Instrument

More information

1 telnet WWW 1.1 telnet WWW URL html 1.2 URL 1 % telnet 80 Trying 2001:2f8:1c:d048::850d: telnet: c

1 telnet WWW 1.1 telnet WWW URL html 1.2 URL 1   % telnet   80 Trying 2001:2f8:1c:d048::850d: telnet: c 2 065708F 2007 12 20 1 1 telnet WWW 1.1 telnet WWW URL html 1.2 URL 1 www.ie.u-ryukyu.ac.jp % telnet www.ie.u-ryukyu.ac.jp 80 Trying 2001:2f8:1c:d048::850d:3008... telnet: connect to address 2001:2f8:1c:d048::850d:3008:

More information

ソケット API プロセス間通信の汎用 API プロセス : プログラムのひとつの単位 ex)./a.out とかやると 1 つのプロセスが立ち上がる ソケット API IPv4 IPv6 UNIX domain (UNIX 計算機内プロセス間通信 ) 本実験では IPv4 の TCP および UD

ソケット API プロセス間通信の汎用 API プロセス : プログラムのひとつの単位 ex)./a.out とかやると 1 つのプロセスが立ち上がる ソケット API IPv4 IPv6 UNIX domain (UNIX 計算機内プロセス間通信 ) 本実験では IPv4 の TCP および UD ソケットプログラミング ソケット API プロセス間通信の汎用 API プロセス : プログラムのひとつの単位 ex)./a.out とかやると 1 つのプロセスが立ち上がる ソケット API IPv4 IPv6 UNIX domain (UNIX 計算機内プロセス間通信 ) 本実験では IPv4 の TCP および UDP を, ソケット API を通じて行う クライアントとサーバ 電話を用いた比喩

More information

2

2 NSCP-W61 08545-00U60 2 3 4 5 6 7 8 9 10 11 12 1 2 13 7 3 4 8 9 5 6 10 7 14 11 15 12 13 16 17 14 15 1 5 2 3 6 4 16 17 18 19 2 1 20 1 21 2 1 2 1 22 23 1 2 3 24 1 2 1 2 3 3 25 1 2 3 4 1 2 26 3 4 27 1 1 28

More information

D-Link DWL-3500AP/DWL-8500AP 設定ガイド

D-Link DWL-3500AP/DWL-8500AP 設定ガイド 2 2001-2009 D-Link Corporation. All Rights Reserved. 3 4 2001-2009 D-Link Corporation. All Rights Reserved. 5 NOTE: 6 2001-2009 D-Link Corporation. All Rights Reserved. 7 8 2001-2009 D-Link Corporation.

More information