# TCP_기초
<TCP (Transmission Control Protocol)>
: 전송 제어 프로토콜
컴퓨터가 다른 컴퓨터와 데이터 통신을 하기 위한 규약(=프로토콜)
근거리 통신망이나 인트라넷, 인터넷에 연결된 컴퓨터에서 실행되는 프로그램 간에 일련의 옥텟을 안정적으로, 순서대로, 에러없이 교환할 수 있게 한다.
TCP는 웹 브라우저들이 월드 와이드 웹에서 서버에 연결할 때 사용
+ 이메일 전송이나 파일 전송에도 사용된다.
보통 하위 계층에서 사용하는 IP와 엮어서 TCP/IP로 표현하는 경우가 많다.
TCP는 전송계층에 위치
동일 계층에서 사용하는 또다른 프로토콜로 UDP가 존재한다.
TCP의 안정성을 필요로 하지 않을 경우, 비접속형 UDP를 사용
-> 이것은,
-> 전달 확인 및 순차 보장 기능X
-> 그러나, 오버헤드가 작고 지연시간이 짧다는 장점 O
- TCP 특징
"Three Way Handshake"
"세 방향 악수"
1) 상대에게 -> 통신을 하고 싶다는 메세지 전송 (SYN)
2) 상대는 -> 그 메세지에 대한 응답 + 자신도 통신 준비가 되었다는 메세지 -> 전송 (SKN-ACK)
3) 2)에서 받은 메세지에 응답을 보냄 (ACK)
위와 같은 과정을 통해 나 - 상대 간의 통신이 연결되어 있음을 보장
기존의 회선 교환 방식과 유사하나, 단순히 서로 연결되어 있다는 사실만을 보장해 준다는 점에서 차이가 있다.
* 회선 교환 방식
: 회선 독점을 위한 통신 방식
통신 회선을 설정하여 데이터를 교환하는 방식 -> 모든 데이터는 동일한 경로로 전송됨
-> 안정적인 통신이 가능
-> point-to-point 방식으로 연결됨
-> 통신 중 중간 경로에 문제가 발생하면, 전체 연결에 문제가 생김 -> 새로운 회선 할당 필요