전자기기
네트워크는 왜 이렇게 생긴걸까? 포트편
지하철승객

Lv.1 지하철승객 (183.♡.232.82)

2024년 8월 10일 AM 05:37 · 수정됨(09. 10. 00:52)

조회 6,073 공감 0


이전 글에서 네트워크가 왜 이런 모양을 갖게 되었는지에 대해 설명했습니다.
이번에는 포트에 대한 이야기만 하기 위해 좀 더 간략화 된 그림으로 구조를 바꿔보겠습니다.



이제 먼 컴퓨터든 가까운 컴퓨터든 선을 연결하고 IP 주소를 가지고 있다면 통신을 할 수 있게 되었다는 걸 알 수 있게 되었습니다.



그런데 처음에 통신을 할 때는 그냥 데이터를 보내기만 하면 만족할 수 있었지만
뭔가 컴퓨터를 가지고 할 수 있는 일이 많아지면서 통신 선로를 통해 이런 저런 것들을 시도해보기 시작합니다.


파일도 보내고, 메시지도 보내고, 전화도 걸고 등등

그런데 이렇게 다양한 형태의 데이터가 만들어지면서 문제가 발생합니다.
통신 선로는 하나인데 느닷없이 별의별 데이터를 받게되면 받는 쪽에서
온갖 데이터가 정리되지 않은 상태로 섞여들어오게 들어오게 되는거죠.
받는 입장에서는 뭐가 막 자신에게 쏟아지는데 뭐가 파일이고 뭐가 문자고 뭐가 전화인지 혼란스럽게 됩니다.



더욱이 이게 통신이 1:1도 아니죠?
여러 대의 컴퓨터가 한 컴퓨터로 데이터를 동시에 보낼 수도 있습니다.


이렇게 여러 곳에서 오는 데이터가 섞여서 들어오게 되면 데이터를 받는 입장에서는 대혼란에 빠지게 되겠죠?

이런 문제를 해결할 또다른 방법이 필요하게 됩니다.

'안녕 친구들? 해결사가 왔어!'


그래서 여기서 해결사가 등장하게 됩니다.
바로 포트(Port) 라는 거죠.


뭔가 요청을 보낼 때 도착지인 IP 주소만 보내는게 아니라 이게 '어떤 데이터'다라는 걸 표시해서
데이터를 받는 컴퓨터가 쉽게 처리할 수 있게 하는겁니다.

일종의 사서함 같은 개념이라고 생각하면 이해가 쉬워집니다.
보내는 쪽에서 정해진 번호의 사서함(=포트)으로 데이터를 넣어주는 거죠.


그러면 받는 측에서도 이게 어떤 용도인지 쉽게 파악하고 처리할 수 있게 됩니다.



그러면 이제 받는 측 컴퓨터는 각각의 어플리케이션들에게 담당하는 포트를 주고
그 쪽으로 들어오는 데이터를 전담하게끔 하는 것으로 데이터의 분류를 쉽게 처리할 수 있게 되죠.

특히 자주쓰이는 데이터들은 아예 특정 용도로 포트를 고정해놓고 쓰기도 합니다.
우리가 많이들 아는 80번 포트가 그런 거죠. 다들 알다시피 80번은 웹 서비스의 기본 포트입니다.
요즘은 보안을 강화한 443번 포트가 웹 서비스의 기본 포트죠.
그리고 이렇게 고정해놓고 쓰는 포트들은 IANA에 모두 공식적으로 등록이 되게 되어있습니다.

어떤 포트들이 등록되어있는지 궁금하신 분들은 영어 울렁증을 감안하고 아래 링크로 가보면 되긴하는데 추천하지는 않습니다.
https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt

이렇게 포트를 통해서  다양한 데이터를 혼선 없이 주고받을 수 있게 되었습니다.


그런데 포트와 별개로 컴퓨터끼리 주고받는 메시지를 보다보면 크게 두 종류로 나눌 수가 있습니다.

한 가지는 서로 대화하듯 상대방의 응답을 요구하는 메시지가 있고


또 다른 한 가지는 상대방의 응답과 상관없이 일방적으로 전달하는 메시지가 존재합니다.

이게 우리가 가끔씩 듣게되는 TCPUDP의 차이입니다.
TCP가 서로 대화를 주고 받는 메시지라면
UDP는 일방적으로 내 상태를 떠드는 것과 같죠.

그러다보니 이 두 프로토콜(TCP와 UDP를 말합니다. 끝의 P가 프로토콜의 약자입니다.)의 처리방식도 다릅니다.




위의 그림처럼 TCP는 컴퓨터끼리 포트를 서로간에 열고 1:1로 전용 통신로를 개설한 것처럼
연결한 뒤 메시지를 주고 받습니다.

반면에 UDP는 하나의 포트를 열면 우체통 처럼 열려있고
여러 컴퓨터에서 UDP 메시지를 그 포트에 집어넣으면 받는 컴퓨터에서
어느 컴퓨터에서 보낸 메시지인지 메시지마다 확인하고 처리합니다.


이렇게 처리하는 방식이 완전히 다르기 때문에 같은 5번 포트...라고 하더라도
TCP 5번 포트와 UDP 5번 포트는 서로 관련이 없는 다른 포트가 됩니다.

이 것이 공유기에서도 포트를 설정하는 곳에 TCP와 UDP를 선택한 뒤 포트번호를 입력하는 이유입니다.


이렇게 이번 글에서는 포트와 TCP/UDP에 대해서 알아보았습니다.

다음 글에서는 도메인 네임에 대해서 알아보도록 하겠습니다.















댓글 (57)

  • 깡통따개

    깡통따개 Lv.1

    24.08.10 · 183.♡.217.95

    다음편도 기대할께요!
  • 피쿼드 Lv.1

    24.08.10 · 211.♡.102.9

    아 이런 강좌 너무 좋아요

    감사감사
  • 생각과마음

    생각과마음 Lv.1

    24.08.10 · 49.♡.55.99

    쉽게 잘 이해되네요. 감사합니다.
  • 드림위버 Lv.1

    24.08.10 · 104.♡.29.66

    이해가 잘 되네요. 감사합니다!
    [https://damoang.net/data/editor/2408/comment_1746672962_uQlaqVWK_308ac0141965a21e5ba4f3ec050a2d05c1ca4358.JPG]
    재밌는 짤이 있어 투척만 하고 갑니다.
  • LiNE

    LiNE Lv.1 → 드림위버

    24.08.10 · 222.♡.209.27

    개발자 아니면 이해 못하는 짤 아닌가요 ㅋㅋㅋㅋ
  • 꼬마라크

    꼬마라크 Lv.1 → 드림위버

    24.08.10 · 125.♡.241.189

    @LiNE

    정의에도 부합되는 짤입니다.

    TCP 는 connection-oriented
    UDP는 connection-less
    프로토콜 이라고 하죠.

    CO 는 받았는지 확인 (= 다 들어감.)
    CL은 받았겠지.

    ㅋㅋㅋㅋ
  • routing

    routing Lv.1

    24.08.10 · 121.♡.129.147

    호출받고 왔습니다. 안녕하세요 라우팅입니다.
  • 노트발리

    노트발리 Lv.1 → routing

    24.08.10 · 223.♡.233.223

    ㅋㅋㅋㅋㅋㅋㅋㅋ
  • 정안랑 Lv.1

    24.08.10 · 58.♡.95.146

    너무 좋은 강좌! 보관하고자 합니다!
    감사드립니다!
  • 가을나무

    가을나무 Lv.1

    24.08.10 · 211.♡.226.66

    스크랩 해두고 갑니다. 감사합니다

댓글을 작성하려면 이 필요합니다.