앞서 포스팅한 개념을 토대로 간단하게 문제를 풀어보자. 문제 1. client(seq : 3000) server(seq : 4000) c -> s hello c s bye c 데이터 삽입->종료 순으로 직접 그리면서 풀어보겠다. 필자의 악필을 양해해주시면 감사하겠습니다. Q1. "PUSH Flag를 사용하여 데이터를 서버측에 넘겼는데 왜 응답코드도 함께 넘길까요 ?" ACK(4001) 같이 나가는 이유는 client와 server 간에 이루어진 연결을 유지 하기 위함. TCP는 연결지향 프로토콜이라는 걸 기억하자. Q2. "서버측에서 CLOSED를 바로 하지않고 "TIME_WAIT" 상태를 갖는 이유는 뭘까요 ?" 바로 마지막 패킷이 제대로 전송이 되었는지를 확인하기 위해 필요한 것이다. 위 풀이에서 서..
TCP(Transmission Control Protocol) 은 연결 지향 프로토콜입니다. 또 데이터가 제대로 보내졌나 확인을 해서 신뢰성을 가지고 있습니다. 통신 하는 과정에서 "손흔들기"절차를 통해서 서로 통신하려는 둘 간의 연결을 제대로 확립시켜야 하는데, 이 과정을 "3-Way Handshake"이라 불리고, 연결을 종료하기 위해서도, 3 Way Handshake 처럼, 4 Way Handshaking이라는 과정을 거친다. TCP 헤더는 다음과 같습니다. 📍 Flags 참고 SYN(Synchronize Sequence Number) - 연결 설정 Sequence Number를 랜덤으로 설정하여 세션을 연결하는 데 사용하며, 초기에 Sequence Number를 전송한다. ACK(Acknowled..
- Total
- Today
- Yesterday
- 라우팅
- 초보
- SpringBoot
- 개발자
- dto
- tcp
- 네트워크
- lambda
- 프로그래머스
- aws
- 3Way Handshake
- 알고리즘
- 회고
- 개발
- spring
- rds
- ec2
- java
- s3
- 삽질
- 회고록
- 라우터
- .NET
- Docker
- Spring Boot
- osi7계층
- 계층
- 자바
- 프로토콜
- 스위치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |