17강. TCP 통신 장애 관련 질문드립니다.
강의에서 소개해주신 TCP 장애(Re-transmission, Out of order)에 관해서 질문 드리려고 합니다.
Server와 Client구조에서 Server는 Client에게 1~100을 송신한다고 하면 (TCP 통신)
통신 장애(Re-transmission, Out of order)가 발생한 경우 Client는 1, 2, 3 ... ,100을 순차적으로 받지 못하고 1, 2, 3, 3, 5, 4 ... 99, 98, 100이런 식으로 값을 받을 수 있다고 강의에서 설명해주셨습니다.
그리고 위와 같이 통신 장애가 발생하면 TCP, 즉 L4 layer에서 통신 장애가 발생한 부분을 자동으로 처리(후처리) 해준다고 말씀하셨는데,
그렇게 TCP layer에서 후처리 해주면 Client는 값을 정상적으로 받게 되는 건가요?
추가로 이런 보정 작업이 100%로 Client가 값을 정상적으로 받는 것을 보장해주는 것인지 궁금합니다
지식이 부족해서 명확하게 질문드리지 못한 점 정말 죄송합니다.
강의 잘 보고 있습니다. 감사합니다!
답변 2
1
안녕하세요, 인프런 AI 인턴입니다. 조현준님의 질문에 대해 도움이 될만한 정보를 찾았습니다.
TCP 통신 과정에서 발생할 수 있는 장애에 대한 질문인데, TCP 통신 과정에서의 후처리 방식, 특히 Re-transmission 및 Out of order 현상을 어떻게 처리하는지에 대한 질문으로 이해됩니다. 네트워크 통신 과정에서 이러한 문제들이 어떻게 해결되는지에 대해 다룬 유용한 답변을 찾았습니다.
TCP에서의 장애 처리 방식:
TCP/IP 프로토콜은 데이터 통신에서 발생할 수 있는 여러 문제들을 자동으로 해결하기 위한 메커니즘을 가지고 있습니다. 특히, Re-transmission(재전송)과 Out of Order(데이터 순서 혼란) 문제를 해결하기 위한 과정이 있습니다.
Re-transmission: TCP는 데이터가 제대로 전송되지 않았을때 재전송을 시도합니다. 이는 TCP의 세그먼트에 포함된 시퀀스 번호를 통해 구현됩니다. 데이터 수신자는 받은 세그먼트의 시퀀스 번호를 검사하여 어떤 데이터가 누락되었는지 판단하고, 누락된 데이터에 대해 재전송을 요청할 수 있습니다.
Out of Order: 데이터 패킷은 여러 경로를 통해 전송될 수 있기 때문에 순서가 뒤바뀌어 도착할 수 있습니다. TCP는 이러한 문제를 해결하기 위해 수신된 각 세그먼트의 시퀀스 번호를 통해 올바른 순서대로 다시 배열하며, 모든 데이터가 올바른 순서로 재정렬될 때까지 일부 데이터의 처리를 지연시킬 수 있습니다.
이러한 처리는 주로 L4 계층인 TCP 프로토콜에서 자동으로 이루어집니다. 따라서 클라이언트는 서버로부터 데이터를 순차적이고, 정확한 순서로 수신할 수 있게 됩니다.
이러한 TCP의 작동 원리에 대한 자세한 설명은 다음 답변에서 찾아볼 수 있습니다:
- TCP/IP 궁금한 점! 있습니다 - 이 답변에서는 TCP/IP 관련 다양한 궁금증을 해결해주는 해답을 찾아볼 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
0
네, 그런 오류를 보정 받은 후 정상적으로 수신하게 됩니다. 그러나 간혹 끝내 보정이 불가능할 정도로 장애가 심각하다면 TCP 연결 자체가 비정상 종료 됩니다. 그러나 경우에 따라서는 연결이 끊긴 경우 자체를 인지 못할 수 있습니다. 가령 상대 서버가 정전 등의 이유로 물리적으로 종료된다면 이를 클라이언트가 인지하지는 못합니다. 이 때문에 계속 서버와 TCP 연결을 유지하고 있다고 판단 할 수 있습니다. 반대로 클라이언트가 그렇게 된다면 TCP 연결이 지속되고 있다고 서버는 판단합니다.
이런 이유로 연결이라는 말은 어떻게 보면 주관적인 착각에 불과한 것입니다. 참고하시기 바랍니다. 😄
제가 이해한 것이 맞을까요?
0
48
0
제가 Socket을 잘 이해한 건지 궁금합니다
0
71
1
Broadcast 학습 중 간단한 궁금증이 생겨 질문드립니다
0
70
1
책 추천 부탁드립니다.
0
109
2
Host범위에 대해서 질문이 있습니다.
0
97
2
택배차 즉 Frame의 생명주기
0
110
2
게임에서 랜선 뽑았다 다시 꽂을 때, 입력 몰아 보내기가 가능한 이유가 궁금합니다
0
97
1
단편화 관련 질문
0
72
2
네트워크 공부에 추천하실만한 책이 있으신가요?
0
208
1
예전에 있었던 수동 IP 할당 경험에 대한 질문
0
84
2
ttl 관련 질문
0
66
3
SSL OSI 7계층
0
131
2
만약 송신측 + 모든 라우터의 MTU는 동일했지만 수신측에서 MTU가 더 작으면 어떻게 되나요?
0
93
2
라우터에 대해 궁금합니다
0
92
2
네트워크 질문 있습니다.
0
142
2
Broadcast 범위에 대한 질문
0
97
1
응용 과정으로 넘어가기 전에 질문 입니다.
0
156
2
UDP 통신 시 Socket 설정
0
212
2
host 내부 process 통신
0
134
2
스위치에 대한 질문
0
194
2
L3Switch & Router
1
241
3
RESTful API에 대해 질문 드립니다
0
193
2
스위치에 대하여
0
197
2
그림 한 장으로 외워서 끝내는 웹 서비스 구조 기본이론만 재생이 안돼요
1
219
3





