Ip 주소체계에 대하여 알아보자.
ip주소는 32비트로 표현되며 이를 바이트와 점으로 구분하는 십진 표기법을 사용한다.
11000001 00100000 11011000 00001001 -> 193.32.216.9를 의미한다.
서브넷에 대하여 알아보자. IP 주소에서 네트워크 영역을 부분적으로 나눈 부분망을 서브넷이라한다.
High order bits는 서브넷 부분의 주소이며 low order bits가 호스트의 주소를 의미한다.
223.1.1.0/24에서 /24는 24번째의 high order bits가 서브넷 주소라는 것을 가리킨다.

밑의 그림에선 총 몇 개의 서브넷을 가지고 있는걸까?

총 6개
어떻게 호스트는 ip 주소를 얻을 수 있을까?

수동적으로 ip주소를 할당 할 수 있지만 주로 DHCP의 방법을 이용한다.
1 ) DHCP 서버 발견
2 ) DHCP 서버 제공
3 ) DHCP 요청
4 ) DHCP ACK
회사에서 인터넷을 쓰는 경우를 생각해보자. 이런 경우 LAN을 설치할 때마다 ISP는 회사의 모든 장치를 수용할 수 잇는 주소 범위를 할당해야 하는데 ISP가 이미 이런 네트워크의 해당 주소 범위에 인접한 부분을 할당해버렸다면? 혹은 특정 홈 네트워크 소유자가 IP주소가 어떻게 관리되는지 알고자 한다면 어떻게 해야할까?
이런 상황에서 NAT을 이용할 수 있다. NAT은 주소를 변환해주는 기술이다.

로컬 네트워크에 있는 장치들은 10.0.0.4라는 아이피 내에서 서로 소통할 수 있다. 하지만 외부로 나가면 그것이 불가능하다(외부에 같은 아이피 블록을 갖는 서브넷이 많기 때문). 그래서 NAT이 필요하다. 포트 숫자와 소스 및 목적지의 ip 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는다.
<IPv6>
32비트를 사용하는 IPv4는 기술의 발달로 급속도로 할당할 수 있는 ip가 고갈되어 갔다. 그래서 나온 것이 128비트를 사용하는 IPv6이다.

그렇다면 IPv4를 사용하는 장치와 6를 사용하는 장치간의 소통은 어떻게 할까?
터널링을 이용한다. IPv6의 데이터그램은 IPv4의 페이로드를 운반한다.
<SDN>
소프트웨어 정의 네트워킹은 최근 네트워크 계층 기능과 특정 링크 계층 기능을 제공하기 위한 통합된 접근 방식을 제공한다. 컨트롤러와 라우터가 통신을 통해 정보를 서로 제공함으로써 테이블이 업데이트 된다.
오픈 플로우(프로토콜 이름)
-> Match + action : 다른 종류의 장치들을 통합함.

- 패턴 : 헤더 필드에 근거해 정해짐
- 액션 : 패턴에 근거하여 drop, forward, modify 등이 이루어짐
- Priority :
- Counters