IP 인터넷 프로토콜의 역할은
IP패킷 정보를 인터넷에 던지면 노드끼리 200.20.200.2 인 IP주소를 찾아면서 서로에게 토스한다! 그럼 200.20.200.2 에서 메시지를 받으면 IP패킷을 생성해서 다시 인터넷에 던지고 100.100.100.1번 인 IP주소를 찾으면서 서로에게 토스하면서 마찬가지로 목적지에 도달한다.
비연결성
대상서버의 상태를 모르고 클라이언트는 IP패킷을 생성해 전달한다
인터넷에서 중간에 목적지를 못찾고 중간에 노드가 종료되어버리면?? 문제가 발생한다!
자료가 소실 되어도 모른다.
3000byte 가되는 메시지를 보내면 1500byte씩 나눠져서 보내지기 때문에 수많은 노드를 타다보면 순서가 꼬여서 보내려하는 메시지와는 다른 메시지가 상대에게 전달된다.
TCP / UDP
TCP의 특징
전송 제어 프로토콜(Transmission COntrol Protocol)
연결지향 -TCP3 way handshake(가상 연결)
상대랑 나랑 연결이 됬는지 먼저 해보고 연결을 한다!
하지만 진짜 연결이 된것이 아니라 논리적으로만 연결이 된것!
데이터 전달보증
내가 메시지를 보냈는데 패킷이 누락되면 내가 그 사실을 알수있다
순서 보장
신뢰할수 있는 프로토콜
현재는 대부분 TCP를 사용
1.클라이언트에서 서버로 SYN을 보냄
2.서버에서 ACK라는 답을 보냄
3.클라이언트에서도 ACK를 보냄
이렇게 되면 클라이언트도 서버를 믿을수있고 서버도 클라이언트를 믿을수 있다.
1.클라이언트가 데이터를 전송함
2.서버에서 데이터를 받으면 받았다는 값을 보내줌
1.클라이언트가 123순서로 전송함
2.패킷이 도착했을때 순서가 문제가 발생
3.서버가 클라이언트에게 문제가 발생한 패킷부터 다시 전송요청
UDP의 특징
PORT
만약 내가 게임도하고 화상통화도하고 웹브라우저도 보고있다면??
어디서 보낸 패킷인지 어떻게 구별을 할까??
TCP/IP패킷에는 출발지IP 와 목적지IP 그리고 출발지 PORT와 목적지 PORT가 있다!!
IP가 아파트라면 PORT는 동호수라고 생각하자!!
PORT는
DNS사용
DNS서버에 도메인명을 보내면 IP값을 응답해서 웹을 보여준다.