Network

Computer Network _ Network Layer_data plane

프레딕 2024. 6. 8. 17:37
728x90

학교 시험대비 글 정리합니다

Network Layer

- Forwarding(data plane) : 패킷들을 라우터의 input link에서 적절한 output link로 내보내는 것

- Routing(control plane) : 패킷을 보낼때 루트를 결정하는 것

 

- Data plane : 어떻게 router input port에 도착한 데이터그램이 output port로 Forwarding되는지 결정

- Control plane : 데이터그램이 어느 라우터들을 걸쳐 갈지 결정

 

Data Plane

I. input port functions

- Destination based forwarding : 그냥 냅다 destination 주소 범위만 보고 판단 -> 구간 많아지면 테이블 더러워지고 lookup시간 오래걸림

- Longest Prefix matching : Destination 주소 범위를 이진수로 나타낸 후 가장 긴 접두사를 매칭함

 

II. Switching fabris

input link로부터온 packet을 적절한 output link로 이동시킴

N*R의 rate가 이상적임 (N:인풋, R:전송속도)

- Memory : CPU로 통제, 메모리에 패킷이 복사됨, 메모리 크기에따라 속도 제한

- BUS : 데이터그램이 전송될때 버스를 독점함(다른 얘들은 기다렸다 다음차례 보내야함)

- Interconnection network : N*N의 multistage switch사용, 병렬성을 활용함, 고정길이 셸로 조각화했다가 나갈때 다시 데이터그램으로 변환, 평행한 planes를 구성->확장성 용이

 

III. Output port

버퍼->링크로 갈때 버퍼링 걸릴수도 있음

버퍼링 걸리는 시간

C : 링크의 용량

N : flow (얘 높을수록 좋아요)

Packet scheduling

1. FCFS : 순서대로

2. Priority : 우선순위

3. Round Robin : 클래스별로 돌아가면서

4. Weighted Fair Queuing : 가중치 두고 가중치 마다 bandwidth 달라짐

 

Ip protocol

 

 

IP는 인터페이스에 부여됨

- 인터페이스 : host/router가 물리적으로 연결된 것

- 서브넷 : 물리적으로 연결되어있는 디바이스 인터페이스들(라우터를 거치지 않고)

IP주소 = Subnet Part + Host Part

CIDR : IP주소를 a.b.c.d/x 이렇게 지정하는 방법

 

DHCP : 네트워크 연결되어있을 때 IP주소를 동적으로 얻기

DHCP는 라우터에 공동 위치되어있음 (2번의 handshaking을 통해 ip를 받음)

[DHCP 예시]

1.자신의 ip주소, 첫번째 라우터 주소와 DNS서버의 주소를 얻으려함

2. ethernet으로 encapsulated함

3. FFFFFFFFFFFF 를 dest로 해서 전파

4. DHCP 서버에서 해당되면 다시 캡슐화하고 원래 보냈던곳으로 reply

 

Hierarchical addressing

만약 subnet주소를 옮기면은 longest prefix에 의해 일단 전에있던곳까지 요청은 감

옮긴 subnet주소는 따로 광고해서 거기까지 요청

 

NAT : network address translation

-모든 디바이스는 다른 디바이스에 연결될 때 하나의 ip 주소만으로도 연결 가능함

-로컬 네트워크 주소 변경이 가능함

-로컬 네트워크 변경없이 ISP 변경이 가능함

(source IP address, port#) -> (NAT IP address, new port #)

이 쌍이 테이블에 저장되어있어야 함

 

Ipv6

- 128비트

- checksum, fragmentation/reassembly, option 없음

 

Ipv4 -> Ipv6

Ipv4 datagram에다가 Ipv6 datagram을 집어넣음

Ipv6를 읽을수있는 라우터로 가는 Tunneling 작업이 필요함

 

Generalized Forwarding : match plus action

matching하고 action취하는거

- 많은 헤더필드 사용해 action 결정(drop, copy, modify, log packet)

- flow : 헤더 필드에 의해 결정

- rules : match, actions, priority, counters

 

OpenFlow : flow table entries

예시 1

상황에 따라 NAT, Router, Switch, Firewall 기능 수행

 

MiddleBox

독점적인 하드웨어 솔루션

어떻게 구현되었는지 모르게 해야함

 

인터넷은 simple하고 ip protocol이 좁은 허리를 갖고있어야하고 지능적이고 복잡한 네트워크엣지를 가져야함

728x90
반응형