Microsoft Word - Network Programming_NewVersion_01_.docx

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Microsoft Word - Network Programming_NewVersion_01_.docx"

Transcription

1 10. Unix Domain Socket 105/ Unix Domain Socket 본절에서는 Unix Domain Socket(UDS) 에대한개념과이에대한실습을수행하고, 이와동시에비신뢰적인통신시스템의문제점에대해서분석하도록한다. 이번실습의목표는다음과같다. 1. Unix Domain Socket의사용법을익히고, IPC에대해서실습 2. TCP/IP의응용계층과전달계층의동작을구현및실습 3. Fragmentation 과 Header를구성하는실습 4. UDP 소켓통신의비신뢰성에대해서실습 10.1 Unix Domain Socket Unix Domain Socket(UDS) 는 socket API를수정없이이용하며, Port 기반의 Internet Domain Socket에비해서로컬시스템의파일시스템을이용해서내부프로세스간의통신을위해사용한다는점이다르다고할수있으며, 일반적으로한호스트에서 IPC와같이사용하였을때 2배이상의효율을가진다. 일반적으로, 약간복잡한내부프로세스간통신을해야된다고했을때 UDS을많이사용한다. 인터넷소켓통신이 TCP/IP 4계층을모두거치는것과는다르게, UDS는어플리케이션계층에서 TCP 계층까지만메시지가전달되고, 다시곧바로어플리케이션계층으로메시지가올라가게된다. 위에서 INET 소켓보다 2배이상의효율을가진다고했는데, 4계층의계층을모두거쳐야하는 INET 소켓에비해서단지 2개의레이어만사용한다는점도그이유중하나로작용한다 An Example of Unix Domain Socket 다음예제는서버에서파일을하나읽어온후 256바이트씩조각을내어서 IPC (Inter Process Communication) 를수행한다. 두번째시간에다루었던 filecopy() 를사용해서한호스트내에서 IPC의수행의모습을구현하였으며, 클라이언트에서는 256바이트씩전송되는데이터를화면에출력한다. 일반적으로 UDS에서는 sockaddr_un의구조체를사용하며, 구조체의형태는아래의소스에나타나있다. 일반적으로 sum_family에는 AF_UNIX를대입하고, sun_path에는 IPC를위한파일맵을구성한다. Network Programming

2 10. Unix Domain Socket 106/113 기존의 INET 버젼의프로그램과비교해보면고작 3줄정도만수정되었음을알수있을것이다. 단지소켓구조체가 sockaddr_un 으로바뀌고, AF_INET 대신 AF_UNIX 를그 Network Programming

3 10. Unix Domain Socket 107/113 리고 port 번호대신에파일명을사용했음을알수있다. 나머지의모든코드는 INET 코드와완전히같다. 그러므로 Unix Domain Socket 를사용하면 Inet Domain Socket 와코드일관성을유지할수있으며, 동일한기술을사용해서프로그래밍을할수있다. 동작의모습은다음과같다. 1. Server 의동작 2. Client 의동작 Network Programming

4 10. Unix Domain Socket 108/ Unreliable Communications App Layer Transport Layer 본실습에서는위의 UDS를기반으로수행되는 Unreliable Communications에대해서실습하도록한다. 위의그림과같이 2개의호스트가 UDP 소켓통신을수행하며, 각각의호스트에는 2개의프로세스가소켓통신을위해서각각의역할을수행한다. 각각의동작은다음과같이구분하도록한다. 1. 좌측의응용계층의프로세스는기본적으로파일을디스크로부터읽어서원하는사이즈만큼아래의프로세스로전송한다. 2. 좌측의전달계층의프로세스는 Fragmentation된파일의정보에 Header 정보를추가하고, 이를 Sendto() 함수를통해 UDP 소켓통신을수행한다. 3. 우측의전달계층의프로세스는 Recvfrom() 함수를통해 UDP 소켓을수신하고, Header의정보를가지고, Loss Rate를분석하도록하며, Header를파기하고, 실제데이터만응용계층의프로세스에전달한다. 4. 우측의응용계층의프로세스는 IPC로받은메시지를수합하여서디스크에저장한다. 다음과같이비신뢰적인소켓통신의분석을위해서는다음과같은헤더를정의하여서조각난파일정보에추가하여야한다. Network Programming

5 10. Unix Domain Socket 109/ Header Information 일반적으로비신뢰적통신을 TCP와같이신뢰적인통신으로수행하기위해서는기본적으로다음과같은최소한의요구사항을만족해야한다. 1. 헤더를이용하여서손실된세그멘테이션의정보를얻을수있어야한다. 2. 시간에따른이벤트를정의해서이에따라능동적으로통신이수행되어야한다. 이번실습에서는 1 의요구사항을만족하기위해간단한헤더를정의하도록한다. Type Name Size Behavior Unsigned int Sequence 4 bytes 순서번호 Unsigned int Size 4 bytes 세그멘테이션크기 char message 256 bytes 실제메시지 다음과같이정의하도록하여서수신한후순서번호에따라서손실률을판단하도록한다. Network Programming

6 10. Unix Domain Socket 110/ Implementation 구현은아래의그림과같이 4개의파일로구현이되며, 소스는다음페이지부터확인할수있다 Result Network Programming

7 Y:\Projects\Unreliable\packetinfo.h 00001: #ifndef _PACKETINFO_H 00002: #define _PAKCETINFO_H 00003: 00004: #define NAME "unix.socket" 00005: #define BUFF_SIZE : 00007: 00008: typedef struct nppacket 00009: { 00010: unsigned int sequence; 00011: unsigned int size; 00012: char message[256]; 00013: }np_header; 00014: 00015: #endif Page 1

8 Y:\Projects\Unreliable\appServer.c 00001: #include "etcp.h" 00002: #include "packetinfo.h" 00003: #include <sys/ un.h> 00004: 00005: 00006: void sig_chld sig_chld (int signo); 00007: void filecopy(int, int); 00008: 00009: int main(int argc, char ** argv) 00010: { 00011: setdebug(&argc, argv); 00012: 00013: int status; 00014: int servfd, clifd; 00015: int len; 00016: int rval; 00017: int filedesc; 00018: pid_t chldpid; 00019: / * Unix Domain Socket uses "sockaddr_un" Structure */ 00020: struct sockaddr_un un; 00021: char buf[buff_size] = {0}; 00022: 00023: / * Signal Register */ 00024: signal(sigchld, sig_chld); 00025: 00026: if(argc!= 2){ 00027: printf("usage : %s <file name>\n", argv[0]); 00028: exit(1); 00029: } 00030: / * file open */ 00031: if((filedesc = open(argv[1], O_RDONLY))<0) 00032: error(1, errno, "File open error()"); 00033: 00034: / * Unix Domain Socket */ 00035: / * 1st argument : AF_UNIX */ 00036: if((servfd=socket(af_unix,sock_stream,0)) < 0) 00037: error(1, errno, "Unix Domain Socket Error()"); 00038: 00039: unlink(name); 00040: 00041: / * structure Setting */ 00042: memset(&un,0,sizeof(un)); 00043: un.sun_family = AF_UNIX; 00044: strcpy(un.sun_path, NAME); 00045: 00046: len = sizeof(un.sun_family)+strlen(name); 00047: 00048: if(bind(servfd,(struct sockaddr*)&un,len)<0) 00049: error(1, errno, "Binding() error"); 00050: 00051: if(listen(servfd, 5)<0) 00052: error(1, errno, "Listening() error"); 00053: 00054: / * Child Section */ 00055: if((chldpid = fork()) == 0){ 00056: execl("./ transserver", "./ transserver", NULL); 00057: _exit(0); 00058: } 00059: 00060: / * Parent Section */ 00061: else{ 00062: if((clifd = accept(servfd, (struct sockaddr *)&un, &len))<0) 00063: error(1, errno, "Accept() error"); 00064: 00065: debug("================================\n"); 00066: debug("descriptor : file :%d\tserver :%d\tclient :%d\n", filedesc, servfd, clifd); 00067: 00068: filecopy(filedesc, clifd); 00069: } 00070: 00071: close(filedesc); 00072: close(clifd); 00073: close(servfd); 0? end main? 0074: } 00075: Page 1

9 Y:\Projects\Unreliable\appServer.c 00076: void filecopy(int from, int to) 00077: { 00078: char buf[buff_size]; 00079: int len; 00080: 00081: while(( len = read(from, buf, sizeof(buf)))!= 0){ 00082: write(to, buf, len); 00083: } 00084: } 00085: 00086: void sig_chld(int signo) 00087: { 00088: pid_t pid; 00089: int stat; 00090: 00091: while((pid = waitpid(- 1, &stat, WNOHANG)) > 0) 00092: debug("child %d Terminated\n", pid); 00093: } Page 2

10 Y:\Projects\Unreliable\transServer.c 00001: / * 00002: * NP Unix Domain Socket 00003: */ 00004: #include "etcp.h" 00005: #include "packetinfo.h" 00006: #include <sys/ un.h> 00007: 00008: np_header* attachheader(char*, int); 00009: 00010: int sequencenum =0; 00011: 00012: int main(int argc, char ** argv) 00013: { 00014: setdebug(&argc, argv); 00015: 00016: 00017: char* hname = "np2.hufs.ac.kr"; 00018: 00019: / * for Unix Domain Socket */ 00020: int clifd; 00021: int len; 00022: char buf[buff_size] = {0,}; 00023: struct sockaddr_un un; 00024: 00025: / * for Internet Socket (UDP) */ 00026: int udpserverfd; 00027: socklen_t lenrc; 00028: int size; 00029: char bufudp[buff_size] = {0,}; 00030: struct sockaddr_in servaddr; 00031: 00032: np_header * Np; 00033: 00034: / * for Unix Domain Socket */ 00035: if((clifd = socket(af_unix, SOCK_STREAM, 0)) < 0) 00036: error(1, errno, "Unix Domain Socket () error"); 00037: 00038: memset(&un,0,sizeof(un)); 00039: un.sun_family = AF_UNIX; 00040: strcpy(un.sun_path,name); 00041: len = sizeof(un.sun_family)+strlen(name); 00042: 00043: / * for Internet Socket (UDP) */ 00044: udpserverfd = udp_client(hname, "9000", &servaddr); 00045: lenrc = sizeof(servaddr); 00046: 00047: if(connect(clifd,(struct sockaddr*)&un,len)<0) 00048: error(1, errno, "connection () error"); 00049: 00050: while((len = read(clifd, buf, sizeof(buf))) > 0) 00051: { 00052: buf[len] ='\0'; 00053: 00054: Np = attachheader(buf, len); 00055: 00056: size = sendto(udpserverfd, Np, ntohs(np->size)+8, 0, &servaddr, lenrc); 00057: debug("%d\t%d\t%d\n",size, ntohs(np->size), ntohs(np- >sequence)); 00058: debug("%s\n",np- >message); 00059: } 00060: 00061: / * Send the End- of- File for UDP Socket */ 00062: size = sendto(udpserverfd, NULL, 0, 0, &servaddr, lenrc); 00063: close(clifd); 00064: 00065: return 0; 0? end main? 0066: } 00067: 00068: np_header * attachheader(char* buf, int len) 00069: { 00070: np_header * attacher; 00071: 00072: attacher- >sequence = htons(sequencenum++); 00073: attacher->size = htons(len); 00074: strcpy(attacher- >message, buf); 00075: 00076: return attacher; 00077: } Page 1

11 X:\Projects\UnreliableClient\appClient.c 00001: #include "etcp.h" 00002: #include <sys/ un.h> 00003: #include "packetinfo.h" 00004: 00005: void sig_chld sig_chld (int signo); 00006: void filecopy(int, int); 00007: 00008: int main(int argc, char ** argv) 00009: { 00010: setdebug(&argc, argv); 00011: 00012: int status; 00013: int servfd, clifd; 00014: int len; 00015: int rval; 00016: int filedesc; 00017: pid_t chldpid; 00018: 00019: / * Unix Domain Socket uses "sockaddr_un" Structure */ 00020: struct sockaddr_un un; 00021: char buf[buff_size] = {0}; 00022: 00023: / * Signal Register */ 00024: signal(sigchld, sig_chld); 00025: 00026: if(argc!= 2){ 00027: printf("usage : %s <file name>\n", argv[0]); 00028: exit(1); 00029: } 00030: / * file open */ 00031: if((filedesc = open(argv[1], O_WRONLY O_CREAT O_TRUNC, S_IRUSR S_IWUSR))<0) 00032: error(1, errno, "File open error()"); 00033: 00034: / * Unix Domain Socket */ 00035: / * 1st argument : AF_UNIX */ 00036: if((servfd=socket(af_unix,sock_stream,0)) < 0) 00037: error(1, errno, "Unix Domain Socket Error()"); 00038: 00039: unlink(name); 00040: 00041: / * structure Setting */ 00042: memset(&un,0,sizeof(un)); 00043: un.sun_family = AF_UNIX; 00044: strcpy(un.sun_path, NAME); 00045: 00046: len = sizeof(un.sun_family)+strlen(name); 00047: 00048: if(bind(servfd,(struct sockaddr*)&un,len)<0) 00049: error(1, errno, "Binding() error"); 00050: 00051: if(listen(servfd,10)<0) 00052: error(1, errno, "Listening() error"); 00053: 00054: / * Child Section */ 00055: if((chldpid = fork()) == 0){ 00056: execl("./ transclient", "./ transclient", NULL); 00057: _exit(0); 00058: } 00059: 00060: / * Parent Section */ 00061: else{ 00062: if((clifd = accept(servfd, (struct sockaddr *)&un, &len))<0) 00063: error(1, errno, "Accept() error"); 00064: 00065: debug("================================\n"); 00066: debug("descriptor : file :%d\tserver :%d\tclient :%d\n", filedesc, servfd, clifd); 00067: 00068: filecopy(clifd, filedesc); 00069: 00070: waitpid(chldpid, &status, 0); 00071: } 00072: 00073: close(filedesc); 00074: close(clifd); 00075: close(servfd); 0? end main? 0076: } 00077: Page 1

12 X:\Projects\UnreliableClient\appClient.c 00078: void filecopy(int from, int to) 00079: { 00080: char buf[buff_size]; 00081: int len; 00082: 00083: while(( len = read(from, buf, sizeof(buf)))!= 0){ 00084: write(to, buf, len); 00085: } 00086: } 00087: void sig_chld(int signo) 00088: { 00089: pid_t pid; 00090: int stat; 00091: 00092: while((pid = waitpid(- 1, &stat, WNOHANG)) > 0) 00093: debug("child %d Terminated\n", pid); 00094: } 00095: Page 2

13 X:\Projects\UnreliableClient\transClient.c 00001: #include "etcp.h" 00002: #include <sys/ un.h> 00003: #include "packetinfo.h" 00004: 00005: int main(int argc, char **argv) 00006: { 00007: setdebug(&argc, argv); 00008: 00009: / * for Unix Domain Socket */ 00010: int udsclifd; 00011: int len; 00012: struct sockaddr_un un; 00013: 00014: / * for Internet Socket UDP */ 00015: int servfd; 00016: int size; 00017: char buf[sizeof(np_header)] = {0,}; 00018: char sendmsg[buff_size] = {0,}; 00019: np_header * pip; 00020: 00021: / * for Statical Information */ 00022: int nextsequence = 0; 00023: int lossnum = 0; 00024: int totalpacket = 0; 00025: int lossgap; 00026: double lossrate; 00027: 00028: / * for Unix Domain Socket */ 00029: if((udsclifd = socket(af_unix, SOCK_STREAM, 0)) < 0) 00030: error(1, errno, "Unix Domain Socket error"); 00031: 00032: memset(&un, 0, sizeof(un)); 00033: un.sun_family = AF_UNIX; 00034: strcpy(un.sun_path, NAME); 00035: len = sizeof(un.sun_family)+strlen(name); 00036: 00037: / * for internet socket */ 00038: servfd = udp_server(null, "9000"); 00039: 00040: if(connect(udsclifd, (struct sockaddr*)&un, len)<0) 00041: error(1, errno, "Connection() error"); 00042: 00043: while(size = recvfrom(servfd, (void*)&buf, sizeof(buf), 0, NULL, NULL)!=0){ 00044: if(size < 0) 00045: errro(1, errno, "recvfrom Error"); 00046: / * Casting the received segmentation */ 00047: pip = (np_header*)buf; 00048: 00049: debug("%d\n",ntohs(pip- >sequence)); 00050: debug("%d\n",ntohs(pip->size)); 00051: 00052: / * Calculate Some Loss Rate */ 00053: if(ntohs(pip- >sequence) == nextsequence){ 00054: totalpacket++; 00055: nextsequence++; 00056: } 00057: else{ 00058: lossgap = ntohs(pip- >sequence)- nextsequence; 00059: lossnum += lossgap; 00060: nextsequence = ntohs(pip- >sequence)+1; 00061: totalpacket++; 00062: } 00063: 00064: 00065: strncpy(sendmsg, pip- >message, ntohs(pip->size)); 00066: debug("%s\n", pip- >message); 00067: write(udsclifd, sendmsg, ntohs(pip->size)); 000? end while size=recvfrom(servfd,...? 68: } 00069: 00070: printf("\n\n\=========statical Information===========\n"); 00071: printf("total Packets : %d\n", (ntohs(pip- >sequence))+1); 00072: printf("total Received Packets : %d\n", totalpacket); 00073: printf("total Loss Packets : %d\n", lossnum); 00074: printf("total Loss Rate : %f %%\n", (double)lossnum/ (double)(ntohs(pip- >sequence)+1)*100); 00075: printf("====================================\n\n"); 00076: return 0; 0? end main? 0077: } Page 1

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö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

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

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

제1장 Unix란 무엇인가?

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

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

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

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

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

제1장 Unix란 무엇인가?

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

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

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

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

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

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

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

슬라이드 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

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

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

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

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

More information

5.스택(강의자료).key

5.스택(강의자료).key CHP 5: https://www.youtube.com/watch?v=ns-r91557ds ? (stack): (LIFO:Last-In First-Out):. D C B C B C B C B (element) C (top) B (bottom) (DT) : n element : create() ::=. is_empty(s) ::=. is_full(s) ::=.

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

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

untitled

untitled Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II

More information

untitled

untitled - -, (insert) (delete) - - (insert) (delete) (top ) - - (insert) (rear) (delete) (front) A A B top A B C top push(a) push(b) push(c) A B top pop() top A B D push(d) top #define MAX_STACK_SIZE 100 int

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

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 - chap12 [호환 모드]

Microsoft PowerPoint - chap12 [호환 모드] 제 12 장고급입출력 Nov 2007 숙대창병모 1 Contents 1. Nonblocking I/O 2. Record Locking 3. Memory Mapped I/O Nov 2007 숙대창병모 2 12.1 Nonblocking I/O Nov 2007 숙대창병모 3 Nonblocking I/O Blocking I/O I/O 작업완료를기다리며영원히리턴안할수있다

More information

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7>

<4D F736F F F696E74202D20C1A63132B0AD20B5BFC0FB20B8DEB8F0B8AEC7D2B4E7> 제14장 동적 메모리 할당 Dynamic Allocation void * malloc(sizeof(char)*256) void * calloc(sizeof(char), 256) void * realloc(void *, size_t); Self-Referece NODE struct selfref { int n; struct selfref *next; }; Linked

More information

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어 개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,

More information

Microsoft PowerPoint APUE(File InO).ppt

Microsoft PowerPoint APUE(File InO).ppt 컴퓨터특강 () [Ch. 3] 2006 년봄학기 문양세강원대학교컴퓨터과학과 강의목표및내용 강의목표 파일의특성을이해한다. 파일을열고닫는다. 파일로부터데이터를읽고쓴다. 기타파일제어함수를익힌다. 강의내용 파일구조 (UNIX 파일은어떤구조일까?) 파일관련시스템호출 시스템호출의효율과구조 Page 2 1 What is a File? A file is a contiguous

More information

hd132x_k_v1r3_Final_.PDF

hd132x_k_v1r3_Final_.PDF HelloDevice ( HD1320E/1320/1321) Version 11 1 2 1 2 3 31 HD1320/1320E 311 312 313 RS232 32 HD1321 321 322 33 4 41 42 421 HD1320/1320E 422 HD1321 43 431 IP 432 IP 44 441 442 443 RS232 5 51 52 521 TCP 522

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

Microsoft PowerPoint APUE(File InO)

Microsoft PowerPoint APUE(File InO) Linux/UNIX Programming 문양세강원대학교 IT특성화대학컴퓨터과학전공 강의목표및내용 강의목표 파일의특성을이해한다. 파일을열고닫는다. 파일로부터데이터를읽고쓴다. 기타파일제어함수를익힌다. 강의내용 파일구조 (UNIX 파일은어떤구조일까?) 파일관련시스템호출 시스템호출의효율과구조 Page 2 What is a File? A file is a contiguous

More information

Microsoft PowerPoint - chap9 [호환 모드]

Microsoft PowerPoint - chap9 [호환 모드] 제 9 장프로세스관계 숙대창병모 1 Contents 1. Logins 2. Process Groups 3. Sessions 4. Controlling Terminal 5. Job Control 숙대창병모 2 로그인 숙대창병모 3 터미널로그인 /etc/ttys: 1 line per terminal device getty: opens terminal device

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Page 1 Page 2 Page 3 Page 4 Page 5 Page 6 Page 7 Internet Page 8 Page 9 Page 10 Page 11 Page 12 1 / ( ) ( ) / ( ) 2 3 4 / ( ) / ( ) ( ) ( ) 5 / / / / / Page 13 Page 14 Page 15 Page 16 Page 17 Page 18 Page

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

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

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

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

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

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

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

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

歯MW-1000AP_Manual_Kor_HJS.PDF

歯MW-1000AP_Manual_Kor_HJS.PDF Page 2 Page 3 Page 4 Page 5 Page 6 Page 7 Page 8 Page 9 Page 10 Page 11 Page 12 Page 13 Page 14 Page 15 Page 16 Page 17 Page 18 Page 19 Page 20 Page 21 Page 22 Page 23 Page 24 Page 25 Page 26 Page 27 Page

More information

o o o 8.2.1. Host Error 8.2.2. Message Error 8.2.3. Recipient Error 8.2.4. Error 8.2.5. Host 8.5.1. Rule 8.5.2. Error 8.5.3. Retry Rule 8.11.1. Intermittently

More information

2009년 상반기 사업계획

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

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의

More information

ePapyrus PDF Document

ePapyrus PDF Document 프로그래밍 콘테스트 챌린징 for GCJ, TopCoder, ACM/ICPC, KOI/IOI 지은이 Takuya Akiba, Yoichi Iwata, Mastoshi Kitagawa 옮긴이 박건태, 김승엽 1판 1쇄 발행일 201 1년 10월 24일 펴낸이 장미경 펴낸곳 로드북 편집 임성춘 디자인 이호용(표지), 박진희(본문) 주소 서울시 관악구 신림동 1451-15

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

LCD Display

LCD Display LCD Display SyncMaster 460DRn, 460DR VCR DVD DTV HDMI DVI to HDMI LAN USB (MDC: Multiple Display Control) PC. PC RS-232C. PC (Serial port) (Serial port) RS-232C.. > > Multiple Display

More information

untitled

untitled 1. void inorder(tree_ptr ptr) { if(ptr) { inorder(ptr->left_child); printf( %d,ptr->data); inorder(ptr->right_child); 2) => A / B * C * D + E () A / B * C * D + E void preorder(tree_ptr ptr) { if(ptr)

More information

UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR

UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR IMC-V0.1 예제소스파일 1. UART 소스코드 (page 1-3) 2. Encoder 소스코드 (page 4-7) 3. ADC 소스코드 (page 8-10) UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ

More information

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE>

<4D F736F F F696E74202D20C1A63137C0E520B5BFC0FBB8DEB8F0B8AEBFCD20BFACB0E1B8AEBDBAC6AE> 쉽게풀어쓴 C 언어 Express 제 17 장동적메모리와연결리스트 이번장에서학습할내용 동적메모리할당의이해 동적메모리할당관련함수 연결리스트 동적메모리할당에대한개념을이해하고응용으로연결리스트를학습합니다. 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것

More information

ronny report( wooyaggo, hkpco ).hwp

ronny report( wooyaggo, hkpco ).hwp Padocon Capture The Flag Hacking Contest Report team_name: ronny 구성원 - wooyaggo, hkpco 1. SectionA Level1 http://www.plus.or.kr/ctf/prob/c4724593d21aeccd08a4914b66ba278e SectionA Level1 : http://www.plus.or.kr/ctf/prob/c4724593d21aeccd08a4914b66ba278e

More information

106 107, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float

106 107, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float Part 2 31 32 33 106 107, ( ),, ( ), 3, int kor[5]; int eng[5]; int Microsoft Windows 4 (ANSI C2 ) int kor[5] 20 # define #define SIZE 20 int a[10]; char c[10]; float f[size]; /* 10 /* c 10 /* f 20 3 1

More information

슬라이드 1

슬라이드 1 Task 통신및동기화 : Socket Chapter #13 강의목차 소켓개요 소켓관련시스템콜 네트워크라이브러리 스트림소켓을이용한프로세스통신 데이터그램소켓을이용한프로세스통신 Unix System Programming 2 소켓 (Socket) 소켓 (Socket) 개요 (1) 프로세스간의통신을위한데이터출입구 파이프도구를일반화 양방향데이터통신을지원 상호연관성이없는프로세스간에통신이가능

More information

untitled

untitled CAN BUS RS232 Line CAN H/W FIFO RS232 FIFO CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter PROTOCOL Converter CAN2RS232 Converter Block Diagram > +- syntax

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

UDP Flooding Attack 공격과 방어

UDP Flooding Attack 공격과 방어 황 교 국 (fullc0de@gmail.com) SK Infosec Co., Inc MSS Biz. Security Center Table of Contents 1. 소개...3 2. 공격 관련 Protocols Overview...3 2.1. UDP Protocol...3 2.2. ICMP Protocol...4 3. UDP Flood Test Environment...5

More information

1.hwp

1.hwp 윈도우 멀티미디어 취약점 분석 방법론 연구 수탁기관 : 한양대학교 산학협력단 2009. 09 25,000 2008 2009(1~8월 ) 20,000 15,000 11,818 10,000 5,000-11,362 3,344 2,756 603 173 2-366 165 1 1 기업 대학 비영리 연구소 네트워크 기타(개인)

More information

06Àå

06Àå Chapter 5 Chapter 6 Chapter 7 chapter 6 Part 1 6.1 Part 2 Part 3 145 146 Chapter 5 Chapter 6 Chapter 7 Part 1 Part 2 Part 3 147 148 Chapter 5 Chapter 6 Chapter 7 Part 1 Part 2 Part 3 149 150 Chapter 5

More information

lecture4(6.범용IO).hwp

lecture4(6.범용IO).hwp 제 2 부 C-언어를 사용한 마이크로컨트롤러 활용기초 66 C-언어는 수학계산을 위해 개발된 FORTRAN 같은 고급언어들과는 달 리 Unix 운영체제를 개발하면서 같이 개발된 고급언어이다. 운영체제의 특성상 C-언어는 다른 고급언어에 비해 컴퓨터의 하드웨어를 직접 제어할 수 있는 능력이 탁월하여 마이크로프로세서의 프로그램에 있어서 어셈블 리와 더불어 가장

More information

Microsoft PowerPoint - lab14.pptx

Microsoft PowerPoint - lab14.pptx Mobile & Embedded System Lab. Dept. of Computer Engineering Kyung Hee Univ. Keypad Device Control in Embedded Linux HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착되어있다. 2 Keypad Device Driver

More information

KISA-GD

KISA-GD KISA-GD-2011-0002 2011.9 1) RD(Recursive Desired) 플래그 : 리커시브네임서버로하여금재귀적 (recursive) 질의 ( 항목 1.3. 참고 ) 요청을표시함. RD 플레그값이 0 이면반복적 (iterative) 질의를요청 2) AA 플래그 : Authoritative Answer 의약자로써, 네임서버가해당응답데이터를자신이보유하고있는지유무를표시

More information

<C6F7C6AEB6F5B1B3C0E72E687770>

<C6F7C6AEB6F5B1B3C0E72E687770> 1-1. 포트란 언어의 역사 1 1-2. 포트란 언어의 실행 단계 1 1-3. 문제해결의 순서 2 1-4. Overview of Fortran 2 1-5. Use of Columns in Fortran 3 1-6. INTEGER, REAL, and CHARACTER Data Types 4 1-7. Arithmetic Expressions 4 1-8. 포트란에서의

More information

TTA Journal No.157_서체변경.indd

TTA Journal No.157_서체변경.indd 표준 시험인증 기술 동향 FIDO(Fast IDentity Online) 생체 인증 기술 표준화 동향 이동기 TTA 모바일응용서비스 프로젝트그룹(PG910) 의장 SK텔레콤 NIC 담당 매니저 76 l 2015 01/02 PASSWORDLESS EXPERIENCE (UAF standards) ONLINE AUTH REQUEST LOCAL DEVICE AUTH

More information

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

Microsoft Word - Network Programming_01.docx

Microsoft Word - Network Programming_01.docx 1. Environment 4/35 1. Environment 본장에서는기본적으로네트워크프로그래밍을수행하기위한기본적인환경을구축하는실습을다루도록하겠다. 본실습에서는기본적으로프로그래밍플랫폼인리눅스의서비스중하나인 Samba Server와프로그래밍을구조적으로할수있게도와주는 Source Insight를사용하는방법을다루도록한다. 1.1 Samba Server 를통한 Linux

More information

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

Microsoft PowerPoint - VHDL02_full.ppt [호환 모드] VHDL 프로그래밍 2. VHDL 언어사용해보기 한동일 학습목표 기존프로그래밍언어의간단한예를다룬다. VHDL 언어의간단한예를다룬다. 각언어의실제적인사용예를파악한다. 기존프로그래밍언어와비교되는 VHDL언어의차이점을이해한다. 엔티티선언의의미를파악한다. 아키텍처선언의의미를파악한다. VHDL 언어의문장구조를눈에익힌다. 디지털로직과이의 VHDL 표현과정을이해한다. 2/23

More information

Network Programming

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

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729> 7주차 AVR의 A/D 변환기제어레지스터및관련실습 Next-Generation Networks Lab. 3. 관련레지스터 표 9-4 레지스터 ADMUX ADCSRA ADCH ADCL 설명 ADC Multiplexer Selection Register ADC 의입력채널선택및기준전압선택외 ADC Control and Status Register A ADC 의동작을설정하거나동작상태를표시함

More information

제20회_해킹방지워크샵_(이재석)

제20회_해킹방지워크샵_(이재석) IoT DDoS DNS (jaeseog@sherpain.net) (www.sherpain.net) DDoS DNS DDoS / DDoS(Distributed DoS)? B Asia Broadband B Bots connect to a C&C to create an overlay network (botnet) C&C Provider JP Corp. Bye Bye!

More information

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor

Microsoft PowerPoint - 08-C-App-19-Quick-Preprocessor 19. 전처리와분할컴파일 순천향대학교컴퓨터학부이상정 1 학습내용 전처리명령어 #include #define 기호상수 const 분할컴파일 순천향대학교컴퓨터학부이상정 2 전처리과정 전처리 (preprocessor) 전처리명령어는 # 기호로시작 #incldue #define 순천향대학교컴퓨터학부이상정 3 #include (1) 지정된파일을프로그램에삽입 꺽쇠괄호는포함할파일을컴파일러에설정되어있는특정디렉토리에서검색

More information

............ ......

............ ...... 3 N.P 하모닉드라이브 의 작동원리 서큘러스플라인 웨이브제네레이터 플렉스플라인 플렉스플라인은 웨이브제네레 이터에 의해 타원형상으로 탄 성변형되어 이로인해 타원의 장축부분에서는 서큘러스플라 인과 이가 맞물리고 단축부분 에서는 이가 완전히 떨어진 상태로

More information

10X56_NWG_KOR.indd

10X56_NWG_KOR.indd 디지털 프로젝터 X56 네트워크 가이드 이 제품을 구입해 주셔서 감사합니다. 본 설명서는 네트워크 기능 만을 설명하기 위한 것입니다. 본 제품을 올바르게 사 용하려면 이 취급절명저와 본 제품의 다른 취급절명저를 참조하시기 바랍니다. 중요한 주의사항 이 제품을 사용하기 전에 먼저 이 제품에 대한 모든 설명서를 잘 읽어 보십시오. 읽은 뒤에는 나중에 필요할 때

More information

2007_2_project4

2007_2_project4 Programming Methodology Instructor: Kyuseok Shim Project #4: external sort with template Due Date: 0:0 a.m. between 2007-12-2 & 2007-12-3 Introduction 이프로젝트는 C++ 의 template을이용한 sorting algorithm과정렬해야할데이터의크기가

More information

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f JPA 에서 QueryDSL 사용하기위해 JPAQuery 인스턴스생성방법 http://ojc.asia, http://ojcedu.com 1. JPAQuery 를직접생성하기 JPAQuery 인스턴스생성하기 QueryDSL의 JPAQuery API를사용하려면 JPAQuery 인스턴스를생성하면된다. // entitymanager는 JPA의 EntityManage

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

Chapter_06

Chapter_06 프로그래밍 1 1 Chapter 6. Functions and Program Structure April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 문자의입력방법을이해한다. 중첩된 if문을이해한다. while 반복문의사용법을익힌다. do 반복문의사용법을익힌다.

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

More information

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다. C 언어와 Assembly Language 을사용한 Programming 20011.9 경희대학교조원경 1. AVR Studio 에서사용하는 Assembler AVR Studio에서는 GCC Assembler와 AVR Assmbler를사용한다. A. GCC Assembler : GCC를사용하는경우 (WinAVR 등을사용하는경우 ) 사용할수있다. New Project

More information

Microsoft PowerPoint - lab15.pptx

Microsoft PowerPoint - lab15.pptx Mobile & Embedded System Lab. Dept. of Computer Engineering Kyung Hee Univ. TextLCD Device Control in Embedded Linux M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App을개발 TextLCD는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210의

More information

VZ94-한글매뉴얼

VZ94-한글매뉴얼 KOREAN / KOREAN VZ9-4 #1 #2 #3 IR #4 #5 #6 #7 ( ) #8 #9 #10 #11 IR ( ) #12 #13 IR ( ) #14 ( ) #15 #16 #17 (#6) #18 HDMI #19 RGB #20 HDMI-1 #21 HDMI-2 #22 #23 #24 USB (WLAN ) #25 USB ( ) #26 USB ( ) #27

More information

HTTP 통신 요청 (여기서 빨간색 /은 서버의 상대 주소 "/" 에 위치한 문서를 요청하는 것이다) GET / HTTP/1.1 Host: csl.skku.edu (EMPTY LINE) 응답 HTTP/1.1 200 OK Date: Mon, 21 Oct 2013 15:0

HTTP 통신 요청 (여기서 빨간색 /은 서버의 상대 주소 / 에 위치한 문서를 요청하는 것이다) GET / HTTP/1.1 Host: csl.skku.edu (EMPTY LINE) 응답 HTTP/1.1 200 OK Date: Mon, 21 Oct 2013 15:0 SSE2030: INTRODUCTION TO COMPUTER SYSTEMS (Fall 2013) Programming Assignment #4 Due: November 17, 11:59:59 PM 1. Introduction 이번 과제를 통해 HTTP/1.0을 따르는 멀티 프로세스 웹 서버를 만들어본다. 2. Overview PA #3에서 작성했던 서버-클라이언트

More information

Network Programming

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

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

씨에이에스는 서울특별시 시설관리공단 계약 제1579호(2005.7.25) 장애인 콜택시 콜센터 차량관제시스템 구축사업 감리용역 에 근거하여 카나스 에서 수행중인 장애인콜택시 콜센터 차량관제시스템 구축사업에 대한 최종감리를 실시하고 본 보고서를 제출합니다. 2005.11

씨에이에스는 서울특별시 시설관리공단 계약 제1579호(2005.7.25) 장애인 콜택시 콜센터 차량관제시스템 구축사업 감리용역 에 근거하여 카나스 에서 수행중인 장애인콜택시 콜센터 차량관제시스템 구축사업에 대한 최종감리를 실시하고 본 보고서를 제출합니다. 2005.11 관리 번호 씨에이에스 감리 2005-102호 서울특별시 시설관리공단 장애인콜택시 콜센터 차량관제시스템 구축사업 최종감리 보고서 2005 년 11 월 씨에이에스 씨에이에스는 서울특별시 시설관리공단 계약 제1579호(2005.7.25) 장애인 콜택시 콜센터 차량관제시스템 구축사업 감리용역 에 근거하여 카나스 에서 수행중인 장애인콜택시 콜센터 차량관제시스템 구축사업에

More information

PCServerMgmt7

PCServerMgmt7 Web Windows NT/2000 Server DP&NM Lab 1 Contents 2 Windows NT Service Provider Management Application Web UI 3 . PC,, Client/Server Network 4 (1),,, PC Mainframe PC Backbone Server TCP/IP DCS PLC Network

More information

/ (application layer protocols) http ftp smtp pop dns 2

/ (application layer protocols) http ftp smtp pop dns 2 Chapter 2: Application Layer 1 / (application layer protocols) http ftp smtp pop dns 2 ),, (TCP,UDP) application transport network data link physical application transport network data link physical application

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

BACK TO THE BASIC C++ 버그 헌팅: 버그를 예방하는 11가지 코딩 습관

BACK TO THE BASIC C++ 버그 헌팅: 버그를 예방하는 11가지 코딩 습관 Hanbit ebook Realtime 30 C++ 버그 헌팅 버그를 예방하는 11가지 코딩 습관 Safe C++ 블라디미르 쿠스퀴니르 지음 / 정원천 옮김 이 도서는 O REILLY의 Safe C++의 번역서입니다. BACK TO THE BASIC C++ 버그 헌팅 버그를 예방하는 11가지 코딩 습관 BACK TO THE BASIC C++ 버그 헌팅 버그를

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

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