네트워크 계층 쉽게 풀어보기 (OSI 7계층)
OSI 7계층 대분류
- 데이터 플로 계층 (1~4계층)
: 데이터를 상대방에게 잘 던달하는 역할
: 애플리케이션 개발자는 애플리케이션 계층 프로토콜을 개발할 때 하위 데이터 플로 계층을 고려하지 않고 데이터를 표현하는데 초점을 맞춤
- 애플리케이션 계층 (5~7계층)
: 개발자들이 고려해야할 영역으로, 네트워크 엔지니어는 일반적으로 심각하게 고려하지 않음
: 이런 이유로 개발자는 Top-Down 형식으로 네트워크를 바라보고 네트워크 엔지니어는 Bottom-Up 형식으로 네트워크를 인식
1계층 - 물리계층
: 물리적 연결과 관련된 정보를 정의. 주로 전기 신호를 전달
- 관련 장비
: 허브 / 리피터 / 케이블 / 커넥터 / 트랜시버 / TAP
2계층 - 데이터 링크 계층
: 전기 신호를 모아 사람이 알아볼 수 있는 데이터 형태로 처리
: 1계층과는 달리 전기 신호를 정확히 전달하기 보다는 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는데 초점
: 출발지와 도착지 주소를 확인하고 내게 보낸게 맞는지, 내가 처리해야하는지에 대해 검사한 후 데이터 처리를 수행
: 여러 통신이 한꺼번에 이루어지는 것을 구분
: 전기 신호를 모아 데이터 형태로 처리하므로 데이터에 대한 에러 탐지 및 수정을 수행
- 관련 장비
: NIC (랜카드) / 스위치
- 특징
: MAC 주소라는 주소체계가 존재
: 스위치의 경우 MAC 주소를 보고 통신해야할 포트를 지정해 내보냄
3계층 - 네트워크 계층
: 네트워크 주소 정보를 이용해 자신이 속한 네트워크와 원격지 네트워크를 구분할 수 있고, 원격지 네트워크를 가려면 어디로 가야하는지 경로를 지정
: IP 주소와 같은 논리적인 주소가 정의되며 IP 주소는 MAC와 달리 사용자가 환경에 맞게 변경해 사용할 수 있으며 네트워크 주소 부분과 호스트 주소 부분으로 나뉨
- 관련 장비
: 라우터
- 특징
: 라우터는 3계층에서 정의한 IP 주소를 이해할 수 있고, IP 주소를 이용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할을 수행
4계층 - 전송 계층
: 데이터 플로계층 (1~4 계층) 은 데이터를 쪼개고 받는 역할을 중점적으로 고려하고 네트워크 애플리케이션에서 하위 4계층의 역할을 별도로 고민하지 않도록 도와줌
: 애플리케이션에서 데이터를 하위 4계층으로 내려보내기만 하면 이 데이터를 쪼개 정보를 붙여 목적지까지 전달
: 1,2,3 계층은 신호와 데이터를 올바른 위치로 보내고 실제 신호를 잘 만들어 보내는데 집중
: 4계층의 경우 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 수행
: 패킷 네트워크는 데이터를 분할해 패킷에 실어 보내다보니 유실되거나 순서가 바뀔 수 있는데, 이를 바로 잡아주는 것을 4계층에서 수행
: 4계층에서 패킷을 분할할 때 패킷 헤더에 보내는 순서와 받는 순서를 적어 통신
: 패킷이 유실되도 재전송을 요청할 수 있고, 순서가 바뀌어도 바로 잡을 수 있음
- 관련 장비
: 로드밸런서, 방화벽
- 특징
: 장치내의 많은 애플리케이션을 구분할 수 있도록 포트 번호를 사용해 상위 애플리케이션을 구분
: 포트 번호와 시퀀스, ACK 번호 정보를 이용해 부하를 분산하거나 보안 정책을 수립하여 패킷을 통과, 차단하는 기능 수행
- 관련 개념
: 시퀀스 번호 (패킷의 보내는 순서를 나타낸 것)
: ACK 번호 (패킷의 받는 순서를 나타낸 것)
5계층 - 세션 계층
: 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리
: 작업이 완료되었을 때 연결을 끊는 역할을 수행 (TCP/IP 세션을 만들고 없에는 책임)
: 에러로 중단된 통신에 대한 에러 복구와 재전송도 수행
- 관련 장비
: 여기서부터는 애플리케이션 계층으로 간주하며, 애플리케이션 하나에 이 계층들이 정의됨
6계층 - 표현 계층
: 표현 방식이 다른 애플리케이션이나 시스템간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환 시키는 기능을 수행
: 일종의 번역기나 변환기 역할을 수행하고, 사용자 시스템의 응용 계층에서 데이터의 형식상 차이를 다루는 부담을 덜어줌
- 특징
: MIME 인코딩, 암호화, 압축, 코드 변환과 같은 동작이 이루어짐
7계층 - 애플리케이션 계층
: 애플리케이션 프로세스를 정의하고 서비스를 수행
: 네트워크 소프트웨어의 UI 및 사용자 입출력을 정의하는 부분
- 관련 프로토콜
: FTP, STMP, HTTP, Telnet
Refference