본문 바로가기
Develop/Network

TCP

by jaekk 2018. 9. 30.


TCP

 연결형 프로토콜

-애플리케이션간의 데이터 전달

-데이터 분할


MSS: TCP 전송 가능한 최대 사이즈

TCP 헤더: MSS초과시 TCP에서 데이터를 여러개로 분할하는데, 이 때 데이터 맨 앞에 추가되는 정보

TCP 세그먼트: TCP헤더가 추가된 데이터


 TCP 전송 방식

 TCP 연결 요청 

 데이터 송/수신 

 TCP 연결 해제 

 설명

 -3 웨이 핸드쉐이크 방식

요청3단계

1. 호스트A(SYN): 전송 가능?

2. 호스트B(SYN/ACK)

    ㅇㅇ 나도 준비하겟음

3. 호스트A(ACK): ㅇㅋ

 데이터 송/수신 2단계

1. 호스트A: 전송한다

2. 호스트B: ㅇㅇ받음

1. 호스트A(FIN/ACK): 연결 종료한다?

2. 호스트B(ACK): ㅇㅋ

3. 호스트B(FIN/ACK): 나도 종료한다?

4. 호스트A(ACK): ㅇㅋ


 윈도우 제어

한번에 보낼 수 있는 TCP 세그먼트들을 제어하는 시스템

TCP 연결시 윈도우 사이즈를 통지하여 윈도우 사이즈만큼 송신하고, 윈도우사이즈만큼 TCP세그먼트를 받으면 수신측은 ACK를 전송

윈도우사이즈는 수신측에 따라 유동적으로 바뀜

전송 방식

슬라이딩 윈도우 방식

MSS만큼 옆으로 옮겨가며 데이터 전송

TCP 헤더의 시퀀스 번호로 데이터 수신 번호 정렬


 재전송 제어 

 원인

 - TCP 세그먼트 유실

 - 확인 응답 유실

 - TCP 세그먼트, 확인 응답의 전송이나 처리 시간 오래 걸림


 혼잡 제어 

 송신하는 데이터의 양을 늘려가며 전송


 

UDP(User Datagram Protocol)

데이터 전달만이 목적

UDP 데이터그램: UDP 헤더+UPD 데이터


 용도 

 실시간 데이터 전송

 여러 사용자

 소량의 데이터 전송



'Develop > Network' 카테고리의 다른 글

http통신  (0) 2018.12.03
TCP/IP 설정  (0) 2018.11.17
네트워크 개념 정리  (0) 2018.11.17
랜카드&공유기  (0) 2018.08.20
네트워크 랜 연결  (0) 2018.07.19

댓글