네트워크/네트워크프로그래밍 2

[네트워크] 프로토콜 (Protocol)

프로토콜(Protocol) 이란? 개념적으로 "약속"을 뜻한다. 즉, 컴퓨터 간 데이터 송수신에 필요한 통신 규약을 의미한다. 소켓을 생성할 때도 기본적인 프로토콜을 지정해야 한다. 인터넷 주소 (Internet Address) 인터넷 상에서 컴퓨터를 구분할 목적으로 사용되는 주소를 의미한다. 4바이트 주소체계인 IPv4와 6바이트 주소체계인 IPv6이 존재한다. 인터넷 주소는 네트워크 주소(Network Address)와 호스트 주소(Host Address)로 나뉜다. 네트워크 주소를 통해 네트워크 범위를 찾고, 그 범위 안에서 호스트 주소를 이용해 호스트를 구분한다. IPv4 주소체계 예를 들어 클래스 C의 주소는 32 * 256 * 256개의 네트워크 주소를 가지고, 각 네트워크는 256개의 호스트..

[네트워크] 소켓 (Socket)

네트워크 프로그래밍 (Network Programming) 소켓 프로그래밍이라고도 한다. 네트워크로 연결된 둘 이상의 컴퓨터 사이에서의 데이터 송수신 프로그램을 작성하는 것을 의미한다. 소켓 (Socket) 네트워크의 연결 도구이며, 운영체제가 제공하는 소프트웨어적 장치이다. 소켓을 통해 운영체제는 프로그래머가 데이터 송수신에 대한 물리적, 소프트웨어적인 깊은 내용을 알 필요 없도록 한다. 소켓은 OSI 모델에서 전송 계층과 세션 계층 사이에 위치하는 것으로 볼 수 있다. 따라서 소켓 위의 계층인 세션 ~ 응용 계층을 소켓 어플리케이션 (Socket Application)이라 하고, 아래 계층인 물리 ~ 전송 계층을 네트워크 시스템이라고 한다. 두 프로세스의 소켓이 연결되면 프로세스 간 통신이 가능하다...