[Network] Routing Algorithms, Link-State와 Distance Vector
CS/Network2023. 11. 25. 01:46[Network] Routing Algorithms, Link-State와 Distance Vector

Routing이 뭔지 기억 나시나요? Network Layer의 두 가지 핵심기능이 포워딩과 라우팅 이었죠, 포워딩은 라우터 내부에서 적절한 Input port -> Output port를, 라우팅 테이블을 기반으로 찾아가는 것이었고요, 라우팅은 Source -> Destination 까지의 전체적인 경로를 결정합니다. 이 라우팅 기법에는 두가지가 있는데요, 1. Link State routing - 다익스트라 알고리즘 - OSPF - Complete Topology 2. Distance Vector routing - 벨만포드 알고리즘 - RIP - Partial Topology(Info) 아직 무슨 소리인가 싶겠지만, 차근차근 알아봅시다. 라우팅 알고리즘을 어떻게 분류할까요? 아 참, 잠깐 복습해봅시다..

[Network] 4.3 IP: Internet Protocol
CS/Network2023. 11. 25. 00:15[Network] 4.3 IP: Internet Protocol

네트워크 레이어의 프로토콜은 세 가지가 공존하는데요, Routing Protocol(경로를 설정해 줌) - 이 프로토콜을 통해 포워딩 테이블을 작성합니다. IP Protocol(= routed protocol) - 주소 입니다. Datagram 포맷을 가지고 있습니다. ICMP Protocol(에러를 추적하고, 컨트롤해주는 프로토콜) IP의 데이터그램의 형식입니다. IPv4 방식이나, ver엔 4가 들어가구요, TTL 이라는 개념이 있습니다. 패킷이 여러 라우터들을 거쳐 지나가는데, 어쩌다 무한루프를 돌다가 좀비가 될 수 있으니 TTL 이란 것을 설정해주는데, 일종의 수명 입니다. Hop - Hop 을 할 때마다 TTL을 하나씩 감소시킵니다. TTL이 0이 되는 패킷은 폐기합니다. Flgs, Fragme..

[Network] Scheduling mechanisms
CS/Network2023. 11. 24. 21:54[Network] Scheduling mechanisms

우선, 개념을 복습하기에 앞서 스케줄링이 어디서 쓰이는지 알고 학습해야 합니다. 라우터 내에 일어나는 포워딩 과정에서, Input port가 아닌 Output port에서 버퍼링, 즉 datagram buffer queueing이 발생했을 때 어떤 패킷을 내보낼지 결정할 때 사용하는 정책입니다. FIFO Queue를 사용할 때는, 큐에 도착한 순서대로 내보내는데요, 실제 상황에서는, 큐가 꽉 찼을 때 새로운 패킷이 도착했을 경우 버릴 패킷을 정해야 합니다. 1. tail drop: 새로 들어오는 패킷을 버립니다. 2. priority: 우선순위 규칙에 따라서, 새로 온 것을 버리거나 기존 것을 제거합니다. 3. random: 들어오는 패킷과 쌓인 큐를 랜덤하게 뽑아서 버립니다. 2번의 경우는 자체적인 정..

[Network] Input port queueing
CS/Network2023. 11. 24. 20:39[Network] Input port queueing

지금 우리가 무엇을 공부하고 있는지 기억해야 합니다. 라우터 내부에서 일어나는 것은? 포워딩 이죠. 포워딩은? Input port로 들어온 것을 적절한 output port로 이동시켜주는 일이구요. lookup, forwarding queueing input port의 트래픽을 다 합친 것보단, 스위치 패브릭의 처리 속도가 느리기 때문에 Queueing은 필연적입니다. 그리고 패킷 스위칭에서 Store and forward / Queueing delay and loss가 여기서 일어난다고 이해할 수 있겠습니다. Queueing이 일어나는 주된 상황인, Head of Line blocking을 알아봅시다. 좌측 그림에서, 1번 포트와 3번 포트는 동일한 output port로 포워딩 하려고 합니다. 그런데..

[Network] Switching fabrics
CS/Network2023. 11. 24. 20:21[Network] Switching fabrics

스위칭 패브릭은 Input buffer로 들어온 패킷을, 적절한 output buffer로 패킷을 옮겨주는 것을 의미합니다. 그리고 switching rate라는 개념이 있는데요, 스위칭 속도로 이해할 수 있겠습니다. 스위칭 패브릭에는 세 가지 종류가 있습니다. memory 방식은, 처음 등장한 라우터의 방식입니다. 메모리 대역폭에 영향을 받고, 한 시점에 하나의 포워딩만 동작합니다. Bus 방식은 중앙 데이터 버스를 여러 컴포넌트가 공유하는 방식인데요, 메모리 방식보단 조금 나은데, 충돌이나 경합이 발생할 수 있습니다. crossbar 방식은, 가장 빠른 스위치 아키텍처가 필요할 때 사용하는데요, bus의 대역폭 문제도 극복했고, 지금 가장 많이 이용되는 방법입니다.

[Network] 라우터의 내부를 뜯어보자.
CS/Network2023. 11. 24. 20:05[Network] 라우터의 내부를 뜯어보자.

다짜고짜 강의자료부터 넣게 되네요. 라우터의 내부 구조를 알아봅시다. 우선, 크게 두 부분으로 나뉩니다. Control Plane / Data Plane Control Plane은 쉽게말해 경로 설정, 장비 간 통신, 라우팅 테이블 업데이트와 같은 네트워크의 동작을 제어하고 관리하는 역할을 합니다. 주로 소프트웨어의 영역이에요. Data Plane은 네트워크에서 실제 데이터가 전송되고 처리되는 부분인데요, 패킷이 이동되는 과정을 관리합니다. 스위칭, 라우팅 등이 일어나는 곳이에요. 스위칭 패브릭에는 여러 라우터 포트가 있는데요, 각자는 Input Port, Output Port로 역할이 고정된 것이 아니라 I로도 쓰이고, O로도 쓰이고 용도는 동적으로 변합니다. 각각의 포트에 따른 버퍼가 있는데, 이런 ..

[Network] Network Layer, 포워딩과 라우팅을 알아보자.
CS/Network2023. 11. 24. 18:40[Network] Network Layer, 포워딩과 라우팅을 알아보자.

네트워크 레이어 라고 하면 뭐가 가장 먼저 떠오르나요? 중간고사때 열심히 외웠던 OSI 7 Layer에서의 3계층이 떠오릅니다. Packet/Datagram 단위로 전송하고, IP, RIP, OSPF와 같은 프로토콜이 있고, End to End 전송을 목적으로 하구요, 주소는 IP주소가 주를 이룹니다. Network Layer - Sending host가 Receiving host에게 Segment를 전달합니다. - 보내는 쪽에서는 Segment를 Datagram으로 캡슐화 합니다. - 받는 쪽에서는, Datagram을 Segment로 디캡슐화 한 뒤, Transport Layer(4계층)으로 넘겨줍니다. - 모든 호스트(PC, 노트북 등)와 모든 라우터는 네트워크 계층의 프로토콜을 가지고 있어요. (1..

TCP의 작동방식에 대하여(TCP Ack Generation)
CS/Network2023. 11. 7. 19:05TCP의 작동방식에 대하여(TCP Ack Generation)

아~ 우리 교수님이 별표를 50만개 치라고 했던 부분입니다. 그리고, 해석이 모호해서 한글판 책을 사게 된 계기이기도 합니다. 우선, TCP의 재전송이 일어나는 상황 두 가지를 알고 갑시다. 1. Timeout events - Sender에서 보내자 마자 동작시킨 타이머가 만료된 경우겠죠. 2. Duplicated ACKs - 중복된 Sequence Number를 가진 ACK을 받으면, 재전송 한다는 뜻입니다: 중복된 상태로 3번 오면 Fast Retransmission을 합니다. TCP ACK generation 차근차근 해석해보겠습니다. Receiver에서 발생한 Event 그에 대응하는 Receiver의 Action 여태까지 모든 Seg가 잘 도착했습니다. 그리고 방금 온 Seg도 알맞은 순서의 S..

Packet Switching이란?
CS/Network2023. 9. 19. 09:29Packet Switching이란?

- 네트워크 리소스를 공유한다. - Host로 부터 받은 Data를 Packet 단위로 쪼개어 망을 활용한다. - 두 가지 특징을 가지고 있다. - Store and forward, Queueing delay and loss Store and Forward - 데이터를 패킷 단위로 전송하고, 패킷은 목적지까지 가는 도중 여러 라우터를 거친다. - 각 라우터에서는 패킷을 임시저장 했다가, 다음 라우터로 보내기 때문에 이 부분에서 딜레이가 발생한다. - L/R초가 걸린다고 이야기 하는데, L: 비트 수, R: 대역폭 으로 해석할 수 있다. one-hop 이란 용어를 쓰는데, 이는 한 번의 깡총뛰기, 즉 라우터 - 라우터 간의 이동으로 이해하겠음! Queueing delay and loss - 근본적인 원인:..

image