출처 - http://no1rogue.blog.me/30095914392
* TCP 헤더 (20 Bytes ~ ) - 4 Level Layer
- 송신처 포트
; 2바이트. 송신(발신)지의 포트(Port) 번호 정보를 가지고 있다. 포트 번호는 요즘 같은 멀티프로세싱 환경에서 해당 패킷이 어떤 어플리케이션(프로그램)에서 사용하는지 구분하기 위해 사용된다. 대표적인 예로 익스플로러와 같은 웹 브라우저는 주로 80번(HTTP)를 사용한다.
- 수신처 포트
; 2바이트. 수신(목적)지의 포트 번호 정보를 가지고 있다.
- 일련 번호(Sequence Number) - 송신 데이터의 일련 번호
; 4바이트. 해당 패킷의 맨 앞 위치의 데이터가 송신 데이터의 몇 번째 바이트에 해당하는지 송신측에서 수신측에 전달하기 위한 번호 데이터. 답으로 아래의 ACK 번호를 수신 측에서 송신측에 전송해주면 송신측의 데이터가 제대로 전달되었는지 확인하는 용도로 쓰인다.
- 인지 번호 (ACK<아크>, Acknowledgement Number) - 수신 데이터의 일련 번호
; 4바이트. 데이터가 몇 바이트까지 수신측에 도착했는지 수신측에서 송신측에 전달하기 위한 번호 데이터. 이 번호로 송신측의 데이터가 수신측 제대로 전달되었는지 확인하여 송신측에서 재전송 여부를 판별하게 된다.
- 데이터 오프셋
; 4비트. 데이터 부분이 어디서부터 시작하는지 나타내는 데이터. 데이터의 시작이 헤더의 끝도 되므로 헤더의 길이로 해석해도 된다. 4바이트 단위이므로 이 값에 4를 곱해야된다. 보통 5(0101)값을 가진다.
- 예약(Reserved)
; 6비트. 아직은 사용하지 않는다.
- 컨트롤 비트 <플래그>
+ URG
> 긴급 포인터 필드의 유효 여부
+ ACK
> 수신 데이터의 일련 번호 필드의 유효 여부. 보통 데이터가 수신측에 제대로 전달되었음을 의미.
+ PSH
> Flush 동작에 의해 송신된 데이터임을 나타낸다.
+ RST
> 접속을 강제로 종료하고 이상 종료시 사용된다.
+ SYN
> 송신측과 수신측에서 일련 번호를 서로 확인할 때 사용. 이 것으로 접속 동작을 나타냄.
+ FIN
> 연결 끊기를 나타낸다.
- 윈도우
; 2바이트. 수신측에서 송신측에 윈도우 사이즈<수신 확인을 기다리지 않고 묶어서 송신할 수 있는 데이터양>을 통지하기 위해 사용한다.
- 체크섬
; 2바이트. (TCP헤더와 데이터의) 오류 유무를 검사하기 위한 것.
'스터디 > network' 카테고리의 다른 글
클라우드 서비스 종류 (0) | 2012.03.03 |
---|---|
무선 네트워크 보안 WEP, WPA, WPA2 원리와 한계 (0) | 2011.03.20 |
TCP와 UDP에 대해 공부해보자! (3) | 2011.01.18 |
[네트워크갤] IP 주소와 IP 클래스 A,B,C,D,E에 관한 개념이해! (7) | 2011.01.18 |
네트워크의 기본, LAN과 WAN에 대한 개념이해! (1) | 2011.01.18 |