본문 바로가기

과목/컴퓨터 네트워크

네트워크 모델

프로토콜 계층화

모듈화와 비슷하다. 각 계층을 독립적으로 다룰 수 있다. 통신 시스템의 어느 계층을 변경하든 그 영향이 전체 시스템에 미치지 않아서 확장성, 유연성이 생긴다. 통신 기능이 분할되므로 각 계층에 프로토콜을 쉽게 설치할 수 있다.

 

프로토콜에서 각 계층의 기능을 실현하는 실체를 엔티티라고 한다. 임의의 엔티티는 하위 엔티티에서 서비스를 받고 상위 엔티티에 서비스를 제공한다. 상위 계층과 하위 계층 사이에서 서비스를 주고 받을 때의 규약을 인터페이스라고 한다. 통신상 같은 계층에서 주고 받을 때의 규약을 프로토콜이라고 한다.

 

인터페이스, 프로토콜

 

OSI 7 Layer

A의 응용계층에서 물리계층까지 데이터를 보내고 중간 노드에서 3계층을 거치게 된다. B의 물리계층에서 응용계층까지 데이터가 전달된다.

  • 응용 계층
    • 사용자나 소프트웨어가 네트워크에 접근할 수 있게 한다. 사용자 인터페이스를 제공하고 email, 원격 파일 접근 및 전송, 공유 DB 관리, 다양한 형태의 분산 정보서비스를 제공한다.
    • 특정 애플리케이션마다 특화된 프로토콜이 존재한다.
  • 표현 계층
    • 두 시스템 간에 주고받는 정보의 구문과 의미론과 관련이 있다. 서로 다른 컴퓨터는 서로 다른 부호화 시스템을 사용한다. 그렇기 때문에 송신자의 표현형식을 공통 포맷으로 변환하고, 수신자의 공통포맷을 수신자의 표현형식으로 변환한다.
    • 암호화 기능, 비트수를 줄이는 데이터 압축 기능
  • 세션 계층
    • 네트워크의 대화 제어기로서 통신 시스템 간의 상호 대화를 설정하고 유지하며 동기화한다. 연결 확립, 절단, 전송 데이터의 연결설정 및 해제에 관한 관리
  • 전송 계층
    • 전체 메시지가 종단 노드들 사이의 프로세스 대 프로세스 전달 서비스를 제공한다. 프로세스는 호스트에서 동작하는 응용 프로그램을 말한다. 통신을 하는 양쪽 끝에서만 서비스 지점 주소 지정, 분할과 재조립, 연결 제어, 흐름 제어, 오류 제어 등이 수행되고 중간 라우터에서는 수행되지 않는다.
  • 네트워크 계층
    • 패킷을 발신지로부터 여러 네트워크(링크)를 통해 목적지까지 전달한다. 데이터링크 계층은 같은 네트워크에 있는 두 시스템 간에 패킷 전달을 제공하지만, 네트워크 계층은 각 패킷의 발신지로부터 최종 목적지까지 전송을 제공한다.
    • 네트워크 계층의 주요 기능은 패킷이 네트워크 경계를 통과할 때 발신지와 목적지 시스템을 구분하기 위해 논리주소를 지정하는 기능과 패킷이 최종 목적지에 전달될 수 있도록 경로를 지정하는 라우팅 기능이 있다.
  • 데이터링크 계층
    • 물리 계층에서 직접 접속된 노드와 노드 사이를 신뢰성 있는 링크로 변환시켜준다.
    • 프레임이라는 데이터 단위로 전송하고 노드와 노드 사이에서 물리 주소 지정, 흐름 제어, 오류 제어, 접근 제어를 한다.
  • 물리 계층
    • 물리적인 매체를 통해 비트 스트림을 전송하는데 필요한 기능을 제공한다. 인터페이스의 기계적, 전기적 규격, 전송매체를 다룬다. 물리적인 장치와 인터페이스가 전송을 위하여 필요한 기능과 처리 절차를 규정한다.

TCP/IP 프로토콜

1990년대 이전까지는 많은 사람이 OSI 모델이 데이터 통신의 최종적인 표준이 도딜 것으로 믿었다. 인터넷에서 광범위하게 시험되고 사용되어 상업적인 구조가 된 TCP/IP 프로토콜이 등장한 후 OSI 모델은 완전히 구현되지 않았다. TCP/IP는 OSI보다 개방적이고 실제 사용 가능한 프로토콜을 중시했다.

TCP/IP는 OSI보다 먼저 개발되었고 OSI 모델의 계층 구조와 일치하지 않는다.

TCP/IP는 물리 계층, 데이터링크 계층, 네트워크 계층, 전송 계층, 응용 계층의 다섯 계층으로 구성되어 있다. 첫 4계층은 OSI와 같지만 마지막 응용 계층은 OSI 계층의 응용 계층, 표현 계층, 세션 계층이다.

 

TCP/IP 프로토콜의 계층 구조

  • 물리 계층과 데이터링크 계층
    • 물리, 데이터링크 계층에서 TCP/IP는 특정 프로토콜을 규정하지 않고, 모든 표준과 기술적 프로토콜을 지원한다. 네트워크 간 상호 연결에서 네트워크는 LAN, WAN이 될 수 있다.
  • 네트워크 계층
    • 상호 연결된 네트워크 계층에서 TCP/IP는 인터네트워킹 프로토콜(IP)을 지원한다. IP는 4개의 지원 프로토콜(ARP, RARP, ICMP, IGMP)을 사용한다.
  • 인터네트워킹 프로토콜(IP)
    • 인터네트워킹 프로토콜은 TCP/IP 프로토콜에서 사용되는 전송 메커니즘이다. 이 프로토콜은 신뢰성이 없고 비연결형 프로토콜로서 최선의 노력으로 전달을 수행하는 전송 서비스다. 최선의 노력이란 IP가 오류 검사나 추적은 제공하지 않는다는 것이다. 신뢰성이 없는 상태로 목적지까지 전송하려고 최선의 노력을 하지만 완전한 보장이 되진 않는다.
    • IP는 데이터를 데이터그램이라는 패킷 형태로 나눠서 전송한다. 데이터그램은 서로 다른 경로로 이동할 수 있으므로 순서대로 도착하지 않거나 중복될 수 있다. IP는 경로를 기록하지 않고, 일단 목적지에 도착한 데이터그램을 재전송하는 기능도 제공하지 않는다. 이런 IP의 제한된 기능성을 약점이라고 할 순 없다. IP는 사용자가 주어진 응용에 필요한 기능을 자유롭게 추가할 수 있는 전송기능을 제공하므로 최대한의 효율성을 제공한다.
  • 주소변환 프로토콜(Address Resolution Protocol ; ARP)
    • IP 주소를 물리적인 주소로 변환해준다. LAN과 같은 물리적인 네트워크에서, 링크 상의 각 장치는 네트워크 인터페이스 카드의 물리 주소 또는 로컬 주소에 의해 구분된다. ARP는 인터넷 주소를 알고 있을 때 노드의 물리 주소를 찾는데 사용된다.
  • 역주소 변환 프로토콜(Reverse Address Resolution Protocol ; RARP)
    • 호스트의 물리 주소를 알고 있을 때 인터넷 주소를 알아내는데 사용된다.
  • 인터넷 제어 메시지 프로토콜(Internet Control Message Protocol ; ICMP)
    • 송신자에게 데이터그램의 문제점을 알려주기 위해 호스트와 게이트웨이가 사용하는 메커니즘이다. ICMP는 조회와 오류 보고 메시지를 보낸다.
  • 인터넷 그룹 메시지 프로토콜(Internet Group Message Protocol ; IGMP)
    • 수신자 그룹에게 메시지를 동시에 전송하는데 사용된다.
  • 전송 계층
    • TCP/IP에서 전송 계층은 2개의 프로토콜(TCP, UDP)을 갖는다. IP는 호스트 간 프로토콜로서 패킷을 하나의 물리적인 장치에서 다른 물리적인 장치로 전달할 수 있다는 것을 의미한다. UDP와 TCP를 하나의 프로세스(실행 중인 프로그램)에서 다른 프로세스로 메시지를 전달하는 기능을 갖는 전송 레벨 프로토콜이다. 새로운 전송 계층 프로토콜인 SCTP는 몇몇 새로운 응용들의 요구를 충족시키기 위하여 개발되었다.
  • 사용자 데이터그램 프로토콜(User Datagram Protocol ; UDP)
    • 표준 TCP/IP 전송 프로토콜보다 단순하다. 프로세스 대 프로세스 프로토콜로서, 포트 주소, 검사합 오류제어, 상위계층으로부터 받은 데이터 길이 정보만 추가한다.
  • 전송제어 프로토콜(Transmission Control Protocol ; TCP)
    • 응용에 대한 모든 전송계층 서비스를 제공한다. TCP는 신뢰성 있는 스트림 전송 프로토콜이다. 스트림은 연결지향을 의미한다. 데이터를 전송하기 전에 양 종단 간에 연결이 설립되어야 한다.
    • 각 전송의 송신 종단에서 TCP는 데이터 스트림을 세그먼트라는 보다 작은 단위로 나눈다. 각 세그먼트는 수신된 세그먼트에 대한 확인 응답 번호와 함께 수신 후에 순서를 맞추기 위한 순서번호를 포함하고 있다. 세그먼트는 IP 데이터그램으로 캡슐화되어 인터넷을 통하여 전달된다. 수신 종단에서, TCP는 수신되는 각 데이터그램을 모아서 순서번호에 따라 순서를 맞춘다.
  • 스트림 제어 전송 프로토콜(Stream Control Transmission Protocol ; SCTP)
    • IP 텔레포니와 같은 새로운 응용을 제공한다. 스트림 제어 전송 프로토콜은 UDP와 TCP의 장점을 결합한 전송 계층 프로토콜이다.
  • 응용 계층
    • TCP/IP에서 응용 계층은 OSI 모델의 세션, 표현, 그리고 응용 계층을 합친 것과 같다. 이 계층에는 많은 프로토콜이 정의되어 있다. 이 후의 장에서 여러 가지 표준 프로토콜을 다루도록 한다.

인터넷의 주소 

TCP/IP 프로토콜을 이용한 인터넷은 3개의 서로 다른 계층의 주소가 사용되는데 물리주소, 논리주소, 포트주소다

  • 물리 주소
    • 링크 주소로 잘 알려진 물리 주소는 LAN이나 WAN에서 정의된 노드의 주소이다. 최하위 계층 주소로서 데이터링크 계층에 의해 사용되는 프레임에 포함된다.
  • 논리 주소
    • 물리적인 네트워크에 관계 없이 호스트를 유일하게 식별할 수 있는 전 세계적인 주소 시스템이 필요하다.
    • 현재 인터넷에 연결된 호스트를 유일하게 식별할 수 있는 32비트 주소 체계를 사용한다. 인터넷상의 두 호스트는 동일한 IP주소를 사용할 수 없다.
    • 논리 주소는 유니캐스트(단일 수신자), 멀티캐스트(그룹 수신자), 브로드캐스트(네트워크 내의 모든 시스템)가 될 수 있다. 브로드캐스트 주소에는 제한이 있다.
  • 포트 주소
    • 다량의 데이터를 발신지에서 목적지 호스트까지 전송하기 위해서는 IP 주소와 물리 주소가 필요하다. 하나의 컴퓨터가 다른 컴퓨터로 데이터를 전송하는 시스템은 완전하지 못하다. 오늘날 컴퓨터는 다수의 프로세스를 동시에 실행할 수 있다. 인터넷 통신의 최종 목적은 한 프로세스가 다른 프로세스와 통신할 수 있도록 하는 것이다. 프로세스를 식별하는 방법인 포트 주소가 필요하다. TCP/IP에서 포트 주소의 길이는 16비트이다.

출처 손에 잡히는 TCP/IP