티스토리 뷰

Goal

 - OSI 7계층과 TCP/IP에 대해 알아본다.

 - OSI 7계층 별로 개념을 알아본다.

1. OSI 7계층과 TCP/IP

네트워크 이해의 핵심 = OSI 7계층과 TCP/IP 스택.

두 개념은 복잡한 네트워크를 단계별로 나누어 이해하기 쉽도록 도와줌.

 

1-1 OSI 7계층

1~4 계층을 데이터 플로 계층 또는 하위 계층이라고 부르고, 5~7 계층을 애플리케이션 계층 또는 상위 계층이라고 부름.

계층 분류는 계층의 역할과 목표에 따른 것.

데이터 플로 계층 : 데이터를 상대방에게 잘 전달하는 역할. 주로 네트워크 엔지니어가 개발

애플리케이션 계층 : 데이터를 표현하는데 초점을 맞춤. 주로 애플리케이션 개발자들이 고려하는 영역.

개발자는 하향식으로 네트워크를 바라보고, 네트워크 엔지니어는 상향식으로 네트워크를 인식함.

 

1-2 OSI모델과 TCP/IP모델

OSI 레퍼런스 모델은 7계층으로 이루어진 반면, TCP/IP모델은 4계층으로 구분함. OSI계층 보다 현실에 쉽게 반영하도록 간단히 구분하는 특징이 있음. (7계층 -> 4계층)

2. OSI 7계층별 이해하기

OSI7계층은 참조형 모델이고 실제로 사용하는 프로토콜은 TCP/IP 프로토콜 스택으로 구현되어 있음.

2-1 1계층 (피지컬 계층)

  • 물리적 연결과 관련된 정보를 정의. 주로 전기 신호를 전달하는데 초점이 맞추어져 있음.
  • 주요장비 : 허브, 리피터, 케이블, 커넥터, 트랜시버, 탭이 있음.
  • 케이블(케이블, 커넥터), 랜카드와 케이블 연결(트랜시버), 네트쿼으 통신 중재(허브, 리피터), 네트워크 모니터링 및 패킷 분석을 위한 전기 신호를 다른 장비로 복제 (탭)
  • 1계층에서는 들어온 전기 신호를 잘 전달하는 것이 목적. 전기 신호가 1계층 장비에 들어오면 이 신호를 재생성하여 (다음 계층으로?) 내보냄.
  • 1계층 장비는 주소의 개념이 없음. 따라서 전기 신호가 들어온 포트를 제외하고 모든 포트에 같은 전기 신호를 전송함.

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

  • 1계층에서 전달받은 전기 신호를 모아 우리가 알아볼 수 있는 데이터 형태로 처리함.
  • 전기 신호를 의미있게 주소 정보로 정의하고 정확한 주소로 통신이 되도록 하는 데 초점을 맞춤.
  • 2계층에서는 출발지와 도착지 주소를 확인하고 나에게 보낸 것이 맞는지, 내가 처리해야하는지를 검사한 후 테이터 처리를 수행함.
  • 전기 신호 -> 데이터 형태로 처리하므로 데이터에대한 에러를 탐지하거나 고칠 수 있음.
  • 이더넷 기반 네트워크의 2계층에서는 에러를 고치는 것 보다는 탐지하는 역할만 수행함 (과거에는 신뢰할 수 없는 정보가 많아서 고치기도 함)
  • 플로 컨트롤 : 데이터를 받는 사람이 현재 데이터를 받을 수 있는지 확인하는 작업.
  • 주요 네트워크 구성 요소 : 네트워크 인터페이스 카드 (랜카드, NIC ...)와 스위치.
  • 2계층의 가장 중요한 특징은 MAC 주소라는 주소 체계가 있다는 것.
  • 네트워크 인터페이스 카드와 스위치 모두 MAC 주소를 이해할 수 있고, 스위치는 MAC 주소를 보고 통신해야 할 포트를 지정해 내보내는 능력이 있음.
  • 네트워크 인터페이스 카드의 동작 : NIC에는 고유의 MAC 주소가 있음. 입력되는 전기 신호를 데이터 형태로 만들고 데이터에서 도착지 MAC주소를 확인한 뒤 자신에게 들어오는 전기 신호인지 확인함. 아니면 신호를 버리고 맞으면 상위 계층에서 처리할 수 있도록 메모리에 적재함.
  • 스위치의 동작 : 스위치는 단말이 어떤 MAC 주소인지, 연결된 포트는 어느 것인지 주소 습득과정에서 알 수 있음. 따라서 단말들이 통신할 때 포트를 적절히 필터링하고 정확한 포트로 포워딩 해줌. 1계층에서 허브가 전체 포트로 전기 신호를 전달하는데 2계층의 스위치는 필터링과 포워딩 기능으로 통신이 필요한 포트만 사용할 수 있게 하여 효율성을 높임.

2-3 3계층(네트워크 계층)

  • IP주소와 같은 논리적인 주소가 정의 됨.
  • 데이터 통신시에는 2계층의 물리적인 MAC주소와 3계층의 IP주소 2가지 주소가 사용됨.
  • MAC주소와 달리 IP 주소는 사용자가 환경에 맞게 변경해 사용할 수 있고, 네트워크 주소 / 호스트 주소 부분으로 나뉨.
  • 네트워크 주소 정보를 이용해 3계층의 장비나 단말은 자신이 속한 네트워크와 원격지 네트워크를 구분할 수 있고, -원격지 네트워크로 가는 경로를 지정할 수 있음.
  • 3계층의 주요 장비 : 라우터.
  • 라우터 : IP주소를 이해할 수 있음. IP주소를 사용해 최적의 경로를 찾아주고 해당 경로로 패킷을 전송함.

2-4 4계층 (트랜스포트 계층)

  • 하위계층 중 1, 2, 3 계층은 신호와 데이터를 올바른 위치로 보내고 실제 신호를 잘 만들어 보내는 데 집중함.
  • 4계층은 해당 데이터들이 정상적으로 잘 보내지도록 확인하는 역할을 함.
  • 패킷 네트워크는 데이터를 분할해 패킷에 실어보내냄 (무거운 데이터를 통으로 보낸다면 가는 도중 회선에 문제가 생길 때 다시 전송하기 위해 많은 리소스를 낭비할 수 있기 때문).
  • 패킷은 이동 중에 유실되거나 순서가 바뀌는 경우가 생길 수 있는데. 이 문제를 해결하기 위해 패킷이 유실되거나 순서 가 바뀌었을 때 바로잡아 주는 역할을 4계층에서 담당함.
  • 4계층에서 패킷을 분할할 때 패킷 헤더에 보내는 순서와 받는 순서를 적어 통신하므로 패킷이 유실되면 재전송을 요청할 수 있고 순서가 뒤바 뀌더라도 바로잡을 수 있음.
  • 패킷에 보내는 순서를 명시한 것을 시퀀스 번호(Sequence Number)라하고 받는 순서를 나타낸 것을 ACK 번호(Acknowledgement Number)라고 함. 이뿐만 아니라 장치 내의 많은 애플리케이션을 구분할 수 있도록 포트 번호(Port Number)를 사용해 상 위 애플리케이션을 구분함. (TCP 이해하기 좋은글 참고 https://brunch.co.kr/@swimjiy/35)
  • 4계층 주요 장비 : 로드 밸런서, 방화벽. 4계층에서 볼 수 있는 포트 번호와 시퀀스, ACK 번호 정보를 이용해 부하를 분산하거나 보안 정책을 수립해 패킷을 통과, 차단하는 기능을 수행함.

2-5 5계층 (세션 계층)

  • 양 끝단의 응용 프로세스의 연결 성립, 유지, 관리 그리고 해제의 역할을 함.
  • TCP/IP 세션을 만들고 없애는 책임을 짐 또한, 에러로 중단된 통신에 대한 에러 복귀와 재전송을 수행

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

  • Application과 시스템간의 다른 표현방식을 통일된 구문 형식으로 변환.
  • MIME 인코딩, 암호화, 압축, 코드 변환과 같은 동작이 이 계층에서 이루어짐.

2-7 7계층 (애플리케이션 계층)

  • 애플리케이션 프로세스를 정의하고, 서비스를 수행함.
  • 네트워크 소프트웨어의 UI 부분이나 사용자 입, 출력 부분을 정의하는 것이 애플리케이션 계층의 역할.
  • 대표적인 프로토콜 : FTP, SMTP, HTTP, TELNET
댓글