우리가 인터넷에 www.naver.com 이라고 치면, 서버를 향해 요청을 하고 서버는 그에 맞게 응답을 줍니다. 이렇게 클라이언트(우리)와 서버 사이에서 통신을 할 수 있도록 만든 규약(법칙)이 http라고 할 수 있습니다.
인터넷을 포함하여 일반적으로 사용하고 있는 네트워크는 TCP/IP라는 프로토콜에서 움직입니다. 일단 TCP/IP는 여러 프로토콜(통신 법칙)들의 집합입니다.
애플리케이션, 트랜스포트, 네트워크, 링크 이렇게 4개의 계층으로 나뉘어있습니다.
이렇게 계층화가 되어야 개발로 인해 사양이 바꼈을 때 해당 계층만 바꾸면 되기 때문에 설계와 개발의 편리성을 줍니다.
IP : 배송을 담당합니다. 네트워크 층이며, 개개의 패킷을 상대방에서 전달하는 역할입니다. 이러기 위해 필요한 것이 IP주소, MAC 주소 입니다.
IP주소 - 각 노드에 부여된 주소 (변경 가능)
MAC주소 - 하드웨어적인 주소 (변경 불가능)
TCP : 신뢰성 담당자입니다. 트랜스포트 층이며, 바이트 스트림 서비스를 제공합니다. 용량이 큰 데이터를 패킷단위로 잘라줍니다. 그리고 이를 상대에게 보내고, 정확하게 도작했는 지 (신뢰성)을 확인하는 역할을 합니다.
키워드 - 3 WAY handshaking (SYN/ACK로 통신 신뢰성을 확인합니다)
DNS : 이름 해결을 담당합니다. DNS는 HTTP와 같이 응용 계층입니다. 도메인 이름과 ip주소 이름 확인을 제공합니다. 인터넷에 naver를 검색하면 DNS에서 해당 하는 ip주소를 알려주고 이를 기준으로 송신하면 브라우저에서 naver 웹사이트를 보여주는 것 입니다. 반대로 ip주소로 부터 도메인명을 조사하는 서비스도 갖고 있습니다.