OSI 7계층과 TCP/IP 정리

Updated:

네트워크 통신

두번째 미니 세미나의 주제로 네트워크 통신을 선택하였습니다.
이 포스트는 그에 대한 준비 과정 중 작성한 글입니다.

OSI 7계층 이란?

OSI 7 Layer 란 통신을 위하여 국제표준화기구(ISO)에서 개발한 모델로
통신 접속에서 완료까지의 과정을 7단계로 정의한 국제 통신 표준 규약입니다.
개방시스템 상호연결 (OSI) 모델이라고 할 수 있으며 개방시스템(Open System)이란 기반구조와 관계없이 시스템간의 통신을 제공하는 프로토콜의 집합이다.

7계층으로 나눈 이유?

계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있기 때문이다.
흐름을 한눈에 알아보기 쉽고, 사람들이 이해하기가 쉽습니다.
7단계 중 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고도 이상이 생긴 단계만 고칠 수 있기 때문이다.

어디에 문제가 있는지 확인하기 위해서는
모든 PC가 문제가 있다면
라우터의 문제(3계층 네트워크 계층)이거나 광랜을 제공하는 회사의 회선 문제(1계층 물리 계층)
한 PC만 문제가 있고
소프트웨어에 문제가 있다면(7계층 어플리케이션 계층)
소프트웨어에 문제가 없고, 스위치에 문제가 있으면(2계층 데이터링크 계층)
있다고 판단해 다른 계층에 있는 장비나 소프트웨어를 건들이지 않는것이다.

OSI 7계층의 동작 방식

그림을 보면 알겠지만 응용계층에서 내려온 데이터부터 시작해서 계속 헤더가 붙는 것을 알 수 있습니다. 이 헤더에는 그 계층에 대한 정보가 기록되어있지요.

우리가 이메일을 보낸다고 가정할때 처음 응용계층에서 헤더를 붙여 하위 계층으로 넘겨줍니다.
표현계층은 응용계층에서 내려온 헤더와 이메일 데이터를 하나의 데이터로 간주하게 됩니다.

그래서 다시 자신의 헤더를 붙이게 되지요. 이런 과정은 Encapsulation이라고 합니다.
이런식으로 물리계층까지 내려오게 되면 그때부터 0과 1의 이진 비트가 전송되게 되는 것입니다.

받은 수신자는 거꾸로 물리계층부터 시작해 헤더의 정보를 확인하고 떼어냅니다.
그리고 난 후 상위 계층으로 데이터를 전달하는 것이죠. 이렇게 헤더를 떼어내는 과정은 Decapsulation이라고 합니다.

하위 계층(1 ~ 3)

  • 물리 계층 (Physical Layer)
    7계층 중 최하위 계층입니다. 주로 전기적, 기계적, 기능적인 특성을 이용해 데이터를 전송하게 됩니다. 데이터는 0과 1의 비트열로 이루어져 있습니다.
    이 계층은 단지 데이터를 전달하기만 합니다.
    단위 : bit

  • 데이터 계층 (DataLink Layer)
    물리 계층에서 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 합니다.
    안전한 정보의 전달이라는 것은 오류나 재전송하는 기능을 갖고 있다는 의미이며, MAC 주소를 가지고 있어 프레임에 주소를 부여합니다.

    흐름 제어 : 송신 측과 수신 측의 속도 차이를 조정
    오류 제어 : 오류 검출과 회복
    순서 제어 : 프레임의 순서적 전송
    프레임 동기화 : 프레임의 시작과 끝을 구별하기 위한 동기화
    단위 : Frame

  • 네트워크 계층 (Network Layer)
    경로(Route)와 주소(IP)를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할입니다.
    즉, 목적지까지 가장 안전하고 빠르게 데이터를 보내는 기능을 말합니다. 따라서 최적의 경로를 설정해야하지요.
    이런 라우팅 기능을 맡고 있는 계층이 네트워크 계층입니다.
    단위 : Packet

상위 계층(4 ~ 7)

  • 전송 계층(Transport Layer) 양 끝단의 사용자들 간의 신뢰성있는 데이터를 주고 받게 해주는 역할을 합니다.
    송신자와 수신자 간의 신뢰성있고 효율적인 데이터를 전송하기 위하여 오류검출 및 복구, 흐름제어와 중복검사 등을 수행합니다.
    데이터 전송을 위해서 Port 번호가 사용이 됩니다. 대표적인 프로토콜로는 TCP와 UDP가 있습니다.
    단위 : Segment

  • 세션 계층(Session Layer) 응용 프로세스가 통신을 관리하기 위한 방법을 정의합니다.
    이 계층은 TCP/IP 세션을 만들고 없애는 역할을 하고 있습니다.

  • 표현 계층(Presentation Layer) 데이터를 어떻게 표현할 지 정하는 역할을 하는 계층

표현 계층은 세가지의 기능을 갖고 있습니다.

  1. 송신자에서 온 데이터를 해석하기 위한 응용계층 데이터 부호화, 변화
  2. 수신자에서 데이터의 압축을 풀수 있는 방식으로 된 데이터 압축
  3. 데이터의 암호화와 복호화

인코딩이나 암호화 등의 동작이 표현계층에서 이루어집니다.

  • 응용 계층(Application Layer) 사용자와 가장 가까운 계층이 바로 응용 계층입니다. 우리가 사용하는 응용 서비스나 프로세스가 바로 응용계층에서 동작합니다.
    대표적으로 우리가 잘 알고있는 HTTP, FTP 등의 프로토콜이 응용 계층에 속한다.

TCP / IP

TCP/IP는 현재의 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 통신규약 (프로토콜)의 모음이다.
오늘날 인터넷 통신의 대부분은 패킷 통신을 기본으로 하고 있습니다.
보시면 시작점에서 데이터가 수많은 패킷으로 분리되어 전송 됩니다.
이후 도착점에서 패킷들이 재조합 되어, 데이터를 받을 수 있습니다.
TCP/IP는 이러한 패킷 통신을 위한 인터넷의 규약입니다.

IP는 데이터의 조각들을 최대한 빨리 목적지로 보내는 역할을 합니다.
조각들의 순서가 뒤바뀌거나 일부가 누락되더라도 크게 상관하지 않고 보내는 데 집중을 합니다.

TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해줍니다.
도착한 조각을 점검하여 줄을 세우고 망가졌거나 빠진 조각을 다시 요청합니다.

두 방식의 조합을 통하여 인터넷 데이터 통신을 하는 것을 묶어 TCP/IP라고 부르는 것입니다.

TCP / IP의 4계층

  • 네트워크 인터페이스 계층
    이 계층은 Node-To-Node간의 신뢰성 있는 데이터 전송을 담당하는 계층입니다. OSI7 계층의 물리 계층과 데이터링크 계층의 역할을 바로 이 계층이 담당하는 것으로 볼 수 있네요.
    알맞은 하드웨어로 데이터가 전달되도록 MAC주소를 핸들링 하는것 뿐 아니라, 데이터 패킷을 전기신호로 변환하여 선로를 통하여 전달할 수 있게 준비 해준다.

  • Internet 계층 - IP IP를 사용하여 데이터의 원천지(origin)과 목적지(destination)에 관한 정보를 첨부한다.
    IP는 복잡한 네트워크 망을 통하여 가장 효율적은 방법으로 데이터의 작은 조각들을 되도록 빨리 보내는 일을 합니다.
    따라서 IP는 패킷 전달 여부를 보증하지 않고, 경로를 설정하여 어떻게든 빨리 보내도록 합니다.

  • Transport 계층 - TCP
    TCP는 IP 위에서 동작하는 프로토콜로, 데이터의 전달을 보증하고 보낸 순서대로 받게 해줍니다.
    즉, 순서가 맞지 않거나 중간에 빠진 부분을 점검하여 다시 요청하는 일을 담당합니다.

데이터를 전송 할 때에는 Application 레이어를 통하여 데이터를 받고, 포트를 설정합니다.
이후 포트를 통해 받은 데이터들을 패킷이라는 작은 단위로 쪼개어 보낼 준비를 합니다.
각각의 패킷들은 TCP header에 어떤 순서로 재조합 할지에 관한 정보를 가집니다.

  • 응용 계층(Application Layer)
    OSI7 계층의 5계층부터 7계층까지의 기능을 담당하고 있습니다.

서버나 클라이언트 응용 프로그램이 이 계층에서 동작합니다. 우리가 알고 있는 브라우저나 텔넷같은 서비스가 이 계층에 동작하며, 동작하기 위해서는 전송계층의 주소, 즉 포트번호를 사용합니다. 이를테면 http는 포트번호 80번을 사용합니다.

OSI 7 Layer와 TCP / IP의 차이?

앞에서 보신 OSI 7 Layer는 장비 개발과 통신 자체를 어떻게 표준으로 잡을지 사용되는, 즉 개념적 모델이라면
TCP/IP는 실질적인 통신을 담당하여 지금도 계속 사용되고 있습니다.

TCP/IP는 인터넷 개발 이후 계속 표준화되어 신뢰성이 우수인 반면, OSI 7 Layer는 표준이 되기는 하지만 실제적으로 구현되는 예가 거의 없어 신뢰성이 저하되어있는 상황입니다.

출처

[네트워크] OSI 7 계층 (OSI 7 LAYER) 기본 개념, 각 계층 설명
OSI 7계층 정리
IT관련 용어 - [OSI 7계층] 이란? (OSI 7 Layer)
OSI 7 계층이란?, OSI 7 계층을 나눈 이유
[네트워크] TCP/IP 계층 기본 개념(네트워크 계층, 인터넷 계층, 전송계층, 응용계층)
개알못을 위한 TCP/IP의 개념
TCP / IP와 OSI 모델의 차이점
OSI 7 Layer 과 TCP/IP 4 Layer(TCP/IP Protocol suite) 비교
#4 신입 프로그래머 기술(실무) 면접준비 [네트워크]
TCP/IP란