이번에 입사한 회사가 네트워크 관련 솔루션을 개발을 하는데 모르는 용어도 많고 한번 정리하면 좋을것 같은 용어들도 있어서 정리해봤다.
인터넷 상의 장치의 시간을 동기화 하는 프로토콜이다. 컴퓨터와 많은 전자 장치에는 시간을 유지하는 RTC(Real-Time Clock)가 있다. 하지만 RTC는 약간의 오차가 발생할 수 있다. 이러한 오차를 줄이기 위해서 NTP를 사용해 같은 시각을 기준으로 작동하도록 하는 것이다.
은행에서 돈을 입출금하는것을 예시로 생각해보면 NTP의 필요성을 이해하기 쉽다.
서울과 부산 두 지역 각각에 거래를 기록하는 서버가 있다. 서울의 서버가 부산의 서버보다 10분 빠르다고 가정해보자. 계좌에는 돈이 없다고 가정한다.
고객 A가 부산에서 2시 0분에 돈을 50만원 입금했다. (서버 로그 - 14:00)
그리고 곧바로 고객 B가 서울에서 50만원을 출금했다. (서버 로그 - 13:50)
거래 내역을 취합하면 13:50에 50만원 출금 -> 14:00에 50만원 입금이 되어 버린다.
NTP는 이러한 각 장치간의 시간의 불일치를 해결하기 위한 프로토콜이다.
1초간 송신 또는 수신할 수 있는 비트의 수를 나타낸다.
패킷이 전송자로부터 목적 대상까지 도착하는데 걸린 시간과 대상으로부터 전송자로 패킷에 대한 승인이 돌아오는데 걸리는 시간을 나타낸다.
RTT = 전송자 -> 대상 (패킷 전송에 걸리는 시간) + 대상 -> 전송자 (패킷에 대한 승인이 돌아오는 시간)
네트워크 연결을 위한 컴퓨터 하드웨어 부품.
물리적 또는 가상의 NIC를 논리적으로 하나의 인터페이스로 묶는 기술이다. 본딩을 사용해 서버의 대역폭을 확장, 부하 분산이 가능하다.
자세한 내용-Linux Virtual Networking Interface
한정된 네트워크 용량으로 트래픽을 제어해 주요 어플리케이션의 성능을 보장하도록 하는 기술을 뜻한다.
엇..! 대부분 처음보는 용어들이네요.ㄷ
이해가 될 것 같은 용어는 NTP와 RTT 정도인 거 같네요
NTP는 궁금해서 인터넷에서 찾아보니
AWS와 한국 사이트에서 제공하는 NTP 서버가 있는 거 같습니다!
공적으로 제공해 주는 사이트는 '공용 NTP 서버' 라고 하는 것 같네요!
ping 명령어로 측정해서 나오는 시간이 RTT였군요..;
그동안 ping 명령어는 필요할 때 사용만 했었는데, 여기 나오는 값이 RTT로
부르는 줄은 지금 알았습니다!ㅎ
학생 때 공부할 때도 느겼지만, 네트워크쪽은 이해하며 공부하기 어려운거 같습니다
하지만 좋은 개발자가 되려면 언젠간 이해해야 하겠죠?!ㅜ
좋은 지식 잘 얻어 갑니다!