김재훈 교수님 [email protected] 010-5293-2551

P2P 네트워크

P2P 블록체인 네트워크

토폴로지

오픈 액세스 블록체인 네트워크

토폴로지(topology 망구성방식) 형성 및 데이터 통신

→ 약간의 수정으로 즉시 사용 가능한 P2P 프로토콜

노드 간의 랜덤 토폴로지는 블록체인 복제 동기화를 위해 효율적으로 정보를 전파

피어 검색 및 토폴로지 유지 관리

분산 네트워킹 미들웨어

NET - 통신 프로토콜

IP(Internet Protocol 어떤 컴퓨터인가)

인터넷에서 컴퓨터의 위치를 찾아서 데이터를 전송하기 위해 지켜야 할 규약

img1.daumcdn.png

네트워크 액세스 계층(Network Access Layer)

  1. OSI 7계층의 물리계층과 데이터 링크 계층에 해당
  2. TCP/IP 패킷을 네트워크 매체로 전달하는 것과 네트워크 매체에서 TCP/IP 패킷을 받아들이는 과정을 담당
  3. 에러 검출 기능(Detecting errors), 패킷의 프레임화(Fraimg packets)
  4. 네트워크 접근 방법, 프레임 포맷, 매체에 대해 독립적으로 동작하도록 설계.
  5. 물리적인 주소로 MAC을 사용
  6. LAN, 패킷망, 등에 사용됨

2계층 인터넷 계층(Internet Layer)

  1. OSI 7계층의 네트워크 계층에 해당
  2. 어드레싱(addressing), 패키징(packaging), 라우팅(routing) 기능을 제공
  3. 네트워크상 최종 목적지까지 정확하게 연결되도록 연결성을 제공하게 됨.
  4. 프로토콜 종류 – IP, ARP, RARP

3계층 전송 계층(Transport Layer)

  1. OSI 7계층의 전송 계층에 해당
  2. 애플리케이션 계층의 세션데이터그램(datagram) 통신서비스 제공
  3. 통신 노드 간의 연결을 제어하고, 신뢰성 있는 데이터 전송을 담당한다.
  4. 프로토콜 종류 – TCP, UDP

4계층 응용 계층(Application Layer)

  1. OSI 7계층의 세션 계층, 표현 계층, 응용 계층에 해당한다.
  2. 프로그램(브라우저)가 직접 인터액트하는 레이어. 데이터를 처음으로 받는곳
  3. 다른 계층의 서비스에 접근할 수 있게 하는 애플리케이션을 제공
  4. 애플리케이션들이 데이터를 교환하기 위해 사용하는 프로토콜을 정의
  5. TCP/UDP 기반의 응용 프로그램을 구현할 때 사용한다.
  6. 프로토콜 종류 – FTP, HTTP, SMTP, SSH

port ← 어떤 서비스인가

socket

RPC( Remote Procedure Call)

소캣을 더 쉽게 개발할 수 있도록 사용하는 인터페이스

RPC 는 LPC(Local Procedure Call) 의 확장 개념으로 기술적으로는 프로토콜이 아니며 단지 서버-클라이언트와 같은 분산 시스템을 구성하는 일반적인 메커니즘이다.

즉, RPC 프로토콜은 표준이 없기 때문에 데이터 통신을 위한 추상화된 프르토콜로써 실제 데이터 전송을 위해서 TCP or UDP 를 사용하여 통신한다. 여러 대의 컴퓨터에 프로시져를 분산하고, 결과를 취합하는 방식으로 분산 시스템에서 사용가능하다.

RPC 는 동기 서버, 비동기 서버, 스트리밍 서버에 모두 사용된다. 특정 프로토콜을 이용한 기술적인 개념이 아닌 원격 프로시저를 호출할 수 있다는 키워드에 집중하 면 될 듯 하다.

서버-클라이언트 구조 애플리케이션에서 원격에 있는 프로시저를 실행할 수 있게 하는 통신기술로써 애플리케이션이 로컬인지 원격인지에 관계없이 프로시저를 호출함으로써 하나의 시스템 처럼 동작할 수 있다.

**** 프로시저**

** REST 방식과 경쟁구도

블록체인에서 클라이언트(디바이스)는