패킷은 네트워크를 통해 전송되는 데이터의 작은 조각이다. 인터넷이나 다른 네트워크에서 데이터는 패킷으로 나누어져 전송되고 목적지에서 조립된다.
ex) 예를들면 큰 책을 지인에게 우편으로 보낸야 한다고 가정하면 이 책은 너무 커서 한 번에 보낼 수 없다. 그래서 책을 여러 페이지로 나눠서 각각의 페이지를 개별적인 봉투에 넣어 보내기로 할때 이 각각의 봉투가 패킷에 해당된다.
패킷의 구성 요소
헤더 : 패킷의 앞부분으로 , 보내는 주소 , 받는 주소 , 순서 번호 등 패킷의 정보를 담고있다.
페이로드 : 실제 데이터 부분으로 책의 페이지에 해당된다.
트레일러 : 패킷의 끝부분으로, 데이터의 오류를 검사하는 정보가 포함될 수 있다.
패킷의 데이터 전송 과정
패킷화: 데이터를 패킷으로 나눈다.
전송:패킷을 네트워크를 통해 보낸다.
라우팅: 네트워크 장비가 패킷을 목적지까지 최적의 경로로 전달한다.
재조립: 목적지에서 패킷을 순서대로 모아 원래의 데이터로 복원한다.
패킷을 사용하는 이유
효율성 : 작은 단위로 나누어 보내므로 네트워크 자원을 효율적으로 사용할 수 있다.
오류 처리: 하나의 패킷에 오류가 생겨도 해당 패킷만 다시 전송하면 된다.
다양한 경로: 패킷이 여러 경로로 나누어져 전송되기 때문에 네트워크 혼잡을 피할 수 있다.
이렇게 패킷을 사용하면 데이터를 효율적이고 신뢰성 있게 전송할 수 있다.
패킷을 사용하는 예
pingTest
pingTest란 패킷을 이용하여 네트워크 상태를 확인하는 도구로 , 특정 호스트 와의 연결 상태를 테스트 하는데 사용된다.
pingTest는 네트워크 상태를 평가하는 데중요한 도구이다. 패킷을 통해 네트워크의 응답 시간, 패킷 손실 및 TTL 값을 분석하여네트워크의 성능과 문제를 진단할 수 있다.
pingTest를 할때 패킷의 역할은 ICMP 에코 요청을 네트워크의 다른 장치로 보내고, 해당 장치가 이를 수신하면 ICMP 에코 응답을 보낸다. 이 요청과 응답 사이의 시간 차이를 측정하여 네트워크의 응답시간을 평가한다.
-ICMP란? ICMP는 네트워크 장치 간의 제어 메세지를 전송하기 위해 사용되는 프로토콜이다. 주로 네트워크 문제를 진단하고, 네트워크 장비 간의 통신상태를 관리하는 데 사용된다.
TCP / IP 프로토콜 스위트의 중요한 부분을 차지하며, IP프로토콜과 밀접하게 연관됨.
패킷과 관련된 pingTest 결과요소
응답 시간(time) : 요청 패킷이 목적지에 도달하고 응답 패킷이 돌아오는 데 걸리는 시간.밀리초(ms) 단위로 측정이 된다.
패킷 손실(packet Loss):전송된 패킷 중 응답을 받지 못한 패킷의 비율.네트워크 문제를 나타낼 수 있다.
TTL(Time To Live):패킷이 네트워크를 통해 이동할 수 있는 최대 홉 수. 패킷이 라우터를 통과할때 마다 TTL값이 감소하며, TTL값이 0이되면 패킷이 폐기된다.
여기서 홉이란 패킷이 한 라우터에서 다음 라우터로 이동하는 과정을 '홉'이라고 부른다. 즉, 패킷이 네트워크를 통해 이동할 때, 각 라우터를 하나의 홉이라고 한다.
라우터는 네트워크 간에 데이터 패킷을 전달하는 장치. 라우터는 패킷을 출발지에서 목적지까지 보내기 위해 경로를 선택한다.