잡동사니

SSH 연결 문제로 다시 보게 된 OSI 7계층의 실용적 이해 본문

IT/CS

SSH 연결 문제로 다시 보게 된 OSI 7계층의 실용적 이해

yeTi 2025. 1. 30. 17:06

안녕하세요. yeTi입니다.

최근 서버 접속 문제를 해결하면서 네트워크의 기본 개념들을 다시 한번 정리할 필요성을 느꼈습니다. 특히 SSH 접속이 안 되는 상황에서, 문제의 원인을 찾고 해결하기 위해서는 네트워크의 각 계층에 대한 이해가 필수적이라는 것을 깨달았습니다.

이번 글에서는 OSI 7계층을 중심으로, 네트워크 문제 해결을 위한 체계적인 접근 방법에 대해 이야기해보려 합니다.

OSI 7계층과 네트워크 통신의 이해

네트워크 통신은 마치 우편 시스템과 같습니다. 편지를 보내기 위해서는 받는 사람의 주소(IP)가 필요하고, 실제로 편지를 전달하기 위해서는 구체적인 위치 정보(MAC 주소)가 필요합니다. 이러한 통신 과정은 OSI 7계층이라는 체계적인 구조를 통해 이루어집니다.

계층별 주요 역할

  1. 물리 계층 (1계층)

    • 실제 데이터가 전기 신호로 변환되어 전송되는 계층
    • 네트워크 케이블, 리피터, 허브 등이 이 계층에서 동작
  2. 데이터 링크 계층 (2계층)

    • MAC 주소를 이용한 통신이 이루어지는 계층
    • 스위치가 이 계층에서 동작하며, 같은 네트워크 안에서의 통신을 담당
  3. 네트워크 계층 (3계층)

    • IP 주소를 이용한 라우팅이 이루어지는 계층
    • 서로 다른 네트워크 간의 통신을 가능하게 함
  4. 전송 계층 (4계층)

    • TCP/UDP를 통한 데이터 전송을 관리하는 계층
    • 포트 번호를 통해 애플리케이션을 구분

게이트웨이와 서브넷의 관계

네트워크에서 게이트웨이는 서로 다른 네트워크를 연결하는 관문 역할을 합니다. 마치 다른 나라로 가기 위해 공항을 이용하는 것처럼, 다른 네트워크로 가기 위해서는 게이트웨이를 거쳐야 합니다.

서브넷의 이해

서브넷은 하나의 큰 네트워크를 작은 단위로 나눈 것입니다. 예를 들어:

  • 192.168.0.0/24 네트워크는 192.168.0.1 ~ 192.168.0.254까지의 IP 주소를 포함
  • 같은 서브넷 내의 장치들은 직접 통신이 가능
  • 다른 서브넷과 통신하려면 반드시 게이트웨이를 거쳐야 함

MAC 주소의 필요성

IP 주소만으로는 실제 데이터 전송이 불가능합니다. 이는 네트워크 통신이 계층적 구조로 이루어지기 때문입니다.

IP 주소와 MAC 주소의 역할

  • IP 주소: 논리적 주소로, 목적지를 찾아가기 위한 지도 역할
  • MAC 주소: 물리적 주소로, 실제 데이터를 전달하기 위한 구체적인 위치 정보

이는 마치 택배 시스템과 유사합니다:

  • IP 주소는 '서울시 강남구 ...'와 같은 주소
  • MAC 주소는 실제 그 위치에 있는 '건물 호수'나 '문 앞'과 같은 구체적 위치

네트워크 문제 해결 방법

SSH 접속과 같은 네트워크 문제가 발생했을 때, 다음과 같은 단계적 접근이 필요합니다.

1. 물리적 연결 확인 (1계층)

  • 네트워크 케이블 연결 상태
  • 장비 전원 상태

2. 네트워크 인터페이스 확인 (2계층)

  • MAC 주소 확인
  • ARP 테이블 확인

3. IP 통신 확인 (3계층)

  • ping 명령어로 기본적인 연결 확인
  • traceroute로 경로 추적

4. 포트 및 서비스 확인 (4계층)

  • netstat 명령어로 포트 상태 확인
  • 방화벽 설정 확인

실전 문제 해결 시나리오

SSH 접속이 안 되는 상황을 예로 들어보겠습니다.

  1. ping 테스트

    ping 192.168.2.100
    • ping이 안 되면 1~3계층의 문제
    • ping이 되지만 SSH 접속이 안 되면 4계층 이상의 문제
  2. traceroute 확인

    traceroute 192.168.2.100
    • 경로상의 문제 지점 파악 가능
  3. 포트 확인

    netstat -tuln | grep 22
    • SSH 포트(22) 상태 확인

결론

이번에 SSH 연결 문제를 디버깅하면서 문제 영역을 좁히지 못하니 문제를 해결해나감에 있어서 막연하게 인터넷에서 찾은 해결책들을 따라하게 되는 것을 반복한다는 느낌을 받았습니다.

이에 네트워크 문제를 해결하기 위해 알아야하는 기본 지식을 알아보는 과정에서 대학생때 막연하게 듣던 OSI 7계층이 문제 해결을 체계화하는데 기반이 된다는 것을 깨닫게 되었습니다.

네트워크 문제 해결함에 있어서 OSI 7계층의 각 계층의 역할을 이해하고 있다면, 문제가 발생했을 때 체계적으로 원인을 찾아 해결할 수 있다고 생각합니다.

특히 개발자의 관점에서는 주로 57계층을 다루지만, 인프라 문제 해결을 위해서는 14계층에 대한 이해도 필요합니다. 이는 전체 시스템을 이해하고 효율적으로 문제를 해결하는 데 큰 도움이 된다고 느껴 글로 정리하여 남깁니다.

참고자료

Comments