Socket Structure   소켓 구조, 소켓 호출

(2018-07-09)

소켓 구분

1. 소켓 데이터구조(자료구조)인터넷 상에서 소켓은, 응용 프로그램이 읽고 쓸 수 있는 소프트웨어 자료 구조임
     - 소켓 API를 통해, TCP 커넥션 양측 종단에 각각 소켓 데이터 구조를 생성

  ㅇ Socket 시스템 호출운영체제 안에서 하나의 자료구조인 socket을 만들어냄


2. 소켓속성에 따른 구분도메인 (domain)  : 소켓 통신이 존재하는 범위
      - AF_UNIX : 클라이언트서버가 동일한 기계내에 존재
      - AF_INET : IPv4 (*)
      - AF_INT6 : IPv6 (*)
      - AF_NS   : XNS
      - (이외에도, AF_IPC, AF_X25 등 여러가지가 있음)

   ㅇ 유형 (type)  : 통신을 하는 방식에 따른 유형
      - SOCK_STREAM : 스트림 소켓
         . 가변길이의 스트림으로써, 신뢰성있고 양방향성이고 연결성
      - SOCK_DGRAM : 데이터그램 소켓
         . 고정길이의 메세지로써, 비연결형이고 비신뢰적임
      - SOCK_RAW : Raw 소켓프로토콜 (protocol)
      - IPPROTO_IP
      - IPPROTO_TCP 
         . SOCK_STREAM 유형에서 사용, TCP 소켓, 스트림 기반의 소켓
      - IPPROTO_UDP
         . SOCK_DGRAM 유형에서 사용, UDP 소켓, 데이터그램 기반의 소켓
      - IPPROTO_ICMP


3. 소켓 시스템 호출(System Call)의 예들

  ※ ☞ 소켓 인터페이스 참조
     - socket(), bind(), connect(), listen(), accept(), write(), close(), read()
4. 소켓 주소정보 표현 (구조체에 의함)

  ㅇ struct sockaddr_in
     
struct sockaddr_in
{
    sa_family_t  sin_family;   // 주소 체계 (Address Family)
    uint16_t     sin_port;     // 16비트 TCP/UDP 포트번호
    struct       sin_addr;     // 32비트 IP 주소
    char         sin_zero[8];  // 사용되지 않음
}
ㅇ struct in_addr
struct in_addr
{
    in_addr_t   s_addr;   // 32비트 IPv4 주소
}
헤더 파일 내 정의된 자료형 (POSIX) - sys/types . int8_t : signed 8-bit int . uint8_t : unsigned 8-bit int (unsigned char) . int16_t : signed 16-bit int . uint16_t : unsigned 16-bit int (unsigned short) . int32_t : signed 32-bit int . uint32_t : unsigned 32-bit int (unsigned long) - sys/socket.h . sa_family_t : address family . socklen_t : length of struct - netinet/in.h . in_addr_t : IP Address (uint32_t에 의함) . in_port_t : Port Number (uint16_t에 의함)


[소켓] 1. 소켓 2. 소켓 구조 3. 소켓 인터페이스 4. 소켓 주소 5. 윈속(WinSock)
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
        1. 통신 이란?
        2. 신뢰적 통신
    1.   통신이론
    2.   선로/전송
    3.   통신망 일반
    4.   회선교환(PSTN)
    5.   무선/이동통신
    6.   광통신
    7.   인터넷/데이터통신
          1. 데이터통신망
          2. 인터넷
          3. 데이터 네트워크 설계
      1.   데이터 단위
      2.   프로토콜/계층
      3.   데이터 링크
      4.   TCP/IP
            1. TCP/IP 이란?
        1.   IP 계층
        2.   전송계층(UDP,TCP,SCTP,포트번호)
              1. 전송 계층
          1.   포트번호(프로세스식별)
                1. 포트 번호
                2. Well Known Port
            1.   소켓
              1.   1. 소켓
                  2. 소켓 구조
                  3. 소켓 인터페이스
                  4. 소켓 주소
                  5. 윈속(WinSock)
          2.   TCP
          3.   UDP,SCTP,MPTCP
        3.   DHCP
        4.   TCP/IP 유틸리티
        5.   TCP/IP 기타일반
      5.   라우팅
      6.   인터넷 QoS
      7.   인터넷 관리
      8.   인터넷 응용
      9.   인터넷 기타
      10.   패킷교환(PSN)
      11.   인터넷 관련 기관
  7.   정보기술(IT)
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록(시험중)     참고문헌