네트워크 데이터 통신을 설명할 때 반드시 있어야 하는 중요한 개념이다.
과거 통신용 규약이 표준화되지 않고 별도로 개발했기 때문에 이를 통합하고자 했던 노력이 현재의 OSI 7계층으로 남아 있게 되었다.
OSI 래퍼런스 모델
계층 | 용어 | 데이터(PDU) | |
L7 | Application | Data | 애플리케이션 계층 상위 계층 |
L6 | Presentation | Data | |
L5 | Session | Data | |
L4 | Transport | Segments | 데이터 플로 계층 하위 계층 |
L3 | Network | Packets | |
L2 | Data Link | Frames | |
L1 | Physical | Bits |
OSI 7계층은 이 표와 같이 구성되어있으며 애플리케이션, 데이터플로 계층으로 구분하기도 한다. 전자는 말 그대로 애플리케이션 개발자들이 고려해야할 영역이고 후자는 네트워크 엔지니어들이 고려해야할 영역이다.
이런 이유로 애플리케이션 개발자는 하향식으로 네트워크를 바라보고 네트워크 엔지니어는 상향식으로 네트워크를 인식한다.
1계층(피지컬 계층)
1계층은 물리계층으로 물리적 연결과 관련된 정보를 정의한다. 주로 전기 신호를 전달하는 데 초점이 맞추어져 있다.
주요 장비로는 허브, 리피터, 케이블, 커넥터, 트랜시버, 탭이 있다.
1계층에서는 들어온 전기신호를 그대로 잘 전달하는 것이 목적이다. 또한 주소의 개념이 없기 때문에 들어온 포트를 제외하고 모든 포트에 같은 전기신호를 전송한다.
2계층(데이터링크 계층)
2계층은 데이터링크 계층으로 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리한다. 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는 데 초점이 맞추어져 있다. 즉 출발지와 도착지 주소를 검토하는 과정을 진행 후 데이터 처리를 한다. 이때 여러 명과 통신할 수 있기 때문에 무작정 데이터를 던지는 것이 아니라 받는 사람이 현재 데이터를 받을 수 있는지 확인하는 작업을 해야한다. 이 역할을 플로 컨트롤이라 한다.
구성요소로는 네트워크 인터페이스 카드와 스위치이다. 또한 중요한 특징은 MAC주소라는 주소체계가 존재한다.
아래는 네트워크 인터페이스 카드 동작 방식이다.
- 전기 신호를 데이터 형태로 만든다.
- 목적지 MAC 주소와 출발지 MAC 주소를 확인한다.
- 네트워크 인터페이스 카드의 MAC 주소를 확인한다.
- 목적지 MAC 주소와 네트워크 인터페이스 카드가 갖고 있는 MAC 주소가 맞으면 데이터를 처리하고 다르면 폐기한다
스위치는 허브가 한 포트에서 전기 신호를 받으면 전체 포트로 전달하다보니 동시에 오직 한 장비만 데이터를 보낼 수 있던 단점을 보완한 것으로 스위치의 적절한 필터링과 포워딩 기능으로 통신에 필요한 포트만 사용가능 하게 만들어 이더넷 기반 네트워크가 급증하는 계기가 되었다.
3계층(네트워크 계층)
3계층에서는 IP주소와 같은 논리적인 주소가 정의된다. 데이터를 통신할 때는 두 가지 주소가 사용되는데 2계층의 물리적인 MAC 주소와 3계층의 논리적인 IP 주소이다.
IP 주소는 사용자가 환경에 맞게 변경해 사용할 수 있고 네트워크 주소 부분과 호스트 주소부분으로 나뉜다
IP 주소 체계
192.168.0.1 : 192.168는 네트워크 주소부분, 0.1는 호스트 주소부분
3계층에서 동작하는 장비는 라우터다. 라우터는 IP 주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할을 한다.
4계층(트랜스포트 계층)
앞서 말한 하위 3개 계층은 신호와 데이터를 올바른 위치로 보내고 실제 신호를 잘 만들어 보내는 데 집중한다.
하지만 4계층은 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 한다. 이 4개의 계층들을 데이터 플로 계층이라고도 한다.
패킷을 전송할 때 4계층은 패킷을 분할하여 패킷 헤더에 보내는 순서와 받는 순서를 적어 통신하므로 패킷이 유실되면 재전송을 요청할 수 있고 순서가 뒤바뀌더라도 바로 잡을 수 있다.
패킷을 보내는 순서를 명시한것은 시퀀스번호 라 하고 받는 순서를 나타낸것은 ACK번호 라고한다.
4계층에서 사용하는 장비는 로드 밸런서와 방화벽이 있다. 이는 포트번호, 시퀀스, ACK 번호를 이용해 부하를 분산하거나 보안 정책을 수립해 패킷을 통과, 차단 시킨다.
5계층(세션 계층)
5계층은 양 끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 이 연결을 끊는 역할을 한다.
6계층(프레젠테이션 계층)
표현방식이 다른 애플리케이션이나 시스템 간의 통신을 돕기 위해 하나의 통일된 구문 형식으로 변환시키는 기능을 수행한다. 예로 MIME 인코딩이나 암호화, 압축, 코드 변환과 같은 동작이다.
7계층(애플리케이션 계층)
애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행한다. 네트워크 소프트웨어의 UI 부분이나 입출력부분을 정의하는 것이 이 계층의 역할이다.
'CS > 네트워크' 카테고리의 다른 글
네트워크 구성요소 (0) | 2022.05.26 |
---|---|
네트워크 연결 구분과 회선 (0) | 2022.05.24 |
인캡슐레이션과 디캡슐레이션 (0) | 2022.05.19 |
프로토콜 (0) | 2022.05.18 |
네트워크 구성도 (0) | 2022.05.18 |