이 글은 공부를 하면서 알게 된 내용들을 기록하는 글 입니다. 오류나 고쳐야 할 사항들이 있다면 지적 부탁드립니다!
✅ OSI 7계층? TCP/IP 5계층? 4계층?
네트워크를 공부하다보면 제일 처음으로 네트워크의 계층 구조를 접하게 된다.
학부 수업에서 네트워크와 관련된 강의를 들었는데, 해당 강의에서는 5계층으로 이루어진 네트워크 계층 구조를 배웠었다.
최근에 네트워크 공부를 다시 하다보니 `OSI 7계층`, `TCP/IP 4계층`, `TCP/IP 5계층`이라는 키워드를 많이 보게되었다.
내가 알던 네트워크 계층은 5계층인데... OSI랑 TCP/IP의 차이는 뭐고, 4계층은 또 무엇이란 말인가...
이번 기회에 이들의 특징과 차이점에 대해 알아보려고 한다!
✅ OSI Model - 7 Layers
OSI model은 1984년 ISO가 만들었으며, 컴퓨터 간에 데이터를 주고 받는 과정을 설명한다.
계층이 상세하게 나누어져 있어, 네트워크 통신이 일어나는 과정을 상세히 이해할 수 있는 기반을 제공해준다.
OSI Model의 7계층은 현실에서 일어나는 네트워킹과는 완전히 대응되지 않지만, 특정 `Protocol`이나 `기술`들이 이 OSI Model에 기반하여 디자인되기도 한다.
1. `Physical Layer`: 하드웨어 전송 기술을 다룸
제일 하위의 레이어로서, 장치(device) 간의 물리적인 연결을 담당하는 부분이다.
이 레이어는 `bits`와 관련된 정보를 담고 있다. 한 `node`에서 다른 `node`로 `bits`를 전송하는 역할을 한다.
`Physical layer`는 데이터를 받은 후, `0`과 `1`로 변환하고, 이를 다음 레이어인 `Data Link Layer`로 전달한다.
`Physical Layer`에서는 `Bit Synchronization`, `Bit rate control`와 같이 `Bit`와 관련된 처리들을 주로 담당한다.
2. `Data Link Layer`: 두 장치 간의 데이터 전송 처리
이 레이어는 한 `node`에서 다른 `node`로 데이터를 전송할 때 오류가 발생하지 않도록 처리하는 역할을 한다.
네트워크를 통해 `packet`이 도착했을 때 `MAC address`를 통해 host에게 전달하는 역할을 한다.
`Physical Layer`를 통해 전달받은 bit들을 `Frame`이라는 유의미한 단위로 만든다.
또한 데이터 손실을 처리하는 `Error control`, 전송되는 데이터의 양을 조절하는 `Flow control` 등을 담당한다.
3. `Network Layer`: 데이터 패킷의 라우팅 담당
서로 다른 네트워크에 위치하는 host 간에 데이터를 주고 받을 때 작동하며, 목적지까지 갈 수 있는 다양한 길들 중에 최단거리를 찾는 일 등을 한다.
목적지까지의 경로가 적합한지 확인하는 `Routing`, 각 장치를 고유하게 식별할 수 있게 하는 `Logical addressing`과 같은 처리를 담당한다.
4. `Transport Layer`: 데이터 전송의 신뢰성 보장
이 레이어에서의 데이터 단위를 `segment`라고 하며, 완전한 메세지(complete message)를 end-to-end로 전달하는 역할을 한다.
또한 데이터 전송이 성공적으로 완료되었는지 확인하고, error가 발견되면 데이터를 다시 보내는(re-transmit) 역할을 한다.
`TCP`와 `UDP`를 대표적인 예로 들 수 있다.
5. `Session Layer`: 통신 세션 관리
이 레이어는 connection(연결) 유지, session의 유지 및 인증, 보안을 담당한다.
6. `Presentation Layer`: 데이터 형식을 변환
이 레이어는 `Translation Layer`라고도 한다. Application Layer의 데이터를 네트워크에 전송하기 위해 요구되는 format으로 조작한다.
7. `Application Layer`: 최종 사용자의 응용 프로그램과 직접적으로 관련되는 부분
최상위 계층으로서, 사용자/어플리케이션이 네트워크에 접속할 수 있게 해주는 계층이다.
`end system`이 이메일과 같은 서비스를 제공받기 위해 `어떤 형식으로 메세지를 주고 받아야하는지에 대한 프로토콜`이 모여 있는 레이어이다.
`socket`이나 `port number`가 이 레이어와 관련이 되어 있는 지식이다.
✅ TCP/IP Model
`TCP/IP 모델`은 1960년대에 미국 국방부;Department of Defense (DoD)에 의해 만들어졌으며, 4개 혹은 5개의 계층으로 표현한다.
하지만 1983년에 `TCP/IP`가 표준 방식으로 `OSI 모델`이 실무적으로 이용하기에는 복잡하기 때문에, 더 실용적이고 간단한 모델로서 사용되고 있다.
1️⃣ Original TCP/IP Model - 4 Layers
4계층으로 표현되는 모델을 `original TCP/IP Model`이라고 하며,
OSI 7계층 모델에서 `Session Layer + Presentation Layer + Application Layer`를 한 번에 Application Layer,
`Physical Layer`와 `Data Link Layer`를 한 번에 `Network Access Layer`로 표현한다.
2️⃣ TCP/IP Updated Model - 5 Layers
5계층으로 표현하는 모델을 `TCP/IP Updated Model`이라고 하며, 이 모델이 `전 세계적 표준`으로 사용되고 있는 모델이다.
OSI 7계층 모델에서 `Session Layer + Presentation Layer + Application Layer`를 한 번에 Application Layer로 표현하는 것은 같으나,
4계층과는 달리 `Physical Layer`와 `Data Link Layer`를 따로 표현한다는 차이점이 있다.
✅ 참고 자료 & 링크
https://www.geeksforgeeks.org/open-systems-interconnection-model-osi/
https://www.geeksforgeeks.org/tcp-ip-model/
https://www.inflearn.com/questions/504619/tcp-ip-4%EA%B3%84%EC%B8%B5-5%EA%B3%84%EC%B8%B5
https://nordvpn.com/ko/blog/tcp-ip-protocol/