TCP 라는 것은 무엇일까??

TCP 약자조차 생각이 나지 않는다... 분명 Protocol인 것은 알겠는데... 뭐더라~

찾아왔다 Transmission Control Protocol 이라고 한다~ 그럼 Transmission은 또 무어냐? 찾아왔다. 전송, 송신한다는 말이다.

그럼 정리해보면 TCP라는 것은 무언가를 전송 또는 송신하는 것을 조정하는 프로토콜이라는 뜻인데. 

정확히 어떤 것을 하는지 확인해보자.

 

TCP는 내가 내가 보낸 내용들을 정확한 순서로 어떠한 오류나 결함없이 상대방에게 전달할 수 있도록 도와주는 멋진 프로토콜이라고 한다.

예를 들어 '카레먹는데 똥 얘기 하지마!' 라고 보낸 채팅이 '똥 먹는데 카레 얘기 하지마!' 라고 전달될 수도 있는 것을 막아주는 것이다~ ! 

순서와 혼잡도를 컨트롤 하는 것은 콘서트에서 순서대로 들여보내는 시큐리티와 비교할 수 있을 것 같다~ 1번부터 100번까지만 들어갈게요! 순서대로 한 줄로  서주세요. 번호 확인합니다. 이제 입장할 건데 절대 뛰지 말고 천천히 들어가세요.

 

이렇게 카리스마있고 멋진 TCP는 연결과정에 3 Way HandShake라는 과정이 필요하다. 간단히 이야기 하자면 내가 내 친구 웅구에게 전화를 해서 '웅구야 머해 전화하실?' 하면 웅구는 '웅~ 조아 가능~' 하고 내가 '우하하'하는 것이다. 

 

조금 더 길게 말해보자면, 

내가 웅구야 머해 전화하실? 하는 것은 SYN이고 임의의 시퀀스 번호를 함께 보낸다. 

그럼 웅구가 웅~조아 가능~ 하는 것은 SNY + ACK으로 ACK에 임의의 시퀀스 번호에 1을 더한 값을, SNY에 데이터 전송에 필요한 포트를 열어달라는 뜻으로 또 임의의 시퀀스 번호를 보낸다.

그럼 다시 내가 우하하 하면서 포트를 열어 Establish 상태로 만들고 응답으로 ACK에 새로 받은 시퀀스 번호에 1을 더해서 보내는 것이다.

 

그렇다면 ~!~! Establish는 무슨 뜻일까요 설립하다... 대충은 수립되었다~ 라고 이해는 가는데 나는 영단어를 쉽게 까먹는 편이라 좀 더 찾아봤다. 아래의 블로그에 의하면 안정적이다라는 Stable에서 e(x)가 붙어 단체를 밖에 존재를 드러내고 안정적으로 활동을 하게 만든다. 라는 뜻이라고한다. 굿~

https://blog.naver.com/eternity9us/223703865274?isInf=true&trackingCode=nx

 

 

그리고 연결을 해제할 때에는 4 way handshake를 사용한다. 왜 길이 한 번 더 생겼을까? 친구랑 놀다 헤어지기 너무 섭섭해서 마지막으로 올리브영 들르는 것과 같은걸까? 

 

이런 멋진 TCP에도 단점은 존재했다. 

무결하고 순서를 보장해주어야 했기에 너 뭔가 잘못된 것 같아. 다시 보내. 다시. 킴 카다시안이야 킴 카시다안이야? 다시. 다시. 다시!!!

넘 빡빡하고 오래걸리잖아요~~!~!~!~!

이번에 보내는 건 이렇게 빡빡하게 굴지 않아도 될 만큼 별 거 아니라구요~!~!~!~!

 

그럼 우리의 쿨한 UDP를 보자! 

 

이녀석은 깐깐징어 TCP의 단점을 보완하기 위해 나온 프로토콜로.. 또 무슨 약자였더라.. 찾아왔다. User Datagram Protocol이라고 한다!

 

이녀석은 스펀지밥 같은 녀석으로 우하하 전송 조아~~ 너도 가고 너도 가고~ 그냥 들어왔으면 가면 돼~~ 잘 가~~ 하는 녀석이다.

'JSCODE 컴퓨터 네트워크 스터디' 카테고리의 다른 글

JSCODE 모의면접 스터디 - 컴퓨터 네트워크 회고  (0) 2025.02.01
IP!  (0) 2025.01.30
3주차 Network study  (0) 2025.01.16
HTTP HTTPS DNS  (0) 2025.01.09
1주차 컴퓨터 네트워크  (0) 2025.01.02