티스토리 뷰
인터넷 네트워크
인터넷 통신
클라이언트와 서버가 인터넷(수많은 노드)을 통해 정보를 전달한다.
IP(Internet Protocol) 인터넷 프로토콜
지정한 IP주소로 데이터 전달, 이때 패킷(Packet)이라는 통신 단위로 전달된다.
패킷 - 출발지 IP, 목적지 IP, 기타 ...
한계 - 비연결성( 패킷을 받는 대상이 서비스 불능 상태여도 전송한다.)
비신뢰성( 원하는 순서대로 패킷이 전달 안될수도 있음, 패킷이 소실될 수 있음)
이를 극복하기 위해 TCP를 사용한다.
TCP(Transmission Control Protocol) 전송 제어 프로토콜
IP의 단점을 해결하기 위한 것
TCPIP 패킷 - 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 + IP 패킷 구성요소 ...
특징 - 연결지향 - TCP 3way handshake (IP의 비연결성 보완)
클라이언트와 서버가 연결되었는지를 확인하는 가상 연결 방법 SYN과 ACK를 통해 확인한다.
- 데이터 전달 보증 - 클라이언트가 서버로 데이터 전달하면 서버가 받았다는 확인을 함 (IP의 비신뢰성 보완)
- 순서 보장 - 서버가 패킷의 순서를 확인한다.
UDP(User Datagram Protocol) 사용자 데이터그램
프로토콜TCP와 같은 계층에 존재IP와 거의 유사, 단순하고 빠르다.
차이점은 PORT와 체크섬(checksum, 중복 검사의 한 형태) 정도가 있다.
PORT하나의 IP에서 여러 IP와 연결해야 한다면 어떻게 패킷을 구분해야 할 것인가
ex) 내 IP로 게임하고, 화상통화를 하면서 웹 브라우저 요청을 하는 경우
TCPIP 패킷에 있는 출발지PORT, 목적지 PORT를 통하여 구분한다.
0~65535 할당 가능 , 0~1023은 잘 알려진 포트이므로 다른 번호 사용하는 것을 추천
DNS(Domain Name System)
IP주소를 기억하기는 어렵고, IP주소가 변경될 가능성도 존재이를 해결하기 위해서 DNS 사용
전화번호부와 같은 역할( IP - 전화번호, DNS 서버의 저장된 도메인 - 전화번호의 소유자)