본문 바로가기

네트워크20

컴퓨터 네트워크 32장 - 응용 계층 - 컴퓨터 네트워크 32장- 응용 계층 - 응용 계층의 하부에 있는 계층들은 신뢰성 있는 데이터 전송을 보장하는 역할을 수행한다. 이에 비해 응용 계층은 하부 계층들을 이용해 사용자에게 편리한 응용 환경을 제공하는 것에 초점을 둔다. 따라서 응용 계층의 구현은 사용자 프로그램 환경에서 이루어지며 운영체제에서 제공되는 계층 4의 인터페이스를 사용해 통신 기능을 구현한다. 필요에 따라 세션, 표현 계층의 기능을 포함한다. 응용 계층의 연결 설정 방식에는 하나의 서버 프로그램이 다수의 클라이언트에 응용 서비스를 제공하는 클라이언트-서버 모델이 있다. 서버가 반드시 먼저 대기 상태에 있어서 클라이언트가 서버에게 연결 요청을 하는 것으로 연결을 설정한다. 클라이언트-서버 모델을 구현할 때 먼저 고려할 사항은 비연결형.. 2017. 5. 5.
컴퓨터 네트워크 31장 - 표현 계층 - 컴퓨터 네트워크 31장- 표현 계층 - 표현 계층은 응용 프로세스 사이에 전송되는 메시지의 표현 방법을 다룬다. 전송 메시지에 표현된 문법 내용을 통신 양단의 프로세스가 해석하는 기능을 수행한다. 송신 프로세스가 전달하는 의미를 수신 프로세스가 정확히 이해하도록 하는 것이다. 데이터가 표현 될 때 추상 문법과 전송 문법이 있다. 추상 문법은 각 컴퓨터에서 사용하는 데이터 표현 규칙이다. 전송 문법은 네트워크 전체에서 일관성을 지니는 표현 규칙이다. 특정 컴퓨터에 독립적이면서 네트워크 전체에서 일관성을 가지는 새로운 표현 규칙인 전송 문법을 이용하여 전송해야한다. 각 컴퓨터는 각기 다른 추상 문법을 가지고 있기 때문이다. 수신 측에서는 자신의 컴퓨터에서 이해하는 추상 문법의 형태로 다시 변환하는 과정도 필.. 2017. 5. 5.
컴퓨터 네트워크 30장 - 세션 계층 - 컴퓨터 네트워크 30장- 세션 계층 - 앞선 장들에서 하위 계층들의 기능에 대해서 살펴보았다. 일반적으로 하위 계층들은 운영체제 내부에서 구현되어 사용된다. 이에 비해 상위 세 계층은 사용자 프로그램을 구현하는데 사용이 된다. 이에 대해 살펴볼 것이다. 세션 계층은 상위 계층에 제공하는 서비스로 세션 연결 설정과 해제, 세션 메시지 전송을 통해 동작한다. 세션 계층은 크게 동기 기능과 대화의 기능을 수행한다. 통신 양단끼리 서로 동의하는 논리적인 공통 시점인 동기점을 만들어 메시지가 제대로 처리가 되고 있는지를 파악하게 된다. 동기점은 오류 복구를 위하여 필수적으로 사용되는데 동기점 설정 이전까지는 서로 처리가 완료되었음을 합의하는 것을 의미한다. 동기점 이전 과정은 복구가 필요 없고 동기점 이후 처리 .. 2017. 5. 5.
컴퓨터 네트워크 26장 - TCP - 컴퓨터 네트워크 26장- TCP - TCP는 IP 프로토콜 위에서 연결형 서비스를 지원하는 전소 계층의 프로토콜로 Transport Control Protocol이다. 연결형 서비스를 제공하고 전이중 방식의 양방향 가상회선을 제공한다. 연결형 서비스이므로 신뢰성 있는 데이터 전송을 보장한다. 신뢰성 있는 데이터를 전송하나다는 것은 오류 제어, 흐름 제어를 통해 데이터를 안전하게 전송한다는 것을 의미한다. 일반적으로 전송계층 프로토콜은 운영체제 내부 기능으로 구현되므로 시스템 콜이라는 프로그램 호출 방식을 이용해야 서비스를 사용할 수 있다. TCP에서는 데이터를 세그먼트라는 블록 단위로 분할하여 전송한다. 데이터 링크 계층에서는 프레임, 네트워크 계층에서는 패킷이라는 단위를 사용했다. 세그먼트라는 블록의 .. 2017. 5. 2.
컴퓨터 네트워크 25장 - 전송 계층의 기능 - 컴퓨터 네트워크 25장- 전송 계층의 기능 - 전송 계층은 네트워크 양 끝단에서 통신을 수행하는 당사자 간의 단대단 연결을 제공한다. 전송 계층은 데이터 링크 계층과 유사하다. 오류 제어, 흐름 제어, 데이터 순서화 등을 제공하는 면에서 비슷하다고 할 수 있다. 하지만 데이터 링크 계층은 물리적으로 1:1 연결된 호스트 사이의 전송을 의미한다면 전송 계층은 논리적으로 1:1 연결된 호스트 사이의 전송을 의미한다. 이제 전송 계층의 주요 기능에 대해 알아보겠다. 흐름 제어는 송수신 호스트의 전송 과정의 속도 차이를 제어해주는 기능을 한다. 데이터링크 계층에서도 같은 기능을 수행하여 기본 목적을 비롯해 유사한 점이 많지만 다른 버퍼 관리 방법이 필요하다. 수신자가 송신자의 전송 속도보다 느리게 수신을 하므로.. 2017. 4. 29.
컴퓨터 네트워크 24장 - 기타 네트워크 계층 프로토콜 - 컴퓨터 네트워크 24장- 기타 네트워크 계층 프로토콜 - 인터넷 환경에서 데이터 전송 과정이 올바르게 이루어지려면 전송 프로토콜 외에도 다양한 제어 프로토콜이 필요하다. 대표적으로 전송 과정에서 오류를 제어하는 ICMP, IP주소와 MAC 주소에 대한 변환을 담당하는 ARP/RARP 프로토콜이 있을 수 있다. ARP 프로토콜은 Address Resolution Protocol의 약자로 IP주소를 MAC 주소로 바꾸어 주는 작용을 한다. 실제로 통신이 이루어지기 위해선 데이터링크 계층의 MAC 주소를 알아야 가능하다. 송신의 MAC 주소는 송신 호스트의 LAN 카드에 저장이 되어 있으므로 얻을 수 있지만 수신 호스트의 MAC 주소는 알 수가 없다. 따라서 ARP 프로토콜을 이용하게 된다. ARP 프로토콜의.. 2017. 4. 29.
블록체인 블록체인 블록체인은 첫 번째 암호 화폐였던 비트코인에서 처음 나타난 개념으로, 모든 암호 화폐는 각각의 블록체인을 가지고 있다. 블록체인은 공공 거래 장부이며 가상 화폐로 거래할 때 발생할 수 있는 해킹을 막는 기술이다. 분산 데이터베이스의 한 형태로 지속적으로 성장하는 데이터 기록 리스트로서 분산 노드의 운영자에 의한 임의 조작이 불가능하도록 고안되었다. 거래 장부는 금융 거래에서 핵심적인 요소이다. 돈이 오고간 내역을 기록하기 때문에 이를 바탕으로 금융거래가 이루어진다. 이런 거래 장부가 인터넷을 통해 사용되면 안전하게 보관하는 일이 매우 중요하게 된다. 거래 장부를 조작함으로써 직접적으로 돈을 뺏을 수 있기 때문이다. 예전에는 거래 장부를 서버에 저장한 후 다양한 보안 장비와 프로그램을 설치하고 보.. 2017. 4. 28.
컴퓨터 네트워크 23장 - 이동 IP 프로토콜 - 컴퓨터 네트워크 23장- 이동 IP 프로토콜 - 현재 진행되는 인터넷 환경 변화와 관련해 가장 많이 연구되는 분야 중 하나는 이동하는 사용자가 서비스 중단 없이 인터넷에 접속할 수 있는 이동 환경 서비스를 수용하는 문제이다. 기존의 고정통신망에서 유무선이 복합된 이동 광대역 통신망으로 진화하고 있다. 이동 호스트가 자신의 고유 주소를 유지하면서 인터넷 서비스를 계속 받으려면 계속 이동하는 송수신 호스트 간의 데이터 라우팅 처리가 가장 중요하다. 이동 IP 프로토콜을 이해하려면 먼저 터널링의 원리에 대해 알아야 한다. 두 가지의 예시를 통해 터널링의 원리에 대해 이해를 해보도록 하자. 홍길동이라는 데이터가 a위치에서 d라는 위치로 이동을 하는데 버스와 배라는 전송 프로토콜을 이용하여 데이터가 움직인다고 가.. 2017. 4. 28.
컴퓨터 네트워크 22장 - IPv6 프로토콜 - 컴퓨터 네트워크 22장- IPv6 프로토콜 - IPv4 프로토콜은 32비트의 주소 공간을 지원하는 프로토콜로 이론상 최대 2의 32승 개의 호스트를 사용할 수 있다. 하지만 인터넷이 급성장함에 따라 이 정도의 주소 크기만으로 엄청나게 많은 호스트를 수용하는 것에는 한계가 생겼다. 따라서 이를 대체하기 위해 호스트의 주소 공간을 대폭 확장한 IPv6 프로토콜이 차세대 프로토콜로 사용되고 있다. IPv6는 IPv4에 비해 다양한 변경이 있었다. 우선 제일 중요한 부분인 주소 공간의 확장이다. 128비트(16바이트)로 확장된 형태이다. 최대 2의 128승 개의 호스트를 지원할 수 있어 확장되는 인터네 접속자를 수용 가능하게 되었다.헤더 구조 또한 단순화 되었다. 불필요한 필드를 제외시키고 옵션에 해당하는 부분.. 2017. 4. 28.
컴퓨터 네트워크 19장 - 네트워크 계층의 기능 - 컴퓨터 네트워크 19장- 네트워크 계층의 기능 - 네트워크 계층의 기본 기능으로는 라우팅이라고 할 수 있다. 라우팅은 송수신 호스트 사이의 패킷 전달 경로를 선택하는 역할을 한다. 라우팅 과정 중에 수반되는 기능으로는 혼잡 제어나 패킷 분할/병합이 있을 수 있다. 라우팅을 위해서 라우팅 테이블을 가지고 있는데 네트워크 구성 형태에 관한 정보를 관리하는 공간이다. 혼잡이라고 하는 것은 네트워크에 패킷 수가 과도하게 증가되는 현상으로 혼잡의 발생을 예방하거나 제거하는 기능을 혼잡 제어가 필요하다. 패킷의 분할과 병합은 상위 계층에서 내려온 데이터를 하위 계층인 MAC 계층의 프레임 구조에 정의된 형식으로 캡슐화 할 때 사용되는 기능이다. 송신 호스트에서 전송 전에 적절한 크기로 데이터를 분할하고 수신 호스트.. 2017. 4. 23.