11장 2

[CSAPP] 11장 네트워크 프로그래밍(Network Programming) 11.4

11.4 소켓 인터페이스(Socket Interface)1. 소켓(socket)네트워크 소켓은 프로세스 간 또는 호스트 간 데이터 송수신을 위한 소프트웨어 구조로,커널 관점에서는 패킷의 입·출력을 중개하는 통신의 종단점(endpoint)애플리케이션 관점에서는 read()/write() 가능한 파일 디스크립터(fd)라고 볼 수 있습니다.– 도메인(domain): AF_INET(IPv4), AF_INET6(IPv6), AF_UNIX(로컬) 등을 지정– 타입(type): SOCK_STREAM(연결 지향/TCP), SOCK_DGRAM(비연결 지향/UDP) 등– 프로토콜(protocol): 보통 0으로 두면 타입에 따라 기본 프로토콜(TCP, UDP)을 자동 선택합니다.비유: 소켓은 ‘전화기’, 커널은 ‘전화 교..

CSAPP/11장 2025.05.03

[CSAPP] 11장 네트워크 프로그래밍(Network Programming) 11.1 ~ 11.3

1. 클라이언트 - 서버 프로그래밍 모델클라이언트-서버 모델은 분산 애플리케이션 구조로, 클라이언트(서비스 요청자)와 서버(서비스 제공자)가 네트워크를 통해 메시지를 교환하는 형태입니다.클라이언트는 서버에 요청(request)을 보내고, 서버는 요청을 처리한 후 응답(response)을 반환합니다.클라이언트와 서버는 물리적 호스트가 아니라 프로세스 단위로 구분되며, 같은 호스트 내 여러 프로세스가 동시에 동작할 수 있습니다.전체 흐름도 : 요청 전송 → 서버 처리 → 응답 전송 → 클라이언트 처리요청 전송클라이언트가 필요한 서비스를 얻기 위해 서버에 요청(request)을 보냅니다. 예를 들어 웹 브라우저가 HTML 파일을 받기 위해 HTTP GET 메시지를 전송합니다.서버 처리서버는 요청을 수신하여 해..

CSAPP/11장 2025.05.02