728x90
반응형

네트워크 39

블록체인을 이해하기 위한 배경지식 - CAP

P2P를 알아봤으니 CAP를 연관지어서 알아볼 생각이다. CAP부터 알아보고 연관성을 알아보자 CAP 일반적으로 이 정리는 인터넷을 통해서 서비스를 제공하고 싶다면 서비스 제공자가 보장해야 할 3가지 특성을 말한다. C는 Consitency, 일관성이다. 사용자는 항상 최신 정보를 서비스 받는 것을 보장한다. A는 Availability, 가용성이다. 서비스에 문제가 생기지 않음, 즉, 서비스 중단이 되지 않음을 보장하는 것이다. P는 Partition Tolerance, 분할 내성이다. 분산 시스템에서 서비스를 운용한다면 네트워크의 어느 한 지점과 연결이 끊어져도 서비스가 끊겨서는 안된다. **네트워크 연결이 끊어지지 않음을 보장하는 것과 다르다. 이에 대한 정리도 나왔다. ++ CAP 정리는 UC, ..

블록체인을 이해하기 위한 배경지식 - P2P

분산 네트워크 시스템의 특징을 알아보려고 한다. 블록체인은 분산 시스템을 이용했다. 알아보자 분산시스템이란 많은 컴퓨터가 함께 동작하는 시스템을 말한다. 그 중에서 P2P를 알아볼 것이다. 2개 이상의 노드가 서로 1:1 (일대일) 통신하는 방법을 바로 P2P라고 한다. **Peer to Peer 방식으로 영어의 약자에서 2가 들어가면 거의 모두 to를 two로 쓴 것이라고 봐도 된다. P2P 방식으로 연결된 노드가 많이 모이면 P2P 방식으로 연결된 상태의 P2P 분산 네트워크가 형성되는 것이다. P2P 분산 네트워크는 왜 사용하는 걸까? P2P 분산 네트워크에 참여하는 노드는 원칙적으로 같은 역할을 수행한다. 즉, 일부 노드만 특별한 역할을 가진다거나 그럴 수 없다. 때문에 단일 장애점, Single..

블록체인을 이해하기 위한 배경지식 - 타임스탬프

타임스탬프는 말 그대로 시간 도장..? ㅋㅋㅋ 뭔지는 몰라도 들으면 지정된 시간을 찍어주는 도구란 것이라고 짐작이 간다. 알아보자 타임스탬프는 앞서 말한 전자 서명과 전자 인증서 같이 어떤 암호 기술을 이용하는 것은 아니다. 다만 전자 서명에서 시간을 근거로 디지털 문서가 존재한다는 것을 증명하는데 쓰인다. 물론 블록체인에서도 쓰인다. 타임스탬프는 파일을 새로 만들거나 내용을 변경했을 때 OS가 자동으로 부여하는 시각이다. **시각은 어느 순간을 말한다 ++ 이 시각은 협정 세계시(UTC) 1970년 1월 1일 0시 0분 0초를 기준으로 관리한다. ?? 근데 나라마다 시간이 다른데 어떻게.. ? 전 세계의 컴퓨터들은 독립적으로 작동하므로 시각도 독립적으로 관리해야한다. 물론 네트워크에 연결된 컴퓨터의 시..

블록체인이란? 가상 화폐가 가치를 가질 수 있는 이유

뭐 사실 블록체인이란 것이 나온지 10여 년이 되었지만 어정쩡하게 알고만 있어서 제대로 조사해보려고 한다. 세상에서 믿을 수 있는 것이라는게 존재하기 어려운 상황인만큼 블록체인이 미래에 쓰일지는 모르겠지만 이러한 믿을 수 있는 존재가 필요하다는 것은 부정하지 못할 것 같다. 알아보자 블록체인은 한 문장으로 말하자면 올바른 것만 기록하고, 변경할 수 없고, 지울 수 없고, 변조할 수 없고, 높은 강인성을 띄고 있으며, 중단되지 않고 모두가 합의한 내용만 유효한 네트워크 공유형 DB라고 한다. ** 여기서 강인성이란 에러에 대해 복구가능하냐는 것이다. 보면 저렇게 완벽한 DB구축이 가능한가?? 생각이 든다. 최초로 구현한 사람으로 알려진 "사토시 나카모토"로 알려져 있다. 대단한 사람 칭찬해 ㅎㅎ 사실 위키..

트랜스포트(Transport Layer)계층에 관한 필수 지식

트랜스포트 계층을 배웠다면 대답할 수 있는 지식에 대해서 알아보자 트랜스포트 레이어의 역할을 설명하시오 물리적인 네트워크에 관계없이 근원지 컴퓨터에서 목적지 컴퓨터 간에 신뢰할 수 있고 저렴한 데이터 전송을 하고자함. Application 이 네트워크를 사용하는 데 필요한 추상화도 제공함. TCP/IP를 배우면 트랜스포트의 역할을 진정으로 알 수 있다. 통신의 최종책임을 진다고 보면 된다. Addressing(주소 지정), Connection Establishment(연결 설정), Connection Release, Flow control and buffering Multiplexing, Crash Recovery등 많은 역할 또한 하고 있다. 그림에서 3단계 핸드셰이크가 무엇인지 설명하고 왜 필요하고 ..

네트워크(Network Layer)계층에 관한 필수 지식

네트워크 계층을 배웠다면 대답할 수 있는 필수 지식에 대해서 알아보자 Network Layer 또 게임 서버 프로그래밍에 좋은 비유가 있더이다. (Data Link를 보고 오면 더 이해가 잘될 것이다.) [컴퓨터(Computer Science)/네트워크, Network] - 데이터링크(Data Link Layer) 계층에 관한 필수 지식 **여기서 마을은 LAN, 도시는 WAN (WAN은 모여도 WAN임) 마을이 커져서 도시가 되었다. 그러면 집마다 번호를 매기는 방식으로는 한계가 생긴다. (왜냐하면 겁나 많아지기 때문에... 숫자도 겁나 커지겠다) 마을을 서로 다른 이름의 구역으로 나눈다. EX) OO구 OO동 XX호 그러면 번지 값이 같아도 구역 이름이 다르면 고유한 주소 값이 보장된다. 도시를 넘어..

데이터링크(Data Link Layer) 계층에 관한 필수 지식

데이터 링크에 배웠다면 대답할 수 있는 지식에 대해서 알아보자 Data Link Layer 게임 서버 프로그래밍이란 책에 좋은 비유가 있길래 가져왔다. 각 단말기는 고유한 주소를 갖습니다. 단말기는 데이터를 프레임(frame)이라는 단위로 주고받는다. **여기서 단말기는 집이 되겠다. **마을은 LAN를 형성한 것으로 보면 되겠다. **편지는 Data가 되겠다. 여러 집으로 구성된 작은 마을이 있다고 가정하자. 각 집에는 주소가 있다. 어떤 집에서 편지를 보내고 싶으면, 편지를 봉투에 넣고 수신자 주소를 기재해야한다. 그냥 편지를 봉투 없이 우체통에 넣으면 그 편지는 쓸모도 없고 전달되지도 못한다. 주소를 적은 편지 봉투를 우체통에 넣었더라도 주소가 같은 집이 두 곳 있다거나 하는 오류가 있으면 당연히 ..

Connection-Oriented & Connectionless Protocol& Service, 연결형과 비연결형 서비스

www.youtube.com/watch?v=c1uWidYnL2Y 위의 영상을 바탕으로 설명하겠다. 각 계층은 바로 위 계층에 연결형과 비연결형의 두 가지 유형의 서비스를 제공할 수 있다. + 프로토콜도 마찬가지로 비슷하다. 우선 서비스에 관해서 설명하고 그 다음 프로토콜을 알아보자 연결형 서비스는 전화망을 모델로 많이 잡는다. 전화를 하기 위해서 해야할 작업이 무엇이 있을까? 서비스 사용자는 연결을 설정하고 그 연결을 사용한 후 연결을 해제한다. 즉 연결이 마치 긴 관이 작동하는 것 같다. 송신측은 끝에서 개체를 밀어 넣고 수신 측은 다른 쪽에서 전송되는 순서대로 수신한다. ** 연결을 설정하고 나서야 통신이 가능하다. 비연결형 서비스는 우편망 서비스와 비슷하다고 한다. 각 편지는 목적지를 가지고 있고 ..

IPv4와 IPv6의 차이점 무엇일까?

www.youtube.com/watch?v=ThdO9beHhpA 위 영상을 기반으로 설명한다. 영어라 알아먹기 힘들어서 내가 정리한다 ㅎ 우선 IP에 대해서 알아보아야 한다. IP란 Internet Protocol로 쉽게 말해서 약속이다. Internet을 사용할 때 지켜야만 하는 약속! 근데 우리는 보통 IP를 IP 주소라고 생각하고 있고 실제로도 그렇게 더 많이 쓴다. IP주소는 숫자로 구성되어 있으며 네트워크 상에서 장비를 구분할 수 있게 해준다. 그렇기에 장비들간에 커뮤니케이션이 일어나기 위해선 IP 주소를 가져야만 한다. 위에서 가르킨 IP 주소는 2가지로 볼 수 있다. 1. 네트워크 주소 2. 호스트 주소 그리고 주소 타입에는 2가지가 있다. IPv4, IPv6 **물론 우리는 아직 IPv4를..

Domain Name System, DNS란 무엇일까?

www.youtube.com/watch?v=mpQZVYPuDGU 위의 영상을 기반으로 설명한다. 최초 2020.11.27 업데이트 2022.09.07 우선 DNS라는 것은 (Domain Name System)이라는 것이다. 엥? 그게 뭐냐고? 뭔지 알려면 사람과 컴퓨터의 차이를 알아봐야 한다. 컴퓨터는 이름이 없다. 아니 이름이 숫자다. 사람은 숫자가 아니라 문자를 이름으로 갖는다. **사실 컴퓨터가 문자를 이름으로 갖는 것처럼 보이지만 사실 문자도 숫자로 해석해서 알아듣는다. **해석하는 과정을 name resolution이라고 한다. 알았지? ??그래서 DNS가 뭐냐고?? DNS는 이름을 숫자로 매칭시켜주는 시스템이다. 정확하게 말하면 도메인 이름을 IP 주소로 바꿔준다. **일반적으로 우리가 웹 브..

728x90
반응형