혼공 학습단/혼자 공부하는 네트워크

[혼자 공부하는 네트워크] 네트워크 Overview (Feat. 미시적 관점)

uomnf97 2024. 7. 5. 22:44
안녕하세요! 제이덥입니다. 이번 주부터 "혼자 공부하는 네트워크" 도서를 통해 네트워크에 대해 학습하고, 공부한 내용을 공유하려고 합니다. 각 주제별로 나누어 포스팅할 예정이며, 이번 섹션에서는 "프로토콜", "네트워크 참조 모델", "캡슐화/역캡슐화"에 대해서 간략하게 다룹니다.
*이 도서는 제가 직접 구매하여 작성한 글이며, 혼공단 12기 활동의 일환으로 학습 내용을 공유하고자 합니다. 도서와 활동에 대한 자세한 내용은 아래 Reference에서 확인하실 수 있습니다.

1️⃣ 프로토콜

  • 프로토콜(Protocol)이란?
    • 정의 : 네트워크 통신에서 노드 간에 정보를 올바르게 주고 받기 위해 합의된 규칙이나 방법
      • Why?
        • 호스트 간 패킷을 교환하는 방식으로 대부분 패킷 교환 방식을 사용하는데, 서로 다른 통신 장치들이 주고 받으려면 동일한 프로토콜을 사용해야 하기 때문!
        • 💡 일반적으로 여러가지 프로토콜과 함께 사용!
    • 프로토콜은 목적에 따라 정의되어 있으므로 매우 여러가지 종류를 가지고 있음.
프로토콜 종류 설명 해석
IP IP는 패킷을 수신지까지 전달하기 위해 사용되는 프로토콜이다. IP라는 규칙을 통해 정보를 주고 받음으로써 패킷을 수신지까지 올바르게 전달하는 역할
ARP ARP는 192.168.1.1과 같은 형태의 ‘IP 주소’를 A1:B2:C3:D4:E5:F6과 같은 형태의 ‘MAC 주소’로 대응하기 위해 사용되는 프로토콜이다. IP주소를 MAC주소로 대응시키는 매핑시키는 역할
HTTP/HTTPS HTTPS는 HTTP에 비해 보안상 더 안전한 프로토콜이다. HTTP라는 규칙으로 정보를 주고받는 것보다 HTTPS라는 규칙으로 정보를 주고받는 것이 보안상 더 안전함.
TCP/UDP TCP는 UDP에 비해 일반적으로 느리지만 신뢰성이 높은 프로토콜이다.(TCP가 신뢰성 있는 정보를 송수신하기 위해 더 많은 정보(헤더)로 구성되어있기 때문) TCP라는 규칙으로 정보를 주고 받는 것은 UDP보다 더 확실하게 데이터를 전송할 수 있음

2️⃣ 네트워크 참조 모델

  • 네트워크 참조 모델(network reference model)이란?
    • 정의 : 네트워크를 통해 정보를 주고받을 때는 정형화된 여러 단계를 거치는데, 이러한 통신이 일어나는 각 과정을 계층으로 나눈 구조. 네트워크 계층 모델이라고도 부름.
  • 네트워크를 여러가지 계층으로 나눈 이유
    • 네트워크 구성과 설계가 용이 : 계층의 목적에 맞게 프로토콜과 네트워크 장비를 계층 별로 구성할 수 있는데 이는 훌륭한 가이드라인 역할을 함. 단, 완벽하게 구분되지 않는 경우도 존재
    • 네트워크 문제 진단과 해결이 용이 : 계층별로 진단하면 문제 발생 지점을 추측할 수 있어 문제 진단과 해결이 수월함.
  • OSI 모델
    • 국제 표준화기구(ISO; International Organization for standardization)에서 만든 참조 모델
    • 통신 단계는 총 7단계로 구성
      • 물리계층(physical layer)
        • 정의 : OSI 최하단에 있는 계층으로 근원적인 네트워크 통신이 이루어지는 계층을 말함
        • 특징 :
          • 1과 0으로 표현되는 비트 신호를 주고 받음
          • 전기, 빛, 전파 등의 신호로 전달
      • 데이터 링크 계층(data link layer)
        • 정의: 네트워크 내 주변 장치 간의 정보를 올바르게 주고받기 위한 계층
        • 특징 :
          • 이더넷/ 많은 LAN 기술이 이곳에 해당
          • 정보에 오류가 있는지 확인
          • MAC 주소라는 주소 체계를 통해 네트워크 내 송수신지를 특정 가능
          • 전송과정에서 발생할 수 있는 충돌 문제 해결
          • 네트워크 “내”의 통신
      • 네트워크 계층(Network layer)
        • 정의 : 메시지를 다른 네트워크에 속한 수신지까지 전달하는 계층
        • 특징 :
          • 네트워크와 네트워크 간의 통신
          • IP주소라는 주소체계를 통해 통신하고자 하는 수신지의 호스트 및 네트워크 식별
          • 수신지까지 도달하기 위한 최적의 경로 결정
      • 전송계층(transport layer) :
        • 정의 : 신뢰성있고 안정성 있는 전송을 할 때 이용하는 계층
        • 특징 :
          • 패킷이 정상적으로 보내졌는지 점검
          • 중간에 유실된 정보는 없는지 점검
          • 여러개의 패킷을 보낼 때 순서가 뒤 바뀐 것이 없는 지 점검
          • 패킷의 흐름을 제어하거나 전송 오류를 점검해 신뢰성있고 안정적인 전송이 이루어지도록 함
          • 포트라는 정보를 통해 실행중인 응용 프로그램 식별
      • 세션 계층(session layer)
        • 정의 : ‘세션’을 관리하기 위해 존재하는 계층
        • 세션(session) : 일반적으로 통신을 주고 받는호스트의 응용 프로그램 간의 연결상태
        • 특징 :
          • 연결 상태를 생성 및 유지, 종료 시 끊어주는 역할
      • 표현 계층(presentation layer) :
        • 번역가와 같은 역할
        • 사람이 이해할 수 있는 언어인 문자 컴퓨터가 이해할 수 있는 코드로 변환/압축/암호화 같은 작업이 표현 계층에서 이루어짐
      • 응용 계층(application layer) :
        • 정의 : OSI 참조 모델의 최 상단에 있는 계층으로 실질적인 네트워크 서비스가 제공되는 계층
        • 특징 :
          • 다양한 서비스가 제공될 수 있는 만큼 다른 계층에 비해 응용 계층에 속한 프로토콜이 많음
          • 사용자/ 사용자가 이용하는 응용프로그램과 밀접히 맞닿아 있음
          • 예) 웹 브라우저 프로그램에 웹페이지를 제공, 클라이언트 프로그램에 송수신된 이메일 제공 등
  • TCP/IP 모델
    • OSI 모델이 주로 네트워크를 이론적으로 기술하고 이해할 때 사용(이상적 설계)
    • ⇒ TCP/IP 모델 이론은 이론보다 구현에 중점을 둔 네트워크 모델(실용적 구현)
    • TCP/IP 4계층, 인터넷 프로토콜 스위트(internet protocal suite), TCP/IP 프로토콜 스택(protocol stack) : 다양한 프로토콜이 묶여서 함께 사용되어 이와 같은 이름으로도 불림
      • 프로토콜 스위트(internet protocal suite), 프로토콜 스택(protocol stack) : 프로토콜 집합을 말함.
    • IP → Internet protocol의 약자
    • TCP/IP 이름이 붙은 이유 → 네트워크 구현의 핵십!
    • 통신단계는 총 4단계로 구성
      • 네트워크 액세스 계층(network access layer)
        • OSI 모델의 데이터 링크 계층과 유사함
        • 링크 계층(link layer) 또는 네트워크 인터페이스 계층(network interface layer)라고도 부름
        • TCP/IP에 해당하는 물리 계층이 없다고 보는 견해가 있어 물리 계층을 포함함, 5개의 확장 모델을
      • 인터넷 계층(internet layer)
        • OSI의 네트워크 계층과 유사
      • 전송 계층(transport layer)
        • OSI의 전송계층과 유사
      • 응용 계층(application layer)
        • OSI모델의 세션 계층/ 표현 계층/ 응용 계층을 합친것과 유사
  • 정리 : 

출처 : https://seokhee0516.tistory.com/entry/TCPIP-%EB%9E%80

3️⃣ 캡슐화/ 역캡슐화

  • 네트워크 참조 모델에서의 송수신 :
    • 패킷은 송신지 입장에서는 가장 높은 계층에서 가장 낮은 계층으로 이동하고, 수신지 입장에서 가장 낮은 계층에서 높은 계층으로 전달
  • 캡슐화
    • 송신과정에서 이루어짐
    • 상위 계층으로 내려받은 패킷을 페이로드로 삼아, 프로토콜에 걸맞는 헤더/트레일러를 붙여 하위 계층으로 전달
    • 이렇게 헤더 및 트레일러를 추가해나가는 과정을 캡슐화(incapsulation) 또는 인캡슐레이션이라고 부름
  • 역캡슐화
    • 수신 과정에서 이루어짐
    • 캡슐화 과정에서 붙였던 헤더 및 트레일러를 각 계층에서 확인하고 제거하는 과정을 역캡슐화(decapsulation) 또는 디캡슐레이션이라고 부름
  • PDU(Protocol Data Unit)
    • 각 계층에서 송수신되는 메시지의 단위를 말함
    • 주로 전송 계층 이하의 메시지를 구분 
      OSI 계층 PDU
      응용 계층 데이터(data)
      표현 계층 데이터(data)
      세션 계층 데이터(data)
      전송 계층 세그먼트(segment), 데이터 그램(datagram)
      네트워크 계층 패킷(packet)
      데이터 링크 계층 프레임(frame)
      물리 계층 비트(bit)
  • 정리 

출처 : 혼자 공부하는 네트워크(무단 재배포 금지)

  • 💡OSI 7계층, TCP/IP 계층은 반드시 지켜야하는 것은 아니다! 가이드라인일 뿐
    • 엄격한 규칙이 아닌, 부드러운 가이드라인 → 참조 모델의 의미처럼 참조하기위해 만들어짐
    • 새로운 프로토콜, 장비 → 완벽하게 대응 되지 않는 경우가 많음. 여러 계층을 포괄하는 프토토콜 네트워크 장비가 존재
    • 또한 네트워크 참조 모델에서 속한 대상이 주체이지, 모델이 주체는 아님
    • OSI는 이론적 설계를 위해 참고하는 모델, TCP/IP는 실용적 구현을 위한 참조

 

  • 💡네트워크 성능 지표
    • 트래픽(traffic) : 네트워크의 정보량을 의미
    • 과부하(overhead) : 노드가 특정 시간 동안 처리해야할 정보가 많음 → 성능 저하 유발 가능
    • 이러한 성능을 체크해주는 지표가 여럿 존재
    • 처리율(throughput) :
      • 단위 시간당 네트워크를 통해 실제로 전달되는 정보량
      • 단위 : bps, Mbps, Gbps, pps emd 등 사용
      • 실시간성이 강조된 지표 → 특정 노드가 얼마 만큼 트래픽을 처리 중인지 판단
      • 평균값 혹은 변화된 값을 그래프로 표현
    • 대역푝(bandwith):
      • 단위 시간 당 통신매체를 통해 송수신 할 수 있는 최대 정보량을 말함
        • 신호처리영역의 대역폭(주파수)와 다른 의미
  • 💡패킷 손실
    • 패킷 손실(packet loss) : 송수신되는 패킷이 손실된 상황을 의미
    • 단위 : 전체 패킷 중 유실된 패킷을 백분위로 표현
    • cmd 명령어 ping으로 확인 가능

Reference :