개발놀이터

OSI 7 계층, TCP / IP 4 계층 본문

CS 지식/네트워크

OSI 7 계층, TCP / IP 4 계층

마늘냄새폴폴 2023. 3. 2. 09:27

네트워크를 공부할 때 OSI 7계층이나 TCP 4계층에 대해서 들어본적이 있을겁니다. 

 

우리는 이번 포스팅에서 OSI 7계층, TCP 4계층이 무엇인지, 이 둘의 차이는 무엇인지, 이 계층을 알면 뭐가 좋은지에 대해서 알아보도록 하겠습니다. 

 

우선 포스팅에 들어가기 앞서 OSI 7계층과 TCP 4계층은 크게 다르지 않다는 것을 말씀드리고 시작해보겠습니다. 

 

 

OSI 7계층

OSI 7계층과 TCP 4계층을 그림으로 나타내면 다음과 같습니다. 우선 OSI 7계층이 뭔지 알아야겠죠? 

 

OSI는 Open System Interconnection의 약자입니다. 이름만 봐도 대충 어떤 느낌인지 알것 같습니다. 

 

OSI 모델은 컴퓨터 시스템이 네트워크위에서 의사소통을 위해 사용되는 일곱개의 층입니다. 즉 OSI 7계층은 네트워크 커뮤니케이션을 위한 스탠다드한 모델이라는 것이죠.

 

OSI 모델은 네트워크가 어떻게 동작하는지에 대해서 시각화를 도와주는 역할을 합니다. 그리고 네트워크 문제에서 문제를 어떻게 해결해야 하는지에 대한 방법을 제공해줍니다. 

 

그럼 각각의 계층에 대해서 알아보죠

 

1계층 - 물리 계층 (Physical Layer)

이 계층에서는 주로 전기적, 기계적, 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송하게 됩니다. 이 계층에서 사용되는 통신 단위는 비트이며 1 또는 0으로 나타내어지는 즉, 전기적인 On, Off 상태라고 생각하면 됩니다. 

 

이 계층에서는 단지 데이터를 전달만 할뿐 전송하려는 데이터가 무엇인지, 어떤 에러가 있는지에 대해서는 전혀 신경쓰지 않습니다. 

 

단지 데이터를 전기적인 신호로 변환해서 주고받는 기능만 할 뿐입니다. 이 계층에 속하는 대표적인 장비는 통신 케이블, 리피터, 허브등이 있습니다. 

 

 

2계층 - 데이터 링크계층 (DataLink Layer)

물리 계층을 통해 송수신되는 정보의 오류와 흐름을 관리하여 안전한 정보의 전달을 수행할 수 있도록 도와주는 역할을 합니다. 따라서 통신에서의 오류도 찾아주고 재전송도 하능 기능을 가지고 있죠.

 

이 계층에서는 맥 주소를 가지고 통신하게 됩니다. 이 계층에서 전송되는 단위를 프레임이라고 하고, 대표적인 장비로는 브릿지, 스위치 등이 있습니다. 

 

데이터 링크 계층은 점대점 방식으로 신뢰성 있는 전송을 보장하기 위한 계층으로 CRC기반의 오류 제어와 흐름 제어가 필요합니다. 네트워크 위의 개체들 간 데이터를 전달하고, 물리 계층에서 발생할 수 있는 오류를 찾아내고, 수정하는데에 필요한 기능적, 절차적 수단을 제공합니다. 

 

 

3계층 - 네트워크 계층 (Network Layer)

이 계층에서 가장 중요한 기능은 데이터를 목적까지 가장 안전하고 빠르게 전달하는 기능 즉, 라우팅 기능입니다. 여기에 사용되는 프로토콜의 종류도 다양하고 라우팅하는 기술도 다양합니다. 

 

이 계층은 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할입니다. 이 계층의 대표적인 장비는 라우터입니다. 

 

네트워크 계층은 여러개의 노드를 거칠때마다 경로를 찾아주는 역할을 하는 계층으로 다양한 길이의 데이터를 네트워크들을 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질을 제공하기 위한 기능적, 절차적 수단을 제공합니다. 

 

네트워크 계층은 라우팅, 흐름 제어, 세그멘테이션, 오류제어, 인터네트워킹 등을 수행합니다. 

 

라우터가 이 계층에서 동작하고 이 계층에서 동작하는 스위치도 있습니다. 데이터를 연결하는 다른 네트워크를 통해 전달함으로써 인터넷이 가능하게 만드는 계층입니다. 

 

논리적인 주소 구조 (IP) , 곧 네트워크 관리자가 직접 주소를 할당하는 구조를 가지며, 계층적입니다. 

 

 

4계층 - 전송 계층 (Transport Layer)

전송 계층은 통신을 활성화하기 위한 계층입니다. 보통 TCP 프로토콜을 이용하며, 포트를 열어서 응용프로그램들이 전송을 할 수 있게해줍니다. 만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져줍니다. 오류제어 및 흐름제어는 이 계층까지 물리적인 계층에 속합니다. 

 

전송 계층은 양 끝단의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해주어 상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해줍니다. 

 

전송계층은 특정 연결의 유효성을 제어하고, 일부 프로토콜은 상태 개념이 있고(stateful, stateless) 연결 기반입니다. 

 

 

5계층 - 세션 계층 (Session Layer)

데이터가 통신하기 위한 논리적인 연결을 말합니다. 통신을 하기위한 대문이라고 보면 됩니다. 하지만 4계층에서도 연결을 맺고 종료할 수 있기 때문에 우리가 어느 계층에서 통신이 끊어졌나 판단하기에는 한계가 있습니다. 

 

그러므로 세션 계층은 4계층과 무관하게 응용 프로그램 관점에서 봐야합니다. 세션 설정, 유지, 종류, 전송 중단시 복구등의 기능이 있습니다. 

 

세션 계층은 양 끝단의 응용프로세스가 통신을 관리하기 위한 방법을 제공합니다. 동시 송수신 방식, 반이중 방식, 전이중 방식의 통신과 함께, 체크 포인팅과 유휴, 종료, 다시 시작 과정등을 수행합니다. 이 계층은 TCP / IP 세션을 만들고 없애는 책임을 집니다. 

 

 

6계층 - 표현 계층 (Presentation Layer)

데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 합니다. 

 

표현 계층은 코드 간의 번역을 담당하여 사용자 시스템에서 데이터의 형식상 차이를 다루는 부담을 응용계층으로부터 덜어줍니다. MIME 인코딩이나 암호화등의 동작이 이 계층에서 이루어집니다. 

 

 

7계층 - 응용 계층 (Application Layer)

최종 목적지로서 HTTP, FTP, SMTP, POP, IMAP, Telnet 등과 같은 프로토콜이 있습니다. 

 

해당 통신 패킷들은 방금 나열한 프로토콜에 의해 모두 처리되며 우리가 사용하는 브라우저나, 메일 프로그램은 프로토콜을 보다 쉽게 사용하게 해주는 응용프로그램입니다. 한마디로 모든 통신의 양 끝단은 HTTP와 같은 프로콜이지 응용프로그램이 아닙니다. 

 

응용 계층은 은용 프로세스와 직접 관계하여 일반적인 응용 서비스를 수행합니다. 일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공합니다. 

 

 

 

자 이렇게 7개의 계층에 대해서 알아봤습니다. 

 

그럼 OSI 7계층과 TCP 4계층에 대해서 차이점을 알아볼까요?

 

OSI 7계층 vs TCP 4계층

TCP 모델은 OSI 모델보다 오래된 모델입니다. 가장 큰 차이점은 TCP는 OSI보다 단순하다는 것입니다. 

 

OSI의 5, 6, 7계층이 TCP에선 Application Layer로 결합되어있고, OSI 1, 2계층이 TCP에서 Network Access Layer로 결합되어 있습니다. 

 

TCP는 특정한 커뮤니케이션 문제를 해결하기위해 디자인된 기능적인 모델이고 OSI는 모든 네트워크 커뮤니테이션을 묘하하기위해 의도된 좀 더 일반적이고 프로토콜에 의존적인 모델입니다. 

 

둘의 차이는 없지만 상황에 맞춰서 다른 모델을 사용한다 정도로만 알아두시면 좋을 것 같습니다. 

 

그래서 OSI 7계층과, TCP 4계층이 뭔지도 알았고 차이점에 대해서도 알았는데 이거 알아서 어디다 써?

 

 

우리가 OSI 7계층을 알아야 하는 이유

IT에 종사하고 있는 대부분의 사람들은 이 각각의 층에 대해서 알아야합니다. 마치 사회학과 출신이 정부의 개념에 대해서 알아야 하는 것과 마찬가지로 말이죠.

 

OSI 모델의 목적에 대해 말한 Quora 포스팅에서 Vikram Kumar는 이렇게 말했습니다.

 

"OSI의 레퍼런스 모델의 목적은 각각의 벤더나 개발자들이 응용해서 만든 그들의 디지털 커뮤니케이션 프로덕트나 소프트웨어 프로그램을 가이드하기 위해 만들어졌습니다. 그리고 커뮤니케이션 도구로써 용이하게 사용되기 위해 만들어졌죠"

 

몇몇 사람들은 이렇게 주장합니다.

 

"OSI 모델은 진부하다"

"OSI 모델은 TCP 모델에 비해서 덜 중요하다"

 

하지만 Kumar는 이렇게 말했죠. 오늘날 우리는 OSI모델이나 OSI모델의 계층을 말하지 않고는 네트워크 기술에 대해서 말하는 것이 대단히 힘들어졌다고요. 

 

OSI모델과 그것들의 계층에 대해서 이해할 수 있다면, 우리는 각각의 프로토콜과 디바이스가 새로운 기술과 새로운 방법으로 개발되어도 잘 이해할 수 있게 될 것입니다. 

 

 

 

마치며

OSI 7계층... 참 어렵네요 여러번 다시 봐야할 것 같습니다. 하지만 네트워크의 기본이 되는 지식이니만큼 꼭 집고 넘어가야겠습니다. 

 

여기까지 OSI 7계층 TCP 4계층, 둘의 차이점 그리고 왜 OSI 7계층을 알아야 하는지에 대해서 알아봤습니다. 긴 글 읽어주셔서 감사합니다. 오늘도 즐거운 하루 되세요~

 

 

출처

https://www.imperva.com/learn/application-security/osi-model/

 

What is OSI Model | 7 Layers Explained | Imperva

The OSI model describes seven layers that computer systems use to communicate over a network. Learn about it and how it compares to TCP/IP model.

www.imperva.com

https://www.networkworld.com/article/3239677/the-osi-model-explained-and-how-to-easily-remember-its-7-layers.html

 

The OSI model explained and how to easily remember its 7 layers

A tutorial on the Open Systems Interconnection networking reference model and tips on and how to memorize the seven layers

www.networkworld.com

https://shlee0882.tistory.com/110

 

OSI 7 계층이란?, OSI 7 계층을 나눈 이유

1. OSI 7 계층이란? OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다. 1.1 OSI 7 계층을 나눈이유는? 계층을 나눈 이유는 통신이 일어나는 과정이 단계별로 파악할 수 있

shlee0882.tistory.com

 

'CS 지식 > 네트워크' 카테고리의 다른 글

로드 밸런싱전략 (동적 로드밸런싱, 정적 로드밸런싱)  (0) 2023.03.18
동기, 비동기 프로그래밍  (0) 2023.03.16
GraphQL  (2) 2023.02.25
RESTful API  (0) 2023.02.25
TCP와 UDP의 특징과 차이점  (0) 2022.12.24