[Network] 네트워크 핵심이론1

네트워크 학습 입문

Layer와 Layerd 구조

image
  • 하나의 칸을 요소라고 본다.
  • 구성요소들 간의 관계를 표현하기 위해 도식화한다.
  • 요소 + 관계를 정의하는 것 -> 설계
  • Layered 구조 -> 존립이 의존적이다
    • 4는 3을 전제한다. 3은 4의 전제조건

User mode, Kernel mode

image
  • User mode -> process
  • Kernel mode -> OS
  • Socket을 여는 주체는 프로세스

OSI 7 Layer

  • 의존적 관계가 성립하는 프로토콜 즉, 규칙을 계층구조로 해서 의존관계가 성립한 것이다.
image
  • 식별자
    • L2 Frame에서는 MAC 주소
      • 48bit이며 보통 16진수로 표기
      • NIC 식별
      • ex. 컴퓨터에 LAN이 3개면 MAC 주소도 3개
    • L3 Packet에서는 IP 주소
      • IPv4에서는 32bit
      • 8bit x 4 10진수(8bit)씩 끊어 점으로 구분해 표기
      • host에 대한 식별자
    • L4 수준에서는 Port 번호
      • 16bit 양의 정수
      • 인터페이스(L2), 서비스(L3, L4), 프로세스(pc, server..)에 다의적으로 사용되는 식별자
  • 가상화 : 하드웨어를 소프트웨어로 구성하는 기술
    • 인터넷이라는 논리 네트워크는 LAN으로 구현될 수 있는 물리 네트워크 위에서 존재하는 네트워크

Host

image
  • Computer + Network -> Host
  • Switch
    • Network 그 자체를 이루는 host (Infrastructure)
    • Router, IPS, Tab, Aggregation
  • End-point
    • 네트워크 이용주체
    • 단말기라고도 부름
    • Client, Server, Peer (서비스 소모자이자 서비스 제공자가 동시에 될 때)

Switch

  • Network를 고속도로 망이라고 생각
    • 자동차 : Packet
    • 도로 : 인터넷
    • 교차로 : Router (switch)
    • 이정표 : Routing Table
  • 교차로에서는 경로를 선택해야 한다.
    • 경로 선택 = Switching (인터페이스 선택)
    • 경로 선택에는 근거 (이정표)가 있어야 한다.
    • IP 주소로 Switching 한다 => L3 Switching
    • MAC 주소로 Switching 한다 => L2 Switching
    • Port 번호로 Switching 한다 => L4 Switching
    • HTTP로 Switching 한다 => L7 Switching
  • 항상 고민해야 할 주제는 비용 => Metric 값

NIC, (L2) Frame, LAN card, MAC

  • NIC(Network Interface Card) = LAN(Local Area Network) 카드
    • LAN 카드 : 가장 작은 규모의 네트워크
      • ex, 홈 네트워크 (공유기 - IPTV)
    • 유/무선 NIC이 있지만 굳이 구별 X
    • NIC은 H/W이며 MAC 주소를 갖는다
      • 즉, MAC 주소는 NIC의 식별자

L2 Access Switch

  • End-point와 직접 연결되는 스위치
  • MAC 주소를 근거로 스위칭

    image

    • Link-up <-> Link-down
    • uplink : LAN 케이블을 꽂았을 때 상위 어딘가로 나아가면 uplink이다

L2 Distribution Switch

  • L2 Access Switch를 위한 스위치
  • VLAN(Virtual LAN) 기능을 제공한다

    image

Broadcast (=/= Unicast)

  • Broadcast 주소와 범위
    image
    • Broadcast는 꼭 필요할 때만 써야되는 제한적인 통신이다.
    • 전체 네트워크에서 한 개가 브로드캐스팅하는 순간, 나머지는 통신 불가 => 브로드캐스팅 최소화 필요
    • Broadcast의 범위를 줄이면 네트워크 효율 증가
    • but. broadcast가 꼭 필요한 경우 동작하지 않는다는 문제도 있다

LAN, WAN, MAN

image


IPv4 주소의 기본 구조

image
  • 32bit로 구성
  • 8bit씩 나누어서 Dot(점)으로 구분한다.
  • ex
    • Network ID : 서울시 강남구 역삼동
    • Host ID : ~번지

L3 Packet

  • Packet -> L3 IP Packet
  • HeaderPayload로 나뉜다. image

    • Header는 송장, Payload는 택배내용물
    • Header에는 Src(출발지) -> Dst(목적지)가 담겨있다
  • 최대 크기는 MTU
    • 1500bytes = 1.4xKB

En/Decapsulation

  • Encapsulation : Header + Payload에 무언가를 씌워 Header + Payload를 붙이고 계속….
  • Decapsulation : 지우고 …. 지워서 Header + Payload를 꺼내는 것
    image


계층별 데이터 단위

image
  • Socket - Stream
    • Stream은 단위 X, 덩어리다
    • 시작은 있는데 끝이 어딘지 정의 X
    • 연속적으로 이어진 크기를 알 수 없는 큰 데이터
  • TCP - Segment
    • 최대크기 MSS - 1460bytes
  • IP - Packet
    • 최대크기 MTU - 1500bytes
  • L1~L2 - Frame

  • Stream이 4MB의 전체 데이터를 가진 경우, Segement와 Packet의 최대 크기를 넘긴다.
    • Stream을 분할한다 –> Segmentation
    • 분할한 것을 MTU 사이즈로 인터넷에서 유통한다.

패킷의 생성, 전달, 소멸

image
  1. 책(Data)를 택배(Packet)에 담는다
  2. 택배(Packet)을 기사님(Gateway)에 전달한다.
    • 택배(Packet)에 송장정보를 붙인다.
    • 송장주소(Src -> Dst), 이름(발신자, 수신자 - Port 번호)
  3. 기사님은 택배라는 물류체계에 의해서 택배를 옮긴다.
    • gatewaypacketrouting한다.
    • IPv4의 Dst를 보고 집(host)를 찾아간다.
    • 이름(Port 번호)를 보고 집(host) 내부에서 어떤 프로세스인지 선택해서 데이터를 전달한다.
image


image
  • Network 수준의 장애 (TCP 통신 장애)
    1. Loss (유실) - Net 상
      • 데이터가 유실된다
    2. Re-transmission + ACK-Duplicated - Net, End-point 상
      • 1,2를 보내고 ACK #3을 기다리는데, ACK #3이 안오면 다시 1,2를 보내게 된다(재전송)
      • 1,2를 받았는데 또 오니까 ACK #3을 다시 보냄 (ACK-Duplicated)
    3. Out of order - Net 상
      • 1 -> 2-> ? -> 4
    4. Zero window
      • End-point 단계에서 Application 프로세스가 데이터를 빨리 안비워서 발생
      • Buffer의 공간이 full이 된다


외워서 끝내는 네트워크 핵심이론 - 기초를 참고하였습니다

© 2021. All rights reserved.

yaejinkong의 블로그