인터넷 프로토콜(IP)
- IP 주소란 각 기기간의 통신을 식별할 수 있는 전화번호 같은 것이다.
- 인터넷 통신 시 지정한 IP 주소에 데이터를 패킷(Packet)이라는 단위로 전달한다.
패킷(Packet)
- 소스 IP(출발지), 대상 IP(도착지)를 포함해 어떤 컴퓨터에 데이터를 전송할지 판별할 수 있다.
- 헤더, 페이로드, 트레일러(수신여부 포함)로 구분된다.
- ★ 데이터를 주기만 하는 것이 아닌 받고 응답한다.
TCP (Transmission Control Protocol)

- SYN 이란?
- 클라이언트가 서버에게 연결을 요청하는 첫 번째 단계이다.
- 클라이언트는 서버에게 "연결을 시작하고 싶다"라는 의사를 나타내기 위해 SYN 플래그가 설정된 패킷을 전송
- 패킷에는 시퀀스 번호가 포함 되어있고, 데이터 전송 순서를 관리할 준비를 함.
- ACK 이란?
- 서버가 클라이언트의 SYN 패킷을 받고, 이를 확인했다는 신호이다.
- 서버는 자신도 연결을 하고싶다는 신호로 SYN 플래그와 함께 ACK 플래그가 설정된 패킷을 전송한다.
- 이때, 서버는 클라이언트의 시퀀스 번호에 1을 더해 ACK로 응답한다.
데이터 전송 여부 : TCP를 통해 통신하면 데이터를 잘 받았다는 응답을 반환해준다.
패킷 순서 : 패킷이 나뉘어져 오더라도 순서를 보장해준다.
TCP 단점 : 신뢰성이 있지만 연결하는 과정과 데이터 전송에 시간이 많이 소요된다. (3 Way HandShake 과정을 거치는 속도가 매우 느림)
UDP (User Datagram Protocol)
PORT
- 같은 IP내 프로세스를 구분하기 위해 사용된다.
- 만약 같은 IP에서 동시에 여러 프로그램이 실행된다면 IP주소는 같은데 패킷의 도착지를 어떻게 식별할 것인가?
- 위의 질문의 해답으로 PORT는 프로그램을 구분하기 위해 있는 것이다.
- 쉽게 말하면 PORT는 IP라는 아파트 한 동의 몇호 같은 존재이다.
TCP/IP 패킷 구조 : 소스 PORT와 대상 PORT를 포함한다.
DNS (Domain Name System)
- 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 읽을 수 있는 IP 주소로 변환하는 역할을 한다.
- 동작 순서
- 원하는 이름의 도메인을 구매 후 DNS 서버에 등록
- 도메인 명을 입력하면 DNS 서버는 IP 주소를 반환
- 만약 IP가 변경되면 DNS 서버에 등록된 IP만 변경하면 됨
- 우리는 IP 형태가 아닌 도메인 형태로 웹에 접속
URI (Uniform Resource Identifier)
- 인터넷 자원을 식별할 수 있는 문자열을 뜻한다.
- URI는 Locator, Name 혹은 둘 다로 추가로 분류될 수 있다.
URL (Uniform Resource Locator)
- 자원의 위치를 의미한다.
- 일반적으로 도메인 주소로 알려져있음.
- 프로토콜을 포함한다. (https)
URN (Uniform Resource Name)
- 자원의 이름을 의미한다.
- 자원의 위치가 변경되어도 이름으로 자원을 찾기 때문에 잘 동작한다.
- 프로토콜을 포함하지 않는다.
- URN으로 실제 자원에 접근하는 것은 대중화 되어있지 않다.

URL 방식의 한계
- 자원의 위치를 변경하면 기존 URL은 사용할 수 없다.
- 브라우저 창에 어느 홈페이지를 검색하면 URL이 노출된다.
- 만약 URL이 바뀐다면 기존 경로로 아는 사람들은 검색 페이지의 URL이 업데이트 되지 않으면 찾을 수 없다.
- 이러한 한계를 극복하기 위해 URN이 등장했다.