일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- 반사 서버
- slow http dos
- OFFSET
- dns drdos
- 헐크 dos
- ntp drdos
- slowloris
- snmp drdos
- slow http read dos
- hulk dos
- 해쉬 dos
- backlog queue
- drdos 대응
- slow http
- http get flooding
- drdos와 ddos 차이
- DHCP
- zerowindow
- from sql injection
- tcp drdos
- 네트워크 대역폭 소진
- tcp syn flooding
- udp drdos
- slow dos
- 해시 dos
- hash dos
- ruddy
- icmpp drdos
- 핑오브데스
- slow http post dos
Archives
- Today
- Total
Tech Juny
TCP 프로토콜 이란? 본문
TCP
01. TCP [Transmission Control Protocol]
TCP 프로토콜은 전송계층인 4계층에서 사용하는 대표 프로토콜이다.
단말간의 데이터 전송을 할 때 연결지향, 신뢰성, 오류제어, 혼잡제어 기능을 활용하여 안전하게 통신하기위해 사용된다.
02. TCP 특징
- 연결 지향 프로토콜
- 순서 제어 : 데이터의 전송 순서 보장
- Stream 기반 전송 방식 : 데이터를 임의의 크기로 나누어서 전송하는 방식
- 신뢰성 있는 프로토콜
- 흐름 제어 : 수신자가 수용 할 수 있는 데이터의 크기만큼만 전송
- 슬라이딩 윈도우 방식 : 상대박의 ACK를 기다리지 않고 연속적으로 전송
- 윈도우 : 수신 버퍼의 여유 공간 크기로 수신 ACK 없이 전송 할 수 있는 최대 Bytes 크기
- 오류 제어
- 재전송 : 데이터 전송 오류 또는 누락 발생시 재전송
- 혼잡 제어
- 타임 아웃 재전송 (매운 혼잡한 상태)
- 재전송은 일정 시간 또는 횟수 동안만 발생하여 무한 재전송을 방지
- 타임 아웃 재전송 (매운 혼잡한 상태)
- 3 ACK 중복 재전송 (덜 혼잡한 상태)
- 순서가 다른 번호의 세그먼트를 수신하면 즉시 누락된 세그먼트를 요청
03. TCP 패킷 구조
- Source Port (16 bit) : 출발지 포트 번호
- Destination Port (16 bit) : 목적지 포트 번호
- Sequence Number (32 bit) : 데이터 순서 번호
- Acknowledgment Number (32 bit) : 수신한 데이터의 다음 수신할 데이터 순서 번호
- HLEN (4bit) : TCP Header의 Byte 크기
- Reserved : 예약된 필드
- Control Flags (6 bit)
- Urgent(URG) : 우선순위를 높여 긴급하게 사용하는 플래그
- Acknowledgement(ACK) : 응답 확인 플래그
- Push(PSH) : 버퍼링 없이 데이터를 즉시 전달하는 플래그
- Reset(RST) : 비정상 세션을 종료하는 플래그
- Synchronization(SYN) : 세션 연결 시작 플래그
- Finish(FIN) : 세션 정상 종료 플래그
- Window size (16 bit) : 수신 버퍼의 여유 공간 크기로 수신 ACK 없이 전송 할 수 있는 최대 Bytes 크기
- Checksum (16 bit) : 데이터 손실 및 에러 Check 용 값
- Urgent Pointer (16 bit) : URG Flag 설정 시 시퀀스 번호 오프셋을 의미하며, 해당 오프셋의 마지막 긴급 데이터 Bytes
- Options : TCP 필드에 따른 옵션 사용
'네트워크' 카테고리의 다른 글
TCP 3 Way Handshake 란? (2) | 2024.01.22 |
---|---|
Ping / Traceroute / Tracert 란? (0) | 2023.01.08 |
ICMP 란? (0) | 2023.01.07 |
라우팅 이란? (0) | 2022.12.23 |
Unicast / Multicast / Broadcast 통신 방식 이란? (0) | 2022.12.21 |
Comments