TCP/IP 란?
TCP/IP는 원래 미국방성 ARPANET 프로젝트에서 시작된 프로토콜이다. 미국방성 내부 프로젝트이었으나 대학이 참여함으로써 세상에 널리 알려지는 계기가 되었다. TCP/IP는 특정 운영체제에 한정된 프로토콜이 아닌 개방되어 있는 프로토콜이므로 서로 다른 운영체제, 네트워크 장치가 서로 통신이 가능한 프로토콜이다. 또한 TCP/IP는 네트워크 크기와 그 네트워크를 구성하는 호스트들의 수에 따라 클래스를 나누어서 네트워크를 구축하여 관리할 수 있으므로 확장성과 네트워크 관리의 융통성을 제공한다.
TCP란?
TCP는 Transmission Control Protocol의 약자이며 말 그대로 전송을 제어하는 프로토콜이다. IP위에서 구현되어 안정적인 연결, 메시지 교환, 패킷 손실 문제를 다루는 프로토콜이다.
IP란?
IP는 Internet Protocol의 약자이며, TCP/IP상에서의 데이터 교환 단위를 패킷이라고 하는데 IP는 패킷의 생성방법, 보내는 사람의 주소(발신지), 받는 사람의 주소(수신지), 전송하는 문제등을 다룬다. 즉, IP주소는 인터넷에 연결된 컴퓨터들끼리 서로를 구별하기 위해 붙인 주소라고 보면 된다.
|
프로토콜이란?
다른 종류의 컴퓨터를 네트워크를 통하여 통신이 가능하기 위해 서로를 연결해주는 하드웨어나 운영체제를 연결하기 위한 통신 규약이다.
TCP/IP에 기반한 프로토콜로는 무엇이 있을까?
가장 널리 알려지고 많이 구현된 프로토콜들은 다음과 같다. |
|
telnet |
네트워크 터미널 프로토콜(Network Terminal Protocol). 네트워크를 통한 원격 로그인을 제공한다. |
|
FTP |
파일 전송 프로토콜(File Transfer Protocol). 양방향 파일 전송에 사용된다. |
|
SMTP |
메일 전송 프로토콜(Simple Mail Tranfer Protocol). 전자 메일을 전달한다. |
|
SNMP |
네트워크 관리 프로토콜(Simple Network Management Protocol). 네트워크 구성을 관리한다. |
|
HTTP |
하이퍼텍스트 전송 프로토콜(Hypertext Transfer Protocol). 네트워크를 통해 웹페이지를 전달한다. |
IP 주소
IP주소는 인터넷상에서 각각의 컴퓨터를 구분해주는 유일한 번호이다. 이 번호는 컴퓨터에 연결된 각각의 네트워크 연결 인터페이스에 부여된다. 따라서 인터페이스가 여러 개이면(이더넷카드 인터페이스(eth0), 모뎀 다이얼 업을 위한 ppp0 등) 각각의 장치에 다른 IP주소를 부여할 수 있다. IP주소는 4바이트의 크기로 나타낸다. 각 바이트는 '.(dot)'으로 구분하여 표시하고 각 바이트는 0부터 255까지의 십진수로 바뀌어 표시된다. 다음과 같은 형식으로 표기 된다.
|
aaa.bbb.ccc.ddd
192.168.0.1 과 같이 표기되며 192.168.000.001과 같이는 쓰지 않는다.
|
IP 주소의 구분 (클래스)
IP 네트워킹 프로토콜이 이해할 수 있는 것은 32비트 수이다. 모든 컴퓨터는 네트웍 환경에서 유일한 수의 IP를 지정해야 한다. 만약 로컬 네트웍에서 TCP/IP를 사용하여 다른 네트웍과 연결하지 않는다면 이 숫자들은 당신 마음대로 지정할 수 있으나, 그렇지 않고 인터넷의 사이트로서 존재하고자 한다면 이 숫자들은 NIC(Network Information Center)에서 지정한다.
네트웍의 크기와 그 네트워크를 구성하는 호스트들의 수에 따라 A, B, C 등의 클래스로 나눌 수 있다. 서로 다른 요구를 상충시키기 위해서 IP 주소를 다른 방식으로 나누는 네트웍의 클래스가 몇가지 존재한다. 관리상의 이유 때문에 IP 프로토콜의 발전 초기에 임의의 주소들의 그룹들이 네트웍을 형성하게 되었고 이 네트웍들은 클래스라 불리우는 것으로 구분되어졌다. 이 클래스들은 할당 가능한 네트웍의 표준적인 크기를 규정하고 있다. 할당된 범위는 아래와 같다.
|
Network Class |
Network Addresses |
Netmask |
|
A |
0.0.0.0 - 127.255.255.255 |
255.0.0.0 |
|
B |
128.0.0.0 - 191.255.255.255 |
255.255.0.0 |
|
C |
192.0.0.0 - 223.255.255.255 |
255.255.255.0 |
인터넷과 연결되지 않는 내부적 네트워크를 구성한다면 원하는 어떤 주소라도 선택할 수 있다. 하지만 관리의 편리성와 일관성의 이유로 이런 목적을 위해 특별히 예약되어 있는 IP 네트웍 주소들이 있다.
|
내부 내트웍 위한 IP 값 |
|
Network Class |
Network Addresses |
Netmask |
|
A |
10.0.0.0 - 10.255.255.255 |
255.0.0.0 |
|
B |
172.16.0.0 - 172.31.255.255 |
255.255.0.0 |
|
C |
192.168.0.0 - 192.168.255.255 |
255.255.255.0 |
넷마스크(Netmask) 란?
인터넷에 연결된 컴퓨터의 네트워크 소속을 알 수 있는 주소이다. 이 주소도 또한, 255.255.255.0처럼 점으로 구분되는 4자리수로 구성되어 있다.
게이트웨이(Gateway)
TCP/IP에 연결된 컴퓨터에서 어디로 통해서 다른 네트워크를 통할 수 있는지 알려주는 주소이다. 호스트가 직접적으로 대화할 수 있는 것은 그 네트웍 내에 있는 것들뿐이다. 그 외의 모든 호스트들에는 게이트웨이(gateway)라는 것을 통해서만 접근할 수 있다. 게이트웨이는 둘 또는 그 이상의 물리적 네트웍에 동시에 연결되어 있고, 그들간에 패킷을 교환하도록 설정된 것이다.
도메인 네임 서버(DNS : Domain Name Server)
Domain Name Server란 이름과 IP 주소를 매핑하여주는 거대한 분산 네이밍 시스템이다. 인터넷에서 사용되는 IP(Internet Protocol), 그리고 IP의 상위에서 동작하는 넷스케이프 같은 응용 프로그램들은 210.105.79.103 과 같이 표현되는 IP 주소만을 인식하게 되는데, 이러한 IP 주소는 프로그램입장에선 해석하기 수월하지만 사람이 기억하여 사용하기가 어렵고, IP 주소만으로는 서비스 유형을 예측하기 힘들다는 단점이 있다. 그래서 IP 주소와 도메인 주소를 일대일로 대응시켜 DNS를 이용해 IP 주소를 도메인 주소로 또는 도메인 주소를 IP 주소로 변환해주는 역활을 하는 것이다. IP 주소로는 연결이 되지만 도메인 주소로 연결이 되지 않을 경우는 DNS에 문제가 있거나 DNS 설정이 되지 않았기 때문이다.
유동 IP란? (DHCP)
현재의 IP주소가 부족한 상황을 해결하기 위한 미봉책으로 생겨난 것이 유동IP주소인데, ADSL과 케이블 모뎀을 사용하는 초고속 통신망에서 사용된다. 이것은 인터넷에 접속한 모든 컴퓨터가 항상 전원이 켜져 있지 않다는 것에 착안한 것으로 여러대의 컴퓨터가 하나의 IP주소를 공유하도록 설계된 것이다. 즉, 전원을 켜서 인터넷에 접속한 컴퓨터에게만 IP주소를 할당하고, 전원이 꺼질 때 IP주소를 환수하여 다음에 전원을 켜고 인터넷에 접속하는 컴퓨터에게 할당하는 방식이다. 이러한 방식은 기본적으로 DHCP란 기술을 통하여 이루어진다. DHCP는 이렇게 부족한 IP주소를 할당할 뿐만 아니라, 사용자가 자신의 컴퓨터에서 복잡하게 IP주소를 할당하는 불편함을 덜어주기도 한다. |