OSI 7 Layer Physical Layer 데이터를 전기적 신호로 변환해 주고 받는다. Datalink Layer 맥 주소를 활용해 통신 정보의 흐름과 오류를 관리함 프레임단위로 데이터 전송 에러검출, 재전송, 흐름제어 Network Layer 데이터를
네트워크 프로그래밍이란 #소켓프로그래밍 네트워크로 연결된 둘 이상 컴퓨터 사이 데이터 송수신 프로그램 작성법 소켓 네트워크/인터넷 연결 도구 OS에 의해 제공되는 소프트웨어 프로그래머에게 데이터 송수신에 대한 추상적 접근 부여 1. 소켓 생성하기 socket
프로토콜 개념적으로 약속 컴퓨터 상호간 데이터 송수신에 필요한 통신규약 소켓 생성시 기본 프로토콜 지정 필요함 domain, type, protocol 모두 프로토콜 정보와 관련있다. domain - 프로토콜 체계 / Protocol family 프로토콜을 종류
인터넷 주소 ( Internet address ) 인터넷 상에서 컴퓨터(Host)를 구분하기 위한 주소 4바이트 체계인 IPv4와 16바이트인 IPv6가 있다. 네트워크 주소와 호스트 주소로 나뉘며, 네트워크 주소로 네트워크를 찾고 호스트 주소를 이용해 호스트를 구분
TCP/IP 프로토콜 스택 인터넷 기반 데이터 송수신 목적으로 설계 OSI 7 Layer Physical Layer: 전기적 신호를 이용하여 데이터를 전송하는 단계입니다. 케이블, 허브, 리피터 등의 장비를 사용합니다. Data Link Layer: Physica
에코 서버? 클라이언트가 전송한 문자열을 그대로 다시 보내주는 서버 데이터의 경계 TCP는 데이터의 경계가 없는 프로토콜이다.
SEQ / ACK 메시지를 전달하지 않는다.연결의 설정 / 해제 과정이 없다.데이터 분실 / 손실 위험이 있다.확인 과정이 없어 데이터 전송이 빠르다.성능이 중요하고 안정성이 필요 없을때 사용한다.하나의 소켓으로 둘 이상의 영역과 데이터 송수신이 가능하다.연결의 개념이
소켓의 완전소멸 >> 더이상 입출력 불가능상대방의 상태와는 관련 없는 일방적인 종료상대 호스트의 송수신이 덜 끝났을시 문제가 된다.종료 == 전송할 데이터가 없음 >> 출력 스트림의 종료상대방도 종료를 원하는지 확인되지 않음 >> 입력 스트림만 종료한다.우아한 종료라
IP를 대신하는 서버의 주소로, IP로 변환되어야 접속이 가능하다.도메인 이름을 IP로 변환해주는 서버분산 데이터 베이스로 구성된다.상대적으로 IP보다 변동이 덜한 도메인 이름을 이용해 IP를 받아온다.h_name공식 도메인 이름h_aliases별칭의 도메인 이름h_a
소켓의 특성을 변경시킬 때 사용하는 옵션 정보sock : 옵션확인을 위한 소켓의 파일 디스크립터 전달level : 확인할 옵션의 프로토콜 레벨 전달optname : 확인할 옵션의 이름 전달optval : 확인 결과의 저장을 위한 버퍼의 주소 값 전달optlen : 네
다수의 프로세스를 생성해 서비스를 제공한다.입출력 대상을 묶어서 관리한다.클라이언트의 수 만큼 쓰레드를 생성해 서비스를 제공한다.실행중인 프로그램과 이용중인 메모리 및 리소스생성되는 모든 프로세스에 붙혀지는 ID부모 프로세스는 자식 프로세스의 PID를 리턴받고, 자식
두 프로세스 사이의 데이터 전달두 프로세스가 함께 공유하는 메모리가 존재해야한다.운영체제가 별도의 메모리 공간을 마련해 주어야 한다.filedes0 : 파이프로부터 데이터를 수신하는 파일 디스크립터가 들어간다.filedes1 : 파이프로 데이터를 전송하는데 사용되는 파
프로세스가 빈번히 생성되어 성능이 저하된다.멀티 프로세스 흐름을 고려해야 해 구현이 쉽지 않다.프로세스간 통신 필요시 구현이 복잡해진다.하나의 프로세스가 다수의 클라이언트에게 서비스하나의 프로세스가 여러개의 소켓을 핸들링한다.IO 멀티플렉싱하나의 리소스를 둘 이상의 영
DONTWAIT과 PEEK를 같이 주로 사용한다.MSG_OOB는 사용을 권장하지 않는다.
1:1 전송1:N 전송IGMP 프로토콜을 통해 전송해야할 멤버를 찾는다. 유니캐스트는 성능상 좋지 못하다 멀티캐스트 주소는 Class D ( 1110 비트로 시작함 ) 을 사용, 잠시 쓰고는 반납을 해야한다.그룹 관리 프로토콜로, 각각 라우터에 관련된 전송해야할 클라이
이식성이 좋다.버퍼링을 통해 성능 향상이 된다.양방향 통신이 어렵다보낼때 버퍼를 비우는 fflush 함수를 빈번히 호출한다.파일 디스크립터가 아닌 FILE 구조체를 사용한다.mode 문자열로 읽기 / 쓰기 를 설정한다.
스레드의 사용 이유 프로세스 프로세스 생성에 많은 리소스 사용 프로세스의 컨텍스트 스위칭으로 성능 저하 프로세스의 정보를 하드디스크에 저장 및 복원 프로세스간 메모리가 독립적으로 운영되어, 별도의 메모리 공간으로 IPC 기법의 적용이 필요 프로세스는 독립된 스
TCP / UDP 를 거치지 않는 IP 단계 통신ICMPv4, IGMPv4, ICMPv6 은 로우소켓을 통해 송수신 한다.예 : 핑 프로그램직접 헤더를 구성할수도 있다.IP_HDRINCL 소켓 옵션을 사용한다.일반적 output 은 sendto / sendmsg 로 이