TCP 연결부터 종료 과정 3-way Handshaking, 4-way Handshaking
- JAVA/프로그래밍 이론
- 2018. 5. 4. 12:24
TCP 연결과정 3-way Handshaking
연결과정 |
CLIENT 상태 |
SERVER 상태 |
CLIENT는 SERVER에게 연결을 요청하는 SYN세그먼트 전송 | CLOSE | LISTEN |
SERVER는 CLIENT에게 요청을 받았다는 의미로 ACK 세그먼트와 CLINENT와 연결을 시도하는 의미로 SYN세그먼트 전송 |
SYN-SENT | SYN_REV |
CLIENT언트는 서버로부터 보내온 SYN의 응답으로 ACK를 전송 후 연결이 수립됨 |
ESTABLISHED |
ESTABLISHED |
TCP 종료과정 4-way Handshaking
종료과정 | CLIENT 상태 | SERVER 상태 |
CLIENT는 SERVER에게 연결을 종료하는 FIN세그먼트 전송 | ESTABLISHED | CLOSE_WAIT |
SERVER는 ACK세그먼트를 클라이언트에 응답하고 바로 종료하지 않고 전송중인 데이터가 있는경우 완전히 정송할때 까지 CLOSE_WAIT상태로 대기한다. | FIN_WAIT | CLOSE_WAIT |
CLIENT는 서버의 LAST응답인 FIN이 올때까지 대고 SERVER는 전송작업이 마무리되면 FIN세그먼트를 클라이언트에 전송 | TIME_WAIT | LAST_ACK |
CLIENT가 SERVER에게 마지막으로 ACK를 보내어 종료작업이 완료 | CLOSED | CLOSED |
서버상태
- CLOSE : 닫힌 상태
- LISTEN : 포트가 열린 상태로 연결 요청 대기 중
- SYN_RCV : SYNC 요청을 받고 상대방의 응답을 기다리는 중
- ESTABLISHED : 포트 연결 상태
'JAVA > 프로그래밍 이론' 카테고리의 다른 글
EJB CMT 방식의 2PC XADatasource처리방식 (0) | 2018.05.15 |
---|---|
암호화 양방향, 단방향, 공개키(비댕칭키), 비공개키(대칭키) 개념/분류 알고리즘 정리 (1) | 2018.05.08 |
AtomicInterger 완전정복 - CAS알고리즘(compareAndSet) (0) | 2018.05.03 |
JAVA 접근제한자 public protected default private (0) | 2018.05.01 |
HTTP 응답코드 메소드 정리 GET, POST, PUT, PATCH, DELETE, TRACE, OPTIONS (1) | 2018.05.01 |
이 글을 공유하기