OSI 7계층이란? + TCP/IP 5계층

wannabeking·2022년 6월 4일
0

CS

목록 보기
4/27

OSI 7계층이란?

  • OSI 참조 모델을 기반으로 국제 표준화 기구(ISO)에서 표준화한 모델
  • 네트워크 통신에서 생긴 여러 가지 충돌 문제를 완화하기 위해 고안된 표준안


1계층 - 물리 계층(Physical Layer)

  • 두 대의 컴퓨터가 통신하려면 0과 1을 주고 받을 수 있으면 됨
  • 두 대의 컴퓨터가 전선 하나로 연결되어 있다고 가정하면 1을 보낼 때 +5V의 전기를 전선으로 흘려보내고, 0을 보낼 때 -5V의 전기를 전선으로 흘려보내면 0과 1의 전송이 가능
  • 하지만 이런 디지털 신호를 통과시킬 수 있는 전선은 없음

  • 따라서 0과 1의 나열을 아날로그 신호로 바꾸어 전선으로 흘려 보내고 -> 인코딩
  • 아날로그 신호가 들어올 때 0과 1의 나열로 해석하면 -> 디코딩
  • 물리적으로 연결된 두 대의 컴퓨터가 데이터를 주고 받을 수 있음
  • 이 때 인코딩, 디코딩하여 데이터를 주고 받을 수 있게 해주는 모듈을 물리 계층이라 함

  • 물리 계층 기술은 PHY 칩에 하드웨어적으로 구현되어 있음


  • 여러 대의 컴퓨터를 모두 전선으로 연결시키는 것은 비용이 많이 듬
  • 3대의 모든 컴퓨터를 서로 연결시키기 위해서는 3개의 전선이 필요
  • 4대의 컴퓨터를 연결시키기 위해서는 6개... 이처럼 기하 급수적으로 늘어나게 됨

  • 따라서 여러 대의 컴퓨터를 라우터에 연결시키고, 라우터와 다른 라우터들을 연결시키는 것을 반복하면 효율적으로 모든 컴퓨터를 연결시킬 수 있음
  • 국가 간의 전선은 규모가 큰 해저 케이블을 사용
  • 이렇게 전 세계 컴퓨터들이 계층구조로 연결되어 있는 것을 인터넷이라 함


  • 컴퓨터에 여러 발송지로부터 데이터를 전달받는 경우
    1. 0101
    2. 1010
    3. 0001
      -> 0101 1111 0001
  • 누가 어떤 데이터를 보냈는지 정확히 알 수 없음
  • 따라서 구분자 비트를 넣어서 처리함
    1. 1111 0101 0000
    2. 1111 1010 0000
    3. 1111 0001 0000
      -> 1111, 0000 으로 감싸진 부분을 추출하면 0101, 1010, 0001
  • 이제 여러 발송지로부터 데이터를 전달받는 경우를 처리할 수 있음
  • 이렇게 원본 데이터를 감싼 것을 Frame이라고 함

  • 이처럼 같은 네트워크에 있는 여러 대의 컴퓨터들이 데이터를 주고받기 위해 필요한 모듈을 데이터 링크 계층이라 하고 랜카드에 구현되어 있음
  • Framing 또한 데이터 링크 계층에 속한 작업들 중 하나


3계층 - 네트워크 계층(Network Layer)

  • 데이터를 보낼 때 출발지와 목적지를 알기 위해 IP 주소 사용
  • A가 B에게 데이터를 보내기 위해 IP 패킷이라는 구조로 데이터를 감싸서 전송
  • 패킷에는 A의 IP 주소와 B의 IP 주소가 포함되어 있어 A -> B로 데이터 전송이 가능
  • 이 과정에서 B가 데이터를 전달 받기 위하여 여러 라우터를 거치게 됨
  • 이 때 어떤 라우터들을 거쳐야 B에 도착하는 지 경로 설정을 하는 것을 라우팅이라고 함

  • 네트워크 계층은 커널(운영체제의 핵심적인 부분)에 소프트웨어적으로 구현되어 있음


4계층 - 전송 계층(Transport Layer)

  • 현재 컴퓨터에 여러 프로세스(예를 들어 카카오톡, 슬랙)가 존재하고, 컴퓨터에 데이터가 전송되어 온 경우
  • 해당 데이터가 카카오톡에 온 것인지, 슬랙에 온 것인지 알 수 없음
  • 따라서 프로세스들에게 포트 번호를 부여하고 IP 패킷 위에 출발지, 목적지 포트가 존재하는 패킷으로 감싼다면
  • 어떤 컴퓨터(IP 주소), 어떤 프로세스(포트 번호)에 전송했는지 알 수 있음

  • 전송 계층에는 TCP, UDP가 존재함
    • TCP는 출발지, 목적지 포트 번호 외 IP의 문제점(패킷 소실 등)들을 보완하기 위한 장치들이 존재
    • UDP는 거의 출발지, 목적지 포트 번호만 존재하기 때문에 기능이 없지만 가볍고 커스텀 가능하다 생각하면 됨
  • 네트워크 계층과 마찬가지로 커널에 소프트웨어적으로 구현되어 있음


TCP/IP 5계층

  • 현재 TCP/IP의 점유율이 높아져서 현재는 TCP/IP 모델을 사용
  • TCP/IP 계층에서는 5, 6계층인 세션 계층, 표현 계층이 7계층인 응용 계층과 통합 됨


5계층 - 세션 계층(Session Layer)

  • TCP/IP 모델에서는 응용 계층과 통합 됨
  • 데이터가 통신하기 위한 논리적 연결을 담당 -> 단방향 or 양방향 회선 생성 유지 종료
  • TCP/IP 세션을 만들고 없애는 책임을 지니고 있음


6계층 - 표현 계층(Presentation Layer)

  • TCP/IP 모델에서는 응용 계층과 통합 됨
  • 해당 데이터가 TEXT인지 JPG인지 PNG인지 MP3인지 등을 구분하는 역할


7계층 - 응용 계층(Application Layer)

  • HTTP 프로토콜이 속해 있음
  • HTTP의 경우 requestresponse로 나누어짐
  • request와 response 똑같이 start line, headers, body로 구성되지만 담겨오는 정보가 약간 다름
  • 예를 들어 request는 start line에 HTTP 메소드, URI, HTTP 버전이 들어감
  • 반면 response는 start line에 HTTP 버전, 응답 코드, 응답 상태가 들어감

  • 다른 프로토콜으로는 FTP, SSH가 속해 있음


profile
내일은 개발왕 😎

0개의 댓글