본문 바로가기
Computer Science/Web & Network

OSI 7계층 이해하기

by softserve 2023. 2. 17.
반응형

기술면접 단골 주제 중 하나이기 때문에 OSI 7계층에 대해서는 잘 알고 계시거나, 적어도 한번쯤은 들어보셨을 겁니다. 저는 기사 시험 준비를 하면서 [물데네전세표응]만 달달 외웠던 것 같습니다.

 

OSI 7계층이 필요한 이유

 

OSI 7계층은 네트워크 사이의 원활한 통신을 위해 필요한 것들을 계층별로 나눠놓은 개념 모델로서 국제 표준입니다. 계층이라는 표현보다는 단계라고 하는 것이 이해하기엔 더 쉬울 것 같습니다. 이런 걸 굳이 왜 만들어서 사람을 피곤하게 하느냐 하는 생각이 들 수도 있는데 어느 계층에서 문제가 발생하는 지 파악하기가 쉬울 뿐 아니라 서로 다른 하드웨어, 소프트웨어를 사용하는 시스템 사이에서 원활하게 통신이 이루어지도록 하기 위함이라고 합니다. 또 개발자, 관리자 입장에서도 네트워크 통신을 보다 효율적으로 활용할 수 있게 된다고 하네요.

 

어떻게 동작하는가?

 

사용자가 웹 사이트에 접속해서 게시판에 글을 남기려고 합니다. 먼저 사용자는 응용 프로그램 계층을 거쳐야 합니다. 브라우저를 통해 웹 사이트에 접속하여 게시글을 작성한 뒤 완료 버튼을 클릭하면, 먼저 HTTP 프로토콜을 선택하고 다음 계층으로 데이터를 전달해줍니다. 참고로 게시판에 글을 올리는 행위는 클라이언트와 서버 간의 통신을 통해서 이루어집니다.

표현 계층에서는 사용자가 작성한 게시글의 내용을 수신 측 네트워크에서 읽을 수 있도록 JSON, XML 같은 형태로 인코딩하거나, 압축합니다. 민감한 내용인 경우에는 암호화도 해줍니다.

다음으로 세션 계층에서 세션을 구축, 유지, 관리하고 단방향인지 Half Duplex인지 Full Duplex인지 등 통신방법을 결정합니다.

사용자와 관련된 작업은 끝이 났습니다. 이제 본격적인 데이터 전송이 시작됩니다.

전송 계층은 논리적 연결을 담당합니다. 데이터를 세그먼트 단위로 분할하고, 송신자와 수신자 사이에서 흐름 제어와 오류 제어를 수행합니다.

네트워크 계층에서는 송 수신자 사이의 경로를 설정하고, 도메인과 같은 논리적 주소를 물리적 IP 주소로 변환합니다. 세그먼트를 패킷으로 나눕니다.

데이터링크 계층은 정확한 배달을 위해 송,수신자의 MAC 주소를 확인합니다. 또 패킷을 프레임으로 쪼갭니다.

물리 계층에서는, 케이블과 허브 같은 물리적 장치를 통해 0과 1로 이루어진 비트스트림이 전선을 타고 전달됩니다.

여기까지가 송신 측 네트워크에서 이루어지는 일들입니다.

수신 측(이 경우는 서버)에서는 반대로, 전선을 타고 전달된 비트스트림을 물리 계층에서 받아 프레임으로 변환한 다음 데이터링크 계층으로 넘깁니다. 프레임은 패킷으로 조립되고, 네트워크 계층에서 세그먼트로 합쳐집니다. 전송 계층은 세그먼트를 하나의 데이터로 만든 다음 세션 계층으로 보냅니다. 세션 계층에서 다음으로 데이터를 넘긴 뒤에는 세션이 종료됩니다. 표현 계층에서 암호화나 압축을 풀고, 다시 사람이 읽을 수 있는 형태로 변환이 이루어집니다. 마지막으로 응용 프로그램 계층을 통해서 사용자에게 데이터가 전달됩니다. 사안과 같은 경우에는 DBMS에 의해서 DB에 글 내용이 저장되겠죠.

 

요약 정리

 

  전송/처리 단위 장치 키워드
7 응용 프로그램 계층
(Application layer)
Message PC HTTP, FTP, SMTP
6 표현 계층
(Presentation layer)
ASCII, 암호화, 압축
5 세션 계층
(Session layer)
세션, 토큰, 단방향/반이중/전이중 통신
4 전송 계층
(Transport layer)
Segment 게이트웨이 TCP, UDP
3 네트워크 계층
(Network layer)
Packet 라우터, L3 스위치 IP, ICMP, IGMP, 경로 설정(라우팅)
2 데이터링크 계층
(Datalink layer)
Frame 브릿지, 스위치 MAC 주소, ARP, RARP, 흐름제어, 오류 검출
1 물리 계층
(Physical layer)
Bitstream 케이블, 허브, 리피터  

 

반응형

댓글