[TIL] 24.09.08 SUN

GDORI·2024년 9월 8일
0

TIL

목록 보기
35/79
post-thumbnail

오늘은 전송계층에 대하여 공부하고 Node 인증, 토큰, 미들웨어에 대하여 학습했다. Node관련 게시글은 추후에 개인과제 하면서 정리하며 올릴 예정이다.

전송 계층이란?

전송 계층은 우리가 인터넷에서 데이터를 주고받을 때, 그 데이터가 잘 도착하고 있는지 확인하고, 실수 없이 전달되도록 돕는 역할을 합니다. 예를 들어, 친구에게 편지를 보낼 때, 그 편지가 제대로 전달되었는지 확인하고, 잃어버리지 않도록 신경 쓰는 것과 비슷하죠. 이때 사용하는 중요한 두 가지 방법이 TCP와 UDP라는 것들이 있습니다.

1. TCP와 UDP란 무엇인가?

TCP와 UDP는 우리가 인터넷을 통해 주고받는 데이터를 어떻게 전송할지 결정하는 방법들입니다. 이 두 가지는 서로 다르게 작동해요.

TCP(Transmission Control Protocol)

TCP는 데이터를 정확하게 주고받는 방법이에요. 친구에게 중요한 물건을 보내는 택배와 비슷해요. 택배는 물건을 보낼 때 추적 번호가 있어서 물건이 잘 도착했는지 확인할 수 있죠? 만약 도중에 물건이 분실되면 다시 보내주는 것처럼요. TCP도 데이터를 안전하게 보내기 위해 다음과 같은 특징이 있어요.

TCP는 데이터를 보내기 전에 먼저 친구에게 "이제 준비됐니?" 하고 물어본 뒤, "응, 준비됐어!"라는 답을 받으면 데이터를 보내기 시작해요. 이걸 연결형 통신이라 하고 3-way handshake라는 절차를 걸쳐요.

만약 도중에 데이터가 잘못 도착하면, 다시 보내서 완벽하게 받았는지 확인해요. 이는 데이터 무결성을 의미하죠.

친구가 너무 많은 데이터를 한 번에 받기 힘들어하면, TCP는 속도를 줄여서 천천히 데이터를 보내요. 흐름 제어와 혼잡 제어도 한다는 소리입니다.

그래서 TCP는 데이터를 안전하게 보내는 게 중요할 때 사용돼요. 주로 웹사이트에 접속할 때나, 이메일을 보낼 때, 파일을 전송할 때 많이 사용되죠.

UDP(User Datagram Protocol)

UDP는 TCP와 달리, 빠르게 데이터를 보내는 방법입니다. 축구에서 공을 패스하는 것처럼, 공이 정확하게 전달되는지 확인하지 않고 빠르게 주고받는 것과 같습니다. 그래서 UDP는 다음과 같이 이뤄져요.

데이터를 보내면서 "잘 받았니?"라고 묻지 않고 그냥 빠르게 보내고 끝인 비연결형 통신을 합니다.

데이터가 약간 사라져도 상관없을 때 많이 사용됩니다. 신뢰성은 낮아지지만 그만큼 전송속도가 빠릅니다.

그래서 UDP는 실시간으로 데이터를 빨리 주고받아야 하는 상황에서 사용됩니다. 온라인 게임이나 영상 통화, 유튜브 실시간 방송에서 자주 사용되죠. 가끔 화면이 잠깐 끊기더라도 빠르게 전달되는 게 중요하기 때문입니다.

2. 포트란 무엇인가?

포트는 우리가 집에서 여러 개의 방이 있는 것처럼, 공항에서 탑승 게이트가 있는 것 처럼 인터넷에도 여러 개의 문이 있어서 각각의 문을 통해 데이터를 주고받을 수 있습니다. 예를 들어, TCP나 UDP는 각각 다른 포트를 통해 데이터를 보냅니다.

포트 번호는 문에 붙은 방 호수와 같아서 각각의 서비스는 포트 번호를 통해 자신만의 포트로 데이터를 받죠. 예를 들어, 웹사이트에 접속할 때는 80번 포트를 사용합니다. 이러한 포트 덕분에 여러 가지 데이터를 동시에 처리할 수 있게 됩니다.

추가로 포트 번호는 0번부터 65535번까지 있으며, HTTP(80), HTTPS(443), FTP(21) 등의 표준 서비스로 할당 되어있는 포트들이 있습니다. 나머지 포트는 사용자 또는 어플리케이션에서 자유롭게 사용할 수 있습니다. 우리가 Node.JS에서 3000번을 쓰는 것 처럼요.

3. TCP와 UDP의 비교

특징TCPUDP
연결 여부연결형 (3-way handshake)비연결형
신뢰성신뢰성 보장 (재전송 및 데이터 확인)신뢰성 보장 안 함
속도느림빠름
데이터 흐름 제어 및 혼잡 제어지원미지원
사용 사례웹 페이지 로딩, 파일 전송, 이메일 등실시간 스트리밍, 온라인 게임, VoIP 등

마치며,

전송 계층은 인터넷에서 데이터를 안전하게, 또는 빠르게 주고받는 방법을 관리하는 역할을 해요. TCP는 택배, 우편처럼 느리지만 안전하게 데이터를 보내고, UDP는 축구에서 공을 빠르게 패스하는 것처럼 속도가 중요한 곳에 사용돼요. 그리고 포트는 인터넷에서 데이터를 보내는 문 역할을 하며, 각각의 데이터가 정확한 곳으로 갈 수 있도록 도와줍니다.

profile
하루 최소 1시간이라도 공부하자..

0개의 댓글