가자미의 개발이야기
[네트워크] 네트워크 계층 : 라우터 본문
a. 라우터
라우터를 간단하게 도식화한 그림이다.
녹색, 청색, 적색 네모가 묶인 것을 네트워크 인터페이스라고 부른다.
들어오는 통로를 input ports, 나가는 통로를 output ports라고 부른다.
라우팅 프로세서에 의해 스위칭패브릭이 아웃풋 포트를 지정해 보낸다.(포워딩)
b. input port fucntions
line termination : 라우터의 물리 계층. 전자기 신호를 비트로 바꿔주는 역할
data link layer : 데이터들을 모아 한 프레임으로 만듬(프레이밍), 그 외에도 많은 역할.(이더넷도 여기에 포함)
ip (빨간색 박스) : lookup, (포워딩 테이블을 보고 포워딩 해야할 곳을 찾는 행위), forwarding, queueing(보낼 정보들을 저장.) *이때 lookup&forwarding은 목적지만 활용하는 경우(destination-based), 헤더의 다른 필드를 활용하는 경우(generalized. sdn)
b-1 matching : 현재 내가 전달해야되는 패캣의 헤더에 있는 목적지 주소와 포워딩 테이블을 매칭
Longest prefix matching : ip주소를 2진수로 표현하여, 앞부터 하나씩 비교하여, 더 길게 일치하는 것을 선정.
b-2. Switching fabric
메모리 방식 : 입력값을 메모리에 저장하여 출력 하는 곳에서 읽어들임.
버스 방식 : 복도처럼 길을 뚫어놓은 상황. 동시에 여러 곳에서 전송할 수 없음. 대기시간이 길어짐.
크로스바 방식 : 스위치를 사용하여 사용할 경우에만 해당 경로에 스위치를 켜서 작동시킴.
b-3. input port queuing
입력 쪽에서 큐잉을 사용하면 효과적이긴 하지만..
Head of the Line(HOL) 블로킹 문제가 생김.
세번째 입력포트에서 초록색 데이터는 자기 앞의 빨간색 때문에 쓸데없이 기다리고 있다.
만약 세번째 입력포트에서 초록색과 빨간색을 서로 바꾸면 그런 딜레이는 사라질 것.
c. output ports
input port랑 거꾸로 작동한다고 생각하자.
output queuing은 congestion을 일으킬 수 있고 delay나 lost가 생길 수 있다.
queuing은 저장한 데이터를 순서를 정해 내보낼 수 있다.(스케줄링)
c-1 Scheduling mechanisms, priority
버퍼가 얼마나 찼을때 어떤 걸 버릴 것인가, 어떤걸 언제 보낼 것인가를 정함
priority scheduling :우선순위에 따라 버퍼를 여러개 운영하여 우선순위를 먼저 보냄.
Round Robin scheduling : 온 순서대로 하되, 한쪽 데이터만 보내지 않고 골고루 보내는 방식
Weighted Fair Queuing : Round Robin을 기반으로 하되, 데이터들을 가중치를 부여하여 차이를 두는 방식
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] 네트워크 계층 : 제어 평면 (라우팅 알고리즘) (0) | 2021.05.23 |
---|---|
[네트워크] 네트워크 계층 : IP (0) | 2021.05.09 |
[네트워크] 네트워크 계층 : Data Plane (0) | 2021.05.02 |
[네트워크] TCP 혼잡제어 (0) | 2021.04.22 |
[네트워크] TCP(rdt, flow control, connection management) (0) | 2021.04.16 |