CS 관련 지식 - 네트워크 _ OSI 7계층과 TCP/IP 4계층

링딩·2023년 3월 12일
0

Computer Science

목록 보기
3/49


네트워크




OSI 7계층

네트워크 통신이 일어난 과정을 7단계로 나눈 것을 의미

  • 순서 :
    • 송신 7계층 > 1계층
    • 수신 1계층 > 7계층

Q. OSI 7계층의 존재 이유 🤷‍♂️

OSI 7계층에 대해 알아보기 전에 그렇다면 왜 이렇게 이들을 나누었을까?

그 이유는 통신이 일어나는 과정을 단계별로 파악하고 문제가 발생했을 때 해결하기 용이하기 때문이다.


1) 물리계층

ex 리피터, 케이블, 허브

  • 통신단위 : 비트 0,1 bit
  • 단지 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간
  • 즉, 데이터를 전송하는 역할

2) 데이터 링크 계층

ex 브릿지, 스위치

  • 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할
  • Mac 주소를 통해 통신. 프레임에 Mac 주소를 부여하고 에러검출, 재전송, 흐름제어를 진행한다.



3) 네트워크 계층

ex 라우터, IP

  • 데이터를 목적지까지 가장 안전하고 빠르게 전달하는 기능
  • 역할 : 이 계층은 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것
  • 라우터를 통해 이동할 경로를 선택하여 IP 주소를 지정하고, 해당 경로에 따라 패킷을 전달.
  • 라우팅, 흐름 제어, 오류 제어, 세그먼테이션 등을 수행



4) 전송 계층

  • 패킷 생성 및 전송을 한다.
  • 통신을 활성화하기 위한 계층이다. 보통 TCP 프로토콜을 이용하며, 포트를 열어서 응용 프로그램들이 전송을 할 수 있게 한다.
    -> 4계층에서 데이터를 하나로 합쳐 5계층에 던져줌.
  • TCP / UDP 프로토콜 사용
  • 전송 계층은 특정 연결의 유효성을 제어하고, 일부 프로토콜은 상태 개념이 있고(stateful) 연결기반이다.



5) 세션 계층

  • 데이터가 통신하기 위한 논리적인 연결 의미
  • TCP/IP 세션을 만들고 없애는 일

=> 통신하는 사용자들을 '동기화', 오류복구 명령들을 일괄적으로 다루고 통신을 하기 위한 세션을 확립/유지/중단



6) 표현 계층

데이터 표현이 상이한 응용 프로세스의 독립성을 제공하고, 암호화 한다.



7) 응용 계층

  • HTTP, FTP, SMTP, POP3, IMAP, Telnet 등과 같은 프로토콜이 있다.
  • 즉 모든 통신의 양 끝단은 HTTP와 같은 프로토콜이지 응용 프로그램이 아니다.
  • 일반적인 응용 서비스는 관련된 응용 프로세스들 사이의 전환을 제공한다.
    * 응용 서비스의 경우 JVM, Terminal등이 있다.
  • 정리 : 네트워크 소프트웨어 UI 부분, 사용자의 입출력(I/O)부분




🚦 TCP/IP 4계층

IP 란?

  • 패킷 데이터들을 최대한 빠르게 특정 목적지로 보내는 프로토콜

TCP 란?

사실 패킷 통신은 '데이터'를 작은 단위로 나누어 전송함

  • (문제) 순서나 내용이 섞이거나 유실될 위험
    => TCP 존재이유

  • '패킷'을 정상적(온전하게)으로 받을 수 있도록 하는 프로토콜

  • 패킷의 속도는 느리지만, 순서에 맞고 손실되지 않게 받음.
    -> 만약 그렇지 않을 경우, 재요청



그렇다면... 이 둘의 조합이라니 무슨 말일까? 🤷‍♂️


Q. TCP/IP 란?

  • 즉, 두 가지 프로토콜 방식( "TCP/IP" )을 조합하여 인터넷 통신하는 것

    • '송'신자가 ⇨ '수'신자에게 IP를 사용하여 최대한 빨리 패킷 전송 하면,
      TCP를 활용해 패킷을 정상적으로 수신 받는다.

정확성 + 빠르게




Q. OSI 7계층과 TCP/IP 4계층의 차이가 무엇인가?

  • OSI 7계층은... " 컴퓨터 간 패킷통신을 위해 거쳐야 하는 7개의 계층"

  • TCP/IP 4계층은... " TCP/IP 통신과정에 초점을 맞추어, 그 외에 OSI 7계층은 좀 더 단순화 시킨 계층을 의미. "

    • (특징)
    1. 계층별 간섭 최소화
    2. 특정 계층에 문제 발생시 -> 유지보수 용이
    3. 다른 계층 간의 데이터 전달까지 알 필요 x
      => 데이터의 캡슐화 , 은닉화 (ㅇ)

TCP/IP의 특징_ 1. 캡슐화

[어플리케이션 계층(상위) -> 네트워크 계층(하위)]

  • 캡슐화:
    데이터 전송, 데이터는 상위 계층에서 >> 하위 계층으로 이동하며
    계층 이동 마다 필요한 정보(헤더)가 추가

  • 역캡슐화:
    반대로 데이터 수신, 하위 계층에서> 상위 계층으로 이동하고,
    계층 이동 마다 추가된 헤더를 읽고 알맞은 행동을 취한 후, 헤더를 제거



TCP/IP 4계층의 주요 특징과 프로토콜

그 중 중요하다 생각하는 계층 2가지만 집고 넘어가자

✔ 3계층: 전송계층

통신 노드 간 데이터를 신뢰성 있게 전송을 보장.

  • 역캡슐화에서 '포트번호'를 통해 데이터를 보다 더 정확한 애플리케이션에 전달하는 역할도 합니다.
    ex) TCP, UDP, RTP, RTCP

✔ 2계층 : 인터넷 계층

  • 패킷을 최종 목적지까지 라우팅하는 계층
    ex) IP, ARP, ICMP, RARP, OSPF


면접 질문

Q. 웹 서버 소프트웨어(Apache, Nginx)는 OSI 7계층 중 어디서 작동하나요?

A. '웹 서버'는 HTTP 프로토콜을 사용해 html 데이터를 클라이언트에 제공하는 서버입니다. 그리고 HTTP 프로토콜은 OSI 7계층인 Application Layer에 위치해 있습니다.
브라우저와 서버 사이에 정보를 주고받기 위해 사용하며, Apache, Nginx는 웹 서버 중의 하나이므로 Applicaion 계층에서 작동합니다.


Q. 웹 서버 소프트웨어(Apache, Nginx)의 서버 간 라우팅 기능은 OSI 7계층 중 어디서 작동하나요?

A. 라우터는 다른 네트워크와 통신하기 위해 사용하는 장치로,
=> 현재의 네트워크에서 다른 네트워크로 패킷을 전송합니다. 즉, 서버 간 라우팅 기능은 네트워크 계층에서 동작합니다.




출처

운호 님
의 내용을 참고하여 적었습니다.

면접 질문의 도움을 받았습니다...

profile
초짜 백엔드 개린이

0개의 댓글