IP란 인터넷 프로토콜(IP, Internet Protocol)의 줄임말이며 서버 컴퓨터 휴대전화등 인터넷에 연결된 모든 장치는 IP라는 일련의 고유 식별 번호로 분류됩니다.(집 주소라고 생각하면 됨) 인터넷 서비스 공급 회사 IPS
가 장치의 IP주소를 부여합니다. 우리가 사용하는 컴퓨터가 아닌 데이터를 저장하는 서버에도 IP주소가 있습니다.
IPS : 개인이나 기업체에게 인터넷 접속 서비스, 웹사이트 구축 및 웹호스팅 서비스 등을 제공하는 회사를 말한다. 대표적으로 한국에서는 KT, SK브로드밴드, LG U+ 등이 있다.
IP의 역할은 다음과 같습니다
통신 단위
로 데이터 전달우리가 우편물에 보내는 사람, 받는 사람 주소를 적듯이 IP도 출발지IP, 목적지 IP가 필요합니다. Packet은 물건을 담는 봉투라는 의미가 있습니다.. 그 의미처럼 Packet에는 다음과 같은 정보를 담고 있습니다
IP 프로토콜이 실행되면 Packet에 위의 정보가 입력되고 전송이 시작됩니다. 인터넷망을 통과하여 목적지 IP에 도착하면 목적지의 서버는 출발지 IP로 다시 정보를 전달합니다.
하지만 IP프로토콜에는 한계가 있습니다.
위의 문제를 해결할 방법으로 개발된것이 TCP입니다.
인터넷 프로토콜 스택 4계층이란 인터넷에서 컴퓨터들이 서로 정보를 주고받는데 쓰이는 프로토콜의 모음이다. 이러한 프로토콜은 용도에 따라 4개 계층으로 이루어져 있다.
그럼 인터넷 프로토콜 스택 4계층 방식으로 주소창에 Hello World!라는 메세지를 입력하면 어떤 방식으로 데이터가 전달되는지 보자.
SOCKET 라이브러리
를 통해서 OS로 전달(전송 계층)Ethernet frame
이라는 데이터가 포함되어 최종으로 서버로 전달됩니다.윗글에서 IP Packet에 어떠한 정보가 담기는지 보았습니다. 하지만 인터넷 프로토콜 스택 4계층을 배우고 난 후 IP Packet이 생성되기전 TCP정보가 먼저 생성 된다는 것을 알게 되었습니다.
TCP정보에는 다음과 같은 정보가 들어갑니다.
위 TCP정보에서 알 수 있듯이 IP 프로토콜의 한계가 어느정도 해결된 것을 알 수 있습니다.
TCP는 전송 제어 프로토콜(Transmission Control Protocol)입니다. IP에서 생겼던 문제를 해결해 주며 서버와 클라이언트간에 데이터를 신뢰성 있게 전달하기 위해 만들어진 프로토콜입니다. 즉 TCP는 Packet의 전송 및 오류를 제어합니다.
TCP의 특징은 다음과 같습니다.
3way handshake
)물론 더 많은 기능이 있지다. 현재 대부분은 TCP를 사용하고있다.
예를 들어 한 컴퓨터에 여러개의 어플리케이션이 돌아간다고 하면 수많은 Packet들이 한번에 컴퓨터로 전송 될 것이다. 그럼 한번에 한가지의 일 밖에 할 수 없지만 PORT는 그 문제를 해결해 준다.
예를 들어 한 컴퓨터에 게임, 화상통화, 카톡을 동작시키려면 최소 3번의 통신이 필요하다. 그렇게 되면 많은 트래픽이 필요하지만 컴퓨터에 있는 수 많은 포트중 하나로만 연결되면 멀티 커넥트가 가능해지면서 통신이 수월하게 된다.
IP는 주소 PORT는 물품을 받는 구멍이라고 생각하면 된다.
도메인 네임 시스템(Domain Name System, DNS)은 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다. 특정 컴퓨터의 IP를 찾기 위해, 사람이 이해하기 쉬운 도메인 이름을 숫자로 된 식별 번호(IP 주소)로 변환해 준다. 도메인 네임 시스템은 흔히 "전화번호부"에 비유된다.
예를 들어 구글의 아이피 주소가 http://74.125.224.72/라면 우리는 아이피 이름을 기억하기 어려울 뿐더러 만약 주소가 변경될 시에 알아내기도 힘들어진다. 그래서 DNS 서버에 74.125.224.72를 google.com이라고 등록을 하면 기억하기도 쉬울 뿐더러 아이피가 변경이 되더라도 문제가 없어진다.
DNS서버가 동작하는 원리는 다음과 같다.