ping과 telnet으로 시작한 OSI 7 Layer

Moon·2024년 6월 24일
0

OSI 7 모델을 공부하게 된 계기👩‍💻👨‍💻

팀 동기가 외부 API를 호출하는 인터페이스를 만들고, 해당 서버와 연결을 확인하기 위해 Ping 요청을 보냈습니다.

Ping 요청에 응답을 받아, 도메인과 방화벽이 연결되었다고 생각한 후 테스트를 진행하였습니다. 테스트는 실패하였고 원인을 파악해보니, 해당 도메인과 연결되어 있지 않았습니다.

해당 문제에 대해, 선임 분에게 질문을 하게 되었고 ping은 서버가 살아있는 지 확인 하는 용도이며, 연결 확인은 telnet을 사용해보라는 말씀을 해주셔서 추상적으로만 알던 네트워크 개념을 정리해보면 좋겠다는 생각이 들어 정리해보게 되었습니다.


취업 이전, 면접을 준비하면서 네트워크 OSI 7모델에 대해 달달달 외웠던 경험이 있습니다. 면접 준비를 하며 유명한 문제인 "특정 도메인(예를 들어, www.naver.com)을 주소창에 입력했을 때 어떤 일이 발생할까요?" 에 대한 답은 쉽게 찾아볼 수 있지만 그 답은 지금와 생각해보면 (저에게는) 상당히 '추상적'이었다는 생각이 들었습니다.

다음과 같은 상황에 있어, OSI 모델 7가지 계층에 따라 설명할 수 있다면 해당 게시글은 읽지 않으셔도 됩니다.

예) Moon이 Sun에게 이메일을 보냅니다.
자신의 노트북에 있는 이메일 애플리케이션에서 메시지를 작성하고 '발송' 버튼을 누릅니다. Sun은 자기 노트북 화면에서 이메일 소프트웨어를 통해 Moon의 이메일을 읽습니다. 이메일 전송부터 이메일 수신까지 어떤 네트워크 상호작용이 있었을까요?


해당 문제에 답을 찾기 위해 우리는 OSI 7계층 모델을 잠시 잊고, 두 대의 컴퓨터가 통신을 하는 과정부터 생각해봅시다.

  1. 물리적 계층
  • 데이터는 0과 1이 나열된 디지털 신호
    물리적인 전선을 통해 컴퓨터는 통신을 할 수 있다
  • 0과 1이 나열된 디지털 신호아날로그 신호로 바꾸어야 전선을 통해 전달된다
  • Phy 칩을 통해 디지털 신호<->아날로그 신호로 바꾼다 (인코딩, 디코딩)

한줄요약 : physical layer는 전선과 PHY칩을 통해 0과 1의 나열된 신호를 통신하는 계층이다

  1. 데이터 연결 계층
  • 동일한 네트워크에 있는 두 개의 장치 간 데이터 전송을 용이하게 함
  • 프레임이라고 불리는 작업을 통해, 데이터를 전달할 때 앞 뒤에 비트를 붙여 구분자 역할을 해주는 데이터 전송기법
  • 랜카드를 통해 구현

  1. 네트워크 계층
  • 서로 다른 두 네트워크 간 데이터 전송을 용이하게 함
  • 라우팅(routing) : 패킷에 있는 IP주소를 이용해 길을 찾기
  • 포워딩(forwarding) : 다음 라우터에게 데이터를 넘겨주는 작업
  • 운영체제의 커널에 소프트웨어적으로 구현되어 있음

  1. 전송 계층
  • Port를 사용하여 컴퓨터의 프로세스까지 데이터가 도달하게 하는 모듈

  1. 세션 계층
  • 두 기기 사이의 통신을 시작하고 종료하는 일을 담당
  • 세션 : 통신이 시작될 때부터 종료될 때까지를 의미
  • 데이터 전송 중 연결이 끊어지면, 마지막 체크포인트에서 세션을 재개하는 것이 가능해짐
  • 데이터 전송은 체크포인트와 동기화 됨

  1. 프레젠테이션 계층
  • 데이터를 압축 또는 암호화 등을 담당
  1. 어플리케이션 계층
  • 사용자의 데이터와 직접 상호 작용하는 유일한 계층

참고 자료

OSI 모델이란?

모두의네트워크 10일 만에 배우는 네트워크

10분 테코톡 히히의 OSI 7 Layer

[Network] OSI 7 Layer - Physical Layer

profile
안녕하세요. Moon입니다!

0개의 댓글