입력 포트 처리
- 입력 포트의 라인 종단 기능과 링크 계층 처리
→ 라우터의 개별 입력 링크와 관련된 물리 계층 및 데이터 링크 계층을 구현 - 입력 포트에서 수행되는 검색 ← 라우터 동작의 핵심
- 포워딩 테이블을 사용하여 도착 패킷이 스위치 구조를 통해 전달되는 출력 포트를 검색
포워딩 테이블의 사용 및 갱신
- 포워딩 테이블은 라우팅 프로세서에서 계산되거나 갱신됨 또는 원격 SDN 컨트롤러에서 수신됨
- 위의 라우팅 프로세서는 다른 네트워크 라우터의 라우팅 프로세서와 상호작용하기
위해 라우팅 프로토콜을 사용한다.
- 위의 라우팅 프로세서는 다른 네트워크 라우터의 라우팅 프로세서와 상호작용하기
- 포워딩 테이블은 라우팅 프로세서에서 입력 라인 카드로 복사된다.
- 각 라인 카드에서 위와 같은 섀도 복사본을 사용할 때의 이점
→ 패킷 단위로 중앙 집중식 라우팅 프로세서를 호출하지 않게 됨
→ 병목 현상을 피할 수 있다.
목적지 기반 전송
목적지 기반 전송
: 입력 패킷을 스위칭할 출력 포트가 각 패킷의 목적지 주소를 기반으로 함- 가장 간단한 경우
32비트 IP 주소일 경우의 문제점과 해결방안
- 이 경우, 포워딩 테이블을(억지로 구현한다면) 모든 가능한 목적지 주소마다 하나의 엔트리 필요
→ 40억 개 이상의 가능한 주소가 있어야 함 → 이러한 옵션은 사실상 불가능 - 가정
- 라우터 0 ~ 3까지의 4개의 링크가 있음
- 패킷을 아래와 같이 링크 인터페이스로 전달한다.
- 위 그림에서는 라우터의 포워딩 테이블에 40억 개의 엔트리까지는 필요 X
→ 아래 그림처럼 4개의 엔트리를 갖는 포워딩 테이블이면 충분함
- 포워딩 테이블에서 라우터는 패킷 목적지 주소의
프리픽스(prefix)
를 테이블의 엔트리와 매치 - 매치되는 엔트리가 존재하는 경우
→ 라우터는 패킷을 그 매치에 연관된 링크를 보냄
- 예시
- 패킷의 목적지 주소 :
11001000 00010111 00010110 10100001
→ 주소의 앞 21개의 비트 프리피긋가 첫 번째 엔트리와 매치
→ 이 패킷을 링크 인터페이스 0으로 보냄 - 패킷의 목적지 주소가 그 어느 것과도 매치되지 않는 경우
→ 링크 인터페이스 3으로 보냄
- 패킷의 목적지 주소 :
- 예시
- 포워딩 테이블에서 라우터는 패킷 목적지 주소의
- 다수의 매치가 생기는 경우 → 최장 프리픽스 매치 규칙을 사용
- 테이블에서 가장 긴 매치 엔트리를 찾고, 여기에 연관된 링크 인터페이스로 패킷을 보냄
- 예시
- 패킷의 목적지 주소 :
11001000 00010111 00011000 10101010
- 처음 24비트는 고정 링크 인터페이스 1에 매치
- 처음 21비트는 고정 링크 인터페이스 2에 매치
- 최장 프리픽스 매치 규칙에 따라 링크 인터페이스 1로 패킷을 보낸다.
- 패킷의 목적지 주소 :
검색을 위한 하드웨어 로직 및 메모리 설계
- 하드웨어 로직은 포워딩 테이블을 검색하여 가장 긴 프리픽스와 매치되는 것을 찾는 것
- But, GB전송률에서 이 검색은 나노초 단위로 수행되어야 함
→ 하드웨어에서의 검색과 함께 대형 테이블을 통한 단순 선형 검색 이외의 기술이 필요
- 빠른 검색 알고리즘이 필요하다는 뜻
- 빠른 검색 알고리즘이 필요하다는 뜻
- But, GB전송률에서 이 검색은 나노초 단위로 수행되어야 함
- 메모리는 내장형 DRAM과 빠른 SRAM 메모리가 있는 설계가 필요
- 메모리 접속 시간에 특별한 주의를 기울여야 하기 때문
- TCAM도 검색을 위해 자주 사용됨
- 이를 사용하면 32비트 IP 주소가 메모리에 제공
- 이 주소는 일정시간 동안 해당 주소에 대한 포워딩 테이블 엔트리의 내용을 반환
- 시스코 시리즈 라우터 및 스위치는 백만 TCAM 포워딩 테이블 엔트리 이상을 수용 가능
- 시스코 시리즈 라우터 및 스위치는 백만 TCAM 포워딩 테이블 엔트리 이상을 수용 가능
입력 포트 처리에서의 기타 조치
- 검색을 통해 패킷의 출력 포트가 결정되면 패킷을 스위치 구조로 보낼 수 있다.
- 일부 설계에서는 다른 입력 포트로부터 패킷이 현재 구조를 사용하고 있는 경우,
패킷이 스위칭 구조에 들어가는 것을 일시적으로 차단- 차단된 패킷은 입력 포트에 대기한 다음 나중에 교체하도록 예약됨
- 차단된 패킷은 입력 포트에 대기한 다음 나중에 교체하도록 예약됨
- 일부 설계에서는 다른 입력 포트로부터 패킷이 현재 구조를 사용하고 있는 경우,
- 입력포트 처리에서 ‘검색’이 가장 중요한 기능이긴 하지만 다른 많은 조치도 취해야 함
- 물리 및 링크 계층 처리가 되어야 함
- 패킷의 번호, 체크섬, TTL(time-to-live) 필드를 확인하고, 이후 두 필드를 다시 사용해야 함
- 네트워크 관리에 사용되는 카운터(수신된 IP데이터그램 수)를 갱신해야 함
매치 플러스 액션(match plus action)
매치
: 목적지 IP 주소를 찾았을 때를 뜻함액션
: 패킷을 스위치 구조로 지정된 출력 포트로 전송하는 것- 라우터뿐만 아니라 많은 네트워크 장치에서 일반적으로 매치 플러스 액션을 사용
- 매우 효과적이고 일반적인 개념이며, 포워딩 개념의 핵심
출력 포트 처리
- 출력 포트 처리는 출력 포트의 메모리에서 저장된 패킷을 가져와서 출력 링크를 통해 전송
- 출력 포트 처리에서 수행되는 것
- 전송을 위한 패킷 선택(스케줄링)
- 큐 제거
- 필요한 링크 계층 및 물리 계층 전송 기능 수행
- 출력 포트 처리에서 수행되는 것