끄적끄적 코딩
article thumbnail
Published 2019. 10. 28. 18:03
[네트워크] 네트워크 계층 네트워크

네트워크 계층의 핵심은 크게 전달(forwarding)경로(Routing)입니다.

제어 평면 (Routing) S/W로 동작하며,
데이터 평면 (Forwarding) H/W로 동작합니다

SDN (Software define Network)
모든 라우터에 제어평면을 하나의 서버에 둬서 통제하는 방식입니다.
라우터는 세밀한 조절이 안되지만 SDN은 컨트롤이 가능합니다.
자율형 구조, 분산형

네트워크 계층은 ATM을 이용해서 여러가지를 보장해줄 수 있는데 가격이 비싸고 효율은 좋지 않습니다.
그에 반해 IP는 신뢰적 전송, 순서, 보안, 지연보장, 대역폭을 전부 보장하지 않지만
심플하다는 장점이 있습니다. 이를 Best effort Service라고 합니다.

라우터의 내부구조

라우터는 4가지로 구성이 됩니다.
1. Input Port
2. Output Port
3. Routing Processer
4. Switching Fabric

Input Port는 전기적 신호를 디지털 신호로 변경하고 해석하며, 버퍼에 저장하고 Switching Fabric으로 전달합니다.
Switching Fabric은 n번 포트 신호를 m번 포트로 전달하는 역할을 합니다.
Output Port는 내용을 받아서 해석하고 전기적 신호로 다시 변경하여 보냅니다.
Routing Processer는 Switching Fabric에서 경로를 지정해줍니다.

Switching FabricMemory, Bus, Crossbar 중 하나로 이루어져있습니다.

Memory는 가격이 싸고 듀얼포트를 사용하면 읽고 쓰는것이 양쪽에서도 가능합니다. 오래된 방법입니다.
               CPU에 따라 성능이 다르며, 최초의 라우터입니다.
Bus는 컴퓨터구조에서의 모양과 동일하며, Memory보다는 비싸고 덜 오래된 방법입니다.
              Memory와 Bus는 한 싸이클에 하나밖에 처리하지 못한다는 단점이 있습니다.
CrossBar는 Memory와 Bus에 비해 최신 방법이며 가격이 비쌉니다. 동시 처리가능 하다는 장점이 있지만,
               동시 처리를 항상 보장해주지는 않습니다. 대표적으로 베니안 네트워크가 있습니다.

롱기스트 주소 매칭
목적지 주소를 포워딩 테이블에 매칭을 할 때 가장 길게 매칭이 되는 엔트리를 선택하는 방식입니다.
롱기스트 주소 매칭을 사용하는 이유는 인터넷 주소 할당이 네트워크 별로 할당이 안되고 
중구난방으로 할당이 되어서 엔트리가 너무 많아졌기 때문입니다.

TCAM 메모리 
검색이 빠릅니다. 비싸며, 라우터가 비싼이유이기도 합니다. 
주소에 값을 주고 주소를 읽는 방식과 달리, 값을 메모리에 쓰고, 값이 저장되어 있다면 받는 방식입니다.

WFQ (Weight Fair Queuing)
큐의 개수나 가중치에 따라서 스케줄링을 하는 방식.
스케줄링에 가장 많이 사용합니다.

RED (Random Early Detection)
패킷이 꽉차는 것을 미리 대처합니다.
어떤 것을 Drop시킬지 정합니다.
AQM 기반

네트워크에 핵심이 되는 Protocol 3가지
IP, RP, ICMP

ipv4 포맷

ipv4 포맷


Version : ipv4인지 ipv6인지를 나타냄 (0100 = ipv4), (0110 = ipv6)
Header Length : 헤더를 나타냅니다.
TOS : 어떻게 처리할지를 적는곳으로 빠르게 처리하거나, 우선적으로 처리할 필요가 있는 경우 사용합니다.
        하지만 현재는 사용되지 않고 다른 용도로 사용됩니다.
Length : 처음부터 끝까지 Byte로 나타냅니다.
ID : 조각을 하나의 패킷이라는 것을 확인하는 용도로 사용합니다.
Flag : 단편화 허용 여부, 단편화 된것인지, 끝부분 3가지를 나타냅니다.
Offset : 단편화에 위치를 저장하는 용도로 사용합니다.
TTL : 데이터가 지속되는 시간입니다. 라우팅 문제로 cycle이 발생할 경우 해결해줍니다.
Upper layer : TCP, UDP를 나타냅니다.
Header Checksum : 오류 체크를 합니다.
S-IP : 출발지 주소
D-IP : 도착지 주소

ICMP패킷 : 라우터가 패킷에 도달하지 못한 경우 출발지에게 알려줍니다.
trace route : TTL을 한개씩 증가하면서 path에 어떤 라우터가 있는지 확인합니다.
도착하면 헤더의 모양이 달라지는 것으로는 TTL과 HCKS이 있습니다.

MTU 링크 계층
프레임이 전달할 수 있는 최대 데이터 양을 의미합니다.

IP Addressing
Class A : Net 8  Host 24    대략 1600만
Class B : Net 16 Host 16   대략 60만
Class C : Net 24 Host 8    대략 2500개 
Class D : MultiCast : 여러곳으로 데이터를 보낼 때 사용
Class E : 실험용 : 소유할 수 없음

브로드 캐스팅 : 서브넷에 있는 모든 호스트에게 데이터를 보냄

CIDR (class less inter domain routing)
클래스의 개념없이 네트워크 길이를 유동적 사용가능
사용하는 이유로는 할당 했지만 사용하지 않는 IP가 많이 생기기 때문입니다.

DHCP (Dynamic Host Configuration Protocol) : 동적 호스트 구성 프로토콜

1. DHCP Discover (브로드캐스팅을 통해 확인) (H->S)
2. DHCP Offer (제안) (S->H)
3. DHCP Request (요청) (H->S)
4. DHCP ACK (확인) (S->H)

ipv4의 문제점은 인터페이스가 증가함에 따라 ip가 부족해짐
대안으로 ipv6NAT가 있음.

NAT = 내부네트워크는 사설로하고 외부네트워크는 공인 IP로 하는 방식
사설 ip = 인터넷이랑 직접 연결할 수 없는 IP

ipv6 포맷

ipv6 포맷

version = 버전을 의미
priority = 고속 처리를 위해 사용
flow label = 같은 flow인지, 5가지 튜플이 같은 패킷의 묶음 (5가지 = 프로토콜, s-ip, d-ip, s-port, d-port)
payload len = 페이로드 길이
next hdr = tcp와 udp를 나타냄
hop limit = 오류 탐지
s-ip = 출발지 주소
d-ip = 도착지 주소

ternel = ipv6를 ipv4로 터널링해서 통신한다. 둘다 라우팅 테이블이 필요함.
terneling = ipv6를 ipv4로 캡슐화 한 것

자율적 라우팅 : 목적지 주소만을 통해서 지정한 경로를 가서 flow control이 안됨
중앙 제어 : 목적지 주소랑 네트워크 저옵를 이용해 통제 가능 ( SDN )

local flow table
header, counter, action

header = 매칭
counter = action을 도움
action = flow 테이블에 매칭이 안될 경우 처리 방법

 

'네트워크' 카테고리의 다른 글

브라우저란 (Browser)  (0) 2021.05.24
네트워크란 (Network)  (0) 2021.05.24
네트워크 구성 요소  (1) 2021.05.22
네트워크 회선  (0) 2021.05.22
네트워크 연결 구분  (0) 2021.05.22

검색 태그