TCP & Future Internet

1231·2026년 4월 8일

AI네트워킹

목록 보기
5/13

RED

단순 패킷 전달이라는 기능 이외에, 3계층에서의 역할은 어떤것이 있는가?
-> egress buffer가 꽉차서 더이상 패킷을 보낼 수 없을때, ingress부분에서 패킷을 drop해야한다.

-> RED(Random Early Detection)

critical 한 상황이 오기전에 congestion을 방지하는 기법이다.

RED makes a decision; whether this packet should be enqueued or dropped.

It makes this decision even if there is space in the queue.
It makes this decision because if enqueuing the packet increases overall delay or makes the queue full then it will cause the congestion to occur.

기존의 RED(Random Early Detection)는 큐가 완전히 차기 전에 패킷을 무작위로 버려 혼잡을 피하는 알고리즘

PRED?

Prediction-enabled RED
PRED는 큐의 현재 및 과거 상태를 지속적으로 모니터링하여 가까운 미래의 평균 큐 길이(Average Queue Length)를 예측

RED & TCP Congestion, UDP Drop

RED는 라우터에서 발생하는, 3계층. TCP Congestion은 4계층.
서로 계층이 다르다. 어떻게 협력할 수 있는가?

IP Header의 Protocol field를 사용한다.

TCP는 retransmission을 수행하는 프로토콜. 따라서 congestion에 의해 패킷이 유실되었을 시 retransmission 패킷까지 전송해야하므로 throughput 손해 봄.
-> UDP를 먼저 drop하면 TCP에게 fairness를 어느정도 보장할 수 있다.
TCP Starvation 방지.

즉, 일반적인 RED나 Tail-drop 환경에서는, 착한 TCP가 양보해서 빈자리를 이기적인 UDP가 다 차지해 버립니다. 결국 대역폭의 90%를 UDP가 먹고, TCP는 10%만 먹으며 굶어 죽습니다. (그리고 유실된 TCP 패킷은 재전송까지 해야 하니 최악)

그 비율과 상황을 어떻게 할 것이냐? 거기에 AI를 적용할 수 있다.

DPDK, eBPF로 트래픽 캡쳐
DPDK: kernel bypass. 응용 계층에 유리
eBPF: in-kernel 처리. 네트워크 관리에 유리.

TCP state

close이후 보내던 것이 남아있어서 그 남을것을 보내야할때: Half Close 상태 이용


ESTABLISHED -> Time-Wait cycle중요함.

SYN Flooding

자기의 src가 아닌 다른 src로 보내는 것.

하지만 그 다른 src가 SYN+ACK를 받으면, 자기것이 아니기 때문에 응답을 주지 않는다. 따라서, 공격받은측은 SYN-RCVD state에 갇혀있게 되고, 계속 확인하며 time wait 한다. 이는 자원 소모로 이어진다.

timer걸어놓고 전부 자원 소모. 몇백개가 되면 성능이 현저히 느려진다.

time-wait이 굉장히 많으면, 공격받았을 가능성이 높다고 판단할 수 있다.
이처럼 TCP state를 보고 문제를 확인할 수 있다.

AI 활용: 정상적인 종료가 몇개인지...등등 데이터를 학습시켜 공격 패킷과 정상 패킷을 구분하게 한다.

TCP Error Control


checksum, acknowledgement, time-out으로 error control을 구현한다.

TCP의 Reliable. Trustworthy connection

ACK + Error detection + Retransmission + Time-out
추가적으로 연결을 위한 Connection setup 과정,
엄밀히 말하면 reliability에 포함되지 않지만, 조금 더 안정적인 통신을 위한 Flow control과 Congestion control이 있다.

Ack -> Time-out -> Retransmission.
핵심은 Ack이고 추가적인 요소들. 추가적인 요소들이 생길 수 록 Resource consumption이 심해지긴한다.

TCP가 제공하는 기능들.

  • Reliability
  • Security: 중간에 패킷이 바뀌지 않는것.
  • Safety: stable한 환경을 제공.

이 3가지를 합쳐서 "Trustworthy" 라고함.
이러한 개념이 Agent간의 협력에도 추가된다. agent간 서로 행동이 믿을만한가? 스파이와 같은 행동을 하지는 않을까? -> AGISAFETY 라는 개념...

TCP Congestion control

라우터와 스위치에 queue buffer가 있기 때문에 발생하는 문제이다.

보내는 패킷의 양은 min(rwnd, cwnd) 로 결정한다.

Slow start 와 AIMD기법

임계선까지는 2배씩 증가 그 이후로는 additive 하게 증가

Timeout 발생시, 1 MSS으로,
3 ack, fast retransmission 발생시, 절반으로 cwnd을 줄인다.

따라서...계속 진행하다보면

위 그림과 같이 어느정도의 안정된 선으로 tuning되게 된다.

문제점, Autotuning

Bandwidth가 100Mbps 인 회선에서는 이와 같은 slow start/AIMD기법때문에 평균 bandwidth 속도가 100Mbps정도 나온다. (서서히 증가하므로)
이를 Auto-tuning 기법을 이용해서 80Mbps대까지 올릴 수 있다.

Router Agent 간 상태 예측.


나의 상태뿐만 아니라...
내가 송신했을때, 상대방이 어떻게 될것인지를 예측하는 연구 존재?

다중 에이전트(Multi-Agent) 기반의 지능형 라우팅 및 네트워크 상태 예측

0개의 댓글