한밤의 CS 산책
오늘의 주제는 TCP입니다.
OCI 7Layer나 TCP/IP 4Layer를 공부하시면 항상 나오는 친구가 있습니다.
바로 TCP 통신입니다.
TCP란?
Transmission Control Protocol의 축약어로 직역하면 전송 제어 프로토콜이라고 해석 할 수 있습니다.
인터넷 상에서 데이터를 주고 받기 위해 IP와 함께 사용하는 프로토콜로 정의 할 수 있습니다.
특징
연결형 서비스(Connected)
발신지와 수신지를 연결하여 패킷을 전송하기 위한 논리적 경로를 배정하는 가상회선방식을 제공합니다.
HandShaking
연결 시에는 3-way-handshaking 방식을 연결 해제 시에는 4-way-handshaking를 사용합니다.
흐름 제어(Flow Control)
송신측과 수신측의 데이터처리 속도 차이를 제어하는 기법으로 두 가지가 있습니다.
- Stop an Wait -> 매번 전송한 패킷에 대해 확인 응답을 받은 후 다음 패킷을 전송합니다.
- Sliding Window -> 수신측에서 설정한 윈도우 크기만큼 송신측에서 확인 응답 없이 세그먼트를 전송합니다.
혼잡제어(Congestion Control)
송신측의 데이터 전달과 네트워크의 처리속도 차이를 해결하기 위한 기법으로 두 가지가 있습니다.
- Slow Start -> 윈도의 크기를 2배로 늘리고 혼잡 발생 시 1로 줄입니다.
- Fast Recovery -> 혼잡한 상태가 되면 창 크기를 1로 줄이지 않고 절반으로 줄인 후 선형 증가시킵니다.
높은 신뢰성
연결형 서비스의 높은 신뢰성 (3-way,4-way)
UDP 보다 낮은 속도
handshaking과 흐름 제어 및 혼잡 데어 같은 기능으로 상대적으로 UDP보다 맞은 속도
전이중(Full-Duplex), 점대점(Point to Point) 방식
- 전이중(Full-Duplex)
-> 두 디바이스 간 통신선이 두개 존재(송신선, 수신선)
-> 각각 따로 존재하므로 송신과 수신이 동시에 가능합니다. - 점대점(Point to Point) -> 네트워크에 있어 물리적으로는 중계 장치를 통과하지 않고 한 지점에서 다은 지점으로 직접 가는 채널을 의미합니다.
UDP, TCP 비교
3-way, 4-way
사진 출처 - @evelyn82ny
사진 출처 - @evelyn82ny
우원 /
안녕하세요👏
우원입니다.
우원입니다.