작성
·
218
0
안녕하세요, 영한님 스프링 핵심원리 완강 후 바로 HTTP 강의를
듣기 시작했습니다! 평소 네트워크 관련 지식이 부족하다고 생각
하고 있었는데 강의 첫 부분부터 질문이 생겨버렸네요 ㅎㅎ..
[질문1]
패킷이란게 네트워크에서 데이터를 주고 받을 때 데이터를 일정묶음으로 나눠놓은 것을 말하는건가요?
[질문2]
데이터를 패킷 단위로 나눠서 전송하는 이유가
데이터를 나누지 않고 한 번에 보낼 경우
나머지 컴퓨터들은 기다리게되고, 만약 에러가 발생하면
데이터를 처음부터 다시 보내야하는 문제가 있기 때문에
데이터를 패킷 단위로 나눠서 여러 대의 컴퓨터들과
동시다발적으로 데이터를 주고받으면서
전송하기 위해서라고 알고 있는데
제대로 이해하고 있는 게 맞는지 궁금합니다!
답변 1
6
안녕하세요, 동민 님. 공식 서포터즈 codesweaver 입니다.
.
1) 네. 데이터는 작은 패킷으로 나뉘어 네트워크로 전송됩니다. 이 패킷에는 헤더가 있어서 이 헤더에 발신자 정보와 수령자 정보. 등이 포함되게 됩니다.
.
2) 패킷 교환방시의 장점은,
1. 네트워크 리소스 점유 시간이 적습니다. (나머지 컴퓨터들이 기다리게 되는 문제를 해결)
2. 클라이언트에서 서버로 이동하는 경로가 고정되어 있지 않습니다. (패킷마다 어떤 경로를 통해 전달될지가 결정되어 있지 않습니다. 그래서 경로상에 장애가 발생한다 하더라도 다른 경로를 통해 전송하게 되므로 안정성이 높습니다)
3. 그리고 나누어진 패킷은 순서(넘버링)가 매겨지기에 중간에 유실된 패킷에 대한 재요청이 가능하여 전체 내용을 재전송하지 않아도 되는 것이 장점입니다. (강의를 계속 진행하시면 syn, ack 신호 교환을 배우게 되는데, 이는 각 패킷에 모두 적용됩니다)
.
단점으로는, 모든 패킷에 대한 syn, ack 확인과정이 추가되는 것, 모든 패킷에 헤더가 붙어야 한다는 것등에 따른 오버헤드 발생이라고 할 수 있습니다.
..
감사합니다.