공부일지/개인학습

OSI 7계층에서의 캡슐화/디캡슐화

박수빈98 2025. 4. 10. 23:14

네트워크 통신 과정을 7단계로 나눈 OSI 7계층에서 어떻게 전송과 수신 시 어떻게 저 단계들을 밟아 갈지에 대해서 www.google.com에 접속하는 과정을 통해 알아보자

 


OSI 7계층이란?

OSI(Open Systems Interconnection)는 네트워크 통신 과정을 7단계로 나눈 국제 표준 모델

각 계층은 자신의 역할만 수행하고, 다른 계층으로 넘김 이때 캡슐화 디캡슐화로 전달

보내려는 메시지부터 그걸 비트로 목적지까지 보내고 비트로 메시지를 다시 만들어 내는 과정


캡슐화 과정 - 전송 시 계층 흐름

 

응용 계층

사용자가 웹브라우저에 www.google.com에 접속하면,  HTTP 요청 발생

이때 발생하는 요청메시지가 우리가 보낼 거

[데이터]

 

표현 계층

데이터 인코딩, 압축, 암호화 수행

예) UTF-8 인코딩, TLS 암호화 등

데이터를 통신 가능한 표준 형식으로 변환

[인코딩 + 데이터]

 

세션 계층

통신 세션의 생성, 유지, 종료를 관리

 

[세션정보 + 인코딩 + 데이터]

7~5 계층을 묶어서 이제 그냥 데이터라고 하겠음

 

전송 계층

TCP/UDP 헤더를 추가하는 단계

이를 통해 해당 데이터가 어느 포트에서 왔고 어디로 가는지 순서는 맞게 갔는지 등을 알 수 있음

헤더 구성

  • 출발지, 도착지 포트
  • 순서 보장을 위한 시퀀스 번호
  • 연결, 해제를 위한 플래그(SYN, ACK, FIN 등)
  • 오류검출을 위한 체크섬 등등...

세그먼트가 만들어짐

이 포함된 헤더를 추가해 IP의 부족한 부분을 매꾼다.

[TCP 헤더 + 데이터]

 

네트워크 계층

IP 헤더 추가

헤더 구성

  • 출발지 도착지 IP
  • TTL(Time To Live)
  • 프로토콜(TCP/UDP)
  • 체크섬 등등...

패킷이 생성됨

[IP 헤더 + TCP 헤더 + 데이터]

 

데이터링크 계층

이 단계에서는 실제 이 데이터가 들어갈 물리적 장소인 MAC주소가 포함된 헤더를 포함시킨다.

이를 통해 데이터를 보낼 실제 장소까지 알 수 있었다.

헤더 구성

출발지, 도착지 MAC

이더타입

CRC(FCS)* - 오류검사

 

[MAC 헤더 + IP 헤더 + TCP 헤더 + 데이터]

이렇게 프레임이 만들어진다.

 

물리 계층

프레임을 0과 1의 비트로 변환해서  전기/광/전파 신호로 전송

 

이제 이 01이 라우터를 타고 타고 구글의 라우터까지 도달한다.

이제 구글은 그 01들이 뭔지 알기위해서 디캡슐화를 해야한다.

 


 

디캡슐화 - 수신 시 계층 흐름

물리 계층

전기/전파/광 신호를 네트워크 어댑터를 통해 비트스트림 형태로 받는다.

이걸로 프레임을 구성

0101010111 -> 프레임

 

데이터링크 계층

프레임 속 MAC 주소를 보고 이걸 받은 네트워크 어댑터 즉 NIC 의 주소 일치하는 지 보고 처리(스위치)

MAC 헤더 제거 -> 패킷으로 전달

 

네트워크 계층

패킷 속 IP 헤더를 보고 목적지 ip 주소가 내 ip와 같은지 판단함

라우터의 게이트웨이가 서브넷에 포함 됐는지 판단하고 맞다면 
헤더 제거 후 다음계층으로 -> 세그먼트

 

전달 계층

세그먼트 속 목적지 port를 가져옴 이를 통해 해당 주소의 어떤 포트로 보내야 하는지도 알 수 있음(OS가 판단)

이제 세션 정보와 데이터만 남게됨

 

세션 계층

해당 포트의 어떤 세션에 데이터인지 알게 됨

 

표현 계층

온 데이터를 디코딩, 압축 풀기, 복호화 수행함

 

응용계층

드디어 HTTP 요청이란 걸 알게됨

 

마무리

이렇게 네트워크 통신을 위해 필요한 것들을 더하고 더하는 캡슐화 과정과 그렇게 온 걸 하나하나 꺼내가며 필요한 정보를 얻는 디캡슐화에 대해 공부해봤다. 

정보처리기사 시험에서 단순히 표로된 걸 외우기만 했는데 이렇게 공부해보며 왜 이렇게 구성됐고 각각에 연관성을 알게 되니 퍼즐이 맞춰지는 기분이다.