백엔드/네트워크

[네트워크기초이론]#33. 길 잃은 Packet의 소멸과 TTL

묘걍 2023. 10. 24. 15:56

인터넷이란

라우터의 거대한 집합체

- 구성요소 : Router, DNS

 

Router

- 설계 구조상 hierachical하지 않다

더보기

라우터의 설계 구조가 하이어라키컬하지 않다는 것은, 라우터의 구조나 설계가 계층적이지 않다는 것이다. 쉽게 말하면, 라우터의 내부 구조나 동작 방식이 복잡한 여러 단계나 계층으로 나뉘어 있지 않다는 것이다. 마치 집을 지을 때 복층이 아닌 단층 집처럼, 라우터 내부도 간단하게 설계되어 있다는 것이다.

     - 직렬화 X

     - 수평적 O

     - 매시 형태로 얽혀 있음

IP 헤더

- Source: 3.3.3.3

- Destination: 5.5.5.5

- 이 때 TTL 값이 들어간ㄷ

TTL

- Time To Live

- 최대 크기가 MTU인 한 덩어리의 데이터 packet이 인터넷을 돌아다님

HOP

- 라우터와 라우터 간 간격

- 어떤 호스트에서 라우터를 만나서 다음 라우터로 넘어가는 점프

- 이 점프마다 TTL 값을 1씩 감소함

 

- TTL 은 8bit 값

- 2⁸ = 0 ~ 255

- 최대 크기 255

- 운영체제마다 다름

     - 윈도우의 경우 128, 즉 라우터를 128개정도 만나면 0이 된다

 

TTL이 0이다

- Packet도 인터넷에서 점프하면서 돌아다니면서 TTL이 1씩 감소하다 0이 되면 소멸함

 

Looping

- 원래는 1 → 2 → 4 → 6 → 서버

- 뭔가 잘못돼서 4 → 5 → 3 → 2 → 4 → 5 → ...

- CPU 점유율이 팍 튄다 = 100%까지 치고 올라간다

     - 얘네도 Host니까 컴퓨터 CPU를 가지고 있음

     - 이 현상이 지속되면 해당 기기들 다 죽음

- 네트워크 장애 중에 가장 무식하고 단순하면서도 파워풀한 것이 Looping

TTL이 0이 되면 버려진다

- 이 현상을 막기 위해서 자동화된 메커니즘

- 예를 들어 5번에서 0이 되면

- 3번에 보내지 않고

- ICMP를 이용해서 3.3.3.3한테 응답을 줌

     - 설정에 따라 다름!

"네가 5.5.5.5한테 보내려던 패킷 TTL이 0 돼서 내가 버렸어"

- 설정을 안 하는 경우는 보안상의 이유

더보기

ICMP는 "Internet Control Message Protocol"의 줄임말이다. 인터넷에서 컴퓨터들이 서로 메시지를 주고받을 때 통신 상태를 확인하거나 문제점을 알려주기 위해 사용하는 도구라고 생각하면 된다. 예를 들면, 한 컴퓨터가 다른 컴퓨터에게 "너 잘 들려?"라고 물어보고, 그 컴퓨터가 "네, 잘 들려!"라고 응답하는 것처럼, ICMP는 네트워크 상태를 체크하거나 문제가 생겼을 때 그 문제에 대해 알려주는 역할을 한다.

 

 

 

 

 

 

 

 

 

출처: https://youtu.be/PXbJx5IDIT4?si=Kr0ulqMAMRIdhq49