12
아이씨엔 리포트 www.icnweb.co.kr TCP/IP와 UDP/IP의 이해 2012. 11. 25.

Tcpip and udpip by icn

Embed Size (px)

DESCRIPTION

TCP/IP와 UDP/IP의 이해

Citation preview

Page 1: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

TCP/IP와 UDP/IP의 이해

2012. 11. 25.

Page 2: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 1 -

I. 개 요

네트워크화된 생산 환경에서 모든 정보를 정해진 시간 내에 원하는 지점에 전달할 수

있는 강력하고 안정적인 통신 네트워크들을 구축하는 것이 필수적이다.

이러한 네트워크들은 장래에 필요한 요건들에 맞게 설계되어야 하며, 사무 부문과

자동화 부문을 하나로 통합하는 데 도움을 주어, 지속적으로 증가하는 데이터들을

여유있게 처리할 수 있어야 한다.

이더넷 프로토콜과 TCP/IP (Transmission Control Protocol / Internet Protocol)

덕분에, 이러한 네트워크에 적합하게 정립된 표준은 산업 어플리케이션에서도 수용

가능하다.

특히 산업용 이더넷은 반드시 다양한 프로토콜을 지원하여야 한다. 이러한 것들은

적어도 TCP/IP와 UDP/IP (User Datagram Protocol / Internet Protocol)이다. 이러한

프로토콜의 기본원리들에 익숙해져야 하는 충분한 이유가 있다.

II. TCP/IP의 특징

TCP/IP는 완벽한 한 쌍의 프로토콜이라 할 수 있으며, 2개 부분으로 구성되어 있다.

TCP는 전송 제어 프로토콜을 나타내는 것이다. 이 프로토콜의 TCP 부분은 전송과 실제

데이터 이송을 제어한다. 두 번째 부분인 인터넷 프로토콜(IP)은 네트워크에서 컴퓨터를

명확하게 호출하기 위하여 필요하다.

인터넷 프로토콜 IP

현재 버전 IPv4의 인터넷 프로토콜 (IP)은 여러 개의 네트워크에 걸쳐서 트랜스미터에서

리시버에까지 데이터 패킷을 호출하고 송신하는 것을 가능하게 한다. IP는 TCP/IP의

어드레싱 컴포넌트이다. 서로 통신을 원하는 각각의 스테이션은 고유한 IP 주소에

의해서 식별된다. 이것은 제품의 덮개에 쓰여진 주소와 같은 것이다: 주소를 사용하여,

네트워크는 목적지를 확인하고, 전송 경로와 상관없이 데이터 패킷을 적절한

수신측으로 전송한다. (이더넷, 토큰 링, ISDN)

IP를 보유한 데이터 패킷은 데이터그램이라고 불린다. 인터넷 프로토콜은 비신뢰

데이터그램 서비스 기능을 가진, 즉 데이터 교정이나 시퀀스 감시 기능이 없는

Page 3: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 2 -

비연결지향형 서비스이며, 데이터그램의 완벽성과 명확성이 IP 레벨에서 점검된다.

IP에서는 acknowledgment 메커니즘은 존재하지 않는다. 이와 더불어 신뢰할 수 있는

연결 지향형 서비스가 TCP 레벨에서 구현된다.

IP 데이터그램은 예를 들어 이더넷 프레임에 번갈아 채워지는 데이터 블록이 그 뒤를

따르는 패킷 헤더로 구성되어 있다. 이 기능을 수행하기 위하여, IP는 최소 20 바이트

길이를 가지는 고유의 패킷 포맷을 정한다.

IP 주소 포맷

IP 어드레싱은 TCP/IP 프로토콜 수트에 맞는 논리적 네트워크 주소를 정의한다. IP

주소는 인터넷 프로토콜 (IP)의 고정 요소이며, 사용되는 하드웨어, 사용되는 벤더 또는

네트워크 매체와는 독립적인 것이다. 이러한 IP 주소들은 IP 프로토콜을 가지고

전송되는 각각의 데이터 패킷에서“목적지(Destination) = 리시버

주소”그리고“소스(Source) = 트랜스미터 주소”로써 사용된다. 패킷의 명확한 수신을

보장하기 위하여, 각각의 스테이션은 명확한 고유 주소를 필요로 한다.

이더넷과 연결된 각각의 Profinet 스테이션은 반드시 IP 주소를 가져야 한다. ISO/OSI

표준 모델의 레이어 3 프로토콜로써, IP 프로토콜은 하드웨어에 의존하지 않으며,

탄력적인 주소 할당이 가능하다.

레벨 2 통신과는 대조적으로, 고정 MAC Address가 장치에 할당되는 경우에,

이더넷에는 주소를 장치에 명백하게 할당할 필요성이 있다.

IP 주소는 4개의 바이트로 구성되어 있다. 각각의 바이트는 십진 기수법을 사용하며,

점을 찍어서 앞의 숫자와 분리된다. 이것은 다음과 같은 구조로 이루어져 있는데, 0과

255 사이의 숫자는 XXX.XXX.XXX.XXX형태로 설정되어야 한다. 예를 들어서

192.168.147.112와 같이 설정될 수 있다.

IP 주소는 언제나 2개의 부분으로 구성되어 있다: 그것은 네트워크 ID 와 스테이션

(호스트) ID 이며, 둘이 결합하여 하나의 IP 주소를 만들어낸다. 네트워크 ID는

네트워크에 주소를 부여하기 위하여 사용되며, 호스트 ID는 네트워크 내에서

스테이션에 주소를 부여하기 위하여 사용된다.

이것은 많은 컴퓨터들이 그룹으로 결합될 수 있는 장점을 제공하며, 실제 컴퓨터를

찾는 것을 더욱 용이하게 할 수 있다. 전화번호도 지역 코드와 개별 가입자 변호로

Page 4: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 3 -

구성되어 있는 것처럼 유사한 구조를 가지고 있다.

서브넷 마스크는 IP 주소를 네트워크 요소와 실제 스테이션 요소로 구분하기 위하여

도입되었다. 이것은 IP 주소와 동일한 구조를 가지고 있으며, 단지 네트워크 번호

(네트워크 요소)에 의해서 표시된 IP 주소만을 나타낸다는 것이다. 표 2.1. 에 제시된

표준 서브넷 마스크는 네트워크 및 스테이션 부분과 일치하게 네트워크 등급 A, B,

C에 적용된다.

참고: 스위치를 통하여 연결되어 있는 모든 장치들은 동일한 서브넷에 위치한다.

서브넷은 모든 가능한 어드레스를 부분적 네트워크로 분할함으로써 만들어진다.

네트워크를 서브넷으로 논리 분할하는 것은 대개의 경우 로컬 부분 네트워크를

물리적으로 분할하는 것과 같다. 네트워크 마스크를 사용하여 네트워크 등급을 추가적

서브네트로 분할하는 것은 서브네팅이라고 불린다. 서브넷 상의 모든 장치들은 서로

직접 통신을 할 수 있다. 같은 서브넷 상의 모든 장치의 서브넷 마스크는 동일하며,

라우터에 의해서 물리적으로 제한된다.

IP 주소 등급

이러한 많은 수의 주소들의 순서와 구조를 정하기 위해서, 그러한 주소들은 소위

말하는 네트워크 등급으로 구분되어 있다. IP 주소들은 A에서 E까지의 5개 네트워크

등급으로 구분되어 있다. 이로 인하여 각각의 등급에 주소가 배정될 수 있는

스테이션을 한정함으로써 좀 더 효율적으로 IP 주소를 사용할 수 있다.

서브넷 마스크는 IP 주소 중 어느 부분이 네트워크 주소를 나타내는지 (네트워크 ID)

그리고 어느 부분이 호스트 주소를 나타내는지 (호스트 ID)를 결정한다: 네트워크 ID에

속하는 IP 주소 비트는 값 1로 서브넷 마스크를 식별하고, 호스트 ID에 속하는 IP 주소

비트는 값 0으로 식별한다. D class 주소는 멀티캐스트 그룹을 위해서 설계되었다.

주소 범위는 224 에서 239.X.X.X에 이른다. E class 주소는 추가 어플리케이션을

위해서 예약되어 있으며, 현재는 사용되고 있지 않다. 주소 범위는 240 에서

255.X.X.X 에 이른다.

주소 할당으로 배치 구성을 시작하기 전에, 설계 단계에서 네트워크상의 Profinet

장치를 위해서 어떤 주소를 사용할 지 그리고 이러한 주소 영역을 어떻게 할당할

것인지를 결정하여야 한다. 바람직하지 않은 할당으로 인한 후속적 주소 변경은 매우

복잡하며 많은 비용이 소요된다. 주소 등급과 네트워크 주소를 선택할 때, 다음과 같은

Page 5: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 4 -

사항을 사전에 점검하여야 한다:

* 공인 TCP/IP 데이터 네트워크로의 연결이 계획되고 있는가?

* 최종적으로 계획된 구성에서 TCP/IP 데이터 네트워크가 어느 정도로 큰가?

기본적으로, 모든 주소 등급에서 나오는 거의 모든 주소는 원칙적으로 TCP/IP

스테이션을 구성하는 데 사용될 수 있는 유효한 IP 주소라고 말할 수 있다. 하지만,

각각의 네트워크 등급의 특정 주소들은 특정 서비스를 위해서 남겨두어 있고 사용되지

않는다.

네트워크 주소: 만약 스테이션 주소가 0으로 구성되어 있는 경우 (예를 들어서, C

class네트워크에서 192.12.31.0), 그 주소는 자신만의 네트워크를 가리키며, 네트워크

주소를 말하는 것이다. 이 주소의 경우에, IP 프로토콜은 네트워크에게 와일드카드

주소를 전송한다. 이것은 192.12.31. XXX 구조의 C class 주소를 가진 모든

스테이션들은 응답 신호를 보낼 필요가 있다는 것을 의미한다. 이것은 존재하지 않는

컴퓨터에 대한 응답으로 “부하가 걸리는” 네트워크의 바람직하지 않은 상태를

만들어낸다. 이 주소는 이러한 이유 때문에 경로가 설정되지 않는다.

초기 설정 라우터 주소: 다른 네트워크와 통신하는 각각의 서브네트는 적어도 하나의

라우터를 포함하고 있다. 관행에 따르면, 이것은 언제나 네트워크 주소를 수반하는 최초

주소이다. C class 네트워크에서, 이것은 x.x.x..1 형태의 주소이다. 이것은 고정되고

강제적인 법칙은 아니며, 따라서 자유롭게 변경 가능하다. 하지만, IP 주소를 할당하는

관행의 측면에서 고려되어야 한다.

로컬 루프백 주소: 네트워크 주소 127.0.0.1은 각각의 로컬 컴퓨터를 식별한다.

(루프백 주소 또는 로컬호스트) 127.0.0.1 주소를 가지는 패킷은 네트워크에 접속조차

하지 못하고 즉시 트랜스미터에 도달한다. 이것은 스테이션들이 테스트 목적으로

메시지를 자신들에게 보낼 수 있다는 측면에서 네트워크를 시험하는 데 사용된다. 이

사례에서 서브넷 마스크는 255.255.0.0. 이다. 따라서 네트워크는 결코 127.X.X.X

주소를 가질 수 없다.

브로드캐스트 주소: 모든 비트가 “1”로 설정되어 있는 스테이션 주소 (예를 들어, C

class 네트워크에서 192.168.12.255)는 서브넷에서 브로드캐스트 메시지를 보내기

위하여 사용된다. 이러한 주소를 사용하여, 데이터는 로컬 네트워크 (서브넷)의 모든

스테이션 또는 직접적으로 접속 가능한 네트워크의 모든 스테이션에 전송될 수 있다.

Page 6: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 5 -

공중망 TCP/IP 네트워크상의 IP 주소: 만약 공중망 TCP/IP 데이터 네트워크 연결이

계획된 경우라면, 어떤 IP 주소를 선택할 것인지 자유롭게 결정할 수 없다. 인터넷은

TCP/IP 네트워크의 가장 큰 모형이다. 이 경우에, 주소는 공중망 데이터 네트워크의

올바른 작동을 보장하기 위하여 반드시 언제나 명확하고 독자적인 전세계적 형태이어야

한다. 따라서 IP 주소 할당은 수 많은 인증 기관에 의해서 규제된다. 자신의 컴퓨터를

인터넷에 연결하려는 사람은 반드시 계획된 네트워크 크기에 따라서 이러한 IP 주소들

중 하나를 신청하여야 한다. 미국의 인터넷 할당 번호 관리 기관 (IANA)은 인터넷상의

IP 주소 할당을 책임지고 있다. 독일의 해당 기관은 DENIC 명칭을 가지고 있는

Domain Verwaltungs- und Betriebsgesellschaft e.G.이다. 각각의 기업과 기관은

여기에서 계획된 네트워크 크기에 따라서 IP 네트워크 주소를 신청할 수 있다.

개별 기업 네트워크상의 IP 주소: 만약 인터넷에 연결하지 않고 기업 네트워크를

설계하려고 한다면, 이론적으로는 유효한 스테이션 주소를 가진 네트워크 등급을

선택할 수 있다.

TCP/IP와 함께 작동되는 인터넷과 연결되지 않고, IP 주소를 신청할 필요가 없으며,

개별 컴퓨터 연결을 시험할 목적으로 로컬 네트워크를 구성하기 위하여,“ 사적”용도로

배포되어 있는 각 등급 (A, B, C) 상의 주소 범위가 존재한다. 이러한 주소들은

라우터를 통하여 외부로 전달되지 않는다.

IANA는 이러한 목적에 맞게 다음과 같은 IP 주소를 설정하였다.

* A class: 10.0.0.0 -10.255.255.255

* B class: 172.16.0.0 -172.31.255.255

* C class: 192.168.0.0 -192.168.255.255

예: 단지 몇 개의 스테이션만을 가지고 있는 사설 C class 네트워크의 경우, 사설

네트워크를 위해서 배정된 192.168.0.0 에서부터 192.168.255.255까지의 IP 주소

범위면 충분하다. 이것은 네트워크 ID의 값이 192와 168로 고정되어 있다는 것을

의미한다. 네트워크 번호의 세 번째 자리에는 0과 255 사이에서 아무 숫자나 선택할

수 있다. 따라서 C class 네트워크 주소는 192.168.101.xxx 의 형태가 된다.

네트워크 주소 (x.x.x.0)과 브로드캐스트 주소 (x.x.x.255)는 사용되어서는 안되므로, IP

주소의 네 번째 자리의 1부터 254까지의 값만이 네트워크상의 실제 스테이션 (컴퓨터,

Simatic CP 등)에 사용할 수 있다. 따라서 하나의 네트워크 상의 모든 컴퓨터들은

마지막 자리를 제외한 앞의 세 자리는 동일한 IP 주소를 가진다.

Page 7: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 6 -

컴퓨터의 IP 주소: 192.168.101.1에서 192.168.101.254

네트워크 주소: 192.168.147.0

브로드캐스트 주소: 192.168.147.255

이러한 값들을 자신만의 네트워크에 사용할 수 있다. 각각의 스테이션은 실제로 단지

마지막 자리만 다른 개별 IP 주소를 할당 받는다는 사실이 중요할 뿐이다. (1-254)

만약 추가적으로 다른 네트워크 주소를 사용하는 경우, 스테이션들은 상이한

네트워크에 존재하는 것으로 가정하기 때문에 스테이션들은 서로 통신할 수 없다.

DHCP-동적 IP 주소: IP 기반 네트워크 주소에서의 대부분의 문제들은 스테이션을

추가하고, 없애고, 변경하는 경우에 발생한다. 다시 구성할 때 발생하는 문제를 줄이기

위하여, 프로토콜 DHCP (Dynamic Host Configuration Protocol)이 만들어졌다.

DHCP는 일정시간 동안 사용할 수 있는 동적 IP 주소를 자유롭게 사용 가능한 저장

공간(freely-available pool)에서 논리 스테이션에 할당한다. 이러한 방법으로, DHCP는

스테이션이 수동으로 구성됨이 없이 하나의 서브넷에서 다른 서브넷으로 이동할 수

있게 해준다. 더욱이, 실제로 필요한 IP 주소들이 사용된다.

비어있는 IP 주소들은 자유롭게 활용 가능한 풀로 돌아간다. 이러한 서비스를

작동시키기 위해서는 네트워크상에 주소 산출을 위한 소위 말하는 DHCP 서버가

설치되어야 한다. 설정된 IP 주소 범위에 맞는 구성 데이터 관리를 위해서는

네트워크상에 적어도 하나의 DHCP 서버가 필요하다. 네트워크상에 구성된 모든

스테이션은 DHCP 서버의 고정 IP address만 알고 있으면 된다. DHCP 기능을 가진

각각의 데이터 터미널은 부팅을 하는 동안에 등록되며, 이 서버를 통하여 IP 주소와

관련 파라미터 (예를 들어 서브넷 마스크)를 할당 받는다. 최근의 Simatic 이더넷

컴포넌트들은 DHCP를 처리할 수 있다.

TCP (전송 제어 프로토콜 = 전송 레이어)

IP를 가진 이더넷을 통한 데이터 전송은 매우 신뢰할 수 없는 방법이다. 데이터 패킷은

전송 매체 오류로 인하여 또는 네트워크 과부하로 인하여 분실될 수도 있다. 예를

들어서, 데이터 패킷들은 한 번 이상의 전송을 통해 목적지에 도착하나 최초의

경로와는 상이한 경로로 목적지에 도착할 수도 있다.

인터넷 레이어를 통한 전송 레이어 제공만이 트랜스미터와 리시버간의 신뢰할 수 있고

완벽한 정보 전송을 보장한다. TCP는 1981년에 RFC 793에서 구체화되었으며,

Page 8: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 7 -

연결-지향 전송 프로토콜이다. 이것은 스테이션간 데이터를 교환할 때 보내는 쪽의

데이터가 받는 쪽에 의해서 확인된다는 것을 의미한다. 이러한 목적 때문에, 오류 점검,

흐름 제어(flow control) 및 전송/수신 확인 메커니즘이 추가되어있다.

TCP는 소위 말하는 포트를 통하여 관련된 컴퓨터상의 통신 채널과 호스트 사용

프로그램 사이를 연결한다. 이러한 포트들은 TCP를 통한 더 높은 레벨로의 분배기로

간주될 수도 있다. 어떤 포트가 TCP 프로토콜에서 특정화되느냐에 따라서, TCP 패킷은

각각의 포트에 할당된 프로토콜 또는 사용자 프로그램을 사용하여 전달된다.

TCP 통신 스테이션은 IP 주소와 포트 번호를 결합하여 주소가 만들어 진다.(예:

192.157.169.10:80). IP 주소와 포트 번호의 결합은 소켓(Socket) 이라고 불리기도

한다. 포트 번호의 할당 범위는 고정되어 있다. 즉 고정된 어플리케이션에 할당되며

(포트 20/21 FTP, 23 Telnet, 25 SMTP (e-mail), 80 HTTP) 소위“잘 알려진

포트(Well Know Port)”로 불린다. 각각의 TCP 패킷은 트랜스미터의 포트 번호와

리시버의 포트 번호를 가지고 있다.

TCP 헤더는 20 바이트 길이이며, 직접 IP 헤더에 기반을 두고 있다. TCP 패킷은 그림

2.4에서와 같은 구조를 가지고 잇다. 다른 분야를 알아보기 위해서는 관련 논문을

참고하기 바란다.

만약 인터넷에 연결하지 않고 기업네트워크를 설계하려고 한다면, 이론적으로는 유효한

스테이션 주소를 가진 네트워크 등급을 선택할 수 있다.

III. UDP/IP의 특징

물론, 전송 레벨의 모든 서비스들이 TCP에서처럼 두 개의 통신 파트너들간의 안정된

연결을 요하지는 않는다.

예를 들어 만약 네트워크 그 자체가 근거리 통신망(LAN) 의 경우에서처럼 충분히 안정

적이라면, 전송 프로토콜은 좀 더 간단하게 구성될 수 있다. 사용자 데이터그램 프로토

콜 (UDP)은 데이터 전송을 위한 기본적 기능만을 제공하는 최소 전송 프로토콜이다.

이 프로토콜은 1980년 RFC 768에 명시되어 있다. UDP는, IP와 비교할 때, 단지 추가

적인 포트 번호와 체크섬만을 제공하는 단순한 비연결(connectionless) 서비스를 제공

한다. 따라서 UDP는 TCP와 비교할 때 좀 더 가볍다고 볼 수 있다.

Page 9: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 8 -

바람직한 최소주의원칙으로 인하여, UDP는 양 끝 단에서 지속적 접속 상태로 작동하지

않는다. 예를 들어, 연결 구축 및 연결 제거와 수신 패킷 확인 과정이 생략된다. 데이터

전송을 검사하기 위한 체크섬만이 제공되며, 이것조차도 선택사항이다.

TCP에 존재하는 것과 같은 모든 기타 오류 처리 메커니즘이 여기에서는 존재하지 않는

다. 따라서, 전송되는 데이터에 있어서 시퀀스의 손실, 중복, 또는 오류들이 있을 수도

있다. 이러한 모든 발생 가능한 오류들은 어플리케이션 레벨에서 처리되어야 한다. 그러

므로, 성능은 대부분 어플리케이션 프로그래밍에 달려있다.

이러한 결함에도 불구하고, UDP는 속도상의 장점을 가지고 있다. TCP와 비교할 때,

UDP는 대략 3배 정도의 전송 속도를 보인다. 그러한 빠른 속도 덕분에, UDP는

Profinet에서 예외 기반 데이터 교환과 시스템 스타트업을 위해 사용된다.

소켓: 80년대 초반에, 소위 공정간 통신을 위한 소켓 인터페이스가 유닉스 시스템상의

BSD로써 도입되었다. 소켓은 TCP 또는 UDP 프로토콜을 사용하는 연결의 논리적 종단

점을 나타내는 명칭이다. 소켓은 네트워크 번호, 컴퓨터 번호 그리고 포트 번호로 구성

되어있다. 네트워크에 걸쳐 분산되어 있는 어플리케이션은 이러한 소켓 인터페이스를

통하여 프로그램화될 수 있다. 그것은 여러 함수와 함께 라이브러리를 제공한다. 중요한

소켓의 기본적인 명령어와 시스템 호출은 다음과 같다:

- 소켓 생성: 인터넷상의 연결 지향 통신을 시작하기 위한 socket()

- 연결 정립: 로컬 종단 지점 어드레스에 소켓을 연결하기 위한 bind()

- 통신: 가상 채널에 쓰기 또는 읽기 위한 send()와 receive()

- 연결 종료: close()

또한 Profinet은 사용자 프로그램이 데이터를 송/수신하기 위하여 TCP 접속을 할 수 있

도록 소켓 인터페이스를 적용하고 있다.

IV. 네트워크 레이어 추가 프로토콜

네트워크 레이어 프로토콜, 예를 들어 어드레스 결정 프로토콜 (ARP)과 인터넷 제어 메

시지 프로토콜 (ICMP)은 TCP/IP를 적용할 때 필수적인 구성요소들이다.

그러므로 이러한 것들에 대하여 아래에서 간략히 서술하고자 한다.

Page 10: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 9 -

Address Resolution Protocol (ARP, 어드레스 결정 프로토콜)

ARP는 IP 어드레스를 물리적 어드레스 (일반적으로 이더넷 MAC Address)에 연결하는

인터넷 프로토콜이다.

스테이션들은 이 단계에서 MAC Address를 사용하여 어드레스가 설정되므로, 이것은

IP 패킷을 이더넷과 같은 적절한 LAN으로 전송하는 데 있어서 중요하다. 시스템이 이

기능 자체를 관리하기 때문에, ARP는 완전 자동으로 작동하며, 일반적으로 명시되어 사

용될 필요는 없다.

네트워크에서 IP 어드레스를 가지는 각각의 스테이션은 이러한 목적으로 어드레스 결정

을 위한 테이블을 관리한다. 이미 할당된 IP와 Mac Address들은 소위 ARP 캐시라고

불리는 테이블에 잠재적으로 저장된다.

이 어드레스 테이블은 수동으로 관리되거나 만들어지지 않는다. ARP 프로토콜은 사용

자에게 알리지 않고 필요한 입력과 업데이트를 수행한다.

어떻게 정의된 IP어드레스에 맞는 MAC 어드레스를 검색할 수 있는 것일까? 목적지 스

테이션의 하드웨어 어드레스를 알지 못하는 스테이션은 ARP을 브로드캐스트 데이터그

램 (예를 들어 네트워크상의 모든 스테이션에 대한 통신)을 통해 요청한다.

여기에는 소스의 인터넷 및 하드웨어 어드레스와 목적지 스테이션의 IP 어드레스가 포

함되어 있다. 네트워크의 모든 스테이션들은 자신이 브로드캐스트 데이터그램이 요구하

는 목적지 인지를 검사한다.

그리고 해당되는 목적지 스테이션만 ARP를 요청한 스테이션에 직접 응답을 하게 된다

이 응답에는 요청 스테이션이 사용자 데이터를 전송하기 위하여 사용할 수 있는 하드웨

어 어드레스가 포함된다. 그리고 나서 이러한 할당은 ARP를 요청한 스테이션의 ARP

테이블에 저장된다.

전체 과정은 사용자에게 보이지 않는다. 네트워크 카드의 교체와 MAC Address 변경

과 같은 동적 상황에 대응하기 위해서, 타이머가 테이블상의 입력 값 삭제를 제어한다.

Page 11: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 10 -

Reverse Address Resolution Protocol (RARP, 역 어드레스 결정 프로토콜)

ARP와 반대되는 경우도 있을 수 있으며, 그러한 경우에는 알려지지 않은 IP 어드레스

가 알려진 MAC Address를 위해서 요청된다. 이것은 자기 자신의 IP 어드레스를 저장

할 수 없는 디스크가 없는 컴퓨터에서 일어난다.

이러한 컴퓨터들은 반드시 IP어드레스를 관리하는 컴퓨터와 연결되어야 한다. 브로드캐

스트를 통하여, RARP는 수신된 MAC Address의 발신지를 알고 있는 서버를 결정하

고, 해당 IP 어드레스가 포함된 패킷을 통해 응답한다.

Internet Contorl Message Protocol (ICMP, 인터넷 제어 메시지 프로토콜)

ICMP는 IP 네트워크 노드 간의 상태정보와 오류 메시지를 전송하는 데 사용된다.

ICMP는 네트워크 시운전 및 서비스 기술자들에게 두 가지 중요한 진단 도구를 제공한

다:

* ICMP “에코 리퀘스트(Eco Request)”- 핑

ICMP 패킷의 가장 중요한 유형은 에코 리퀘스트이다. 이 패킷을 받은 스테이션은 그것

을 되돌려 보내야 하는데, 따라서 Echo Reply가 발생한다. 이러한 메커니즘을 통하여

특정 어드레스가 사용가능한지를 점검할 수 있다.

이 명령은 사용자에게 간단한 진단 도구를 제공한다. 응답 또는 부재 응답과 응답에 걸

린 시간에 따라, 스테이션의 모든 기능이 물리적으로 사용가능한지 그렇지 않은지의 여

부를 해석할 수 있다.

* Traceroute

Traceroute(추적루트) 명령은 일반적으로 윈도우 시스템에서 trace로 알려져 있다. IP

헤더는 네트워크를 통한 패킷 경로상의 각각의 경유 스테이션에 의해서 감소되는 TTL

(Time To Live)블록을 포함하고 있다.

이 값이 0이 되면, 패킷이 거부되며 송신지는“Time Exceeded”ICMP 패킷을 통하여 통

보를 받는다. 이러한 응답은 Traceroute 메커니즘에 의해서 사용된다: 수신 스테이션

경로를 추적하고자 하는 스테이션은 첫 번째 단계에서 1로 설정된 TTL이 포함된 데이

터 패킷을 목적지에 전송한다.

Page 12: Tcpip and udpip by icn

아이씨엔 리포트 www.icnweb.co.kr

- 11 -

따라서 이것은 첫 번째 경유 스테이션에 의해서 거부되며, Time Exceeded ICMP 패킷

이 리턴 된다. 이 스테이션의 IP 어드레스가 디스플레이 되고 2로 설정된 TTL 패킷이

전송된다.

이것은 두 번째 경유 스테이션에 의해서 거부되고, 이러한 과정이 반복된다. TTL값은

점점 증가하고, 패킷은 그 목적지에 도달하게 된다. 그리고 나서 Traceroute 명령은 종

료된다. 소스로부터 목적지까지 경유 스테이션들의 리스트가 결과로 도출된다.

라우터들은 언제나 ICMP 패킷이 요청 호스트에 전송되는 과정을 통하여 그 인터페이스

의 IP 어드레스를 반송한다는 점을 주목하기 바란다.

* 작성: 아이씨엔 www.icnweb.co.kr