Part 3. Port와 DNS (인터넷 네트워크)

김수환·2023년 3월 16일
0
post-thumbnail

오늘의 주제
Q 1 : “인터넷 프로콜의 한계 중 ‘프로그램의 구분’ 문제를 해결해주는 Port는 무엇인가?“
Q 2 : “DNS는 무엇일까?“


저번 시간 정리

  • <인터넷 프로토콜(IP)>
    서울에 있는 '나'와 전세계 사람과 소통하기 위해 수많은 노드를 거쳐야만 한다.
    어떤 규칙을 통해 순차적으로 나아가는 게 바로 ‘인터넷 프로토콜’이다.
    인터넷 프로토콜은 출발지와 목적지를 지정한 아이피 주소(IP Address)에 데이터를 전달한다. 패킷(Packet)이라는 통신 단위로 데이터를 전달한다.
  • <인터넷 프로토콜의 한계>
    비연결성이란?(다른이의 PC가 꺼진 경우)
    데이터를 받는 대상이 없거나 서비스 불능 상태의 경우에도 패킷이 전송된다.
  • 비신뢰성이란?
    중간에 데이터가 사라지거나 데이터가 순서대로 오지 않는 상황이다.
  • 프로그램의 구분?
    컴퓨터에서 게임을 하고 음악을 듣는 상황이라면 어떻게 구분해서 누구에게 데이터를 보낼 것인가?
  • 인터넷 프로토콜의 한계를 해결해주는 ‘TCP/UDP’
  • 가상연결(SYN)
    연결지향적인 TCP 3 Way Handshake를 통해 접속 요청을 하면 가상 연결이 된다.
    인터넷 프로토콜의 한계 중 ‘비연결성’ 문제를 해결해준다.
  • 데이터 전달 보증(SYN+ACK)
    1) 요청을 수락하면서 데이터 전달에 대해 보증해준다.
    2) 순서 보장(ACK+ 데이터 전송)
    3) 인터넷 프로토콜의 한계 중 ‘비신뢰성’ 문제를 해결해준다.

Q 1: “인터넷 프로콜의 한계 중 ‘프로그램의 구분’ 문제를 해결해주는 Port는 무엇인가?“



<그림1>처럼 ‘게임', ‘화상통화’, ‘웹 브라우저’ 등 다양한 패킷이 클라이언트와 주고 받을텐데, 어떻게 구분 할 수 있을까? 일단, 인터넷 프로토콜(IP)만으로 게임 패킷, 화상통화 패킷, 웹 브라우저 패킷인지 구분을 할 수 없다. 여기서 해결할 수 있는 방식이 바로 ‘포트(Port)’다. 같은 IP 내에서 Port를 통해 프로세스 구분을 할 수 있다. 결국 Port는 아파트 호수와 같다고 생각하자!

Port는 0부터 65535까지 할당이 가능하다. 0부터 1023까지의 경우 ‘잘 알려진 포트’이기에 사용하지 않는 게 좋다. Port 20과 21은 FTP를 가리킨다(실제 21포트를 씀). Port 23은 TELNET이다. Port 80은 HTTP다. Port 443의 경우 HTTPS다.



Q 2 : “DNS는 무엇일까?“



IP의 길이가 길기 때문에 도메인 시스템 DNS(Domain Name System)이 필요하다. <그림3>처럼 IP가 변경되는 경우가 종종 생기기도 하다.



참고자료


김영한 인프런 강의 : 모든 개발자를 위한 HTTP 웹 기본 지식 - 인프런 | 강의


profile
프리랜서 글쓰기 강사에서 백엔드 주니어 개발자로 👊🏻

0개의 댓글