본문 바로가기

개인공부/윤성우의 열혈 TCP&IP 소켓 프로그래밍24

Chapter 04 - TCP 기반 서버 / 클라이언트 1 04-1 : TCP와 UDP에 대한 이해 TCP(Transmission Control Protocol) : 연결을 지향하기 때문에 스트림 기반 소켓이라고도 부름 TCP는 'TCP/IP 프로토콜 스택'에 속해있음 APPLICATION 계층 - TCP / UDP 계층 - IP 계층 - LINK 계층으로 구분 각각의 계층은 운영체제와 같은 소프트웨어 또는 NIC와 같은 물리적인 장치가 담당 프로토콜 스택은 OSI 7계층으로 세분화되나, 프로그래머 관점에서는 4계층으로만 이해해도 충분함 LINK 계층 물리적인 영역의 표준화에 대한 결과 LAN, WAN, MAN과 같은 네트워크 표준과 관련된 프로토콜을 정의 IP 계층 데이터를 목적지로 전송하기 위한 경로 선택을 담당하는 계층 IP(Internet .. 2023. 2. 24.
Chapter 03 - 주소체계와 데이터 정렬 03-1 : 소켓에 할당되는 IP주소와 PORT번호 IPv4(Internet Protocol version 4) : 4바이트 주소체계 네트워크 주소 / 호스트 주소로 나뉨 주소 형태에 따라 A, B, C, D, E 클래스로 분류 16바이트 주소체계인 IPv6는 아직 범용적으로 사용되지 않음 데이터 전송시 먼저 네트워크 주소를 참조하여 라우터(Router) 혹은 스위치(Switch)를 사용해 해당 네트워크로 데이터를 전송, 이후 호스트 주소를 참조하여 호스트에 데이터를 전송 라우터 : 외부로부터 수신된 데이터를 호스트에 전달하고 호스트가 전달하는 데이터를 외부로 송신해주는 물리적 장치 스위치 : 라우터보다 기능적으로 작은 것, 사실상 라우터와 같은 의미로 사용 IP주소의 첫번째 바이트에 따라 클래스를 구별.. 2023. 2. 24.
Chapter 02 - 소켓의 타입과 프로토콜의 설정 02-1 : 소켓의 프로토콜과 그에 따른 데이터 전송 특성 프로토콜 = 컴퓨터 상호간의 대화에 필요한 통신규약 #include int socket(int domain, int type, int protocol); // 성공시 fd, 실패시 -1 반환 domain : 생성되는 소켓이 사용할 프로토콜 체계(Protocol Family) 정보 PF_INET : IPv4 인터넷 프로토콜 체계 PF_INET6 : IPv6 인터넷 프로토콜 체계 PF_LOCAL : 로컬 통신을 위한 UNIX 프로토콜 체계 PF_PACKET : Low Level 소켓을 위한 프로토콜 체계 PF_IPX : IPX 노벨 프로토콜 체계 type : 소켓의 데이터 전송방식 SOCK_STREAM : 연결지향형 소켓(TCP) 데이터가 전송 도중.. 2023. 2. 24.
Chapter 01 - 네트워크 프로그래밍과 소켓의 이해 01-1 : 네트워크 프로그래밍과 소켓의 이해 네트워크 프로그래밍 = 네트워크로 연결된 서로 다른 두 컴퓨터가 데이터를 주고받을 수 있도록 하는 것 대부분의 컴퓨터는 인터넷으로 물리적 연결되어있음 소프트웨어적인 데이터의 송수신은 운영체제에서 제공하는 소켓(Socket)이라는 장치를 사용 소켓은 전화기로 비유할 수 있음 연결을 요청받는 소켓 구현 소켓 생성 - 전화기 장만 #include int socket(int domain, int type, int protocol); // 성공시 fd, 실패시 -1 반환 bind() 호출 - 전화번호 부여 생성한 소켓에 IP와 포트 번호 할당 #include int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrl.. 2023. 2. 23.