본문 바로가기
  • 구름빵의 개발 블로그
CS/Network

[Network] OSI 7계층

by 은빛구름빵 2025. 11. 5.

OSI 7계층

 네트워크 통신이 이루어지는 과정을 계층으로 구분한 모델로 각 계층마다 정확한 역할과 책임을 갖고 있다는 특징이 있다. 이름에서 알 수 있는 것처럼 7개의 계층으로 되어 있다.

 

7계층: Application Layer( 응용 프로그램 계층 )

 OSI 7계층 중 가장 상단에 위치하고 있는 계층이다. 네트워크 통신을 제공하는 프로그램의 영역으로 실제로 사용자가 네트워크 통신을 사용하는 프로그램을 사용할 때 직접적으로 상호작용하는 프로그램을 의미한다. 실제 컴퓨터에서 사용하는 프로그램을 의미하며 우리가 흔히 사용하는 카카오톡, 인스타그램등 프로그램이 7계층에 속한다. 해당 계층에서 FTP, SMTP, HTTP 등의 프로토콜을 관리한다.

사용자가 직접 편지를 보내려고 할 때 준비하는 '편지지'를 준비하는 단계와 유사하다. 어떤 편지지에 작성해서 보낼지 결정하는 단계라고 볼 수 있다.

 

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

 공통된 형식으로 변환해주는 계층이다. 정해진 프로토콜에 따라 데이터를 암호화 및 복호화를 해주며 파일에 대한 인코딩 및 디코딩 작업이 이 계층에서 이루어지게 된다. 파일의 사이즈가 큰 경우에는 이 계층에서 압축하는 작업도 이루어진다. 통신을 할 때 사용하기로 정의된 프로토콜대로 데이터를 해석하고 작성하는 부분이다.

편지를 어떤 언어로 작성하고 어떤 양식으로 작성할지 결정하는 단계와 유사하다. 나와 상대방이 모두 한국인이라 한글을 쓰기로 결정하는 단계라고 할 수 있다.

 

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

 데이터 전달을 위한 연결을 생성하고 유지하는 역할이다. 이 때 연결은 논리적인 연결을 의미한다. 물리적으로 네트워크가 연결되어 있는 것을 의미하는게 아닌 나와 상대방이 서로 연결되어 있음을 확인하고 관리하는 계층이다. RPC를 통한 연결도 여기서 이루어진다.

* RPC( Remote Procedure Call ): 원격 프로시저 호출, 네트워크를 통해 다른 시스템의 기능을 원격으로 호출하는 기능

 편지를 작성하는 나와 받는 상대방과의 관계를 의미하는 것과 가장 유사하다. 정확한 비유는 아니지만 나와 상대방이 친구 사이라면 나와 상대방은 '친구'라는 관계로 연결되어 있다. 물리적으로 아주 긴 줄을 서로 잡고 있다거나 만나서 손을 잡고 있는 것과 같은 연결은 아니지만 '친구'라는 논리적인(추상적인) 관계로 연결되어 있음을 의미한다.

 

5~7계층은 OS의 커널 중 유저 커널에서 작업이 일어난다. 실제로 물리적인 네트워크 통신이 이루어지기 전 준비 작업을 하는 단계들에 속한다. 그래서 다른 네트워크 계층 모델에서는 3개의 계층을 묶어서 Application Layer라고도 한다. 데이터를 준비하고 생성하는 역할에 속하는 3개 계층은 하나로 묶이기도 한다.

 

4계층: Transfer Layer( 전송 계층 )

 실제 네트워크 통신을 위한 물리적 작업이 이루어지는 첫 번째 단계이다. 전달하고자 하는 목적지의 포트와 전송 방식을 결정하는 계층이다. 상대방 측에 있는 구체적인 목적지( 프로세스 )를 특정하는 단계이며 네트워크 통신은 기본적으로 요청 - 응답 구조이기 때문에 보내는 포트와 받는 포트 정보를 모두 갖고 있다. 

 이 계층에서는 처리하는 데이터 단위(PDU)를 세그먼트라고 한다. 이 계층에서는 실제 데이터 앞에 Header로 출발지 포트, 목적지 포트, 데이터의 순서 정보 등을 담고 있다. 기본적으로 네트워크는 통신할 때 데이터를 하나로 보내는 것이 아닌 작은 단위로 나누어서 보낸다. 그렇기 때문에 수신측에서는 데이터를 받으면 이를 재조합하는 작업이 필요하다. 이 때 정상적인 순서로 재조합할 수 있도록 하기 위해 순서 정보를 Header에 담아서 보낸다.

 TCP 프로토콜과 UDP 프로토콜도 이 계층에서 다룬다. 이 두 프로토콜 외에도 SSL, TLS 프로토콜도 이 계층에서 다루는 프로토콜이다. 

편지 봉투에 받는 사람의 이름을 작성하고 해당 편지를 등기로 보낼지, 소포로 보낼지 결정하는 작업과 유사하다. 우편을 보낼 때 주소를 작성해도 해당 주소 내에 여러 명의 사람이 함께 살고 있을 수 있다. 그 중에 정확히 어떤 사람에게 보내는지 지정하며 TCP/UDP를 고르는 것은 소포냐 등기냐를 정하는 작업과 유사하다고 볼 수 있다.

 

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

 해당 데이터가 전달될 목적지를 구체적으로 결정하는 단계이다. 목적지의 IP를 결정하는 계층으로 IP 또한 논리적인 주소를 의미한다. 네트워크에 있어 특정 디바이스(장치)의 물리적 주소는 MAC 주소로 이 값은 세계에 모든 장비들이 모두 고유한 값을 갖고 있다. 즉, 절대로 중복될 일이 없는 주소임을 의미한다. 3계층에선 IP 주소로 대상의 목적지를 특정하며 전달하는 데이터에 IP 정보를 포함하는 역할을 한다.

 이 계층에서 처리하는 데이터 단위를 패킷( 데이터그램 )이라고 하며 Header에 목적지와 출발지의 IP 주소를 담는다. 데이터를 보낼 장소를 알 수 있는 목적지 IP 주소 뿐만 아니라 응답을 받기 위한 출발지 IP 주소도 함께 포함한다. 

 IPv4, IPv6가 모두 이 계층에서 다루어지는 프로토콜이며 MAC 주소와 IP주소를 서로 변환해주는 ARP, RARP 또한 이 계층에서 다루게 된다. 추가로, 다양한 연결 테스트를 위해 사용되는 ICMP 프로토콜도 3계층에서 다루어지는 프로토콜이다.

편지 봉투에 보내는 주소와 받는 주소를 기입하는 부분이다. '서울특별시 서초구 역삼동 ...'과 같이 사람들이 해당 지역을 부르는 논리적 주소를 작성하는 작업과 유사하다. 왜 주소가 논리적 주소인가? 라고 한다면 서울의 전시장인 '코엑스'는 사람들이 그 곳에 지은 전시장 건물에 '코엑스'라는 이름을 붙인 것이지 절대적인 것은 아니다. 엄연히 말하면 사람들에 의해 '코엑스'라는 명칭이 붙은 것 뿐. 그럼 도대체 물리적인 주소는 무엇이냐? 라고 물어본다면 다음 계층에서 예시를 통해 이해할 수 있을 것이다.

 

2계층: Data Link Layer ( 데이터 링크 계층 )

 데이터가 전달되기 까지 방법이 결정되고 구체적인 물리적 주소를 특정하는 단계이다. 데이터를 전달할 때 이더넷(유선)을 통해 전달되는지 Wi-Fi(무선)를 통해 전달되는지 이 계층에서 판단되게 된다. 

 이 계층에서 처리하는 데이터 단위를 프레임이라고 하며 Header에 출발지와 목적지의 MAC 정보를 담고 추가로 Footer에 Trailer라는 값을 담는다. 이 트레일러는 데이터의 오류를 검증하기 위한 수단이다. 

 이더넷, 블루투스, Wi-Fi와 같은 프로토콜이 이 곳에서 사용된다. 

편지 봉투를 오토바이를 통해 전달할 것이냐, 트럭을 통해 전달할 것이냐를 특정하는 단계이다. 추가로, 도로명 주소로 적혀 있는 주소를 절대 위치( 위도, 경도 )로 변환하는 작업이 이 곳에서 이루어진다. 위에서 말한 물리적인 주소는 위도와 경도를 말한 것이다. '위도와 경도 또한 사람이 정한 것이 아니냐'라고 말할 수도 있지만 위도와 경도는 '정해진 규칙'이며 그 규칙에 따라 전 세계에서 공통적으로 사용하는 주소이다. 즉, ( 37,12384, 128.42354 )라는 주소는 전 세계에 단 한 군데 뿐이며 이 주소가 곧 해당 장소의 물리적인 위치라고 할 수 있다. 우리가 실생활에서는 이렇게 변환하는 작업이 필요 없지만 컴퓨터는 그런 작업이 필요하다. 사람도 '서울특별시 은평구 진관동'이라는 주소를 들었을 때 모른다면 네비게이션이나 지도를 찾아본다. 이 지도에는 앞에서 말한 도로명 주소를 (위도, 경도)로 매핑해둔 테이블을 갖고 있다. 지도와 네비게이션이라는 편리한 시스템이 이 과정을 손쉽게 만들어준 것 뿐 사람 또한 논리적 주소를 물리적 주소로 변환하는 작업을 진행한다.

추가적인 이해로 지도가 갖고 있는 위도 경도 테이블은 네트워크에서는  ARP 테이블이라고 할 수 있다. ARP 테이블은 IP 주소와 MAC 주소를 매핑한 테이블을 말한다. 

 

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

 실제로 물리적인 광케이블을 따라 데이터가 전달되는 단계이다. 데이터들이 Bit 신호에서 전기 신호로 변환되고 이 신호가 광케이블을 따라 목적지로 향하게 된다. 특별히 이루어지는 작업 없이 데이터의 Header와 Footer들에 포함되어 있는 정보에 따라 데이터가 목적지로 향하게 된다.

실제로 편지가 배달되는 과정이다. 지정해준 (위도, 경도)로 기사는 정해진 방법(오토바이, 트럭)을 통해 전달되게 된다. 이 때 운행수단을 타고 따라가는 그 길이 네트워크에서 '광케이블'에 해당되며 목적지 지점까지 연결된 길을 따라 달려가게 된다. 네트워크도 마찬가지로 정해진 MAC주소를 향해 복잡하게 얽혀 있는 네트워크 망을 거쳐 달려가게 된다.