logo

English

이곳의 프로그래밍관련 정보와 소스는 마음대로 활용하셔도 좋습니다. 다만 쓰시기 전에 통보 정도는 해주시는 것이 예의 일것 같습니다. 질문이나 오류 수정은 siseong@gmail.com 으로 주세요. 감사합니다.

TCP/IP State Transition - TCP 스택 포팅 시 참조

by digipine posted Nov 02, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment

일반적인 경우 아래 내용은 모두 Sokcet 내에서 처리되기 때문에 필요없지만

TCP 스택을 포팅하거나 수정해야할 경우에는 중요하게 처리해야될  TCP State 값의 설명입니다.

 

TCP/IP State Transition Diagram (RFC793)


A connection progresses through a series of states during its lifetime. The states are: LISTEN, SYN-SENT, SYNRECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT, and the fictional state CLOSED. CLOSED is fictional because it represents the state when there is no TCB, and therefore, no connection. Briefly the meanings of the states are:

 

LISTEN

represents waiting for a connection request from any remote TCP and port.

 

SYN-SENT

represents waiting for a matching connection request after having sent a connection request.

 

SYN-RECEIVED

represents waiting for a confirming connection request acknowledgment after having both received and sent a connection request.

 

ESTABLISHED

represents an open connection, data received can be delivered to the user. The normal state for the data transfer phase of the connection.


FIN-WAIT-1

represents waiting for a connection termination request from the remote TCP, or an acknowledgment of the connection termination request previously sent.

 

FIN-WAIT-2

represents waiting for a connection termination request from the remote TCP.

 

CLOSE-WAIT

represents waiting for a connection termination request from the local user.

 

CLOSING

represents waiting for a connection termination request acknowledgment from the remote TCP.

 

LAST-ACK

represents waiting for an acknowledgment of the connection termination request previously sent to the remote TCP (which includes an acknowledgment of its connection termination request).


TIME-WAIT

represents waiting for enough time to pass to be sure the remote TCP received the acknowledgment of its connection termination request.


CLOSED

represents no connection state at all.

 

 

A TCP connection progresses from one state to another in response to events. The events are the user calls, OPEN, SEND, RECEIVE, CLOSE, ABORT, and STATUS; the incoming segments, particularly those containing the SYN, ACK, RST and FIN flags; and timeouts.

 
18e2bb3ea671dc6796b1dcf7b351de9c.PNG

 

TAG •

List of Articles
No. Subject Author Date Views
84 LibVLC 미디어 재생기 프로그래밍 방법 C++, QT 엉뚱도마뱀 2018.04.20 2504
83 CMM / CMMI 란 무엇인가? digipine 2017.10.28 2467
82 [ubuntu, 우분투] sendmail 설치 digipine 2017.11.02 2317
81 Ubuntu Server OS 한국어 모드로 설치 후 서버 콘솔에서 한글 깨짐 해결 방법 digipine 2017.10.31 2248
80 How to FFMpeg Windows Build with msys 1.0 and MinGW_64 file lizard2019 2019.06.05 2209
79 C/C++ struct 패딩(padding) 원리 이해 lizard2019 2019.03.04 2150
78 Git Http Backend Upload Size 설정 - Http 500 Error 해결 digipine 2017.11.02 2074
77 XOR Encryption : 단순하면서도 강력한 암호/복호화 기법 digipine 2017.11.02 1737
76 대칭키 암호화관련 개념 정리 digipine 2017.11.09 1642
75 우분투 Nabi 한글 입력기 Tray(트레이) 상단 메뉴바로 옮기기 digipine 2017.11.03 1630
74 리눅스 /dev/random을 이용한 랜덤값 생성 엉뚱도마뱀 2017.11.22 1556
73 MacOS 10.12.2 (OSX) 보안 취약점 공격 코드 2 file digipine 2017.11.02 1556
72 Ubuntu 16 에 mysql 5.7 설치 및 원격 설정 file digipine 2017.11.08 1484
71 MacOS 10.12.2 (OSX) KERNEL DEBUGGING file digipine 2017.11.02 1470
70 [Qt] QSettings 클래스의 설명과 사용법, 설정 저장위치 digipine 2017.11.02 1470
69 How to Build FFMpeg for LAVFilters file lizard2019 2019.06.05 1449
68 Ubuntu 16 에 JAVA 1.7.0 jdk 설치 하기 digipine 2017.11.07 1417
67 Docker에서 Phabricator 최신버전 설치 및 버전 확인 방법 file lizard2019 2021.04.15 1403
66 IPv6 프로그래밍 가이드 digipine 2017.11.02 1350
65 윈도우즈 도스 커멘드(Command) 네트워크 관련 명령어 lizard2019 2019.02.07 1342
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6