본문 바로가기

카테고리 없음

[네트워크] 4. Network layer

반응형

Network layer

- Data plane (데이터 전송 담당) : forwarding, per-router function

- Control plane (전송 제어 담당) : routing, network-wide function, 

 

Forwarding, Routing

- Forwarding : 현재 라우터에서 적당한 라우터로 패킷을 어떻게 전송할 것인가.

- Routing : source로부터 destination까지 패킷의 route를 어떻게 결정할 것인가.


Per-router, SDN

- Per-router function: local의 하나의 라우터에서만 작동

- SDN(Software-Defined networking) : 원격의 서버에서 실행됨. data plane은 라우터에서, control plane은 원격서버에서 작동


Best-effort

: IP는 best-effort. error recovery, flow control 안해줌. 최선이지만 unreliable. 오직 데이터 forwarding만 담당.

 

IPv4

32bit IP 주소 이용.


Input port
Switching fabric
Output port
Destination-based forwarding
Longest prefix match

Buffer management: tail drop, priority


HOL (Head OF Line) blocking

같은 queue에 있는 패킷이 첫번째 패킷 때문에 지연되는 현상

패킷의 처리 속도가 저하됨.

 

Packet scheduling

- FCFS, Priority, RR, WFQ

 

IP fragmentation/reassembly

- 각 네트워크마다 수용할 수 있는 패킷을 길이가 달라서 조각으로 쪼갬.

- MTU(Maximum Transmission Unit) : 내가 가지고 있는 IP의 datagram이 MTU보다 크면 fragmentation을 통해 MTU이하의 크기로 쪼개어 보낸다. 헤더크기 포함.

- path MTU : 네트워크마다 MTU 다름. 그래서 가장 작은 MTU 찾으면 어느 네트워크에서나 보낼 수 있다.

 

IP addressing

- Classful와 Classless가 있는데 요즘은 리스가 더 많다.

- A클래스 : 0으로 시작. 0과 127 빼고, 1.0.0.0 ~ 126.0.0.0 총 126개 부여

- B클래스 : 10

- C클래스 : 110

 

Subnet

네트워크 IP를 할당받은 AS가 가신의 구역 내에서 다시 물리적인 네트워크 환경을 나누기 위해 필요한 것.

 

CIDR (Classless Inter-Domain Routing)

- class를 구분하지 않지 때문에 어디까지가 network ID인지 알려줘야함. 그래서 IP주소를 pair로 나타냄. (IP주소, network ID 비트수)

 

DHCP (Dynamic Host Configuration Protocol)

- 동적주소할당 프로토콜

1) DHCP discover : 단말이 DHCP를 찾음. 자기는 0.0.0.0으로 임의설정하고, 255.255.255.255로 보내서 자기 서브넷 안에 브로드캐스팅함

2) DHCP offer : DHCP 서버가 자기 IP주소 알려주면서 사용할 수 있는 IP주소 알려줌

3) DHCP Request : 단말이 그 IP주소 사용하고 싶다고, 얼마나 사용할지 등의 정보 포함해서 요청

4) DHCP Ack : DHCP 서벅가 단말에게 해당 IP주소 허락함을 알리고, 사용기간 등에 대해 알려줌

 

NAT (Network Address Translation)

- 제한된 IPv4의 주소를 해결하기 위해 등장. 이것 때문에 IPv6로 잘 안넘어가게 됨.

- IP패킷의 TCP/UDP 포트 숫자와 소스, Destination의 IP주소를 재기록하면서 라우터로 주고 받음.

- https://www.stevenjlee.net/2020/07/11/%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-nat-network-address-translation-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EC%A3%BC%EC%86%8C-%EB%B3%80%ED%99%98/

 

IPv6

- FEDB:0000:0000:0000:3243:0000:0000:ABCD

- 마지막 32bit dot-decimal 가능 (::127.23.45.88)

 

Tunneling

:  IPv4를 쓰는 구간을 따로 저장해놓고 그 부분에서 IPv4의 헤더를 붙여 IPv6의 헤더와 그 페이로드를 묶어 하나의 페이로드로 간주하는 것이다. 그리고 tunnel이 끝나면 IPv4의 헤더를 떼어내고 전송한다.

 

Generalized forwarding

Match plus action

OpenFlow

 

 

ICMP, IGMP, OSPF

- 모두 네트워크 레이어에 존재하지만 IP를 도와주는 입장이고 페이로드에 들어가는 정보라서 실질적으로는 TCP, UDP랑 트랜스포트 레이어의 프로토콜 기능을 수행

- ICMP : IP protocol은 error recovery 기능을 지원하지 않아서, error를 reporting해주는 ICMP Protocol 필요.

- OSPF (Open Shortest Path First) : 라우팅

- IGMP : 멀티캐스트

728x90
반응형