OSI 7계층 이해하기_OSI 7계층 기준(프로토콜, 사용장비)
앞에서 OSI 7 계층과 TCP/IP 프로토콜 스택에 대한 개괄적인 내용을 공부했습니다.
이번 장에서는 OSI 7 계층을 각 계층별로 조금 더 자세히 알아보겠습니다.
OSI 7 계층은 참조형 모델이고 실제로 사용하는 프로토콜은 TCP/IP 프로토콜 스택으로 구현되어 있지만 조금 더 계층별로 자세히 다루기 위해 여기서는 OSI 7 계층 기준으로 나누어 설명해 보겠습니다.
1 계층(피지컬 계층, Physical)
1 계층은 물리 계층으로 물리적 연결과 관련된 정보를 정의합니다. 주로 전기 신호를 전달하는 데 초점이 맞추어져 있습니다. 1 계층의 주요 장비로는 허브, 리피터, 케이블, 커넥터, 트랜시버, 탭이 있습니다. 허브, 리피터는 네트워크 통신을 중재하는 네트워크 장비입니다. 케이블과 커넥터는 케이블 본체를 구성하는 요소이고 트랜시버는 컴퓨터의 랜카드와 케이블을 연결하는 장비입니다. 탭은 네트워크 모니터링과 패킷 분석을 위해 전기 신호를 다른 장비로 복제해 줍니다.
1 계층에서는 들어온 전기 신호를 그대로 잘 전달하는 것이 목적이므로 전기 신호가 1 계층 장비에 들어오면 이 전기 신호를 재생성해 내보냅니다. 1 계층 장비는 주소의 개념이 없으므로 전기 신호가 들어온 포트를 제외하고 모든 포트에 같은 전기 신호를 전송합니다.
2 계층(데이터 링크 계층, Data Link)
2 계층은 데이터 링크 계층으로 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리합니다. 1 계층과는 다르게 전기 신호를 정확히 전달하기보다는 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는 데 초점이 맞춰져 있습니다.
2 계층에서는 출발지와 도착지 주소를 확인하고 내게 보낸 것이 맞는지, 또는 내가 처리해야 하는지에 대해 검사한 후 데이터 처리를 수행합니다.
3 계층(네트워크 계층, Network)
3 계층에서는 IP 주소와 같은 논리적인 주소가 정의됩니다. 데이터 통신을 할 때는 두 가지 주소가 사용되는데 2 계층의 물리적인 MAC주소와 3 계층의 논리적인 IP주소입니다. MAC 주소와 달리 IP주소는 사용자가 환경에 맞게 변경해 사용할 수 있고 네트워크 주소 부분과 호스트 주소 부분으로 나뉩니다. 3 계층을 이해할 수 있는 장비나 단말은 네트워크 주소 정보를 이용해 자신이 속한 네트워크와 원격지 네트워크를 구분할 수 있고 원격지 네트워크를 가려면 어디로 가야 하는지 경로를 지정하는 능력이 있습니다.
IP 주소는 주소를 나누는 구분점이 3개이므로 어디가 네트워크 주소이고 어디가 호스트 주소인지 구분하기 어렵습니다.
3 계층에서 동작하는 장비는 라우터입니다. 라우터는 3 계층에서 정의한 IP 주소를 이해할 수 있습니다. 라우터는 IP 주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할을 합니다.
4 계층(트랜스포트 계층, Transport)
4 계층은 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 합니다. 패킷 네트워크는 데이터를 분할해 패킷에 실어 보내다 보니 중간에 패킷이 유실되거나 순서가 바뀌는 경우가 생길 수 있습니다. 이 문제를 해결하기 위해 패킷이 유실되거나 순서가 바뀌었을 때 바로 잡아 주는 역할을 4 계층에서 담당합니다. 4 계층에서 패킷을 분할할 때 패킷 헤더에 보내는 순서와 받는 순서를 적어 통신하므로 패킷이 유실되면 재전송을 요청할 수 있고 순서가 뒤 바뀌어도 바로잡을 수 있습니다.
4 계층에서 동작하는 장비로는 로드 밸런서와 방화벽이 있습니다. 이 장비들은 4 계층에서 볼 수 있는 애플리케이션 구분자(포트 번호)와 시퀀스, ACK 번호 정보를 이용해 부하를 분산하거나 보안 정책을 수립해 패킷을 통과 및 차단하는 기능을 수행합니다.
※ 여기서 잠깐!!
실무 용어 알아두기: 시퀀스 번호와 ACK 번호
4 계층에서 패킷의 순서와 응답 번호를 지칭하는 용어는 시퀀스 번호와 ACK 번호입니다. 이 용어를 줄여서 실무에서는 seq, ack number로 표기하거나 한글화해 순서 번호, 응답 번호로 사용하기도 합니다.
5 계층(세션 계층, Session)
5 계층인 세션 계층은 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 이 연결을 끊는 역할을 합니다. 흔히 우리가 부르는 "세션"을 관리하는 것이 주요 역할인 세션 계층은 TCP/IP 세션을 만들고 없애는 책임을 집니다. 또한, 에러로 중단된 통신에 대한 에러 복구와 재전송도 수행합니다.
6 계층(프레젠테이션 계층, Presentation)
6 계층인 프레젠테이션 계층은 표현 방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능을 수행합니다. 일종의 번역기나 변환기 역할을 수행하는 계층이고 이런 기능은 사용자 시스템의 응용 계층에서 데이터의 형식상 차이를 다루는 부담을 덜어줍니다. MIME 인코딩이나 암호화, 압축, 코드 변환과 같은 동작이 이 계층에서 이루어집니다.
7 계층(애플리케이션 계층, Application)
OSI 7 계층의 최상위 7 계층인 애플리케이션 계층은 애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행합니다. 네트워크 소프트웨어의 UI 부분이나 사용자의 입출력 부분을 정의하는 것이 애플리케이션 계층의 역할입니다.
애플리케이션 계층의 프로토콜은 엄청나게 많은 종류가 있지만 대표적인 프로토콜로는 FTP, SMTP, HTTP, TELNET이 있습니다.
각 계층에 해당하는 대표적인 프로토콜 및 장비
이렇게 OSI 7 계층을 계층별로 자세히 살펴봤습니다.
도움이 되시길 바라면서 이만 마무리하겠습니다.
감사합니다.
참고서적: 고재성, 이상훈.『IT 엔지니어를 위한 네트워크 입문』. 길벗. 2022