한계점
1) 비연결성
- 패킷을 받을 대상이 없음
- 서비스 불능 상태여도 패킷 전송
2) 비신뢰성
- 중간에 패킷이 사라지는 경우
- 순서대로 안오는 경우 -> 패킷들이 서로 다른 노드를 탈 경우가 있음
3) 프로그램 구분
- 같은 IP를 사용하는 서버에서 통신하는 애플리케이션이 둘 이상일 경우
1) 연결지향 - TCP 3 way handshake(가상 연결) -> 연결되어 있으면 전송
ㄴ>연결 과정 : 1. SYN (보내는 쪽 접속 요청), 2. SYN + ACK (받는 쪽 요청 수락과 접속 요청), 3. ACK (보내는 쪽 요청 수락)
2) 데이터 전달 보증 -> 전송 실패 시 사용자에게 경고
3) 순서 보장
4) 신뢰 가능한 프로토콜
인터넷 프로토콜 4계층
애플리케이션 계층 - HTTP, FTP
전송 계층 - TCP, UDP
인터넷 계층 - IP
네트워크 인터페이스 계층전송 순서
- 프로그램이 Hello, 메시지 생성할 경우
메시지 생성 -> SOCKET 라이브러를 통해 전달 -> TCP 정보 생성, 메시지 데이터 포함
-> IP 패캣 생성, TCP 데이터 포함 -> LAN 카드를 통해 서버로 이동
따라서
- IP와 거의 같음 + Port + 체크섬 정도만 추가
- 애플리케이션에서 추가 작업 필요
한번에 둘 이상 연결해야 한다면?
게임, 웹 브라우저 요청 등등
-> 같은 IP 내에서 프로세스 구분
게임 8090 , 웹 브라우저 10100 등 포트 번호를 부여하여 구분
ex)
도메인 명 IP
google.com 200.200.200.2
참고 자료