1_internet-network
○ IP(인터넷 프로토콜)
1) 지정한 IP주소에 데이터 전달함
2) 패킷이라는 통신 단위로 데이터 전달
○ IP(인터넷 프로토콜) 의 한계
1) 비연결성 : 패킷을 받을 대상이 없거나 받을수 없는 상태여도 패킷을 전송함
2) 비신뢰성 : 중간 노드에서 패킷이 사라질수 있고 패킷을 나누어서 보낼 시 각 패킷은 다른 노드를 탈수 있어서 순서대로 도착하지 않을 수 있음
3) 프로그램 구분이 안됨 : 서버와 통신하는 어플리케이션이 둘이상이면 어떠한 어플리케이션에서 사용되는 패킷인지 구분이 되지 않음
○ 인터넷 프로토콜 스택의 4계층
1) 애플리케이션계층 (HTTP, FTP)
2) 전송계층 (TCP, UDP)
3) 인터넷 계층 (IP)
4) 네트워크 인터페이스 계층 (LAN)
1 -> 2 -> 3 -> 4 순서
○ TCP : 전송 제어 프로토콜(Transmission Control Protocol)
1) 연결지향 - TCP 3 way handshake(가상연결)
클라이언트 -> (SYN) 전송 -> 서버 -> (SYS+ACK) 전송 -> 클라이언트 -> (ACK[데이터]) 전송 -> 서버
====> 가상연결 확인!!!!
※ SYN: 접속 요청, ACK: 요청수락
2) 데이터 전달 보증
패킷을 나누워서 패킷1, 패킷2, 패킷3으로 서버에 보냈을 시 패킷1, 패킷3, 패킷2 순으로 도착하게되면
패킷3부터 다시 보내라고 클라이언트에 요청
3) 포트 ( 같은 IP내에서 프로세스 구분 ex) IP가 아파트주소라면 PORT는 아파트 동 호수)
포트정보를 담고 있어 어떠한 애플리케이션에 보내는 패킷인지 알수 있음
★ IP(인터넷 프로토콜)의 문제를 해결
○ UDP : 사용자 데이터그램 프토토콜(User Datagram Protocol)
1) IP와 거의 같고 포트와 체크섬 정도만 추가되어있음
2) 애플리케이션 추가로 사용자가 커스텀 가능함
○ DNS : 도메인 네임 시스템(Domain Name System)
=> IP주소는 기억하기 힘듬 > 도메인 주소를 입력하면 IP주소로 변환시켜주는 시스템