검색결과 리스트
글
<TCP란?>
Transmission control Protocol로 전송 제어 프로토콜이다.
전송 계층의 프로토콜로 통신망의 데이터를 신뢰성 있는 전송을 수행한다.
프로세스 간의 통신을 개설하고, 전송 단계에서 흐름제어와 오류 제어를 제공한다. 흐름 제어를 위해서는 슬라이딩 윈도우를 사용하고, 오류 제어를 위해서는 확인 응답 패킷, 시간 초과, 재전송 방식을 사용한다.
TCP는 전이중 서비스를 지원해서 양방향으로 동시에 전송이 가능하다. 그리고 신뢰성 있는 데이터를 전송하며, 3-Way Handshaking을 통해서 연결을 맺고 실제 Data를 전송한다.
[특징]
TCP를 사용하는 두 어플리케이션(서버와 클라이언트)이 데이터를 교환하기 전에TCP접속을 성립해야 한다.
수신측에 올바르게 도착했는지를 확인하여 신뢰성 있는 통신을 수행
네트워크 내에 존재하는 패킷의 수가 과도하게 증가되는 현상을 혼잡(Congestion)이라 함
혼잡 현상을 방지하거나 제거하는 기능을 혼잡 제어(Congestion Control)라고 함
프로세스 간의 통신을 수행하기 위해 포트 번호를 사용한다. 1024이하의 port address는 잘 알려진 port address라고 하며, 이미 특정 서비스로 정의 되어 있는 주소이다. 그리고 port address는 1~65535까지 할당 가능하다.
예) 잘알려진 포트 번호
DNS - TCP, UDP 53번 포트
FTP - TCP 21번 포트
TELNET - TCP 23번 포트
SMTP - TCP 25번 포트
TFTP - UDP 69번 포트
SNMP - UDP 161번 포트
RIP - UDP 520번 포트
등이 있다...
1. Source Port Address : 발신지 포트 주소
ex) FTP : 20 or 21, Telnet : 23, HTTP : 80
2. Destination Port Address : 목적지 포트 주소
3. 순서번호(Sequence Number) : 전송되는 데이터 흐름의 바이트를 구분한다.
신뢰성 있는 데이터 전송을 위해 모든 byte마다 일련 번호를 설정해서 통신.
4. 확인응답번호(Acknowledgement Number) : 데이터 수신을 확인하는 번호로 수신한 마지막 바이트의 순서 번호에 1을 더한것이다.
5. Header Length : 헤더의 길이로 20~60byte이므로 5~12사이의 값을 갖는다.
옵션필드를 포함한 기본 헤더길이만 말한다. data은 NO!
6. Reserved : 예약된 필드로 차후 대비를 위해 남겨둔 공간이다.
7. Flag
① URG : 긴급 포인터가 유효(Urgent Pointer), 즉, 긴급한 데이터냐 아니냐를 말해주는 필드(긴급이면 1 아니면 0)
② ACK : 확인 응답 번호(잘 받았다고 말해주는 필드)
③ PSH : 데이터를 가능한 빨리 응용 계층으로 보내야 할때 사용한다. (이것부터 처리해 달라는 의미)
④ RST : 연결을 재설정한다. 즉, 초기화 한다는 의미
⑤ SYN : 연결을 초기화하기 위해 순서 번호를 동기화 시킨다. 누군가와의 통신을 하기 전에 싱크를 맞추는 것.
⑥ FIN : 송신측이 데이터 전송을 종료할 때 사용함.
8. Window : 세그먼트를 window안에 표기된 크기만큼 전송하여 에러가 발생하지 않으면 다음 전송은 두배의 window 크기로 보낸다. 수신측에서 window size를 보내면 그것에 맞춰서 전송속도를 조절한다.
응답 확인을 받기 전에 보낼 수 있는 데이터 양을 설정하는 필드이다. 윈도우의 최대 크기는 65,535바이트이다.
9. Checksum : TCP헤더와 TCP 데이터에 대해 체크섬 수행, 변형 여부를 확인하는 필드. 송신측에서 계산하여 저장된 값을 수신측에서 검사하여 에러를 검출하기 위한 필드
10. Urgent Pointer : URG 플래그가 설정되 있을 때만 유효한 값을 가지고, 송신측에서 데이터를 급히 보낼때 사용한다.
'Network > Network Theory' 카테고리의 다른 글
유니캐스트(Unicast), 브로드캐스트(Broadcast), 멀티캐스트(Multicast) (0) | 2015.12.09 |
---|---|
토큰링(TokenRing) (0) | 2015.12.09 |
이더넷 - CSMA/CD (0) | 2015.12.09 |
UDP 패킷(packet) 헤더 구조 (0) | 2015.12.09 |
2계층 전송 단위 - 이더넷 프레임(Frame) 구조 (0) | 2015.12.09 |
RECENT COMMENT