대학공부/인터넷 프로토콜

네트워크 모델(OSI 7 Layer) 이해

진진리 2024. 3. 15. 14:20
728x90

1. OSI 7 Layer

  • OSI 7계층의 이해
    • 다양한 네트워크 간의 호환을 위해 만든 표준 네트워크 모델
    • 논리적인 계층. 데이터를 처리하는 단계.
      • 2계층 데이터 링크 계층: 랜카드의 Mac 주소(물리적 주소)을 사용해 통신
      • 3계층 네트워크 계층: 경로를 결정할 때 IP 주소를 사용
      • 4계층 전송 계층: 포트 번호
      • 7계층

 

  • 데이터 전송 흐름
    • 송신지에서 보내는 데이터는 각 계층별로 캡슐화되어 수신지에 전달되고, 수신지에서는 각 계층별로 캡슐화를 풀어 해당 데이터를 확인
      • 캡슐화(Encapsulating): PC 내부에서 계층으로 내려올 때마다 각 계층의 Header정보(목적지에 대한 식별자)가 붙게 됨
      • Packet이 나갈 때는 네트워크 장비에서 header 정보를 확인하여 목적지로 디지털 신호로 전송됨
      • 디캡슐화(Decapsulating): 각 계층에 해당하는 Header만 확인 가능하고 분리

 

2. TCP/IP Suite

  • TCP/IP Suite
    • OSI Model Layers의 7계층을 TCP/IP 프로토콜(실질적으로 구현)에서는 4계층으로 묶어서 표현

 

3. OSI 7 Layer 각 계층별 역할

물리 계층(1계층)

  • 물리적으로 연결하기 위해 사용하는 장비들
  • 케이블의 종류를 일종의 묶음(CAT)으로 분류
    • UTP: 일반적으로 사용되는 유선 케이블 선
  • 커넥터에도 여러 가지 표준이 있음
    • RJ 11 : 전화선의 연결 커넥터
    • RJ 45 : 랜 케이블의 연결 커넥터

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

  • 두 포인트 간의 신뢰성 있는 전송을 보장하기 위한 계층으로 CRC 기반의 오류 제어 및 흐름 제어가 필요
  • 데이터 링크 계층에서는 상호 통신을 위해 MAC 주소를 할당 받음
  • MAC 주소
    • CMD에서 ipconfig /all 명령을 실행하여 확인
    • 총 12개의 16진수로 구성
    • 앞의 6개: 네트워크 카드를 만든 회사를 나타내는 것으로 OUIO
    • 뒤의 6개: 각 회사에서 임의로 붙이는 일종의 시리얼
    • 같은 MAC 주소는 존재하지 않음 -> 같은 네트워크에서 통신할 때 사용

 

  • 데이터 링크 계층의 패킷 흐름
    • 대표적인 네트워크 장비: 스위치
    • 대표적인 프로토콜: 이더넷

로컬 네트워크 내

 

  • 스위치의 동작 원리
    • 스위치: 포트 번호와 각 포트에 연결된 컴퓨터의 MAC 주소를 테이블 형태로 저장하여 포워딩 (IP주소 필요x)

 

네트워크 계층 (3계층)

  • 다른 네트워크의 장비와 원격 통신할 때 라우터를 통해 밖으로 나갈 때 목적지의 경로를 찾기 위해 IP주소를 사용
    • 라우터 장비의 인터페이스에도 MAC 주소가 존재
    • 네트워크가 바뀔 때마다 패킷의 출발지, 목적지 MAC 주소가 라우터 인터페이스의 MAC 주소로 바뀜
    • IP주소는 최종 목적지를 의미
  • IP주소의 클래스
    • 네트워크 주소와 호스트 주소의 크기에 따라 A, B, C, D, E 클래스로 구분

 

  • 네트워크 계층의 동작
    • 대표적인 네트워크 장비: 라우터
    • 게이트웨이
      • 네트워크 대상: 0.0.0.0 -> 라우팅 테이블에 있는 목적지 IP 중에 해당하지 않으면 게이트웨이로 보내게 됨
      • 다른 네트워크와 통신하기 위해서는 게이트웨이 IP주소가 필요함

 

  • 네트워크 계층의 패킷 전달 구조
    • 패킷 송신 시스템(=PC)의 (사설) IP: 172.16.0.100
    • 인터넷을 하기 위해서는 게이트웨이 IP로 나가야 함
    • PC의 MAC 주소
    • 라우터의 MAC 주소 (게이트웨이의 인터페이스 2개의 MAC 주소)
    • 로컬의 스위치가 가지는 MAC 주소 테이블

ARP - 한 번이라도 통신한 적 있으면 IP주소와 MAC 주소를 테이블로 저장해 보관

 

전송 계층 (4계층)

  • 전송 계층
    • 양 끝단의 사용자들이 신뢰성 있는 데이터를 주고받을 수 있게 함
    • 시퀀스 넘버 기반의 오류 제어 방식을 사용하여 특정 연결의 유효성을 제어
  • 포트: 패킷이 찾아갈 응용 프로그램으로 통하는 통로 번호
    • 출발지 포트는 보통 1025 ~ 65535번(Unknown port) 중에서 사용하지 않는 임의의 포트를 할당하여 사용
  • 연결 상태 정보
    • netstat -an 명령으로 확인 가능
      • 전송 계층 프로토콜, PC IP 주소, PC 포트 번호, 서버 IP, 서버 포트 번호, 연결 상태
    • 연결 상태 정보는 ESTABLISHED로 확인됨
    • TCP는 패킷을 주고 받기 전에 미리 연결을 맺어(3-way handshaking) 가상 경로를 설정
  • 프로토콜 종류
    1. TCP: 연결 지향형 프로토콜, 신뢰성 있음, 데이터 흐름 제어, 에러 제어 기능
    2. UDP: 비연결 지향형 프로토콜, 신뢰성 없음

 

세션 계층 (5계층)

  • 양 끝단의 통신을 관리하기 위한 방법 제공
  • 전송 계층이 종단 간의 논리적인 설정을 담당한다면 세션 계층은 이런 연결에 정보 교환을 효과적으로 할 수 있도록 추가 서비스를 함

 

표현 계층 (6계층)

  • 데이터 압축과 암호화 기능을 수행

 

응용 프로그램 계층 (7계층)

  • 사용자나 응용 프로그램 사이에 데이터 교환이 가능하게 하는 계층
  • 일반적인 응용 서비스를 수행