라우터는 들어온 패킷들을 전송만 해주는 Forwarding과 어디로 보낼지 결정하는 Routing 기능이 있습니다.
여기서 결정하는 방법은 forwarding table을 보고 결정해 줬습니다.
이러한 방법을 Destination - based forwarding이라고 합니다.
다음은 더 발전된 개념인 generalized forwarding이 있습니다.
header field의 값을 통해서 다양한 작업인 drop, copy, modify, log packet 수행하는 것입니다.
Flow table
header field의 값을 활용해서 동작을 처리하는 것이 generalized forwarding입니다.
Flow table에는 match와 action이 있습니다.
패킷의 헤더값들을 매치해서 어떠한 pattern을 만들고, 패치가 된 패킷에 대해서
특정한 Action을 수행하도록 합니다.(drop, forward, modify 등등)
-우선순위를 정해서주는 prority
-bytes와 packet을 표시해 주는 counter
이러한 정보들을 가지고 일반화된 규칙을 만든다.
위 그림을 분석하면,
첫 번째 경우는 2번 포트로 보내라
두 번째 경우는 drop해라
세 번째 경우는 컨트롤러로 보내라. 즉 이러한 것들을 동작하는 IP가 정해져 있다.
OpenFlow
Match 값을 바탕으로 Action을 정해서 실행, Action에는 Action값들에 있는 행동들 중 하나가 실행된다.
Match + action
Router -> 특정 output port로 forward
- match : longest destination IP prefix
- action : forward
Firewall -> 특정 IP주소나 port number를 가지고 drop or block
- match : IP address and TCP/UDP 포트번호
- action : permit , deny
Switch -> MAC 주소를 가지고 특정 port로 보내는 것
- match : destination MAC address
- action : forward or flood
NAT -> IP주소에 대해서 rewrite 하는 것
- match : IP 주소와 포트번호
- action : rewrite address and port
Middleboxes
수신자와 목적지 사이의 데이터 경로상에서 일반적인 IP 라우터의 표준 기능과는 별개의 기능을 수행하는
중간 장치, (라우터랑 IP노드를 제외)
- NAT
- Application-specific
- service providers, institutional, CDN
- Firewalls, IDS
- Load balancers
- Caches
'Computer Science > Network' 카테고리의 다른 글
[컴퓨터망]- SDN control plane (0) | 2023.06.14 |
---|---|
[컴퓨터망]-라우팅 알고리즘 (0) | 2023.06.13 |
[컴퓨터망]-NAT & IPv6 (3) | 2023.06.12 |
[컴퓨터망]-IP addressing,IPv4,CIDR,DHCP,Subnet (0) | 2023.06.12 |
[컴퓨터망] - IP datagram format (2) | 2023.04.15 |