네트워크

OSI 7계층 별 좀 더 깊은 이해

25G 2024. 3. 1. 11:45

흔히 정보처리기사를 따면 OSI7계층은 필수로 공부하게 되는데 워낙 문제 난이도가 쉽다보니 이렇게 다들외운다 "물데네트전새표응"... 하지만 이 속엔 많은 역사와 개발적 지식이 들어있다.

1 계층 (물리계층)

주로 전기 신호를 전달하는데에 초점이 맞추어져 있고 장비로는 허브, 리피터, 케이블, 커넥터, 트랜시버, 탭이 있습니다.

  • 허브 리피터 : 네트워크 통신 중재
  • 케이블과 커텍터 : 케이블 본체를 구성하는 요소
  • 트랜시버 : 컴퓨터의 랜카드와 케이블을 연결하는 장비
  • 탭 : 네트워크 모니터링과 패킷 분석을 위해 전기신호를 다른 장비로 복제한다.

1계층 장비는 주소의 개념이 없다 그러므로 전기 신호가 들어온 포트를 제외하고 모든 포트에 같은 전기 신호를 전송한다.

2계층 (데이터링크 계층)

1계층에서 보낸 전기 신호를 모아서 우리가 알아볼 수 있는 데이터 형태로 처리한다. 1계층과는 다르게 전기 신호를 정확히 전달하기 보다는 주소 정보를 정의하고 정확한 주소로 통신이 되도록 하는 데 초점이 맞추어져 있다. 출발지와 도착지 주소를 확인하고 내게 보낸 것이 맞는지, 내가 처리해야하는지에 대한 검사 후 데이터 처리를 수행한다. 즉 2계층부터는 식별할 수 있는 주소가 생긴다는 말이고 이로인해 여러 통신을 구분할 수 있게된다. 그리고 전기신호를 모아 처리하기 때문에 데이터에 대한 에러를 탐지하거나 고칠는 역할을 할 수도 있다. 주소 체계가 있기때문에 1계층처럼 전기신호를 던지기만하는 것이 아니라 받는쪽에서 현재 데이터를 받을 수 있는지 체크하는데 이를 플로 컨트롤이라고 부릅니다. 2계층에서 동작하는 NIC와 스위치 모드 MAC주소를 이해할 수 있고 스위치는 MAC주소를 보고 통신해야할 포트를 지정해 내보내는 기능을한다.

  • NIC(네트워크 인터페이스 카드)
    • 이외에 이터넷카드, 네트워크 어댑터, 랜카드, 네트워크 카드, 물리 네트워크 인터페이스, 등등 다양한 단어로 불리며 역할은 위 설명과 같이 MAC주소를 이해하고 MAC주소를 보고 통신해야 할 포트를 지정해 내보내는 능력이 있다.
    • 동작 프로세스
      1. 전기신호를 데이터 형태로 만든다.
      2. 목적지 MAC주소와 출발지 MAC주소를 확인한다.
      3. 네트워크 인터페이스 카드의 MAC주소를 확인한다.
      4. 목적지 MAC주소와 NIC가 가지고 있는 MAC주소가 맞으면 데이터처리(메모리에 적재)하고 아니면 데이터 폐기
  • 스위치

3계층 (네트워크 계층)

여기서 부터 IP가 정의된다. 즉 논리적인 주소가 정의된다. MAC 주소와 달리 IP는 환경에 맞게 변경할 수 있고 원격지 네트워크 구분하고 원격지로 가는 경로를 지정할수있다. 3계층 동작하는 장비는 라우터입니다.

  • 라우터: IP주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송하는 역할을 합니다.

    4계층 (트랜스포트 계츠)

    여기서 부터는 1,2,3계층과는 좀 다른 역할을 가지고 있다. 7계층을 상위계층과 데이터플로 계층으로 나누는데 그 이유는 데이터플로에서 데이터를 잘 쪼개고 받는 역할을 중점적으로 고려하고 상위계층에서 해당부분을 크게 고민하지 않도록 만들어준다. 그렇기때문에 애플리케이션에서 4계층까지 내려보내기만하면 데이터가 잘 왔다 갔다 하는것.
    4계층은 실제로 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 한다. 패킷 네트워크는 데이터를 분할해 패킷에 실어 보내다 보니 중간에 패킷이 유실되거나 순서가 바뀌는 경우가 생길 수 있다. 이 문제를 해결하기 위해 패킷이 유실되거나 순서가 바뀌었을 때 바로 잡아주는 역할을 4계층에서 담당한다.

4계층에서 패킷을 분할할 때 패킷 해더에 보내는 순서와 받는 순서를 적어 통신하기때문에 바로잡을 수 있다. 이 순서를 명시한 것이 시퀀스 번호 받는순서를 나타낸 것이 ACK번호 입니다. 이에 더해 장치 내 많은 애플리케이션 과 구분할 수 있도록 포트 번호를 사용해 구분한다.

  • 로드 밸런서
  • 방화벽
    위 장비들로 보안 정책을 수립해 보안 정책을 수립해 패킷을 통콰 차단하는 기능을 수행할 수 있다.
    실무에서는 시퀀스 번호와 ACK를 seq, ack, number로 표기하거나 한글화해 순서 번호, 응답 번호로 사용하기도 합니다.

5계층(세션 계층)

5계층은 양끝단의 응용 프로세스가 연결을 성립하도록 도와주고 연결이 안정적으로 유지되도록 관리하고 작업 완료 후에는 이 연결을 끊는 역할을 한다. 즉 세션을 관리하는것이 주요 역할이며 TCP/IP 세션을 만들고 업애는 책임을 진다. 또한 에러로 중단된 통신에 대한 에러 복구와 재전송도 수행한다.

6계층(프레젠테이션 계층)

6계층은 표현 방식이 다른 애플리케이션이나 시스템간의 통신을 돕기 위해 하나의 통일된 구문혁시그로 변환시키는 기능을 수행합니다. MIME인코딩이나 암호화, 압축, 코드 변환과 같은 동작을 수행

7계층

애플리케이션 프로세스를 정의하고 애플리케이션 서비스를 수행합니다. 대표적인 프로토콜은 HTTP,FTP같은 것들이 있다.