목록분류 전체보기 (67)
코가손의 블로그
소켓(Socket) 네트워크상 존재하는 컴퓨터 2대의 컴퓨터 A, B의 존재를 특정해야 하는 상황을 생각해보자. 컴퓨터는 IP주소를 통해 특정한다. 그리고 Port로 컴퓨터 A, B를 잇는 파이프를 특정한다. 컴퓨터 A와 B의 통신을 위해 파이프 형태의 연결을 생성한다. 일종의 Pipe이며 IP주소와 Port로 바인딩 된 것을 소켓이라고 한다. RPCs(Remote Procedure Calls) A컴퓨터는 32비트 빅-엔디안 방식으로 "Hello B"를 보내고 B컴퓨터는 64비트 리틀-엔디안 방식이라고 가정한다면 통신이 이루어지기 전에 이 규격의 호환성을 맞추는 작업을 해야 할 것이다. 이것을 위해 등장한 개념이 RPC이다. RPC는 네트워크 상의 다른 PC의 프로시저를 추상화한다. 쉽게말하자면 클라이언..
파이프(Pipe)는 두 프로세스간 통신할 수 있는 통로라고 생각하면 된다. 파이프는 기본적으로 단방향 통신이며 생산자(Producer)는 파이프의 종단에 쓰고 소비자(Consumer)는 다른 종단 에서 읽는다. UNIX 시스템에서는 일반적으로 pipe(int fd[]) 함수를 사용하여 구축한다. fd[0]은 읽기, fd[1]는 쓰기 종단으로 동작한다. 파이프를 생성한 후, read()와 write()시스템 콜을 사용하여 파이프에 접근할 수 있다. 일반적인 파이프는 파이프를 생성한 프로세스 이외에는 접근할 수 없기 때문에 부모 프로세스가 파이프를 생성하고 fork()를 통해 자식프로세스와 통신하는 방식으로 사용된다. Windows시스템의 일반 파이프는 익명 파이프라고 불리며 UNIX의 일반 파이프와 유사하..
우선 데이터를 전송하기 위해 사용하는 프로토콜을 알아보겠다 전송층은 OSI모델의 4계층 TCP/IP모델의 3계층에 존재한다. TCP 연결형 서비스 가상회선 방식 제공, 신뢰성 높음 3-way handshake 이용해 연결 설정, 4-way handshaking을 통해 해제 IP는 데이터전송 처리, TCP는 패킷 추적 및 관리 흐름 및 혼잡 제어 UDP보다 속도 느림 서버 소켓은 연결만 담당 서버와 클라이언트 1대1 연결 스트림 전송으로 데이터 크기 무제한 패킷에 대한 응답을 해야하기 때문에(시간 지연, CPU 소모)성능 낮음 Streaming 서비스에 불리함(손실된 경우 재전송 요청하므로) 용어 정리 및 부연설명 3-way Handshake TCP/IP 프로토콜을 이용하는 프로그..