[네트워크] 기초 개념 정리

developer_jennifer·2023년 5월 19일
0

크래프톤 정글

목록 보기
10/29

0. 네트워크

  • 상호 연결되어 있는 사람들이나 사물들로 이루어진 그룹이나 시스템, 사람/사물을 '점'으로 표시하고 그들간의 어떤 관계를 '선'으로 표시한 것

A. 인터넷

  • 점들을 선으로 연결한 덩어리 간의 연결

B. IP(Internet Protocol)

  • 네트워크를 연결하는 프로토콜
    프로토콜은 약속을 의미, 즉 의사소통을 위해 맞춰야 하는 것,
    즉 네트워크를 연결하기 위한 규약을 의미

  • IP는 모래시계의 허리 부분을 이야기 하는 것과 같다.

    • 어떤 서비스(소프트웨어)든 IP로만 구현하면 다양한 물지거 연결 기술로 된 네트워크에서 동작한다.
    • 어떤 물리적 연결 기술이든 IP만 구현하면 다양한 서비스(소프트웨어)를 돌릴 수 있다.

C. 아키텍처(구조)

  • 고려해볼 점
    a. 어떤 컴포넌트가 존재하는 가?
    b. 컴포넌트들은 서로 어떻게 상호 작용하는가?
  1. 아키텍처 스타일 예시
    • 계층형
    • 이벤트 기반
    • MVC
    • 파이프 필터
    • Client-server 형
    • Peer-to-peer 형
    • 마이크로 서비스

1-1. 계층형 아키텍처
Layering(계층화)를 통해 아키텍처 구현

[계층화의 장점]

  • 단순화
    -각 계층은 자기가 제공할 기능만 생각하면 된다.(functionality)
    -각 계층은 자기 바로 아래 계층을 어떻게 쓰는지만 알면 된다.(interface)
  • 문제 해결의 편의성
    -문제가 있는 계층만 디버깅 하면 된다.
    -각 계층이 단순하기 때문에 문제를 해결하기도 쉽다.
  • 진화의 편의성
    -각 계층은 바로 위 계층에 알려준 "어떻게 쓰는지"만 유지하면 된다.
    -그 안에서 자유롭게 기능을 개선/ 추가 가능하다.

[계층화의 단점]

  • 잠재적 비효율성
    -어떤 계층을 건드리면 그것을 사용하는 그 위의 모든 계층이 영향을 받는다.

D. OSI 7계층 모형

E. 컴퓨터 네트워크의 각 계층의 주요 요소

여기서 port는 IP 내에서 애플리케이션 상호 구분(프로세스 구분)을 위해 사용하는 번호이다.
즉, IP 주소가 가리키는 PC에 접속할 수 있는 통로(채널)이다.
ex) ip가 국가라면 port는 국가에 속해있는 항구

  • 계층 구조에서 데이터 처리 TCP/IP
  1. port 번호를 지정하는 법
    -> 주로 사용하는 곳 내에서 port 번호를 정해 놓고 사용한다.

  2. 어떤 ip를 써야되는지 찾는 법
    -> 정해진 ip사용을 하거나 서버 이름을 통해서 ip주소를 찾음

🙄 잠깐! 서버이름을 통해 ip주소를 어떻게 찾을 수 있지? 🙄
💡 DNS를 통해 IP 주소를 찾을 수 있다.

DNS란?
서버 이름을 IP주소로 변환해주는 서비스
DNS 서버 : 서버 이름과 매칭된 IP 주소들을 저장하는 저장소
DNS resolution : 서버 이름으로부터 IP를 알아내는 행동

⚡ DNS resolution의 과정

DNS resolution을 보면 굉장히 많은 과정을 거친다는 것을 알 수 있다. 이런 과정을 간편하게 하기 위해 나온 것이 DNS Caching이다.

DNS Caching은 DNS 네임 서버가 한번 요청된 DNS 질의를 메모리에 저장하여 뒀다가 똑같은 질의에 대해 신속히 처리하는 기능이다.
DNS 정보가 빈번한게 바뀌는 정보가 아니면 충분히 사용 가능하다.

  1. IP에서 MAC을 알아내는 방법
    -> ARP 프로토콜을 사용한다.
    IP는 네트워크를 연결하므로 IP 아래에 있는 MAC은 한 네트워크 안에서 작동한다. 따라서 한 네트워크 내에서 전체 방송을 통해 MAC을 찾는다.

ARP 프로토콜이란?

소프트웨어 적으로 할당된 논리 주소인 IP주소를 실제적인 물리 주소인 MAC 주소로 바꾸어 주는 역할을 하는 주소해석 프로토콜을 의미

F. Network Gateway

Network Gateway는 다른 네트워크로 들어가는 입구 역할을 하는 네트워크 포인트이다.

G. Hop-by-Hop Network

IP를 통해 통신하는 과정으로 데이터 통신망에서 각 패킷이 라우터를 건너가는 양상을 비유적으로 표현한 Network이다.

  • 이때 hop은 영어 뜻 자체로 건너뛰는 모습을 의미한다.

1. Routing과 Forwarding

Routing이란 데이터 전송의 본질적인 부분이 아닌, 컨트롤의 영역이다. 즉, 내가 어떤 선택 가능한 경로들을 가지고 있는가를 의미한다.

Forwarding이란 데이터 전송의 본질적인 영역으로 목적지에 따라서 골라 보내기 때문에 Switching이라고도 한다. 즉, 선택 가능한 경로 중 하나를 골라서 보내는 것을 의미한다.

Domain은 서로 다른 관리 주체의 네트워크이다.

Latency는 송신자가 보낸 데이터가 얼마만에 수신자에게 도달하는 지를 의미한다.
jitter는 Latency의 변화 정도를 의미한다.

이때, Latency가 크면 반응이 늦게 온다는 느낌을 주고 jitter가 오면 자꾸 튄다는 느낌을 준다.

profile
블로그 이전합니다 -> https://heekyoung2000.tistory.com/

0개의 댓글

관련 채용 정보