지난 강의 복습
- 데이터 플레인 : 어떻게 라우팅을 할 것인가
- fragmentaion -> assemble
- address의 계층적 구조 -> host part
- NAT : IPv4의 할당이 끝났음에도 계속 할당받아서 사용 받을 수 있는지 -> address table router
- IPv6 terneling
Generalized Forwarding and SDN
- forwarding을 할때 중앙 SDN서버에서 룰을 주고 그 룰에 의해서 일반화된 forwarding
- match, action
- OpenFlow : SDN을 하기위한 표준
- 외부 어떤 포트로 보낼 것인가? packet에 들어있는 정보 : source
- address가 매칭되는 부분에 대한 값이 header에
- counters : flow가 얼마나 됐는지 counter
- action : 어느 곳에 보낼 것인지, drop을 할 것인지
- local forwarding table : logically- routing controller에 의해 만들어짐
해당하는 인풋에 대한 액션을 다이나믹하게 바꿀 수 있음 -> 소프트웨어로 정의된 네트워크
- OpenFlow data plane abstraction
- 데이터를 간결화
- 헤더 필드에 의해 정의
- 룰을 적용하여 일반화된 forwarding을 함
- pattern : 패킷 헤더 필드안에 매치시킴
- action : drop, forwarding, modify(소스와 목적지를 바꾸는 것이 아니라 다른 것들을 수정하는 것), 매치된 패킷을 controller(중앙집중적인 메인서버)로 전송 -> SDN을 위해 사용되는 패킷들
- priority : 여러개의 패턴이 있는데, 같은 범위안의 겹치는 패턴의 모호성을 없앰
- counters : 어느 곳으로 보냈는지 count하여 네트워크의 traffic volum을 파악
- Flow table : 매치 + 액션, 룰에 대하여 정의할 수 있음
- 예제
- 1.2.*.*에서 전송하고 dest가 3.4.5.*의 모든 곳으로 가는 것들을 드랍 -> 드랍 후 재전송이 있을 수 있음
- 모든 곳에서 전송하고 목적지가 3.4.*.* 범위 내의 것들 모두 2번으로 forwarding
- 10.1.2.3 에서 전송한 데이터는 모든 dest로 가는 것들을 컨트롤러가 확인하겠다(컨트롤러에 전송) -> 컨트롤러는 local마다 하나씩 존재하여 서로 정보를 주고 받음
Flow Table Entries
- Rule : 헤더에서 link layer, Network layer, Transport layer
- SDN은 네트워크 레이어에서 사용되지만 하위 레이어(링크)에 대한 룰을 정의 가능
- Action : 포워딩, 컨트롤러로 포워딩, 드랍, 원래 프로세싱(기본 router)으로써 작동하라, 수정하라
- stats : 얼마나 많은 flow가 있었는지 counter와 Packek
- 예제
- Destunation-based forwarding : IP Dst가 51.6.0,8로 향하는 모든 데이터그램을 받으면 port6로 forwarding하라
- Firewall : 22번 port number로 들어오는 데이터들은 드랍
- data는 source port number, dest port number가 가장 먼저 저장되어있음
- 지정된 소스로부터 온 데이터는 다 드랍하라
- Mack address를 지정하여 그로부터 오는 데이터를 port3으로 보내라
OpenFlow abstraction
- Router
- match : longest IP prefix matching -> 이전시간에 배운 것 and하여 해당하는 action을 취함
- action : forward out a link
- Switch
- match : 목적지 MAC주소
- action : forward 혹은 flood
- Firewall
- match : IP 주소 및 TCP / UDP 포트 번호
- action : 허가 또는 거부
- NAT 가능
- match : IP 주소 및 포트
- action : 주소와 포트 재 작성 -> 해당하는 내부 망(IP address와 port)
- 예제
- 호스트 h5 및 h6의 데이터 그램을 s3을 통해 h3 또는 h4로 보내야하고 s2를 통해 s2로 보내야합니다.
- 소스가 10.3. 으로 시작하고 목적지가 10.2. 로 시작하는 서브넷들이 s3로 오면 패킷을 3번으로 forwarding
- 소스가 10.3. 으로 시작하고 목적지가 10.2. 로 시작하면 4번으로 전송
- 목적지가 10.2.0.3이면 3번으로 10.2.0.4이면 4번으로 전송
'네트워크 설계' 카테고리의 다른 글
[11월28일]chapter 6 - Link layer and LANs (0) | 2018.12.03 |
---|---|
[11월21일]IP addressing (0) | 2018.11.25 |
[11월19일]IP:Internet Peotocol (0) | 2018.11.23 |
[11/14]Chapter 4: network layer (0) | 2018.11.20 |
[11월12일]TCP congestion control (0) | 2018.11.17 |