최신판 |
당신의 편집 |
1번째 줄: |
1번째 줄: |
| [[분류:네트워크]]
| | == 플래그 == |
| [[분류:정보처리기사]]
| | * '''SYN''' : TCP Connection의 최초 접속 시 연결을 요구하는 플래그 |
| [[분류:정보보안기사]]
| | * '''ACK''' : 응답 확인 플래그 |
| [[분류:프로토콜]]
| | * '''PSH''' : 데이터를 버퍼링하지 않고 즉석에서 수신자에게 송신하는 것을 요구하는 플래그 |
| | | * '''URG''' : 긴급 포인터 플래그 |
| ;Transmission Control Protocol
| | * '''FIN''' : 접속 종료 플래그 (정상 종료) |
| ;'''양종단 호스트 내 프로세스 상호 간에 신뢰적인 연결지향성 서비스를 제공하는 전송 계층 프로토콜'''
| | * '''RST''' : 접속 종료를 위한 리셋 플래그 (강제 종료) |
| | |
| == TCP의 특징 ==
| |
| | |
| *신뢰성 있는 연결을 지향한다.
| |
| *세그먼트에 순번을 지정하여 데이터의 순서를 유지한다.
| |
| *3-Way Handshaking을 통해 연결하고 4-Way Handshaking을 통해 연결을 종료한다.
| |
| | |
| == TCP 헤더 ==
| |
| [[파일:TCP 세그먼트 헤더.jpg]]
| |
| | |
| * Source Port : 출발지 포트번호
| |
| * Destination Port : 목적지 포트번호
| |
| * Sequence Number : 바이트 단위로 순서화되는 번호로, 이것을 통해 신뢰성(3-Way Handshake) 및 흐름제어(sliding Window) 기능 제공
| |
| * Acknowledgment Number : 수신하기를 기대하는 다음 byte 번호 (마지막으로 수신에 성공한 번호의 +1)
| |
| * Offset : 헤더 길이 필드이며 IPv4와 마찬가지로 나누기 4 계산 후 2진수로 작성됨
| |
| * Reserved : 예약된 필드, 현재 사용되지 않음
| |
| * Window : 자신의 수신 버퍼 여유용량 크기를 통보하여 얼마만큼의 데이터를 받을 수 있는지 상대방에게 알려주어 흐름제어를 수행하게 되는 필드
| |
| * [[TCP 제어 플래그]]
| |
| ** U (Urgent) : 긴급 비트, 내가 지금 보내는 데이터가 우선순위가 높음. Urgnet Pointer와 세트
| |
| ** A (Ack) : 승인 비트, 물어본거에 대한 응답을 해줄 때 사용됨
| |
| ** P (Push) : 밀어넣기 비트, TCP 버퍼가 일정한 크기만큼 쌓여야 하는데 이거 상관없이 데이터를 계속 밀어 넣겠다
| |
| ** R (Reset) : 초기화 비트, 상대방과 연결이 되어있는 상태에서 어떤 문제 등이 발생하여 연결 상태를 리셋하게 됨
| |
| ** S (Syn) : 동기화 비트, 상대방과 연결을 시작할때 무조건 사용되는 플레그
| |
| ** F (Fin) : 종료 비트
| |
| * Urgent Pointer : 어디서부터 긴급 값인지 알려주는 플래그 (TCP Flags의 U와 세트)
| |
| | |
| ==플래그== | |
| | |
| ;좀 더 상세한 내용은 [[TCP 제어 플래그|TCP 제어 플래그 문서]] 참조
| |
| | |
| *'''SYN''' : TCP Connection의 최초 접속 시 연결을 요구하는 플래그 | |
| *'''ACK''' : 응답 확인 플래그 | |
| *'''PSH''' : 데이터를 버퍼링하지 않고 즉석에서 수신자에게 송신하는 것을 요구하는 플래그 | |
| *'''URG''' : 긴급 포인터 플래그 | |
| *'''FIN''' : 접속 종료 플래그 (정상 종료) | |
| *'''RST''' : 접속 종료를 위한 리셋 플래그 (강제 종료) | |
| | |
| ==3-Way Handshaking==
| |
| | |
| ;TCP 연결 수립 과정
| |
|
| |
|
| | == 3-Way Handshaking == |
| [[image:3-way-handshake.png|500px|http://www.mdpi.com/2076-3417/6/11/358/htm]] | | [[image:3-way-handshake.png|500px|http://www.mdpi.com/2076-3417/6/11/358/htm]] |
|
| |
| ==4-Way Handshaking==
| |
|
| |
| ;TCP 연결 종료 과정
| |
|
| |
| #[Client(FIN_WAIT1) -> Server(CLOSE_WAIT)] FIN+ACK
| |
| #[Client(FIN_WATI2) <- Server(CLOSE_WAIT)] ACK
| |
| #[Client(TIME_WAIT) <- Server(LAST_ACK)] FIN+ACK
| |
| #[Client(TIME_WAIT) -> Server(CLOSED] ACK
| |
|
| |
| ==같이 보기==
| |
|
| |
| *[[TCP/IP]]
| |
| *[[UDP]]
| |