본문 바로가기
카테고리 없음

Net Work Wook Weok WeeK 워윅?

by codeomni 2024. 10. 11.
반응형

1. 라우터

2. 프로토콜

3. IP - IPv4, IPv6








네트워크 계층의 역할, IP주소로 송수신지 대상 설정, 경로는 라우팅

라우터

논리적, 또는 물리적으로 분리된 망 사이를 지나는 패킷의 위치에 따라 최적화된 경로(루트, route)를 지정하는 기능.

네트워크 계층(L3 스위치), 상하위 통신망 연결

  • 코어 라우터: KT 등의 인터넷 서비스 제공자(ISP)가 상호 ISP 네트워크를 서로 연결하는 것.
  • 센터 라우터: 전국 네트워크 WAN 회선을 거쳐 회사의 본점과 회사의 지점을 서로 연결하는 장비로서 기업체 등에서 센터 장비로 사용하는 것.
  • 엣지 라우터: 전국 네트워크 또는 각각 지점, 영업소의 네트워크를 WAN 회선에 연결하는 단말 장비.

mac 주소로 네트워크에 속한 호스트의 위치를 특정하기 어렵다.

→ 2계층에서 사용하고, 로컬 네트워크에서만 유효

→ 동일한 네트워크 세그먼트에서 통신

→ 위치 추적 기능이 없고

→ 동일한 제조사 - nic를 제조한 회사에서 할당하는 데, 이때 비슷한 mac 주소만 가지고만 있고 물리적 위치를 ㄹ알 수 없다.

IP - 논리주소 - 호스트에 직접 할당 가능, DHCP로 특정 프로토콜을 통해 자동 할당 가능, 복수 IP도 가능.

MAC - 물리 주소 - NIC로 할당되는 고정된 주소

 


인터넷 프로토콜

IPv4. IPv6

4바이트 8개 → 32개 ⇒ 0~255 범위짜리 4개 ⇒ 각 자리는 10진수 .

옥텟

IPv4에서 **옥텟(Octet)**은 IP 주소를 구성하는 8비트의 단위

옥텟은 0부터 255까지의 값

 


IP 기능

1. IP 주소 지정

송수신 대상을 지정하는 것

2. IP  단편화

패킷의 크기가 MTU라는 최대 전송 단위보다 클 경우 MTU 크기 이하로 여러 패킷으로 나누는 것.

3. MTU
전송 가능한 IP 패킷으 최대 크기, 1500 바이트,  IP헤더 포함


IPv4

IPv4 패킷은 헤더와 데이터로 구성

===============================================================
| Version (4 bits) | IHL (4 bits) | Type of Service (8 bits)  |
|-------------------------------------------------------------|
|                   Total Length (16 bits)                    |
|-------------------------------------------------------------|
|                 Identification (16 bits)                    |
| Flags (3 bits) |     Fragment Offset (13 bits)              |
|-------------------------------------------------------------|
|    Time to Live (8 bits)    |     Protocol (8 bits)         |
|-------------------------------------------------------------|
|                      Header Checksum (16 bits)              |
|-------------------------------------------------------------|
|                      Source IP Address (32 bits)            |
|-------------------------------------------------------------|
|                   Destination IP Address (32 bits)          |
|-------------------------------------------------------------|
|                    Options (if any) (variable)              |
|-------------------------------------------------------------|
|                            Data                             |
===============================================================

 

 

  • Version: IPv4 패킷임을 나타냅니다(값은 4).
  • IHL (Internet Header Length): IP 헤더의 길이를 32비트 워드 단위로 나타냅니다. 기본적으로 5(20바이트)로 설정됩니다.
  • Type of Service (ToS): 패킷의 우선순위나 QoS(서비스 품질)를 지정하는 데 사용됩니다. 오늘날에는 대부분 QoS 또는 DSCP(Differentiated Services Code Point)로 사용됩니다.
  • Total Length: 패킷의 전체 크기(헤더 + 데이터)를 나타냅니다. 최소 20바이트부터 최대 65,535바이트까지 가능합니다.
  • Identification: 패킷을 식별하는 값입니다. 단편화된 패킷을 다시 재조립할 때 사용됩니다.
  • Flags: 세 개의 비트로 구성되어 있으며, 주로 단편화 여부를 제어합니다.
    • DF (Don't Fragment): 1 - 단편화X, 2 - 단편화O
    • MF (More Fragments): 1 - 더 많은 단편이 있음, 0 - 마지막 패킷
    • |---------------------------------------|
      |   미사용(0)  |     DF    |     MF     |
      |---------------------------------------|
  • Fragment Offset: 단편화된 패킷의 상대적인 위치를 나타냅니다. 초기 데이터부터 몇 번째에 해당되는지. 재조립에 사용.
  • TTL (Time to Live): 패킷이 네트워크를 통과할 수 있는 최대 홉(hop) 수를 나타냅니다. 패킷이 라우터를 거칠 때마다 TTL 값이 감소하며, 0이 되면 패킷은 폐기됩니다.
  • Protocol: 상위 계층 프로토콜을 지정하는 필드입니다. 예를 들어, TCP는 6, UDP는 17로 설정됩니다.
  • Header Checksum: IP 헤더에 오류가 있는지 확인하기 위한 값입니다. 데이터 무결성을 보장합니다.
  • Source IP Address: 송신자의 IPv4 주소입니다.
  • Destination IP Address: 수신자의 IPv4 주소입니다.
  • Options: 선택적 필드로, IP 프로토콜에 확장 기능을 추가할 때 사용됩니다. 일반적으로 사용되지 않으며, 패딩(padding)으로 채워질 수 있습니다.

IPv6

128비트 길이의 주소를 사용하며, 이는 16진수로 표현되고 8개의 그룹으로 나뉘어 **콜론(:)**으로 구분됩니다. 각 그룹은 16비트(4자리의 16진수)로 구성되어 있으며, 총 32자리의 16진수로 나타냅니다. IPv6 주소는 여러 가지 형식으로 간단하게 표현할 수 있으며, 연속된 0을 축약하는 규칙도 있습니다.

기본 IPv6 주소 형식

IPv6 주소는 다음과 같은 기본 형식을 가집니다:

2001:0db8:0000:0000:0000:ff00:0042:8329
  • 2001: **16비트(4자리 16진수)**로 표현된 첫 번째 블록.
  • 0db8: 16진수로 두 번째 블록.
  • 나머지 8개 블록도 동일한 형식으로 이루어져 있으며, 각 블록은 16비트(2바이트)입니다.
  • 총 8개의 16비트 블록이므로, IPv6 주소는 128비트 길이를 가집니다.

 

축약 표기법

IPv6 주소는 긴 0의 연속이 포함되는 경우가 많기 때문에, 이를 줄이는 축약 표기법이 있습니다. 이 규칙에 따라 IPv6 주소를 더 간결하게 표현할 수 있습니다.

  1. 앞부분의 0 생략:
    • 각 16비트 그룹 내에서 앞부분의 0은 생략할 수 있습니다.
    • 예시: 2001:0db8:0000:0000:0000:ff00:0042:8329는 2001:db8:0:0:0:ff00:42:8329으로 축약됩니다.
  2. 연속된 0 그룹 축약:
    • 여러 개의 연속된 0 그룹이 있을 때, 이를 **::**로 한 번만 축약할 수 있습니다. 다만, 주소 내에서 이 축약을 한 번만 사용할 수 있습니다.
    • 예시: 2001:0db8:0000:0000:0000:ff00:0042:8329는 2001:db8::ff00:42:8329으로 축약됩니다.
    • 중간의 연속된 0들이 ::로 대체되었습니다.
  3. 하나의 0 그룹 축약:
    • 0000이 하나만 있을 경우에도 ::로 줄일 수 있습니다. 예를 들어 0000이 연속적으로 나오지 않더라도 하나의 그룹은 생략 가능합니다.
    • 예시: 2001:0db8:0000:0000:0000:ff00:0042:8329를 2001:db8::ff00:42:8329으로 축약할 수 있습니다.

 

=====================================================================
| Version (4 bits) | Traffic Class (8 bits)  | Flow Label (20 bits) |
|-------------------------------------------------------------------|
|                   Payload Length (16 bits)                        |
|-------------------------------------------------------------------|
|           Next Header (8 bits) | Hop Limit (8 bits)               |
|-------------------------------------------------------------------|
|                      Source Address (128 bits)                    |
|-------------------------------------------------------------------|
|                  Destination Address (128 bits)                   |
=====================================================================

 

  • Version (4 bits): IPv6의 버전 번호, 항상 6으로 설정됩니다.
  • Traffic Class (8 bits): 패킷의 우선순위 또는 서비스 품질(QoS)을 나타냅니다.
  • Flow Label (20 bits): 데이터 플로우를 식별하기 위한 필드로, 패킷 스트림을 구분하여 처리할 때 사용됩니다.
  • Payload Length (16 bits): 헤더를 제외한 데이터(페이로드)의 길이를 바이트 단위로 나타냅니다.
  • Next Header (8 bits): 이 필드는 다음에 오는 헤더(확장 헤더나 상위 계층 프로토콜)를 나타냅니다. 예를 들어, TCP는 6, UDP는 17로 설정됩니다.
  • Hop Limit (8 bits): 패킷이 네트워크를 통과할 수 있는 최대 홉 수를 나타냅니다. (IPv4의 TTL과 유사하게 동작)
  • Source Address (128 bits): 송신자의 IPv6 주소입니다.
  • Destination Address (128 bits): 수신자의 IPv6 주소입니다.

ARP

상대 호스트의 IP 주소는 알지만, MAC 주소를 알지 못할 경우 사용

ARP 요청 -> ARP 응답 ->  ARP 테이블 갱신

 

1. ARP 요청

ARP 요청의 패킷을 전송 -  네트워크 내 모든 호스트에게 브도드캐스트 메시지 전송 

 

 

2. ARP 응답

해당 호스트만 수신, 나머지는 무시

ARP 응답 - MAC 주소를 담은 메시지를 전송 ( 유니캐스트 )

 

3. ARP 테이블 갱신

ARP 테이블 - 네트워크 장치가 IP 주소와 MAC 주소의 매핑 정보를 저장하고 관리하는 테이블

일정 시간 삭제, 이의로 삭제, 테이블에 존재 시 ARP 요청X

 

IP 단편화

여러 패킷으로 쪼개지면 전송해야 할 헤더 증가와 함께 트래픽 증가, 대역폭 낭비가 발생

 

패킷의 크기는 호스트의 처리 가능한 MTU 크기와, 라우터가 처리 가능해야 한다.

-> 경로 MTU 크기 만큼의 데이터를 전송

-> 경로 MTU 발결


 

2. IP 주소

테트워크에서 장치를 식별하기 위해 사용하며, 네트워크 주소와, 호스트 주소로 구성됩니다.

서브넷 마스크를 통해 결정되며, 네트워크 주소는 네트워크 자체를 식별하고, 호스트 주소는 네트워크 내에서 개별 장치를 식별합니다.

 

네트워크 주소

동일한 네트워크에 속한 모든 장치가 공유하는 부분, IP 주소의 앞쪽 비트들이 네트워크 주소를 구성

서브넷 마스크의 1로 설정된 비트 부분을 나타냅니다.

 

호스트 주소

네트워크 내에서 각 장치를 고유하게 식별하는 부분입니다.

서브넷에서 0으로 표시된 비트들이 호스트 주소를 나타냅니다.

 

서브넷 마스크

네트워크 주소와 호스트 주소를 구분하는데 사용, IP 주소와 같은 32비트 형식

 

서브넷팅

앞의 1인 부분은 네트워크 주소, 0인 부분은 호스트의 주소로 사용되며, IP 주소와 논리곱(AND)을 수행하여 네트워크 주소를 구할 수 있습니다.

A 클래스

B 클래스

C 클래스

 

 

서브넷 마스크의 형식

십진수 표기법

ex) 255.255.255.0

 

주소 공간을 모두 사용할 수 있는 것은 아니다.

호스트 주소가 전부 0인 IP주소와 호스트 주소가 전부 1인 IP 주소인 네트워크 주소와, 브로드캐스트 주소로 사용하고 나머지만 사용가능하다.

따라서 255.255.255.0 -> 192.168.125.0 과 192.168.125.255를 제외한 256 - 2 = 254 개가 사용 가능하다.

 

 

 

 

CIDR(Classless Inter-Domain Routing) 표기법

/8, /16 등

 

 

클래스리스 주소 체계

클래스 개념 없이 클래스에 구애받지 않고 네트워크 영역을 나눠서 호스트에게 IP 주소 공간을 할당

 

 

공인 IP 주소, 사설 IP 주소

공인 IP 주소

전 세게 고유한 IP 주소

인터넷을 사용 시 사용, ISP 또는 할당 기관을 통해 할당 받을 수 있다.

 

사설 IP 주소 사설 네트워크에서 사용하기 위한 IP 주소, 외부 네트워크에 공개도지 않는 네트워크를 의미

 

사설 IP 주소의 할당 주체는 일반적으로 라우터

 

 

 

 

 

 

 

댓글