TCP / IP 소켓 프로그래밍 3주차 ( Ch.10 ~ Ch.14 ).

Slides:



Advertisements
Similar presentations
학자금 신청방법 대학현장협업부.  신청서 작성 시 공인인증서가 필요합니다 공인인증서란 ? - 전자상거래를 할 때 신원을 확인하고, 문서의 위조와 변조, 거래 사실의 부인 방지 등을 목적으로 공인인증기관 (CA) 이 발행하는 전자적 정보로서, 일종의 사이버 거래용 인감증명서이다.
Advertisements

비즈쿨 - 정 성 욱 - - 금오공고 비즈쿨 - 정 성 욱 1. 나는 각 단원들의 활동들에 성실하게 참여 하겠습니다. 우리의 다짐 2. 나는 나와 전체의 발전을 위해 각 멘토들의 지도에 순종하겠습니다. 3. 나는 각 단원들을 숙지함으로써 비즈니스 마인드를 함양하고 자신의.
ㅋㅋ 다른 집단과 명확히 구별되는 가치체계와 지식 그리고 그에 부합하는 기술을 가지고 있어야 한다. 가치체계 - 사회복지사윤리강령, 선서 등 기본요소 완성 지식 - 사회복지사 1 급 자격증 시험으로 완성 기술 - 명확하지 않으나 실습, 보수교육을 통해 완성 Client.
CastLine Switcher 시리즈는 방송에 필요한 Video 화면 편집, 인코딩, 스트리밍 등 방송 환경 을 통합 지원하도록 디자인된 통합 디지털 방송시스템으로 고품질 라이브 스트리밍 외에 다 채널 방송 소스 입력, Video Switching, Muxing, Video.
Chapter 13 전송층 개요.
Network Lab. Yong bae, Kim
제 13 장 인터넷 그룹 관리 프로토콜.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
IP변경 요청_ 스마트폰 전자결제연동 올더게이트.
Asymmetric Link 분석.
TCP/IP Socket Cover Slide 조태문.
연습 문제 풀이 E BF F8 85 A5 E5 9B 37 A5 E5 9B FF 버전 헤더길이 서비스유형 전체길이
Department of Computer Engineering
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
Internet Group Management Protocol (IGMP)
Internet Control Message Protocol (ICMP)
인공지능실험실 석사 2학기 김승겸 TCP/IP Socket Programming… 제 10장 멀티태스킹 기반의 서버구현 인공지능실험실 석사 2학기 김승겸
Signal & Inter-Process Communication
Department of Computer Engineering
제 18 장 TCP/IP 연결 확립과 종료 정보통신연구실.
Chapter 02 네트워크에 대한 이해.
Naming Method 설정 김동오 -1-.
6 프로세스 생성과 실행.
Using Standard I/O on Sockets
Department of Computer Engineering
PART 02 프로토콜 컴퓨터 네트워크 chapter 06 트랜스포트 계층 임효택.
Department of Computer Engineering
IP 기반 사내방송 서비스 소개 ( IP기반의 최고화질의 영상/음성 실시간 전송기술)
fork로 생성한 자식 프로세스에서 exec 함수군을 호출
Term Project Team Member
Homework 6… 12월 2일(금) 11:59pm까지 자신의 이름과 학번을 출력해 주는 유닉스/리눅스 네트워크 소켓 서버 프로그램 과 클라이언트 프로그램 을 작성해 보세요 참고 (실습1) Hello 프로그램 helloserver.c helloclient.c 컴파일.
Chapter 8 연결형 프로토콜 서버 발표자 : SE Lab 황 성 하
Advanced Socket Programming
Department of Computer Engineering
시스템 운영계획 통신 케이블 제작 엑세스 포인트, 스위치, 라우터 설치 및 환경구성
13장 고급 입출력 함수 박사 4학기 최 성자.
Web-Caching 8조 이은식 이윤섭 임호용 장종혁
Signal & Inter-Process Communication
서버 실습 기말과제 게임소프트웨어 b 이도하 Date :2014/12/11(목)
P2P를 연결을 위한 여러기술 휴즈플로우 이재동 예전에 간략하게 크로스 플랫폼 p2p를 이야기한적이 있었는데요
2장. TCP/IP, 서브넷팅 2012년 2학기 중부대학교 정보보호학과 이병천 교수.
멀티 쓰레드 기반의 채팅 프로그램 문성영 김현진 학번 이름 장용하 차희진 연구제안서.
Packet Analyzer V (주) 이네스 닷컴.
Transmission Control Protocol (TCP)
칼빈의 생애와 개혁자로의 변모 사학과 김종식.
User Datagram Protocol (UDP)
스마트폰→PC원격제어 관심분야연구회 조 용한 제 인환.
Chapter 04. OSI 참조 모델.
국제의료관광 관련 법, 제도.
IP변경 요청 올더게이트.
Chapter 16 Socket Interface.
TCP / IP 소켓 프로그래밍 4주차 ( Ch.15 ~ Ch.18 + α ).
Department of Computer Engineering
목적을 갖고 살아요!.
네트워크 프로그래밍 및 실습.
윤성우의 열혈 TCP/IP 소켓 프로그래밍 윤성우 저 열혈강의 TCP/IP 소켓 프로그래밍 개정판
Signal & Inter-Process Communication
Department of Computer Engineering
MONSTER CAR 구정재 한석우 김재형.
CHAPTER 9-1 한국의 사회복지정책 - 사회보험제도 -
나비는 두 꽃 중에서 어느 꽃으로 날아 갈까요? 한 장미꽃은 향기가 나고 한 장미꽃은 악취가 납니다 두 개의 장미꽃이 있습니다
Part TCP / IP 1. TCP / IP 프로토콜 2. 기본 프로토콜.
제 14 장 응용 계층과 클라이언트-서버 모델 클라이언트-서버 모델 14.2 동시성 14.3 프로세스 14.4 요약.
통신 메모리 공유를 이용한 클라이언트/서버 설정 방법
▶서류관리 프로그램 1. 로그인….2 2. 서류등록 … 서류도착 서류스티커발행
시민이 체감하는 편리한 건축인허가 절차 개선 추진.
실시간 음성 채팅 서비스 (Voice Chatting Programe)
Signal & Inter-Process Communication
Chapter 4. DHCP 컴퓨터들의 IP Address를 관리하기 위한 DHCP프로토콜의 동작방법부터 설명하며 DHCP서버와 클라이언트의 구성 및 DHCP를 통한 IP Address관리에 대해서 설명하고 있다. 기업네트워크에서 네트워크에 서버를 배치할 때 필수적으로.
경찰학 세미나 제 5 강 경찰관직무집행법 2조 5호의 의미 신라대학교 법경찰학부 김순석.
Presentation transcript:

TCP / IP 소켓 프로그래밍 3주차 ( Ch.10 ~ Ch.14 )

세부 계획 스터디 세부 계획 상의 모습은 다음과 같습니다. 스터디 계획 및 Ch.1 ~ Ch.4 1주차 2주차 Ch.10.3 ~ Ch.14 3주차 Ch.15 ~ Ch. 17 4주차 기말고사 Ch.18 5주차 기말고사 Ch.19 ~ Ch.24 6주차 채팅 프로그래밍 7주차 8주차 스터디 세부 계획 상의 모습은 다음과 같습니다.

Chapter 10 멀티프로세스 기반의 서버구현

다중 접속 서버와 비 다중 접속 서버 비 다중 접속 서버 다중 접속 서버 서비스 시간이 빠르다 접속 대기 시간이 길다 (순 차) 서비스 시간이 조금 느리다 접속 대기 시간이 짧다 (병렬)

다중 접속 서버란? 둘 이상의 클라이언트에게 동시 에 접속을 허용하여, 동시에 둘 이상의 클라이언트에 게 서비스를 제공하는 서버를 의미 한다.

프로세스란? 간단하게는 실행중인 프로그램을 뜻한다. 실행중인 프로그램에 관련된 메모리, 리소스등을 총칭하는 의미이다. 실행중인 프로그램에 관련된 메모리, 리소스등을 총칭하는 의미이다. 멀티프로세스 운영체제는 둘 이상의 프로세스를 동 시에 생성 가능하다.

Fork 함수 fork 함수가 호출되면, 호 출한 프로세스가 복사되 어 fork 함수 호출 이후를 각각의 프로세스가 독립 적으로 실행하게 된다. 부모 자식

Fork 함수 사용 방법 pid=fork(); if(pid==0) // if Child Process gval+=2, lval+=2; else // if Parent Process gval-=2, lval-=2; if(pid==0) printf("Child Proc: [%d, %d] \n", gval, lval); else printf("Parent Proc: [%d, %d] \n", gval, lval);

좀비 프로세스 실행이 완료되었음에도 불 구하고, 소멸되지 않은 프로세스 wait 함수 waitpid 함수 퇴치 방법은 ?

시그널 핸들링 특정 상황이 되었을 때 운 영체제가 프로세스에게 해당 상황이 발생했음을 알리는 일종의 메시지를 가 리켜 프로세스에게 해당 상황이 발생했음을 알리는 일종의 메시지를 가 리켜 시그널이라 한다. pid=fork(); …………… if(pid==0) printf("Child Proc: [%d, %d] \n", gval, lval); else printf("Parent Proc: [%d, %d] \n", gval, lval); return 0; 시그널 발생 !

프로세스 기반 다중접속 서버 연결이 하나 생성될 때마다 프로세 스를 생성해서 해당 클라이언트에 대해 서비스를 제공하는 것이다.

fork 를 통한 디스크립터의 복사 프로세스에 의해 만들어진 소켓이 복사되는 게 아니고, 파일 디스크립터가 복사된다

Chapter 11 프로세스간 통신

프로세스간 통신이란? 프로세스간 통신의 어려움 프로세스간통신 두 프로세스 사이에서 의 데이터 전달 프로세스간 통신의 어려움 두 프로세스 사이에서 의 데이터 전달 두 프로세스 사이에서 의 데이터 전달이 가능 하려면, 두 프로세스가 함께 공유하는 메모리 가 존재해야 한다. 모든 프로세스는 자신만 의 메모리공간을 독립적으로 구성한다. 프로세스 상호간 메모리 공간에 접근이 불가능하다. 운영체제가 별도의 메모 리 공간을 마련해 줘야 프로세스간 통신이 가능 하다.

파이프 기반의 프로세스간 통신 운영체제는 서로 다른 프 로세스가 함께 접근할 수 있는 메모리 공 간을 만들고, 이 공간의 접근에 사용되 는 파일 디스크립터를 반환 한다.

프로세스간 양방향 통신 BAD GOOD

Chapter 12 멀티플렉싱

멀티 프로세스의 단점 프로세스의 빈번한 생성은 성능의 저하로 이어 진다. 멀티프로세스의 흐름을 고려해서 구현해야 하 기 때문에 구현이 쉽지않다. 프로세스간 통신이 필요한 상황에서는 서버의 구현이 더 복잡해진다.

“하나의 통신채널을 통해서 둘 이상의 데이터를 전송하는데 사용되는 기술” 멀티플렉싱이란? 전자 및 통신공학에서의 멀티 플렉싱의 의미 “하나의 통신채널을 통해서 둘 이상의 데이터를 전송하는데 사용되는 기술” 서버에 적용한 멀티 플렉싱 Client Server Client Client

Select 함수 멀티플렉싱 서버의 구현에 있어서 가장 대표적인 방법 수신한 데이터를 지니고 있는 소켓이 존재하는가? 블로킹되지 않고 데이터의 전송이 가능한 소켓은 무엇인가? 예외상황이 발생한 소켓은 무엇인가? Select함수 호출과정

파일 디스크립터의 설정 함수 안에는 파일들을 관찰항목(수신, 전송, 예외)에 따 라서 구분해서 모으기 위한 fd_set형 변수존재

검사의 범위지정과 타임아웃의 설정 * 변수 maxfd는 파일 스크립터의 검사 범위를 지정 파일 디스크립터의 수를 넣는다. * 변수 timeout은 함수의 블로킹 상태를 방지하기 위하여 설정. * 반환 값 파일스크립터가 변화 변화한 파일스크립터 수 timeout에 의한 반환 값 0 오류발생시 -1

Chapter 13 다양한 입출력 함수들 지난 시간의 내용의 뒷 부분인 Ch. 5 에서는 TCP 기반의 서버와 클라이언트2에 대해서 보게 됩니다.

MSG_OOB (OUT-OF-BAND DATA) 긴급 메시지의 전송에 사용되는 옵션. 긴급으로 전송해야 할 메시지가 있어서 메시지의 전송방법 및 경로를 달리하고자 할 때 사용됨. MSG_OOB 옵션을 추가해서 데이터를 보내도 (긴급 메시지가 전달 되어도) 더 빨리 데이터가 전송되는 것은 아님. 전송순서가 유지되어야 한다는 TCP의 전송특성은 그대로 유지됨. Urgent-mode를 이용 해서 긴급상황의 발생을 알 려서 우리가 응급조치를 취하도록 돕는 역할을 함.

Urgent mode의 동작 원리

READV & WRITEV 함수 WRITEV 함수 둘 이상의 영역에 나뉘어 저장 된 데이터를 묶어서 한번의 함수호출을 통해서 보낼 수 있다. READV 함수 단 한번의 함수호출을 통해서 입력되는 데이터를 둘 이상의 영역에 나눠서 저장이 가능함.

Readv & writev 함수의 적절한 사용 단순하게 보면 함수의 호출 횟수를 줄일 수 있다. 잘게 나뉜 데이터들을 출력버퍼에 한번에 밀어 넣기 때문에 하나의 패킷 으로 구성되어서 전송될 확률이 높아지고, 이는 전송 속도의 향상으로 이어짐.

Chapter 14 멀티캐스트 & 브로드캐스트 지난 시간의 내용의 뒷 부분인 Ch. 5 에서는 TCP 기반의 서버와 클라이언트2에 대해서 보게 됩니다.

멀티캐스트 (Multicast) 멀티캐스트 그룹을 대상으로 하는 데 이터의 수신을 위 해서는 가입의 절 차를 거쳐야 한다. 멀티캐스트 그룹을 대상으로 하는 데 이터의 수신을 위 해서는 가입의 절 차를 거쳐야 한다. 모든 호스트에 데 이터 전송을 해야 할 때, TCP 또는 UDP 보다 발생 하 는 트래픽의 양이 적다 ③ ① ②

라우팅과 TTL TTL(Time to Live) 패킷을 언제 소멸 시킬 것인가를 결정하는 수치. 패킷을 얼마나 멀리 보낼 것인가를 결정하는 요 소 TTL은 정수로 표현 되며, 라우터를 거칠 때 마다 1씩 감소. TTL이 0이 되면, 해당 패킷은 소멸.

브로드 캐스트 동일한 네트워크 내에 존재 하는 호스트에게 데 이터를 전송하는 방법 데이터 전송의 대상이 호스트가 아닌 네트워크 이다. 멀티캐스트와 마찬가지로 UDP 소켓을 기반으로 한다. IP에서 네트워크주소를 제외한 호스트주소를 모 두 1로 해서 전송하면, 해당 네트워크로 데이터가 전송 된다 (–Directed 브로드캐스트) 255.255.255.255로 데이터를 전송하면, 전송한 호 스트가 속한 네트워크로 데이터가 전송 된다. (– Local 브로드캐스트) 지성아 코드구현은 안 넣었는디 너가 설명하려면 직접 넣으렴^^ㅋㅋ

TCP/IP 소켓프로그래밍 스터디 프로그래밍 2013.11.27 3주차 종합 프로그램

스터디 프로그램 – 윈도우 파일 전송 프로그램 파일 전송 프로그 램 이진 파일 전송 구 현 전송 상태 표시 구 현

스터디 프로그램 – 리눅스 멀티 프로세스 서버 멀티 플렉싱 서버 종합 예제 프로그 램 다중 접속 서버 멀티 프로세스

스터디 프로그램 – 리눅스에서 구현 (MAKe 파일)

멀티 프로세스 서버 – 다중 접속 Client1 Client2 Server Client3 Client4

멀티 프로세스 서버 – 다중 접속 작업 수행 Client1 Server Client2

멀티 프로세스 서버 – 클라이언트 입출력 분할 Client1 Server Client2

멀티 플렉싱 서버 – 리눅스 Client1 Client2 Server Client3 Client4

멀티 플렉싱 서버 – 구현의 어려움 Client1 Server Client2