슬라이드 1

Size: px
Start display at page:

Download "슬라이드 1"

Transcription

1 Task 통신및동기화 : Socket Chapter #13

2 강의목차 소켓개요 소켓관련시스템콜 네트워크라이브러리 스트림소켓을이용한프로세스통신 데이터그램소켓을이용한프로세스통신 Unix System Programming 2

3 소켓 (Socket) 소켓 (Socket) 개요 (1) 프로세스간의통신을위한데이터출입구 파이프도구를일반화 양방향데이터통신을지원 상호연관성이없는프로세스간에통신이가능 로컬시스템의프로세스간에또는네트워크를통해원격시스템의프로세스와의통신을지원 Linux System Programming 3

4 소켓 (Socket) 소켓 (Socket) 개요 (2) Linux System Programming 4

5 바인딩 (binding) 소켓 (Socket) 개요 (3) 소켓을식별하기위해소켓에이름을붙이는기능 소켓이름을이용하여통신하고자하는상대방프로세스의소켓을지정하여통신가능 파일명, 정수형번호등을지정가능 bind() 시스템호출을사용 Linux System Programming 5

6 도메인 (Domain) 소켓 (Socket) 개요 (4) 소켓이름이통용되는범위 UNIX 도메인, INET 도메인 UNIX 도메인 동일한 UNIX 시스템안에서프로세스간에소켓을이용하여통신하는경우 파일의경로명을이용하여소켓이름을바인딩 소켓을생성할때마다새로운파일을생성하고그파일의경로명을소켓이름으로사용 Linux System Programming 6

7 소켓 (Socket) 개요 (5) INET 도메인 네트워크에연결된원격컴퓨터의프로세스간에소켓을이용하여통신하는경우 소켓이름으로포트번호 (port number) 을바인딩 소켓을식별하는 16비트정수 (0~65535) Well-known port 예 : 21번 (ftp), 23번 (telnet), 25번 (SMTP) 네트워크주소 (IP 주소 ) 사용 네트워크상에서통신하려는프로세스가동작하는컴퓨터시스템을식별하여지정하여야함 IP 주소 + 포트번호를이용하여통신할소켓을식별 UNIX 시스템내의프로세스간에서도유효 UNIX 도메일기능도수행 Linux System Programming 7

8 소켓의종류 소켓 (Socket) 개요 (6) 통신프로토콜의 transport layer에서제공하는통신수단에대응하여구분 Virtual circuit, Datagram Linux System Programming 8

9 소켓 (Socket) 개요 (7) Virtual Circuit(Stream Socket) 연결기반통신 (connection-based communication) 을지원 통신대상과연결 ( 논리적인접속 ) 을설정 연결을통해데이터송수신 통신이종료되면연결해제 cf) 전화연결 특정프로스간에대량의데이터를지속적으로송수신하는통신에이용 통신의신뢰성을보장 연결형프로토콜 TCP(Transmission Control Protocol) 을지원 Linux System Programming 9

10 소켓 (Socket) 개요 (8) Datagram(Datagram Socket) 비연결기반통신 (connectionless communication) 을지원 논리적링크를설정하기않고 network layer의기능을이용하여개개의데이터를필요할때마다통신상대를지정하여전송 cf) 편지 몇몇프로스간에약간의데이터를필요할때마다송수신하는통신에이용 데이터를송신할때마다수신주소를지정 통신의신뢰성을보장하지못함 데이터순서, 데이터내용및전송시간등을보장하지않음 비연결형프로토콜 UDP(User datagram Protocol) 을지원 Linux System Programming 10

11 클라이언트 - 서버통신모델 (1) 클라이언트 - 서버통신모델 통신하는프로세스들을역할에따라서버프로세스와클라이언트프로세스로나누어통신하는모델 서버프로세스 처리요구를받아서서비스를제공하는프로세스 클라이언트프로세스 서비스의처리요구를전송하는프로세스 소켓기반의통신에적용 Linux System Programming 11

12 클라이언트 - 서버통신모델 (2) 서버모형 반복서버 클라이언트프로세스에서전송된요구처리가단시간에해결가능한경우 서버프로세스가순차적으로클라이언트요구를처리하는방식 Linux System Programming 12

13 클라이언트 - 서버통신모델 (3) 서버모형 병행서버 클라이언트프로세스에서전송된요구처리에장시간이걸리거나시간을예측할수없는경우 서버프로세스가자식프로세스를생성하여클라이언트요구를서비스하는방식 Linux System Programming 13

14 클라이언트 - 서버통신모델 (4) 통신방식 동기통신 데이터송수신타이밍스케줄을미리정해놓고그스케줄에따라통신하는방식 타이밍을지키기위해대기시간을요구 Linux System Programming 14

15 클라이언트 - 서버통신모델 (5) 통신방식 비동기통신 데이터송수신타이밍스케줄을정해놓지않고송신자가필요할때에데이터를송신하고, 수신자를데이터가도착할때받아처리하는방식 타이밍을위한대기시간이필요없음 브로드캐스팅 (Broadcast) 통신상대를특별히정하기않고같은네트웤내의호스트전부에게데이터를전송하는방식 방송 Linux System Programming 15

16 소켓을이용한통신방법 (1) 스트림소켓을이용한통신방법 Linux System Programming 16

17 소켓을이용한통신방법 (2) 데이터그램소켓을이용한통신방법 Linux System Programming 17

18 소켓생성 : socket() #include <sys/types.h> #include <sys/socket.h> 소켓시스템콜 (1) int socket(int domain, int type, int protocol) /* int domain: 사용하는도메인종류지정 */ /* int type: 사용하는소켓종류지정 */ /* int protocol: 사용하는프로토콜지정 */ /* 정상종료하면소켓에대한파일디스크립터를반환하고, 에러가발생한경우에는 -1 를반환한다. 외부변수 errno 에에러를나타내는값을설정한다 */ 통신하는서버와클라이언트프로세스에서함께호출 Linux System Programming 18

19 소켓생성 : socket() 소켓시스템콜 (2) 도메인종류 domain 파라미터 도메인이름 설명 PF_UNIX, PF_LOCAL PF_INET PF_INET6 PF_IPX PF_NETLINK PF_X25 PF_AX25 PF_ATMPVC PF_APPLETALK PF_PACKET 로컬통신 IPv4 인터넷프로토콜 IPv6 인터넷프로토콜 IPX-Novell 프로토콜커널. 사용자. 디바이스 ITU_T X.25/ISO8208 프로토콜아마추어무선 AX.25 프로토콜 ATN PVC에액세스한다애플릿토크패킷인터페이스 PF_* 대신 AF_* 도지원함 Linux System Programming 19

20 소켓시스템콜 (3) 소켓생성 : socket() 소켓종류 type 파라미터 소켓이름 SOCK_STREAM SOCK_DGRAM SOCK_SEQPACKET SOCK_RAW SOCK_RDM 설명 순서가있고신뢰성이높으며쌍방향으로접속된바이트스트림을제공 데이터그램전송 ( 접속, 신뢰성없음, 메시지의최대길이고정 ) 을지원 메시지의최대길이가고정된데이터그램전송경로를기초로순차성과신뢰성있는쌍방향접속에기반한통신을제공 낮은수준의네트워크프로토콜로액세스하는것을지원 신뢰성은있지만순서는보장할수없는데이터그램전송을지원 프로토콜종류 protocol 파라미터 대부분의경우, 0 으로지정 UNIX 가적절한프로토콜을선택 Linux System Programming 20

21 소켓이름설정 : bind() #include <sys/types.h> #include <sys/socket.h> 소켓시스템콜 (4) int bind(int sockfd, struct sockaddr *my_addr, socklen_t addrlen) /* int sockfd: 소켓파일디스크립터 */ /* struct sockaddr *my_addr : 소켓주소정보구조체포인터 */ /* socklen_t addrlen : 소켓주소정보구조체의길이 */ /* 정상종료하면 0 을반환하고, 에러가발생한경우에는 -1 를반환한다. 외부변수 errno 에에러를나타내는값을설정한다 */ 생선된소켓에이름을지정 소켓식별에사용 소켓이름명명규칙은소켓의도메인에따라다름 UNIX 도메인 파일경로명 INET 도메인 IP 주소 + port 번호 Linux System Programming 21

22 소켓이름설정 : bind() 소켓시스템콜 (5) UNIX 도메인에서소켓이름지정 #include <sys/un.h> #define UNIX_PATH_MAX 108 struct sockaddr_un { sa_family_t sun_family; // PF_UNIX 지정 char sun_path[unix_path_max]; // 파일경로명지정 }; 상기의소켓주소정보구조체를이용하여 bind() 시스템콜을호출하면지정된경로명의파일이생성 소켓사용을종료한후에는 unlink() 시스템콜을이용하여제거 파일이존재할경우, 같은경로명으로바인딩할수없음 Linux System Programming 22

23 소켓이름설정 : bind() 소켓시스템콜 (6) INET 도메인에서소켓이름지정 #include <netinet/in.h> struct sockaddr_in { sa_family_t sin_family; // PF_INET 지정 u_int16_t sin_port; // port 번호지정 struct in_addr sin_addr; // IP 주소지정 }; Struct in_addr { u_int32_t s_addr; }; // IP 주소 Linux System Programming 23

24 소켓시스템콜 (7) 소켓이름설정 : bind() INET 도메인에서소켓이름지정 Port 번호 16 비트정수 / 0~ ~1023 : Well-known ports 1024~49151 : Reserved ports 49152~65535 : User-free ports getservbyname() - 서비스이름으로 port 번호찾기 IP 주소 점으로구분된 10진수표기 IP 주소를정수값으로변환한뒤에네트워크바이트순서로지정 예 : *256^3+16*256^2+85* xac inet_addr() / inet_ntoa() 주소변환함수 htons(), htonl(), ntohs(), ntohl() 호스트바이트순서와네트워크바이트순서상호간의변환 (h: host, n: network, s: short, l: long) Linux System Programming 24

25 소켓시스템콜 (8) 소켓연결요청발신 : connect() #include <sys/types.h> #include <sys/socket.h> int connect(int sockfd, const struct sockaddr *serv_addr, socklen_t addrlen) /* int sockfd: 소켓파일디스크립터 */ /* const struct sockaddr *serv_addr : 서버의소켓주소정보구조체에대한포인터 */ /* socklen_t addrlen : 서버소켓주소정보구조체의길이 */ /* 정상종료하면 0 을반환하고, 에러가발생한경우에는 -1 를반환한다. 외부변수 errno 에에러를나타내는값을설정한다 */ 스트림소켓을사용하는경우, 클라이언트프로세스가서버프로세스에게연결요청을보내기위해사용 파라미터에연결하는서버프로세스의소켓주소를지정 Linux System Programming 25

26 소켓시스템콜 (9) INET 도메인에서소켓주소정보설정방법 INET 도메인의소켓주소정보설정 #include <netinet/in.h> struct sockaddr_in server; bzero((void *)&server, sizeof(server)); server.sin_familiy = PF_INET; server.sin_port = htons(port-number); server.sin_addr.s_addr = htonl(ip-address); Linux System Programming 26

27 소켓시스템콜 (10) INET 도메인에서소켓주소정보설정방법 ( 계속 ) IP 주소가바이너리 ( 정수값 ) 인경우 htonl() 함수를사용하여네트워크바이트순서로변환하여지정 예 : server.sin_addr.s_addr = htonl(0xac105504); IP 주소가점으로구분된 10 진수인경우 in_addr() or in_aton() 함수를이용하여 10진수 IP 주소를네트워크바이트순서의바이너리형식으로변환하여지정 예 : server.sin_addr.s_addr = in_addr( ); or in_aton( , (struct in_addr *)&server.sin_addr.s_addr); Linux System Programming 27

28 소켓시스템콜 (10) INET 도메인에서소켓주소정보설정방법 ( 계속 ) IP 주소가아닌호스트이름인경우 호스트이름을이용하여 IP 주소를찾은후에지정 // netdb.h struct hostent { char *h_name; char **h_aliases; int h_addrtype; int h_length; char **h_addr_list; }; #define h_addr h_addr_list[0] #include <netdb.h> struct hostent *hp; // 호스트이름 // 호스트별칭배열 // 주소타입 (PF_INET) // 주소길이 // IP 주소배열 1. /etc/hosts 파일을검색 2. DNS 서버에질의 if ((hp = gethostbyname( carrot )) == NULL) { perror( gethostbyname ); exit(1); } bcopy(hp->h_addr, (char *)&server.sin_addr.s_addr, hp->h_length); Linux System Programming 28

29 소켓시스템콜 (11) INET 도메인에서소켓주소정보설정방법 ( 계속 ) 자기호스트의주소정보를설정하는경우 자신의호스트이름을얻은후에 IP 주소로변환하여지정 #include <netdb.h> #include <unistd.h> #define HOST_NAME_SIZE 256 #define ERR -1 char hostname[host_name_size]; struct hostent *hp; if (gethostname(hostname, HOST_NAME_SIZE) == ERR) { perror(gethostname); exit(1); } if ((hp = gethostbyname(hostname)) == NULL) { perror( gethostbyname ); exit(1); } bcopy(hp->h_addr, (char *)&server.sin_addr.s_addr, hp->h_length); Linux System Programming 29

30 소켓시스템콜 (12) INET 도메인에서소켓주소정보설정방법 ( 계속 ) 자기호스트의특수주소정보를사용하는경우 서버프로세스가자신의소켓에대해바인딩하는경우 INET 도메인을이용하여로컬통신하기위해클라이언트프로세스에연결하는경우 특수주소 INADDR_ANY(= ) 을사용 예 : server.sin_addr.s_addr = htonl(inaddr_any); Linux System Programming 30

31 소켓시스템콜 (13) 소켓연결요청수락준비 : listen() #include <sys/types.h> #include <sys/socket.h> int listen(int sockfd, int backlog) /* int sockfd: 소켓파일디스크립터 */ /* int backlog: 연결요청에대한대기행렬의최대길이 */ /* 정상종료하면 0 을반환하고, 에러가발생한경우에는 -1 를반환한다. 외부변수 errno 에에러를나타내는값을설정한다 */ 스트림소켓을사용하는경우, 서버프로세스가지정된소켓에대한연결요청이도착할것임을 UNIX 시스템에통지하기위해사용 지정된소켓에대해최대연결가능한요청수를지정 Linux System Programming 31

32 소켓시스템콜 (14) 소켓연결요청허가 : accept() #include <sys/types.h> #include <sys/socket.h> int accept(int sockfd, struct sockaddr *client_addr, socklen_t *addrlen) /* int sockfd: 소켓파일디스크립터 */ /* struct sockaddr *client_addr : 클라이언트의소켓주소정보구조체에대한포인터 */ /* socklen_t addrlen : 클라이언트소켓주소정보구조체의길이 */ /* 정상종료하면소켓에대한새로운파일디스크립터를반환하고, 에러가발생한경우에는 -1 를반환한다. 외부변수 errno 에에러를나타내는값을설정한다 */ 스트림소켓을사용하는경우, 서버프로세스가클라이언트프로세스의연결요청을허가해주기위해사용 Linux System Programming 32

33 소켓시스템콜 (15) 소켓연결요청허가 : accept() 클라이언트프로세스에서연결요청이들어올때까지서버프로세스를블로킹 (blocking) 클라이언트프로세스의연결요청이도착하면새로운파일디스크립터를반환 클라이언트프로세스와의통신에사용 소켓에대한이전의파일디스크립터는다른클라이언트의연결요구를계속대기한다 클라이언트연결요청을허가한다음, 클라이언트프로세스의소켓주소와그주소의길이정보를파라미터를통해반환한다 서버프로세스가클라이언트를식별 Linux System Programming 33

34 소켓시스템콜 (16) 스트림소켓을이용한데이터송신 : send() #include <sys/types.h> #include <sys/socket.h> int send(int sockfd, const void *buf, size_t len, int flags) /* int sockfd: 소켓파일디스크립터 */ /* const void *buf: 송신버퍼의주소 */ /* size_t len: 송신데이터의길이 */ /* int flags: 송신옵션 */ /* 정상종료하면실제송신된데이터수를반환하고, 에러가발생한경우에는 -1 를반환한다. 외부변수 errno 에에러를나타내는값을설정한다 */ 스트림소켓을통해데이터를송신 write() 시스템콜을이용하여데이터송신가능 Linux System Programming 34

35 소켓시스템콜 (17) 스트림소켓을이용한데이터송신 : send() send() 시스템콜에서의송신옵션 송신옵션 MSG_OOB MSG_DONTROUTE MSG_DONTWAIT MSG_NOSIGNAL 설명 비대역 (out-of-band) 데이터 ( 긴급하게송신하여야하는데이터 ) 를지원하는소켓으로비대역데이터를보낸다 패킷을보낼때에게이트웨이를사용하지않고직접네트워크로접속하고있는호스크에게만보낸다 비블록조작을유효하게한다 스트림소켓으로상대편이접속을끊은경우, 에러로 SIGPIPE 를만들지않도록요구한다 Linux System Programming 35

36 소켓시스템콜 (18) 스트림소켓을이용한데이터수신 : recv() #include <sys/types.h> #include <sys/socket.h> int recv(int sockfd, void *buf, size_t len, int flags) /* int sockfd: accept() 에서반환된소켓파일디스크립터 */ /* void *buf: 수신버퍼의주소 */ /* size_t len: 수신버퍼의길이 */ /* int flags: 수신옵션 */ /* 정상종료하면실제수신된데이터수를반환하고, 에러가발생한경우에는 -1 를반환한다. 외부변수 errno 에에러를나타내는값을설정한다 */ 스트림소켓을통해데이터를수신 받은데이터가없는경우에데이터가도착할때까지정지상태로대기 일부데이터가수신되면반환 소켓의 O_NOBLOCK 플래그가설정되어있는경우는 -1를반환 read() 시스템콜를통해데이터수신가능 36

37 소켓시스템콜 (19) 스트림소켓을이용한데이터수신 : recv() recv() 시스템콜에서의수신옵션 송신옵션 MSG_OOB MSG_PEEK MSG_WAITALL MSG_NOSIGNAL 설명 비대역 (out-of-band) 데이터 ( 긴급하게송신하여야하는데이터 ) 를받을것을요구 수신대기행렬의최초데이터를반환할때대기행렬로부터데이터를없애지않는다. 따라서이후의 recv() 호출에대해같은데이터를반환 요구한최대량의데이터가도착할때까지조작을정지하도록요구 스트림소켓으로상대편이접속을끊은경우, 에러로 SIGPIPE 를만들지않도록요구 Linux System Programming 37

38 소켓시스템콜 (20) 데이터그램소켓을이용한데이터송신 : sendto() #include <sys/types.h> #include <sys/socket.h> int sendto(int sockfd, const void *buf, size_t len,int flags, const struct sockaddr *to, socklen_t tolen) /* int sockfd: 소켓파일디스크립터 */ /* const void *buf: 송신버퍼의주소 */ /* size_t len: 송신데이터의길이 */ /* int flags: 송신옵션 */ /* const struct sockaddr *to: 수신소켓의주소정보구조체의주소 */ /* socklen_t tolen : 수신소켓의주소정보구조체의길이 */ /* 정상종료하면실제송신된데이터수를반환, 에러가발생한경우에는 -1 를반환. 외부변수 errno 에에러를나타내는값을설정한다 */ Linux System Programming 38

39 소켓시스템콜 (21) 데이터그램소켓을이용한데이터송신 : sendto() 데이터그램소켓은비연결지향 (connectionless) 클라이언트프로세스에서의 connect() 호출, 서버프로세스에서의 listen() 호출이필요없음 데이터를송신할때에데이터수신측의주소를매번지정 Linux System Programming 39

40 소켓시스템콜 (22) 데이터그램소켓을이용한데이터수신 : recvfrom() #include <sys/types.h> #include <sys/socket.h> int recvfrom(int sockfd, void *buf, size_t len,int flags, struct sockaddr *from, socklen_t fromlen) /* int sockfd: 소켓파일디스크립터 */ /* void *buf: 수신버퍼의주소 */ /* size_t len: 수신버퍼의길이 */ /* int flags: 수신옵션 */ /* struct sockaddr *from: 송신측의소켓주소정보구조체의주소 */ /* socklen_t fromlen: 송신측의소켓주소정보구조체의길이 */ /* 정상종료하면실제송신된데이터수를반환, 에러가발생한경우에는 -1 를반환. 외부변수 errno 에에러를나타내는값을설정한다 */ 데이터그램소켓을통해전송된데이터를읽어온다 마지막두개의파라미터를통해데이터를전송한소켓의주소를읽어올수있다 Linux System Programming 40

41 소켓시스템콜 (23) 데이터그램소켓관련추가시스템콜 int sendmsg(int s, const struct msghdr *msg, int flags) int recvmsg(int s, struct msghdr *msg, int flags) sendto() & recvfrom() 와같이데이터그램소켓을이용하여데이터를송수신하는시스템콜 인자수를줄이기위해두번째인자에 msghdr 구조체를정의하여사용 Linux System Programming 41

42 네트워크라이브러리 (1) 바이트순서변환라이브러리함수 호스트바이트순서와네트워크바이트순서사이의변환을지원 #include <netinet/in.h> uint32_t htonl(uint32_t hostlong); /* 4 바이트데이터를호스트바이트순서에서네트워크바이트순서로변환 */ uint16_t htons(uint16_t hostlong); /* 2 바이트데이터를호스트바이트순서에서네트워크바이트순서로변환 */ uint32_t ntohl(uint32_t netlong); /* 4 바이트데이터를네트워크바이트순서에서호스트바이트순서로변환 */ uint16_t ntohs(uint16_t netlong); /* 2 바이트데이터를네트워크바이트순서에서호스트바이트순서로변환 */ Linux System Programming 42

43 네트워크라이브러리 (2) IP 주소조작라이브러리함수 #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int inet_aton(const char *cp, struct in_addr *inp); /* 점으로구분된 10 진수형식의 IP 주소를네트워크바이트순서의이진수형식 IP 주소로변환 */ in_addr_t inet_addr(const char *cp); /* 점으로구분된 10 진수형식의 IP 주소를네트워크바이트순서의이진수형식 IP 주소로변환 */ in_addr_t inet_network(const char *cp); /* 점으로구분된 10 진수형식의 IP 주소에서네트워크부분만을분리하여호스트바이트순서로반환 */ char * inet_ntoa(struct in_addr in); /* 네트워크바이트순서의이진 IP 주소를점으로구분한 10 진수표기로변환 */ Linux System Programming 43

44 네트워크라이브러리 (3) IP 주소조작라이브러리함수 ( 계속 ) #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> struct in_addr inet_makeaddr(int net, int host); /* 호스트바이트순서의네트워크부분과호스트부분을결합하여네트워크바이트순서의 IP 주소로반환 */ in_addr_t inet_lnaof(struct in_addr in); /* 네트워크바이트순서의이진 IP 주소에서호스트부분을분리하여호스트바이트순서로변환 */ in_addr_t inet_netof(struct in_addr in); /* 네트워크바이트순서의이진 IP 주소에서네트워크부분을분리하여호스트바이트순서로변환 */ Linux System Programming 44

45 네트워크라이브러리 (4) IP 주소조작라이브러리함수 ( 계속 ) IPv6 으로의확장 여러개의주소패밀리를지원 AF_INET / AF_INET6 #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> int inet_pton(int af, const charn *src, void *dst); char *inet_ntop(int af, const charn *src, void *dst, size_t cnt); Linux System Programming 45

46 네트워크라이브러리 (5) 바이트열조작라이브러리함수 #include <string.h> int bcmp(const void *s1, const void *s2, int n); /* 바이트열의비교 */ int bcopy(const void *s1, void *s2, int n); /* 바이트열의복사 */ int bzero(void *s, int n); /* 바이트열의초기화 */ 바이트열조작함수의비교 bcmp() memcmp() strcmp(), strncmp() bcopy() memcpy(), memccpy() strcpy(), strncpy() bzero() memset Linux System Programming 46

47 네트워크라이브러리 (6) 네트워크설정파일참조라이브러리함수 네트워크설정관련파일 /etc/hosts 호스트이름과 IP 주소대응표 /etc/protocols 프로토콜이름과프로토콜번호의대응표 /etc/services 서비스이름과포트번호, 프로토콜번호의대응포 /etc/networks 네트워크이름과네트워크주소의대응표 네트워크에서호스트엔트리를얻음 (/etc/hosts) gethostbyname() 호스트이름으로호스트정보를얻음 gethostbyaddr() IP 주소와일치하는호스트정보를얻음 sethostent() 네임서버에보내는접속양식설정 endhostent() 네임서버접속을끝냄 herror() 에러메시지를 stderr로보냄 hstrerror() 에러메시지를돌려줌 Linux System Programming 47

48 네트워크라이브러리 (7) 네트워크설정파일참조라이브러리함수 ( 계속 ) 프로토콜엔트리를얻음 (/etc/protocols) getprotoent() 파일의다음행에서프로토콜정보를얻음 getprotobyname() 프로토콜이름으로프로토콜정보를얻음 getprotobynumber() 프로토콜번호로프로토콜정보를얻음 setprotoent() 파일을열어파일포인터를가장앞으로이동 endprotoent() 파일닫음 서비스엔트리를얻음 (/etc/services) getservent() 파일의다음행에서서비스정보를얻음 getservbyname() 서비스이름으로서비스정보를얻음 getservbyport() 포트번호로서비스정보를얻음 setservent() 파일을열어파일포인터를가장앞으로이동 endservent() 파일닫음 Linux System Programming 48

49 네트워크라이브러리 (8) 네트워크설정파일참조라이브러리함수 ( 계속 ) 네트워크엔트리를얻음 (/etc/networks) getinetent() 파일의다음행에서네트워크정보를얻음 getinetbyname() 네트워크이름과일치하는행에서서비스정보를얻음 getinetbyport() 포트번호와일치하는행에서서비스정보를얻음 setinetent() 파일을열어파일포인터를가장앞으로이동 endinetent() 파일닫음 Linux System Programming 49

50 스트림소켓을이용한통신 (1) 스트림소켓을이용한동기통신 UNIX 도메인 INET 도메인 반복서버 병행서버 Linux System Programming 50

51 스트림소켓을이용한통신 (2) 스트림소켓을이용한비동기통신 Linux System Programming 51

52 데이터그램소켓을이용한통신 (1) INET 도메인에서의동기통신 Linux System Programming 52

53 데이터그램소켓을이용한통신 (2) 브로드캐스팅 Linux System Programming 53

Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt

Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt 12 장 소켓을이용한통신 (1) 함수 - inet_addr - inet_ntoa - socket - bind - listen - accept - connect - recv -send 1 서론 파이프를사용하여통신을하기위한시스템호출 / 표준라이브러리함수 함수 의미 inet_addr 문자열형태의인터넷주소를바이너리형태로변환한다. inet_ntoa 바이너리형태의인터넷주소를문자열형태로변환한다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Socket Programming 1 Jo, Heeseung 학습목표 TCP/IP 프로토콜의기본개념 IP 주소와포트번호의개념소켓관련구조체와함수소켓을이용한통신프로그램을작성 2 TCP/IP 개요 TCP/IP 인터넷의표준프로토콜 5계층 (4계층) 으로구성 TCP 와 UDP 의차이 3 IP 주소와호스트명 IP 주소와호스트명 IP 주소 : 인터넷을이용할때사용하는주소로점

More information

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt 13 장소켓을이용한통신 (2) 소켓을이용한통신 (2) 함수 - recvfrom - sendto - uname - gethostname - gethostbyname - gethostbyaddr 1 1. 서론 소켓을사용하여비연결형모델로통신을하기위한함수와그외의함수 함수 의미 recvfrom 비연결형모델에서소켓을통해메시지를수신한다. sendto 비연결형모델에서소켓을통해메시지를송신한다.

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Socket Programming 1 Jo, Heeseung 학습목표 TCP/IP 프로토콜의기본개념 IP 주소와포트번호의개념소켓관련구조체와함수소켓을이용한통신프로그램을작성 2 TCP/IP 개요 TCP/IP 인터넷의표준프로토콜 5 계층 (4 계층 ) 으로구성 TCP 와 UDP 의차이 3 IP 주소와호스트명 IP 주소와호스트명 IP 주소 : 인터넷을이용할때사용하는주소로점

More information

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode] TCP Server/Client Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 TCP Server Program Procedure TCP Server socket() bind() 소켓생성 소켓번호와소켓주소의결합 listen() accept() read() 서비스처리, write()

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 4 장 UDP 소켓 제 4 장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송싞및수싞 4.4 UDP 소켓의연결 UDP 소켓의특징 UDP 소켓의특성 싞뢰할수없는데이터젂송방식 목적지에정확하게젂송된다는보장이없음. 별도의처리필요 비연결지향적, 순서바뀌는것이가능 흐름제어 (flow

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 소켓프로그래밍기초 IT CookBook, 유닉스시스템프로그래밍 학습목표 TCP/IP 프로토콜의기본개념을이해한다. IP 주소와포트번호의개념을이해한다. 소켓관련구조체와함수를이해한다. 소켓을이용한통신프로그램을작성할수있다. 2/42 목차 TCP/IP 개요 IP 주소와호스트명 포트번호 소켓프로그래밍기초 소켓인터페이스함수 유닉스도메인소켓예제 인터넷소켓예제 3/42 TCP/IP

More information

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E > 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 소켓 (Socket) (1/2) Socket 이란? 서버와클라이언트가서로특정한규약을사용하여데이터를전송하기위한방식 서버와클라이언트는소켓연결을기다렸다가소켓이연결되면서로데이터를전송 현재네트워크상에서의모든통신의근간은 Socket 이라할수있음 Page 2 1 소켓 (Socket) (2/2)

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 13 장소켓 2 13.1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 1 목포해양대해양컴퓨터공학과 UDP 소켓 네트워크프로그램설계 4 장 2 목포해양대해양컴퓨터공학과 목차 제 4장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송신및수신 4.4 UDP 소켓의연결 3 목포해양대해양컴퓨터공학과 UDP 소켓의특징 UDP 소켓의특성 신뢰할수없는데이터전송방식 목적지에정확하게전송된다는보장이없음.

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 네트워크프로그래밍 02 장 TCP 소켓 (1) 1 목차 제 2장 TCP 소켓 1. IPv4 TCP 클라이언트 2. IPv4 TCP 서버 3. 소켓의생성과해지 4. 주소지정 5. 소켓에연결 6. 소켓을주소에바인딩하기 7. 클라이언트의연결요청처리 8. 데이터주고받기 9. IPv6의사용 2 소켓통신과정 간략화한소켓통신과정 소켓생성 TCP or UDP 소켓에주소정보할당

More information

슬라이드 1

슬라이드 1 Computer Networks Practice Socket 1 DK Han Junghwan Song dkhan@mmlab.snu.ac.kr jhsong@mmlab.snu.ac.kr 2012-3-26 Multimedia and Mobile communications Laboratory Introduction Client / Server model Server

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 1 목포해양대해양컴퓨터공학과 2 장. TCP 소켓 네트워크프로그램설계 2 목포해양대해양컴퓨터공학과 목차 제 2장 TCP 소켓 1. IPv4 TCP 클라이언트 2. IPv4 TCP 서버 3. 소켓의생성과해지 4. 주소지정 5. 소켓에연결 6. 소켓을주소에바인딩하기 7. 클라이언트의연결요청처리 8. 데이터주고받기 9. IPv6의사용 3 목포해양대해양컴퓨터공학과

More information

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드]

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드] 소켓개요 참고문헌 : 컴퓨터네트워크프로그래밍, 김화종, 홍릉과학출판사 Socket 정의 Socket 은 Transport 계층 (TCP 나 UDP) 을이용하는 API 1982 년 BSD 유닉스 41 에서처음소개 윈도우즈의경우 Winsock 제공 JAVA 또한 Socket 프로그래밍을위한클래스제공 Socket Interface 의위치 5-7 (Ses, Pre,

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 소켓프로그래밍활용 IT CookBook, 유닉스시스템프로그래밍 학습목표 소켓인터페이스를활용한다양한프로그램을작성할수있다. 2/23 목차 TCP 기반프로그래밍 반복서버 동시동작서버 동시동작서버-exec함수사용하기 동시동작서버-명령행인자로소켓기술자전달하기 UDP 프로그래밍 3/23 TCP 기반프로그래밍 반복서버 데몬프로세스가직접모든클라이언트의요청을차례로처리 동시동작서버

More information

슬라이드 1

슬라이드 1 1 Computer Networks Practice #1-1 - Socket Programming 이지민 (jmlee@mmlab.snu.ac.kr) 장동현 (dhjang@mmlab.snu.ac.kr) 2011. 9. 14 2 Transport layer 가하는일 Reliability 패킷젂송에오류가생기면잧젂송함으로써마치 오류가나지않는것처럼 싞뢰된젂송을 Application

More information

슬라이드 1

슬라이드 1 23. Sockets Input/Output Operations 일반대학원컴퓨터과학과 최윤기 (filterk7@gmail.com) Connection-oriented Model Client-Server 간통싞전에, 미리핚쌍의소켓을연결해두는개념. socket() 의 type argument 에 SOCK_STREAM 으로지정. TCP(Transmission Control

More information

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾ P a 02 r t Chapter 4 TCP Chapter 5 Chapter 6 UDP Chapter 7 Chapter 8 GUI C h a p t e r 04 TCP 1 3 1 2 3 TCP TCP TCP [ 4 2] listen connect send accept recv send recv [ 4 1] PC Internet Explorer HTTP HTTP

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 03 장 도메인네임시스템과주소 패밀리 (IPv4-IPv6 서비스 ) 1 목차 제 3 장도메인네임시스템과주소패밀리 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소-범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 2 getaddrinfo() 를활용한주소 범용 (Generic) 코드 주소범용 (Generic) 코드란? 주소버전

More information

vi 사용법

vi 사용법 네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

Chapter 4 UDP 소켓 사용법

Chapter 4 UDP 소켓 사용법 Chapter 4 UDP 소켓사용법 개요 소켓이란 (Unix 소켓 ) 소켓의구조 소켓의유형 UDP 에대한이해 교재 Chapter 4.1 UDP 클라이언트 교재 Chapter 4.2 UDP 서버 교재 Chapter 4.3 UDP 소켓을이용한 송신및수신 소켓이란? Socket 은통신을위한끝점 (endpoint) 을생성하여파일에대한 open 과유사한방식으로기술자

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 인터넷프로토콜 02 장 TCP 소켓 목차 제 2 장 TCP 소켓 2.1 IPv4 TCP 클라이언트 2.2 IPv4 TCP 서버 2.3 소켓의생성과해지 2.4 주소지정 2.5 소켓에연결 2.6 소켓을주소에바인딩하기 2.7 클라이언트의연결요청처리 2.8 데이터주고받기 2.9 IPv6 의사용 소켓통신과정 간략화한소켓통신과정 소켓생성 TCP or UDP 소켓에주소정보할당

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 Chap 2. Basic TCP Sockets Chap. 2 Basic TCP Sockets 2.1 IPv4 TCP 클라이언트 2.2 IPv4 TCP 서버 2.3 소켓의생성과해지 2.4 주소지정 2.5 소켓에연결 2.6 소켓을주소와바인딩하기 2.7 클라이언트의연결요청처리 2.8 데이터주고받기 2.9 IPv6의사용

More information

Microsoft PowerPoint - 06-CompSys-16-Socket.ppt

Microsoft PowerPoint - 06-CompSys-16-Socket.ppt 소켓시스템콜소개 TCP 클라이언트 / 서버프로그래밍 signal(), fork() 시스템콜 TCP 클라이언트 / 서버프로그래밍예 talk_client.c, talk_server.c UDP 클라이언트 / 서버프로그래밍 순천향대학교컴퓨터학부이상정 1 소켓시스템콜소개 순천향대학교컴퓨터학부이상정 2 소켓 (socket) 소켓은 TCP/IP 프로토콜을이용하기위한시스템콜인터페이스

More information

Microsoft PowerPoint - 09-CE-23-윈도우 소켓

Microsoft PowerPoint - 09-CE-23-윈도우 소켓 순천향대학교컴퓨터학부이상정 1 학습내용 인터넷과 TCP/IP 프로토콜 소켓의생성과해제 소켓주소표현 연결지향소켓프로그래밍 순천향대학교컴퓨터학부이상정 2 인터넷과 TCP/IP 프로토콜 순천향대학교컴퓨터학부이상정 3 인터넷구조의프로토콜계층 인터넷구조의프로토콜계층 응용계층 (application layer) 응용서비스제공 http, ftp, smtp, telnet,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용

More information

Network Programming

Network Programming Part 3 Socket Programming for Content Delivery in Multimedia Networks (Unix 기반 ) 유닉스소켓시스템콜 BSD 소켓 API의소개 IP 주소변환설명 소켓을이용한클라이언트및서버프로그램작성방법소개 유닉스시스템콜 signal()

More information

Network Programming

Network Programming Part 3 Socket Programming (Unix 기반 ) 목차 Socket 의개념 BSD 소켓 API 의소개 Socket 생성및 ID IP 주소변환설명 Socket 사용형태 소켓을이용한클라이언트및서버프로그램작성방법소개 채칭프로그램작성

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 03 장 도메인네임시스템과주소 패밀리 (IPv4-IPv6 서비스 ) 1 목포해양대해양컴퓨터공학과 목차 제 3 장도메인네임시스템과주소패밀리 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소-범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 2 목포해양대해양컴퓨터공학과 기존 IPv4 전용, IPv6 전용코드의 취약성 전용주소코드

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 Chap 3. Of Names and Address Families Chap. 3 Of Names and Address Families 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소 - 범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 기존 IPv4 전용, IPv6 전용코드의취약성

More information

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

More information

SYN flooding

SYN flooding Hacking & Security Frontier SecurityFirst SYN flooding - SYN flooding 공격의원리와코드그리고대응 by amur, myusgun, leemeca 2008. 09. myusgun Agenda 개요...3 원리...3 위협...4 잠깐! - 문서에관하여...4 이문서는...4 Code...4 대응방안...4 소스코드...5

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

IPv6 적용

IPv6 적용 IPv6 적용 1 IPv6 기본규격 2 IPv6 Basic header 3 IPv6 - Extension Headers (1) Hop-by-Hop Options (0) RSVP, PIM/MLD, etc. Routing (43) Source Routing, MIPv6 Fragment (44) Encapsulating Security Payload (50) IPsec

More information

Microsoft PowerPoint - 15-EmbedSW-10-Socket

Microsoft PowerPoint - 15-EmbedSW-10-Socket 10. 소켓개요 TCP 클라이언트 / 서버프로그래밍절차 오드로이드 I/O 소켓프로그램예 순천향대학교컴퓨터공학과이상정 1 소켓 (Socket) 운영체제복습 소켓 (socket) 은통신의극점 (endpoint) 을정의 소켓은 IP 주소와포트번호두가지를접합 (concatenate) 해서구별 두프로세스의네트워크통신에각각하나씩두개의소켓이필요 순천향대학교컴퓨터공학과 2

More information

Microsoft Word - Network Programming_NewVersion_01_.docx

Microsoft Word - Network Programming_NewVersion_01_.docx 10. Unix Domain Socket 105/113 10. Unix Domain Socket 본절에서는 Unix Domain Socket(UDS) 에대한개념과이에대한실습을수행하고, 이와동시에비신뢰적인통신시스템의문제점에대해서분석하도록한다. 이번실습의목표는다음과같다. 1. Unix Domain Socket의사용법을익히고, IPC에대해서실습 2. TCP/IP의응용계층과전달계층의동작을구현및실습

More information

Microsoft PowerPoint - Lecture_Note_2.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_2.ppt [Compatibility Mode] Understanding of Socket and File I/O Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 컴퓨터통신프로토콜 컴퓨터통신프로토콜데이터를원활이주고받을수있도록정한약속컴퓨터네트워크프로토콜 통신장비는서로간의통신방법이미리정의되어있어야함 같은통신프로토콜을지원하는장비간에만통신이가능컴퓨터통신은네트워크형태로운영

More information

<43B7CE20BECBBEC6BAB8B4C220BCD2C4CFC7C1B7CEB1D7B7A1B9D62E687770>

<43B7CE20BECBBEC6BAB8B4C220BCD2C4CFC7C1B7CEB1D7B7A1B9D62E687770> C 로알아보는 소켓프로그래밍 이현환 (NOON) haonun@gmail.com http://noon.tistory.com Hacking Study Grup E.Y.E -------------------------------------------------------------------- 목차 --------------------------------------------------------------------

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

10. 시스템 프로그래밍

10.  시스템 프로그래밍 네트워크프로그래밍 Unix Network Programming, 2nd Ed., W. Richard Stevens, Prentice Hall PTR, 1999. 한국어판 Unix Network Programming, Stevens 저, 김치하, 이재용역, 대영사, 1991. 컴퓨터네트워크프로그래밍, 개정판, 김화종, 홍릉과학출판사, 2000. 10.7 소켓

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

Microsoft PowerPoint UnixNetProg.ppt [호환 모드]

Microsoft PowerPoint UnixNetProg.ppt [호환 모드] 유닉스네트워크프로그래밍 Unix Network Programming, 2nd Ed., W. Richard Stevens, Prentice Hall PTR, 1999. 한국어판 Unix Network Programming, 2nd Ed., W. Richard Stevens 저, 김치하, 이재용편역, 교보문고, 1999. 컴퓨터네트워크프로그래밍, 개정판, 김화종,

More information

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트워크주소와 브로드캐스트주소를설명할수있다. 학습내용 1 : IP 헤더필드구성 1. Network Layer Fields 2. IP 헤더필드의구성 1)

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (1) 1 제 5 장데이터의송수신 5.1 정수인코딩 5.2 메시지생성, 프레이밍, 그리고파싱 5.3 마무리 2 들어가기전 TCP/IP 는사용자의데이터를검사하거나변경하지않고그대로전송 응용프로토콜은연속적인필드로구성된메시지형태로정의 인코딩 (encoding)/ 디코딩 (decoding) 또는파싱 (parsing) 네트워크응용프로그램개발방법

More information

9장 윈도우 소켓 프로그래밍

9장   윈도우 소켓 프로그래밍 윈도우소켓프로그래밍 _A_2015 버전 IT CookBook, 윈도우 API 프로그래밍 한빛미디어의윈도우 API 프로그래밍, 윈도우네트워크프로그래밍, 혜지원 API programming 을참조함! Updated 2015.11.22 1 학습목표 TCP/IP 프로토콜의개념을이해하고, 윈도우프로그래밍을이용한간단한채팅프로그램을작성하여이해도를높인다. 내용 소켓연결 메시지교환

More information

Unix Network Programming Chapter 4. Elementary TCP Sockets

Unix Network Programming Chapter 4. Elementary TCP Sockets Unix Network Programming Chapter 14. Advanced I/O Functions 광운대학교컴퓨터과학과 정보통신연구실 석사과정안중현 14.1 Introduction 이장에서소개되고있는내용 I/O operation 에서 timeout 을설정하는세가지방법 세가지 Read/Write 관련함수 recv/send readv/writev recvmsg/sendmsg

More information

Microsoft PowerPoint - UnixNetProg.ppt [호환 모드]

Microsoft PowerPoint - UnixNetProg.ppt [호환 모드] 유닉스네트워크프로그래밍 Unix Network Programming, 2nd Ed., W. Richard Stevens, Prentice Hall PTR, 1999. 한국어판 Unix Network Programming, 2nd Ed., W. Richard Stevens 저, 김치하, 이재용편역, 교보문고, 1999. 컴퓨터네트워크프로그래밍, 개정판, 김화종,

More information

운영체제실습_명령어

운영체제실습_명령어 운영체제실습 리눅스네트워크기본개념및설정 서 기옥 Contents 네트워크용어정의 IP 주소 네트워크기본명령어 네트워크관리명령어 네트워크설정파일 telnet 서버설정 네트워크용어정의 네트워크 (Network) : 전자적으로데이터를주고받기위한목적으로연결된 2 개이상의컴퓨터시스템 IP 주소와 Ethernet 주소 IP 주소 : 네트워크에연결된시스템을구분하는소프트웨어적인주소

More information

<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A

<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A 학습목표 자바의소켓포트의개념을이해한다 네트워크프로그래밍 클라이언트통신프로그램의구조를이해한다 소켓과클라이언트소켓을구분하여이해한다 11 주소켓 - 애코김문정 tops@u1.ac.kr 2 포트 (port) 데이터송수신창구 0~65536 (0~1024 : well-known port) ServerSocket 클래스 ( 소켓 ) ServerSocket 클래스에사용되는클래스

More information

Microsoft PowerPoint - all_CDSP_2(2009).ppt [호환 모드]

Microsoft PowerPoint - all_CDSP_2(2009).ppt [호환 모드] Contents Delivery Programming 2009 년 2 학기 숙명여자대학교정보과학부 멀티미디어과학전공 윤용익 yiyoon@sookmyung.ac.kr 강의목차 1 주 : 강의소개및 Part 1- Contents Delivery

More information

The OSI Model

The OSI Model Advanced Socket Programming Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 다중처리기술 2 다중처리기술 Multitasking Multi-process Multi-thread Multiplexing Polling Selecting Interrupt

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 12 장파이프 2 12.1 파이프 파이프원리 $ who sort 파이프 3 물을보내는수도파이프와비슷 한프로세스는쓰기용파일디스크립터를이용하여파이프에데이터를보내고 ( 쓰고 ) 다른프로세스는읽기용파일디스크립터를이용하여그파이프에서데이터를받는다 ( 읽는다 ). 한방향 (one way) 통신 파이프생성 파이프는두개의파일디스크립터를갖는다. 하나는쓰기용이고다른하나는읽기용이다.

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

Microsoft PowerPoint PythonGUI-socket

Microsoft PowerPoint PythonGUI-socket : 채팅프로그래밍 순천향대학교컴퓨터공학과 이상정 순천향대학교컴퓨터공학과 1 학습내용 인터넷구조 인터넷구성요소 인터넷주소 클라이언트 / 서버구조 소켓프로그래밍소개 파이썬소켓프로그래밍 TCP 클라이언트 / 서버프로그래밍 스레드소개 파이썬스레드 채팅클라이언트 / 서버프로그램 순천향대학교컴퓨터공학과 2 네트워크요소 네트워크가장자리 (edge) 호스트 : 클라이언트와서버

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

네트워크통신연결방법 네트워크제품이통신을할때, 서로연결하는방법에대해설명합니다. FIRST EDITION

네트워크통신연결방법 네트워크제품이통신을할때, 서로연결하는방법에대해설명합니다. FIRST EDITION 네트워크제품이통신을할때, 서로연결하는방법에대해설명합니다. FIRST EDITION 05-2012 개요 개요 네트워크상에연결되어있는기기들이통신을할때, 어떻게목적지를찾아가는지 (IP 주소, 서브넷마스크, 게이트웨이 ) 어떻게데이터를보내는지 (UDP/TCP, ) 에대한내용을설명합니다. 네트워크설정에따른특징을이해하여, 제품이설치된네트워크환경에따라알맞은설정을하도록합니다.

More information

0x00 Contents 0x About Nickster 0x Analaysis 0x Exploit

0x00 Contents 0x About Nickster 0x Analaysis 0x Exploit Defcon CTF 17 th Nickster Report StolenByte(Son Choong-Ho) http://stolenbyte.egloos.com thscndgh_4@hotmail.com WOWHACKER 2009. 08. 09 0x00 Contents 0x01 ------------- About Nickster 0x02 -------------

More information

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 25 장네트워크프로그래밍 이번장에서학습할내용 네트워크프로그래밍의개요 URL 클래스 TCP를이용한통신 TCP를이용한서버제작 TCP를이용한클라이언트제작 UDP 를이용한통신 자바를이용하여서 TCP/IP 통신을이용하는응응프로그램을작성하여봅시다. 서버와클라이언트 서버 (Server): 사용자들에게서비스를제공하는컴퓨터 클라이언트 (Client):

More information

Microsoft PowerPoint - 06-IPAddress [호환 모드]

Microsoft PowerPoint - 06-IPAddress [호환 모드] Chapter 06 IP Address IP Address Internet address IP 계층에서사용되는식별자 32 bit 2 진주소 The address space of IPv4 is 2 32 or 4,294,967,296 netid 와 hostid 로구분 인터넷에서호스트와라우터를유일하게구분 IP Address Structure 2-Layer Hierarchical

More information

자바-11장N'1-502

자바-11장N'1-502 C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),

More information

<4D F736F F D2034C0E52D554E495820BCD2C4CF20C0C0BFEB20C7C1B7CEB1D7B7A1B9D6>

<4D F736F F D2034C0E52D554E495820BCD2C4CF20C0C0BFEB20C7C1B7CEB1D7B7A1B9D6> 4. UNIX 소켓응용프로그래밍 4.1 소켓의동작모드 소켓의동작모드 blocking, non-blocking, 그리고비동기 (asynchronous) 모드 소켓을처음생성하면 blocking 모드의소켓이생성 blocking 모드소켓 어떤소켓관련시스템콜을호출하였을때네트웍시스템 ( 즉, TCP/IP) 이동작을완료할때까지응용프로세스가멈추어있게 (block) 되는소켓

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

PA for SWE2007

PA for SWE2007 SWE2007: Software Experiment II (Fall 2014) Programming Assignment #0: Making own "string_sw.h" Due: 22nd Sep. (Mon), 11:59 PM 1. Introduction 이번과제에선, 앞으로있을다른과제들을수행하기위한필요할함수들을구현한다. 그대상은, 문자열조작 / 검사 / 변환함수들을담은

More information

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

More information

<43B7CE20BECBBEC6BAB8B4C C5EBBDC52E687770>

<43B7CE20BECBBEC6BAB8B4C C5EBBDC52E687770> C 로알아보는 UDP 통신 이현환 (NOON) haonun@gmail.com http://noon.tistory.com Hacking Study Grup E.Y.E -------------------------------------------------------------------- 목차 --------------------------------------------------------------------

More information

PA for SWE2007

PA for SWE2007 Programming Assignment #0: Making own "my_string.h" SWE2007: Software Experiment II (Fall 2016) Due: 21st Sep. (Wed), 11:59 PM 1. Introduction 이번과제에선, 앞으로있을다른과제들을수행하기위한필요할함수들을구현한다. 그대상은, 문자열조작 / 검사 / 변환함수들을담은

More information

TCP.IP.ppt

TCP.IP.ppt TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP Internet Protocol _ IP Address Internet Protocol _ Subnet Mask Internet Protocol _ ARP(Address Resolution Protocol) Internet Protocol _ RARP(Reverse Address Resolution

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Microsoft Word - KPMC-400,401 SW 사용 설명서

Microsoft Word - KPMC-400,401 SW 사용 설명서 LKP Ethernet Card SW 사용설명서 Version Information Tornado 2.0, 2.2 알 림 여기에실린내용은제품의성능향상과신뢰도의증대를위하여예고없이변경될수도있습니다. 여기에실린내용의일부라도엘케이일레븐의사전허락없이어떠한유형의매체에복사되거나저장될수없으며전기적, 기계적, 광학적, 화학적인어떤방법으로도전송될수없습니다. 엘케이일레븐경기도성남시중원구상대원동

More information

3. 다음장에나오는 sigprocmask 함수의설명을참고하여다음프로그램의출력물과그출력물이화면이표시되는시점을예측하세요. ( 힌트 : 각줄이표시되는시점은다음 6 가지중하나. (1) 프로그램수행직후, (2) 5 초후 (3) 10 초후 (4) 15 #include <signa

3. 다음장에나오는 sigprocmask 함수의설명을참고하여다음프로그램의출력물과그출력물이화면이표시되는시점을예측하세요. ( 힌트 : 각줄이표시되는시점은다음 6 가지중하나. (1) 프로그램수행직후, (2) 5 초후 (3) 10 초후 (4) 15 #include <signa 학번 : 이름 : 1. 다음가정하에서아래프로그램의출력물을예측하세요. 가정 : 부모프로세스의 process id=10100, 자식프로세스의 process id=10101. char buf[] = "a write to stdout\n"; int var; /* automatic variable on the stack */ pid_t pid; int glob = 31;

More information

3. 다음장에나오는 sigprocmask 함수의설명을참고하여다음프로그램의출력물과그출력물이화면이표시되는시점을예측하세요. ( 힌트 : 각줄이표시되는시점은다음 4 가지중하나. (1) 프로그램수행직후, (2) kill 명령실행직후, (3) 15 #include <signal.

3. 다음장에나오는 sigprocmask 함수의설명을참고하여다음프로그램의출력물과그출력물이화면이표시되는시점을예측하세요. ( 힌트 : 각줄이표시되는시점은다음 4 가지중하나. (1) 프로그램수행직후, (2) kill 명령실행직후, (3) 15 #include <signal. 학번 : 이름 : 1. 다음가정하에서아래프로그램의출력물을예측하세요. 가정 : 부모프로세스의 process id=20100, 자식프로세스의 process id=20101. int glob = 31; /* external variable in initialized data */ char buf[] = "a write to stdout\n"; int main(void)

More information

bn2019_2

bn2019_2 arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily

More information

제12장 파일 입출력

제12장 파일 입출력 제 4 장파일입출력 리눅스시스템프로그래밍 청주대학교전자공학과 한철수 1 시스템호출 (system call) 파일 (file) 임의접근 (random access) 주요학습내용 2 4.1 절 커널의역할 (kernel) 커널 (kernel) 은운영체제의핵심부분으로서, 하드웨어를운영관리하는여러가지서비스를제공함 파일관리 (File management) 디스크 프로세스관리

More information

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode] Unix Process Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 유닉스기반다중서버구현방법 클라이언트들이동시에접속할수있는서버 서비스를동시에처리할수있는서버프로세스생성을통한멀티태스킹 (Multitasking) 서버의구현 select 함수에의한멀티플렉싱 (Multiplexing)

More information

61 62 63 64 234 235 p r i n t f ( % 5 d :, i+1); g e t s ( s t u d e n t _ n a m e [ i ] ) ; if (student_name[i][0] == \ 0 ) i = MAX; p r i n t f (\ n :\ n ); 6 1 for (i = 0; student_name[i][0]!= \ 0&&

More information

전송계층프로토콜 TCP(Transmission Control Protocol) 전송계층에서동작하는연결지향형 (connectionoriented) 프로토콜 데이터의흐름을관리하고, 데이터가정확한지검증하며통신 쓰리웨이핸드셰이킹 (three-way handshaking) 을통

전송계층프로토콜 TCP(Transmission Control Protocol) 전송계층에서동작하는연결지향형 (connectionoriented) 프로토콜 데이터의흐름을관리하고, 데이터가정확한지검증하며통신 쓰리웨이핸드셰이킹 (three-way handshaking) 을통 전송계층프로토콜 TCP(Transmission Control Protocol) 전송계층에서동작하는연결지향형 (connectionoriented) 프로토콜 데이터의흐름을관리하고, 데이터가정확한지검증하며통신 쓰리웨이핸드셰이킹 (three-way handshaking) 을통해연결설정 특징 - 높은신뢰성 - 가상회선연결방식 - 연결의설정과해제 - 데이터체크섬 - 시간초과와재전송

More information

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

학번 : 이름 1. 다음프로그램실행결과를예측하시오. $./a.out & [1] 7216 $ kill -USR $ kill -USR 아래학생이작성한쓰레드코드의문제점을설명하시오. void* thread_main() { pthread_mutex_t

학번 : 이름 1. 다음프로그램실행결과를예측하시오. $./a.out & [1] 7216 $ kill -USR $ kill -USR 아래학생이작성한쓰레드코드의문제점을설명하시오. void* thread_main() { pthread_mutex_t 학번 : 이름 1. 다음프로그램실행결과를예측하시오. $./a.out & [1] 7216 $ kill -USR1 7216 $ kill -USR2 7216 2. 아래학생이작성한쓰레드코드의문제점을설명하시오. void* thread_main() pthread_mutex_t lock=pthread_mutex_initializer; pthread_mutex_lock(&lock);

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 시스템호출개요 리눅스에서는사용자공간과커널공간을구분 사용자프로그램은사용자모드, 운영체제는커널모드에서수행 커널공간에대한접근은커널 ( 특권, priviledged) 모드에서가능 컴퓨팅자원 (CPU, memory, I/O 등 ) 을안전하게보호 커널수행을안전하게유지

More information

1장. 유닉스 시스템 프로그래밍 개요

1장.  유닉스 시스템 프로그래밍 개요 Unix 프로그래밍및실습 7 장. 시그널 - 과제보충 응용과제 1 부모프로세스는반복해서메뉴를출력하고사용자로부터주문을받아자식프로세스에게주문내용을알린다. (SIGUSR1) ( 일단주문을받으면음식이완료되기전까지 SIGUSR1 을제외한다른시그널은모두무시 ) timer 자식프로세스는주문을받으면조리를시작한다. ( 일단조리를시작하면음식이완성되기전까지 SIGALARM 을제외한다른시그널은모두무시

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 중 값에 의한 전달 방법과

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 Java Essential 1 2 학습목표 1. 소켓통신에대한이해 2. 자바로간단한소켓통신프로그램작성 TCP/IP 소개 3 TCP/IP 프로토콜 두시스템간에데이터가손상없이안전하게전송되도록하는통신프로토콜 TCP 에서동작하는응용프로그램사례 e-mail, FTP, 웹 (HTTP) 등 TCP/IP 특징 연결형통신 한번연결후계속데이터전송가능 보낸순서대로받아응용프로그램에게전달

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

Microsoft PowerPoint - 09-CE-24-채팅 프로그램

Microsoft PowerPoint - 09-CE-24-채팅 프로그램 순천향대학교컴퓨터학부이상정 1 학습내용 사용자인터페이스 프로그램구성 TCP 연결설정프로그램 서버연결설정 클라이언트연결설정 TCP 데이터송수신 순천향대학교컴퓨터학부이상정 2 사용자인터페이스 순천향대학교컴퓨터학부이상정 3 1:1 채팅프로그램 한프로그램이동시에서버와클라이언트로동작 프로그램시작시서버로동작 서버소켓생성하고상대방접속요청대기 채팅을위한연결요청시클라이언트로동작

More information

H3250_Wi-Fi_E.book

H3250_Wi-Fi_E.book 무선 LAN 기능으로 할 수 있는 것 2 무선 LAN 기능으로 할 수 있는 것 z q l D w 3 Wi-Fi 기능 플로우차트 z q l D 4 Wi-Fi 기능 플로우차트 w 5 본 사용 설명서의 기호 설명 6 각 장별 목차 1 2 3 4 5 6 7 8 9 10 11 12 13 14 7 목차 1 2 3 4 8 목차 5 6 7 8 9 9 목차 10 11 12

More information

2. 인터네트워킹 서로떨어져있는각각의수많은네트워크들을연결하여하나의네트워크처럼연결하여사용할수있도록해주는것 3. 인터네트워킹에필요한장비 1 리피터 (Repeater) - 데이터가전송되는동안케이블에서신호의손실인감쇄 (Attenuation) 현상이발생하는데, 리피터는감쇄되는신

2. 인터네트워킹 서로떨어져있는각각의수많은네트워크들을연결하여하나의네트워크처럼연결하여사용할수있도록해주는것 3. 인터네트워킹에필요한장비 1 리피터 (Repeater) - 데이터가전송되는동안케이블에서신호의손실인감쇄 (Attenuation) 현상이발생하는데, 리피터는감쇄되는신 1 주차 3 차시 TCP/IP 학습목표 1. TCP/IP 개요및인터네트워킹에필요한장비에대해설명할수있다. 2. TCP/IP 프로토콜계층구조를구분하고계층구조에서의전송을설명할수있다. 학습내용 1 : TCP/ IP 개요및인터네트워킹 1. TCP/IP 개요 - 1960 년대중반에연구기관들의대형컴퓨터들은독립실행형장비였음 - 미국방성의 ARPA(Advanced Research

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 4 장파일 컴퓨터과학과박환수 1 2 4.1 시스템호출 컴퓨터시스템구조 유닉스커널 (kernel) 하드웨어를운영관리하여다음과같은서비스를제공 파일관리 (File management) 프로세스관리 (Process management) 메모리관리 (Memory management) 통신관리 (Communication management) 주변장치관리 (Device

More information

목차 목차포트스캔코드포트스캔결과포트스캔탐지코드포트스캔탐지결과 참조

목차 목차포트스캔코드포트스캔결과포트스캔탐지코드포트스캔탐지결과 참조 C++ 이용한포트스캔 Winpcap 이용기존수업시간 Client, BasicDump 코드이용 제출일 2016, 06, 01 전공사이버경찰학과 과목네트워크보안프로그래밍학번 10121702 담당교수소길자이름김주명 목차 목차포트스캔코드포트스캔결과포트스캔탐지코드포트스캔탐지결과 참조 02 03 05 06 11 12 2 포트스캔코드 #include "stdafx.h"

More information

PA0 for SSE2033

PA0 for SSE2033 SSE2033: System Software Experiment II (Spring 2016) Programming Assignment #0: Making own "my_string.h" Due: 21st Mar. (Mon), 11:59 PM 1. Introduction 이번과제에선, 앞으로있을다른과제들을수행하기위한필요할함수들을구현한다. 그대상은, 문자열조작

More information

슬라이드 1

슬라이드 1 TCPdump 사용법 Neworks, Inc. (Tel) 070-7101-9382 (Fax) 02-2109-6675 ech@pumpkinne.com hp://www.pumpkinne.co.kr TCPDUMP Tcpdump 옵션 ARP 정보 ICMP 정보 ARP + ICMP 정보 IP 대역별정보 Source 및 Desinaion 대역별정보 Syn 과 syn-ack

More information

리눅스 취약점대응방안권고 / KISA 취약점점검팀 영향받는플랫폼 OS, FAQ 추가 개요 미국보안회사 에의해 시스템의 라이브러리 의특정함수에서임의코드를실행할수있는취약점이공개 해당취약점은 CVE 지정, 도메인네임을

리눅스 취약점대응방안권고 / KISA 취약점점검팀 영향받는플랫폼 OS, FAQ 추가 개요 미국보안회사 에의해 시스템의 라이브러리 의특정함수에서임의코드를실행할수있는취약점이공개 해당취약점은 CVE 지정, 도메인네임을 리눅스 취약점대응방안권고 15. 01. 29 / KISA 취약점점검팀 15. 01. 30 영향받는플랫폼 OS, FAQ 추가 개요 미국보안회사 에의해 시스템의 라이브러리 의특정함수에서임의코드를실행할수있는취약점이공개 해당취약점은 CVE-2015-0235 지정, 도메인네임을 IP로변환하는기능이포함된서비스 ( 메일, 웹등 ) 들은해당취약점에영향을받을수있음 취약점상세분석

More information