넘치게 채우기

[컴퓨터네트워크] 네트워크 개요 본문

컴퓨터과학/컴퓨터네트워크

[컴퓨터네트워크] 네트워크 개요

riveroverflow 2024. 3. 9. 17:14
728x90
반응형

통신 및 네트워크 개요

통신을 한다는 것은, 정보다 네이터를 공유하는 것이다.

 

네트워크란?

네트워크(network): 상호 연결이 가능한 통신 장치의 집합체이다.

통신 장비란 컴퓨터, 데스크톱, 스마트iot장치, 스마트폰, 스마트워치 등의 호스트(host)도 있고,

이외에도 라우터, 스위치, 모뎀 등의 연결 장치(connectiong device)도 있다.

네트워크의 평가기준은 다음과 같다:

  • 성능(performance) - 전달시간, 응답시간 등. 흔히 처리율(throughtput)과 지연(delay)이라는 두 가지 척도로 평가된다.
  • 신뢰성(reliability) - 고장의 빈도수, 해결시간, 안정성 등..
  • 보안(security) - 데이터 보호, 정책, 침해나 손실시 복구절차 등.

 

네트워크의 종류

  • LAN(Local-Area Networks) : 근거리통신망 개인 소유, 건물, 학교 등의 호스트들을 연결.
  • WAN(Wide-Area Networks): 광역통신망 도시, 주, 국가, 세계 단위의 연결. 교환기, 라우터, 모뎀과 같은 연결 장치를 사용하여 장비를 연결함.
  • 점대점(Point-to-Point) WANs,
  • 교환형(Swithed) WANs가 있다.
  • 인터넷(internetwork)

오늘날 LAN이나 WAN이 독립적으로 분리된 경우는 거의 없고, 서로 연결되어 있다.

2개 이상의 네트워크가 연결될 경우, 인터넷(internet), 또는 네트워크간 연결(internetwork)을 구성한다.

 

인터넷

가장 대표적인 인터넷(internet)인터넷(Internet)이다.

오늘날 수십억 개의 장비들이 상호 연결되어 있다.

  • 백본은 대등점(peering point)라는 복잡한 교환 시스템
  • 두 번째 레벨은 제공자(provider)네트워크로 요금을 지불하고 백본 사용
  • 고객(customer)는 실질적인 서비스 이용

인터넷 접속

오늘날의 인터넷은 네트워크간 상호 연결이다.

사용자들은 물리적으로 ISP에 연결되어야 한다.

이러한 물리적인 연결은 보통 점대점 WAN에 의해 이루어진다.

  • 전화망 이용

dial-up 서비스는 매우 느리다.

과거에는 전화망을 이용해서 인터넷에 연결했는데, 컴퓨터에 인터넷이 연결되면 전화를 이용할 수 없었다.

시대의 발전으로 음성 통신과 데이터 통신이 동시에 가능하게 했다.

이후 디지털 가입자 회선 서비스(DSL)을 통해서 동시에 음성과 데이터 전송을 가능케 했다.

  • 케이블망 이용

케이블TV서비스 이용자들은 케이블망을 업그레이드하여 인터넷에 연결하였다.

빠른 연결을 제공했지만, 이용자수에 따라 달랐다.

  • 무선망 이용

무선 WAN 접속이 성장하면서, 가정이나 직장 등에서도 연결할 수 있게 되었다.

  • 인터넷에 직접 연결

서비스 제공자에게 직접 인터넷에 연결하기 위해 서비스를 임대

 

프로토콜 레이어

프로토콜(protocol)은 효과적인 통신을 위해 송신자와 수신자가 따라야 하는 규칙이다.

통신이 복잡해질 수록 계층화가 필요해진다.

이해하기 위해 아래 시나리오를 읽어보자.

 

#시나리오 1.

마리아(Maria)와 앤(Ann)은 서로 공통점이 많은 이웃이다. 둘의 통신은 대면(face-to face)으로, 한 계층에서만 일어난다.

Layer 1 : Listen/Talk

이 간단한 시나리오 속에서도 규칙이 있다.

  1. 마리아와 앤은 서로 만나면 인사해야 한다.
  2. 이들은 친구 간에 사용하는 단어를 제한해야 한다.
  3. 각 당사자는 상대방이 말할 때 자신이 말하는 것을 억제하고 경청해야 한다.
  4. 서로의 대화는 독백이면 안 된다.
  5. 헤어질 때도 인사해야 한다.

#시나리오 2.

앤은 멀리 떨어진 도시의 사업부로 이동한다.

두 친구는 퇴직 후 새로운 사업을 시작하기 위한 프로젝트 구상을 위해 서로 통신하고, 아이디어를 교환하길 원한다.

그들은 우체국을 통해 편기를 보내기로 하고, 편지가 중간에 가로채어져서 다른 사람들이 그들의 아이디어를 도용하는 것도 막고싶다. 그러기 위해 암/복호화 기술을 사용하기로 한다.

송신자는 암호화한다. 수신자는 복호화한다.

키는 이전에 서로 공유해뒀고, 키가 없으면 복호화하기 어렵다고 가정한다.

그리고, 각 계층에서 작업을 처리하는 기계, 도구가 있다고 가정한다.

 

이제 마리아와 앤이 통신한다고 해보자.

마리아는 앤에게 할 말을 세 번째 계층의 기계에게 이야기한다.

기계는 두 번째 계층의 기계에게 보내질 평문을 생성한다.

두 번째 계층의 기계는 그 평문을 받아 암호화하고, 첫 번째 계층의 기계에게 보낼 암호문을 만든다.

첫 번째 계층의 기계는 암호문을 받아서 봉투에 담아, 송신자와 수신자의 주소를 추가하여 편지를 보낸다.

 

이제 앤의 첫 번째 계층의 기계가 편지함에서 편지를 꺼낸다.

기계는 암호문을 꺼내어 두 번째 계층에게 전달한다.

두 번째 계층의 기계는 암호문을 복호화하여 평문을 만들고, 세 번째 계층이 기계에게 전달한다.

세 번째 계층의 기계는 평문을 받아 마치 마리아가 말하는 것처럼 읽는다.

 

Layer 3 : Listen/Talk

Layer 2 : Encrypt/Decrypt

Layer 1 : Send/receive mail

 

프로토콜 계층화는 복잡한 작업을 여러 개의 작고 단순한 작업들로 나눈다.

모듈화를 통해서 다른 계층들과 서로 독립되게 만든다.

 

프로토콜 계층화의 장점:

  • 어느 한 계층이 어떻게 구현되는지에 대해 신경 쓸 필요가 없다.
  • 통신은 두 종단 시스템에서만 일어나지 않는다. 수십억 개의 시스템일수도 있다. 계층화를 사용하지 않으면, 더 복잡해질 수 있다.

 

프로토콜 계층화의 원칙

  1. 양방향 통신을 원한다면, 각 계층이 각 방향으로 한 가지씩, 상반되는 두 가지 작업을 수행할 수 있도록 만들어야 한다.
  2. 양측의 각 계층에 있는 객체는 서로 동일해야 한다.

이 원칙을 따르면, 아래와 같은 논리적 연결(logical connection)이 만들어진다:

 

TCP/IP 프로토콜 그룹

TCP/IP는 오늘날 인터넷에서 가장 많이 쓰이는 프로토콜 그룹이다.

계층적인 프로토콜 구조를 가지는데, 각 상위 계층 프로토콜은 1개 이상의 하위 계층 프로토콜로부터 제공되는 서비스들의 지원을 받는다는 의미이다.

 

계층적 구조

컴퓨터 A가 컴퓨터 B와 통신한다 해보자.

이 통신은 출발 호스트, 링크1의 교환기, 라우터, 링크2의 교환기, 목적지 호스트를 갖는다.

라우터는 단 3개의 계층과 관련된다.

 

3개의 링크와 연결되어 있지만, 이 통신에서는 2개의 링크만 이용한다.

링크의 교환기는 단 2개의 계층, 데이터 링크층가 물리층과 관련된다.

각 교환기는 2개의 서로 다른 연결을 갖지만, 이 연결들은 같은 링크 안에서는 하나의 프로토콜 집합만 사용한다.

 

계층들의 간단한 설명

응용층, 전송층, 네트워크층의 임무는 종단 대 종단(end-to-end)이지만,

링크층과 물리층의 임무는 홉 대 홉(hop-to-hop)이다.

다시말해, 최상위 세 계층의 의무는 인터넷이 가지고, 그 아래 두 계층의 임무는 링크이다.

최상위 세 계층에서는 데이터 단위(패킷)가 라우터나 링크층 교환기에 의해 변하지 않아야 한다. 그 아래 두 계층에서는 호스트에 의해 생성된 패킷이 링크층 교환기가 아닌 오직 라우터에서만 변한다.

 

계층들에 대한 설명

  • 물리층
    물리층은 전기 신호(비트)를 보내는/받는 책임을 가진다.
  • 데이터 링크층
    물리층이 올바르게 송신하였는가에 대해 확인한다. 전기신호는 실패할 수 있다. 집에서 리모콘이 작동하지 않은 적도 많지 않은가? 받는 측에서, 물리층이 보내는 비트가 맞는지 어떻게 확인할 수 있을까? 보내는 측에서 신호의 끝에 비트의 총합을 보내주는 것이다. 받는 데이터링크 계층에서는 마지막에 총합과 받은 값을 비교한다. 다르다면, 재전송이 필요하다는 뜻이다.
  • 네트워크층
    발신지(source)목적지(destination)의 연결을 생성하기 위한 책임을 가진다. 라우터들은 각 패킷을 위한 최선의 경로를 선택할 책임을 가진다.
  • 전송층
    패킷의 전송은 순차적이지 않다! 전송층은 응용측에 대한 서비스 제공 책임을 가진다. 응용층으로부터 데이터를 받아서 세그먼트(segment)또는 데이터그램(datagram)으로 나눠서 목적지의 전송층으로 보낸다. 그러나, 패킷의 전송은 순차적이지 않다!

    수신 입장에서의 전송층은 세그먼트를 다시 데이터로 결합하여 응용층으로 보낸다. 왜 세그먼트로 나누냐면(보통 ip패킷은 64kb), 큰 원본 파일의 전송을 그대로 하면, 데이터 링크층에서 반드시 실패하기 때문이다. 그러고는 재전송이 끝없이 반복된다.
  • 응용층
    메시지를 교환한다. 수신측의 프로세스와 발신측의 프로세스간의 통신(process-to-process communication)은 응용층의 역할이다.

 

OSI 모델

국제표준화기구(ISO)는 개방 시스템 상호연결(OSI, Open System Interconnection) 모델을 만들었다.

개방 시스템(open system)은 기반 구조와 관계없이 서로 다른 시스템 간의 통신을 제공하는 프로토콜의 집합이다.

7개의 계층으로 구성되어 있다.

TCP/IP 프로토콜 그룹에는 OSI 모델의 세션(session)표현(presentation)을 응용 모델에 결합시켰다.

그 이유는 다음과 같다:

  1. TCP/IP는 하나 이상의 전송층 프로토콜을 가지고 있다. 세션층의 일부 기능은 일부 전송층 프로토콜에서 가능하다.
  2. 응용층이 단순히 소프트웨어의 한 부분은 아니다. 많은 응용들이 이 계층에서 개발될 수 있다. 만약 세션, 표현층이 특정 응용에서 필요로 한다면, 그것은 소프트웨어의 한 부분으로 개발될 수 있다.

OSI 모델의 실패

OSI 모델이 TCP/IP 프로토콜 그룹 이후로 나왔지만, 기존 체계를 바꾸지는 못했다.

  1. OSI는 TCP/IP가 완전히 자리잡고, 많은 돈과 시간이 TCP/IP 그룹에 투자되고 만들어짐.
  2. OSI모델의 일부 계층은 완전히 정의되지 않았다.
  3. OSI가 TCP/IP로부터 인터넷 당국을 끌어들일 만한 높은 수준을 보여주지 못했다.
728x90
반응형