[시스템프로그래밍] 12주차 소켓 프로그래밍

행복한 콩🌳·2022년 5월 15일
0

시스템 프로그래밍

목록 보기
15/17

1차시 IP 및 포트

TCP/IP
Transmission Control Protocol / Internet Protocol
인터넷의 표준 프로토콜
IP주소
인터넷을 이용할 때 사용하는 주소로 점(.)으로 구분된 32비트 숫자

  1. TCP/IP
  • TCP/IP : Transmission Control Protocol / Internet Protocol

  • 인터넷의 표준 프로토콜

  • 5계층(4계층)으로 구성

  • OSI 7 Layer vs TCP/IP 4 Layer

  1. TCP와 UDP의 차이

    IP Address
  • IP주소 : 인터넷을 이용할 때 사용하는 주소로 점(.)으로 구분된 32비트 숫자

  • 호스트명(도메인명)과 IP주소를 관리하는 서비스 -> DNS

  • IPv4주소 및 IPv6주소 비교

2차시 소켓 프로그래밍 기초

소켓
응용 계층과 전송 계층을 연결 기능 제공
네트워크에 대한 사용자 수준의 인터페이스를 제공
소켓은 양방향 통신 방법으로 클라이언트-서버 모델을 기반으로 프로세스 사이의 통신에 매우 적합하다
소켓의 통신 방식

  • SOCK_STREAM : TCP 사용
  • SOCK_DGRAM : UDP 사용
  1. 소켓의 종류
  • 개념
  • 응용 계층과 전송 계층을 연결 기능 제공
  • 네트워크에 대한 사용자 수준의 인터페이스를 제공
  • 소켓은 양방향 통신 방법으로 클라이언트-서버 모델을 기반으로 프로세스 사이의 통신에 매우 적합하다.
  1. 종류
  • AF_UNIX : 유닉스 도메인 소켓 (시스템 내부 프로세스간 통신)
  • AF_INET : 인터넷 소켓 (네트워크를 이용한 통신)
  1. 소켓의 통신 방식
  • SOCK_STREAM : TCP 사용
  • SOCK_DGRAM : UDP 사용
  1. 소켓 프로그래밍
  • 소켓 주소 구조체
  • 유닉스 도메인 소켓의 주소 구조체
  1. 소켓 프로그래밍
  • 인터넷 소켓의 주소 구조체

3차시 소켓 프로그래밍

socket
소켓 파일기술자 생성
bind
소켓 파일기술자를 지정된 IP 주소/포트번호와 결합(bind)
listen
클라이언트의 접속 요청 대기
connect
클라이언트가 서버에 접속 요청
accept
클라이언트의 접속 허용

  1. 소켓 프로그래밍 함수
  • socket : 소켓 파일기술자 생성
  • bind : 소켓 파일기술자를 지정된 IP 주소/포트번호와 결합(bind)
  • listen : 클라이언트의 접속 요청 대기
  • connect : 클라이언트가 서버에 접속 요청
  • accept : 클라이언트의 접속 허용
  • recv : 데이터 수신(SOCK_STREAM)
  • send : 데이터 송신(SOCK_STREAM)
  • recvfrom : 데이터 수신(SOCK_DGRAM)
  • sendto : 데이터 송신(SOCK_DGRAM)
  • close : 소켓 파일기술자 종료
  1. 소켓 프로그래밍 활용
  • TCP/UDP 기반 프로그래밍의 차이점
profile
매일매일 조금씩 모여 숲이 되자🐣

0개의 댓글