컴퓨터를 식별하기 위해 할당하는 주소
다른 컴퓨터에 데이터를 보내려면 패킷이 수많은 노드를 거쳐서 목적지 IP 주소까지 찾아가게 된다.
하지만 IP 프로토콜만 가지고 데이터를 보내기에는 다음과같은 한계가 있다.
IP 프로토콜의 이러한 문제들을 TCP 프로토콜이 보완할 수 있다.

1. 애플리케이션이 데이터를 보내달라고함
2. OS로 전달
3. OS가 TCP 정보를 추가함
4. OS가 IP 정보를 추가함 -> IP 패킷 생성
5. LAN 으로 나감

특징

TCP 정보에 해당 기능을 위한 정보들이 포함되어있다.
기능이 거의 없고 IP 프로토콜과 단점이 비슷하지만, PORT 정보가 추가됨
-> 하나의 IP에서 여러 앱으로 통신을 할때 PORT 로 구분한다.
TCP 프로토콜 사용시 3way handshake 과정과 패킷에 실리는 TCP 정보로 인해서 전송 속도가 느려진다.
하지만 TCP는 규격이 정해져있기 때문에 커스텀 최적화를 할 수 없다.
이를 커스텀하기 위해서는 UDP에 커스텀 설정 정보를 싣는다
-> 커스텀을 위한 빈 도화지와 같은 역할
한 컴퓨터에서 여러 애플리케이션을 사용할 때 통로를 구분해주는 역할을 한다.
PORT가 다름 : 같은 공항 다른 탑승구 같은 느낌
TCP/IP 패킷에 출발지 PORT, 도착지 PORT 정보가 담긴다
IP 주소는 기억하기 어렵다. 그리고 변경될 수 있다.
DNS 서버에 도메인명(velog.io 등)과 서버의 IP주소가 등록되어있다.
클라이언트는 도메인명 으로 접속하면 거기 등록된 IP로 요청을 보내게 됨
-> 전화번호부 같은 역할