2021. 8. 27. 22:10ㆍ네트워크
TCP(Transmission Control Protocol)란
네트워크 계층 중 전송 계층에서 사용하는 프로토콜 로서, 장치들 사이에 논리적인 접속을 성립(establish)하기 위하여 연결을 설정하여 신뢰성을 보장하는 연결형 서비스 이다.
TCP의 특징
인터넷 상에서 데이터를 메세지의 형태(세그먼트 라는 블록 단위)로 보내기 위해 IP와 함께 사용하는 프로토콜이다.
TCP와 IP를 함께 사용하는데, IP가 데이터의 배달을 처리한다면 TCP는 패킷을 추적 및 관리한다.
연결형 서비스로 가상 회선 방식을 제공한다.
Sliding Window
슬라이딩 윈도우는 두개의 네트워크 호스트간의 패킷의 흐름을 제어하기 위한 방법
TCP 와 같이 데이터의 전달을 보증하는 프로토콜에서는 패킷 하나하나가 전달되었음을 확인 신호(ACK)를 받아야 하며, 만약 패킷이 중도에 잘못되었거나 분실되어 확인 받지 못하는 경우, 해당 패킷을 재전송해야 하는 필요가 있습니다.
Stop-and-wait 방식을 사용했을 때는 ACK 를 받고나서 다음 프레임을 전송하므로 비효율적인 면에 비해 슬라이딩 윈도우는 전송측이 전송한 프레임에 대한 ACK 프레임의 확인을 받지 않고도 여러 패킷을 보내는 것을 가능하게 하기 때문에 Stop-and-wait 방식보다 훨신 효율 적이라고 볼 수 있습니다.
슬라이딩 윈도우 데이터 송신 과 승인 방식
송신 측
•전송 카테고리 1 : 전송했고 승인받음.
•전송 카테고리 2 : 전송 했지만 아직 승인을 받지 못함.
•전송 카테고리 3 : 수신자는 준비됐지만 아직 전송하지 못한 바이트.
•전송 카테고리 4 : 수신자가 준비되지 않았고 전송하지도 못한 바이트.
송신( SND)과 수신(RCV)포인터
•송신 비확인(SND,UNA) - 송신 했지만 아직 승인되지 않는 첫 번째 데이터의 순서번호. - 전송카테고리 2의 첫 번째 바이트를 가리킨다. - 앞의 순서 번호는 모두 전송 카테고리 1에 속한다.
송신 다음(SND.NXT)
•다른 장비에게 보내야 할 다음 바이트의 순서번호이다.
•전송 카테고리 3번의 첫 번째 바이트를 가리킨다.
송신 윈도우(SND.WND)
•송신 윈도우 크기이다.
•승인 없이 보낼 수 있는 총 바이트 수.
수신 측
•수신 카테고리 1 +2 : 수신했고 승인 받음.
•수신 카테고리 3 : 수신자는 준비됐지만 아직 수신하지 못한 바이트
•수신 카테고리 4 : 수신자가 준비되지 않았고 수신하지도 못한 바이트
수신 윈도우(RCV.NXT)
•상태 장비에서 받으려고 하는 데이터의 다음 바이트의 순서 번호.
•수신 카테고리 3의 첫 번째 바이트를 가리킨다.
수신 윈도우(RCV.WND)
•상대 장비에게 광고한 수신 윈도우의 크기.
TCP 슬라이딩 윈도우 예
3-way handshaking과정을 통해 연결을 설정하고, 4-way handshaking을 통해 연결을 해제한다.
흐름제어 및 혼잡제어를 제공한다.
흐름제어
데이터를 송신하는 곳과 수신하는 곳의 데이터 처리 속도를 조절하여 수신자의 버퍼 오버플로우를 방지하는 것
송신하는 곳에서 감당이 안되게 많은 데이터를 빠르게 보내 수신하는 곳에서 문제가 일어나는 것을 막는다.
혼잡제어
네트워크 내의 패킷 수가 넘치게 증가하지 않도록 방지하는 것
정보의 소통량이 과다하면 패킷을 조금만 전송하여 혼잡 붕괴 현상이 일어나는 것을 막는다.
높은 신뢰성을 보장한다.
TCP는 UDP보다 속도가 느리다. (그러나 체감상 그다지 느리지않다. 요즘 속도가 빨라서)
전이중(Full-Duplex), 점대점(Point to Point) 방식이다.
전이중
전송이 양방향으로 동시에 일어날 수 있다.
점대점
각 연결이 정확히 2개의 종단점을 가지고 있다.
멀티캐스팅이나 브로드캐스팅을 지원하지 않는다.
연속성보다 신뢰성있는 전송이 중요할 때에 사용된다.
'네트워크' 카테고리의 다른 글
패킷 트레이서 포트 보기 (0) | 2023.02.15 |
---|---|
MPLS란 (0) | 2021.12.07 |
3 way handshake (0) | 2021.08.27 |
NAT(Network Address Translation) (0) | 2021.01.19 |
VRRP(HSRP) (0) | 2021.01.19 |