인터넷 프로토콜 스택의 4계층
내 IP와 데이터를 전송 할 상대방 IP 주소를 알아야 데이터를 전송 할 수 있고 패킷 단위로 인터넷 노드에 따라 데이터 전송
패킷을 전송 받을 상대방이 인터넷과 연결되있지 않거나 없는 경우에도 패킷을 전송한다.
데이터가 중간에 유실될 수 있고 유실되었는지 전송자를 알 수 없다.
데이터가 내가 보낸 순서대로 전송되지 않는다. ( 크기가 클 경우 1500byte 정도로 나눠서 보내는데 각 다른 노드를 타고 전송될 수 있기 때문)
연결 지향 - TCP 3 way handshake(가상연결, 논리적 연결)
클라이언트(SYN) -> 서버(SYN+ACK) -> 클라이언트(ACK) -> 서버 -> 연결 -> 데이터 전송
(SYN : 접속 요청, ACK : 요청 수락, ACK와 데이터 함께 전송 가능)
데이터 전달 보증 - 클라이언트에서 서버로 데이터 전송 시 데이터가 무사히 도착했다는 메시지 전송 메시지가 없을 경우 문제가 발생 한 것
순서 보장 - 데이터 전송 시, 전송 순서가 기록되어 전송되고 이를 받을 때 순서가 맞지 않는 다면 순서대로 재 요청한다.
기능이 거의 없으며 단순히 빠르며 IP 패킷 전송과 거의 유사하고 +port 번호, 체크섬(중복검사)만 추가
애플리케이션 단계에서 추가적으로 작업 필요
다중 연결을 위해서 사용
같은 IP내에서 프로세스를 구분
0~65535까지 할당 가능 0~1023까지는 잘 알려진 포트라 쉽게 접근 가능하기 때문에 사용하지 않는것이 좋음
FTP : 20, 21
TELNET : 23
HTTP : 80
HTTPS : 443
IP는 변경될 수 있으며 기억하기 어려움, 따라서 사람이 기억하기 쉽고, IP가 변경되더라도 연결될 수 있도록 만듦
도메인 명을 IP 주소로 변환, DNS 서버에 도메인명을 가지고 IP 주소를 가져옴