TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.

Slides:



Advertisements
Similar presentations
TCP 서버/클라이언트 동작 원리 - (1) TCP 서버/클라이언트 예 웹 서버 웹 클라이언트 웹 클라이언트
Advertisements

JAVA Programming Bible for JDK 1.4
12장. Raw 소켓 Raw 소켓의 특징과 사용 방법을 익힌다. Ping 프로그램의 동작 원리를 이해하고 작성 방법을 익힌다.
Part TCP / IP(계속) 3. IP 주소 4. IP 라우팅 5. 응용 프로토콜.
한남대학교 컴퓨터공학과 소프트웨어공학실험실 최 용 준
Network Lab. Byoung-Son, Choi
10장. 소켓 입출력 모델(I) 블로킹과 넌블로킹 소켓의 특징을 이해한다. Select 소켓 입출력 모델을 이해하고 활용한다.
윈도우 네트워크 프로그래밍 √ 원리를 알면 IT가 맛있다 TCP/IP 소켓 프로그래밍 광주대학교 정보통신학과 조 정 호.
인공지능실험실 석사 2학기 이희재 TCP/IP Socket Programming… 제 11장 프로세스간 통신 인공지능실험실 석사 2학기 이희재
Chapter 06. UDP 서버/클라이언트.
TCP/IP Socket Cover Slide 조태문.
Network Lab. Young-Chul Hwang
TCP Client/Server Program
Department of Computer Science and Engineering
소켓 모델 주소 지정 in_addr_t inet_addr(const char *ip_address) 연결 지향 모델 (TCP)
TCP/IP Socket Cover Slide 조태문.
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
Load Balancing L4와 L7은 어떻게 동작할까?.
Chapter 03. 소켓 주소 구조체 다루기.
Multimedia & Mobile Communications Lab.
Chapter 11. Raw 소켓.
Internet Group Management Protocol (IGMP)
ARP의 실험 발표자 : 이직수
얇지만 얇지 않은 TCP/IP 소켓 프로그래밍 C 2판
VoIP (Voice Over Internet Protocol)
제 14장 Multicast & Broadcast
Department of Computer Engineering
SSL (Secure Sockets Layers Protocol)
Department of Computer Engineering
Chapter 21 Network Layer: ARP, ICMP (IGMP).
7장. UDP 서버-클라이언트 UDP 서버-클라이언트의 기본 구조와 동작 원리를 이해한다.
Department of Computer Engineering
Chapter 06. UDP 서버/클라이언트.
인공지능실험실 박사 1학기 장성만 TCP/IP Socket Programming… 9장 소켓의 다양한 옵션 인공지능실험실 박사 1학기 장성만
ARP Project 조 충 호 교수님 김 세 진 조교님 조 진 형 변 익 수
School of Electronics and Information. Kyung Hee University.
13장 고급 입출력 함수 박사 4학기 최 성자.
TCP/IP Socket Programming…
Chapter 03. 소켓 주소 구조체 다루기.
Socket Address Structure and Byte Ordering Functions
Socket Address Structure and Byte Ordering Functions
7장. UDP 서버-클라이언트 UDP 서버-클라이언트의 기본 구조와 동작 원리를 이해한다.
소켓의 옵션 School of Electronics and Information. Kyung Hee University.
Chapter 5 UDP Socket 소켓 프로그래밍.
Chapter 19 솔라리스 네트워크 관리 Solaris1 . TCP/IP 개요
Chapter 07. 소켓 옵션.
TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.
Department of Computer Engineering
Lesson 2. 기본 데이터형.
1. 의사 헤더의 정보는 실제 정보인가? 1 / 23 UDP의 허용된 계층위반
9 TCP의 이해 학습 목표 전송 계층 프로토콜이 제공하는 기능을 이해한다.
TCP/IP 인터네트워킹 INTERNETWORKING with TCP/IP <vol
Department of Computer Engineering
Department of Computer Engineering
2 네트워크 모델 학습 목표 모듈 개념을 알아보고 계층 구조의 필요성을 이해한다.
10 기타 전송 계층 프로토콜.
3 네트워크 기술 학습 목표 회선 교환 시스템과 패킷 교환 시스템의 차이와 원리를 이해한다.
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
Chapter 04. TCP 서버/클라이언트.
제 13 장 인터넷 그룹 관리 프로토콜 정보통신연구실.
Chapter 02. 윈도우 소켓 시작하기.
Department of Computer Engineering
인공지능실험실 박사 1학기 장성만 TCP/IP Socket Programming… 제 8장 도메인 이름과 인터네 주소 인공지능실험실 박사 1학기 장성만
Part 05 TCP/IP 1. 네트워크 2. 포트번호.
4. IP 데이터그램과 라우팅 (6장. 인터넷과 IP) IP 데이터그램 : 특정 물리망에 종속되지 않은 가상의 패킷 형식.
Wake On Lan 발표자: 김 홍 기 김홍기 조성오
Network Lab. Young-Chul Hwang
Department of Computer Science and Engineering
ARP.
Presentation transcript:

TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다. 8장. 소켓 옵션 TCP/IP 응용 프로그램에 적용 가능한 다양한 소켓 옵션을 이해하고 활용한다.

개요 (1) 소켓 프로그래밍 모델 응용 프로그램 TCP IP UDP IrDA Bluetooth ... 소켓 소켓 코드 프로토콜 구현 코드

개요 (2) 소켓 옵션 소켓 옵션의 종류 소켓 함수의 기본 동작을 변경 ① 소켓 코드가 처리하는 옵션 소켓 코드와 프로토콜 구현 코드를 세부적으로 제어 소켓 옵션의 종류 ① 소켓 코드가 처리하는 옵션 옵션을 설정하면 소켓 코드에서 해석하고 처리 ② 프로토콜 구현 코드가 처리하는 옵션 옵션을 설정하면 프로토콜 구현 코드에서 해석하고 처리

개요 (3) 소켓 옵션 설정(=변경)하기 int setsockopt ( SOCKET s, int level, int optname, const char *optval, int optlen ) ; 성공: 0, 실패: SOCKET_ERROR

개요 (4) 현재 설정된 소켓 옵션 값 얻기 int getsockopt ( SOCKET s, int level, int optname, char *optval, int *optlen ) ; 성공: 0, 실패: SOCKET_ERROR

소켓 옵션의 종류 (1) level = SOL_SOCKET optname optval get set 설명 SO_BROADCAST BOOL . 브로드캐스팅 데이터 전송 허용 여부 SO_KEEPALIVE 주기적으로 연결 상태 확인 여부 SO_LINGER linger{} 소켓 송신 버퍼에 미전송 데이터가 있을 때 closesocket() 함수의 리턴 지연 시간 설정 SO_SNDBUF SO_RCVBUF int 소켓 송/수신 버퍼의 크기 설정 SO_SNDTIMEO SO_RCVTIMEO 데이터 송/수신 함수 호출 시 타임아웃 값 설정 SO_REUSEADDR 지역 주소(IP 주소, 포트 번호) 재사용 허용 여부

소켓 옵션의 종류 (2) level = IPPROTO_IP optname optval get set 설명 IP_HDRINCL BOOL . 데이터 송신 시 IP 헤더 직접 포함 여부 IP_TTL int IP 패킷의 TTL(time-to-live) 값 설정 IP_MULTICAST_IF IN_ADDR{} 멀티캐스트 패킷을 보낼 인터페이스 선택 IP_MULTICAST_TTL 멀티캐스트 패킷의 TTL 값 설정 IP_MULTICAST_LOOP 멀티캐스트 패킷의 루프백 여부 IP_ADD_MEMBERSHIP IP_DROP_MEMBERSHIP ip_mreq{} 멀티캐스트 그룹 가입과 탈퇴

소켓 옵션의 종류 (3) level = IPPROTO_IPV6 optname optval get set 설명 IPV6_HDRINCL BOOL . 데이터 송신 시 IP 헤더 직접 포함 여부 IPV6_UNICAST_HOPS int IP 패킷의 TTL(time-to-live) 값 설정 IPV6_MULTICAST_IF DWORD 멀티캐스트 패킷을 보낼 인터페이스 선택 IPV6_MULTICAST_HOPS 멀티캐스트 패킷의 TTL 값 설정 IPV6_MULTICAST_LOOP 멀티캐스트 패킷의 루프백 여부 IPV6_ADD_MEMBERSHIP IPV6_DROP_MEMBERSHIP ipv6_mreq{} 멀티캐스트 그룹 가입과 탈퇴

소켓 옵션의 종류 (4) level = IPPROTO_TCP optname optval get set 설명 TCP_NODELAY BOOL . Nagle 알고리즘 작동 여부

SO_BROADCAST 옵션 용도 사용 예 브로드캐스트 데이터 전송 기능 활성화 TCP 소켓에는 사용할 수 없고 UDP 소켓에만 사용 가능 사용 예 BOOL bEnable = TRUE; retval = setsockopt(sock, SOL_SOCKET, SO_BROADCAST, (char *)&bEnable, sizeof(bEnable)); if(retval == SOCKET_ERROR) err_quit("setsockopt()");