본문 바로가기
about COMPUTER/네트워크

# 05. 주소 해석 프로토콜 ARP

by saniii 2020. 10. 16.

[ 주소 해석 프로토콜 ARP ]

 

 

애플리케이션 및 애플리케이션 계층 프로토콜

애플리케이션 : 커뮤니케이션, 분산 프로세스

"사용자 공간"에서 네트워크 호스트에서 실행되는

앱 구현을 위한 메시지 교환

e-메일, 파일 전송, 웹 등

응용 계층 프로토콜

앱의 "피스" 하나

앱이 주고받는 메시지 및 취한 조치 정의

하위 계층 프로토콜에서 제공하는 서비스 사용

 

인터넷 애플리케이션: 프로토콜 및 전송 프로토콜

 

 

LAN 주소 및 ARP

1- 실제 주소인 ip를 번역하는 것은 DNS서버가 해줌

도메인은 여러 가지 종류가 있음

도메인을 타고타고타고타서 모든 ip주소를 알아내어 ]사용함- (처음 써보는 ip주소 같은 경우)

한번 사용하고 나면 도메인에 기록이 남아 다음에 다시 여러 루트를 탈 필요 없이 바로 사용할 수 있는데

또 오랫동안 안쓰면 캐시되어 날아감

 

32비트 IP 주소:

네트워크 계층 주소/네트워크 라우팅을 위해서 사용되는 주소

컴퓨터가 있는 서브 넷을 찾아가는 주소

 

MAC(또는 LAN 또는 물리적) 주소:

한 인터페이스에서 다른 물리적으로 연결된 인터페이스로 데이터그램을 가져오는 데 사용(동일한 네트워크)

어댑터 ROM에서 48비트 MAC 주소(대부분 LAN의 경우)가 기록됨

 

& 최종적인 컴퓨터를 찾아가는 주소

랜카드의 롬에 구워져서 나옴

 

MAC 주소 및 ARP

LAN의 각 어댑터에 고유한 MAC 주소가 있음

LAN 주소

IEEE에서 관리하는 MAC 주소 할당

제조사가 MAC 주소 공간의 일부를 구입(유일함을 보장하기 위해)

(a) MAC 주소: 사회 보장 번호와 유사(주민번호)

(b) IP 주소: 우편 주소와 유사

MAC 플랫 주소 => 휴대성

LAN에서 다른 LAN으로 LAN 카드 이동 가능

IP 계층 주소 이동 불가

연결망에 따라 달라짐

# Routing

A에서 시작하여 B로 주소가 지정된 IP 데이터그램:

B의 네트워크 주소를 보고 A와 같은 것을 찾음

링크 계층 프레임 내 B에 데이터그램 전송

 

ARP: 주소 결정 프로토콜

질문: 주어진 BIP 주소를 어떻게 결정하는가?

 

LAN의 각 IP 노드(호스트, 라우터)에는 ARP 모듈, 테이블이 있음

ARP Table : ip주소와 이에 대응하는 mac주소 그리고 이에 대한 ttl

: 일부 LAN 노드에 대한 IP/MAC 주소 매핑 >

< IP 주소; MAC 주소; TTL >

< ………………………….. >

TTL(Time To Live): 주소 매핑이 잊혀지는 시간(일반적으로 20)

 

ARP 프로토콜

ABIP 주소를 알고 있으며, BMAC 주소를 얼고 싶어 한다.

ABIP 주소를 포함하는 ARP 쿼리 패킷을 네트워크에 브로드캐스트한다.(보낸다.)

LAN의 모든 기계가 ARP 조회 수신

BARP 패킷 수신, A에게 (B) MAC 주소로 회신

정보가 오래될 때까지(시간 초과) IP-MAC 주소 쌍을 캐시(저장)

 

 

 

 

 

다른 LAN으로 라우팅

walkthrough : R을 통해 A에서 B로 라우팅

소스 호스트의 라우팅 테이블에서 라우터 111.1111.110을 찾으십시오.

원본 ARP 테이블에서 MAC 주소 E6-E9-00-17-BB-4B 등을 찾는다.

라우터가 LAN1, LAN2의 기능도 하고 각 랜의 IP ᅟᅳᆷㅊ주소도 알고 커뮤니케이션을 위ᄒᆞᅟᅡᆫ IP MAC 주소를 다 알 고 있음

 

------------------------------

LAN1의 호스트 A에서 LAN2의 호스트 B로 데이터를 전송할 때

모든 장비들은 두개의 주소를 가짐 (IPMAC)

( IPIP계층에서

MAC은 데이터 링크 혹은 데이터 엑세스 계층에서

더 자세히는 MAC계층에서 사용됨 )

각호스트들은 ARP테이블이라는 것을 가지고 있음

ARP테이블은 IP,MAC,TTL라는 필드로 이루어짐

 

AB가 자신과 다른 네트워크에 있음을 확인

바로 랜주소를 알수 없으므로 라우터를 이용하여 B의 랜주소를 알아낸다.

 

먼저 라우트를 찾아보자

ARP테이블에 내에 그 라우터에 대한 주소가 있으면 바로 그 맥주소를 이용하여 라우터로 데이터를 보내지만

만약 없다면 BIP주소를 가지고 ARP쿼리 퍀킷을 보낸다. 이걸 R이 받아서 이 데이터가 랜2로 감을 알아내고 자신의 맥주소에 대응하는 IP즈소를 A에게 보내고 A는 이를 이용해서 라우터에게 패킷을 보내게 된다.

 

 

 

 

 

 

 

 

A는 소스 A, 대상 BIP 패킷을 생성한다. at IP layer(3계층)

이게 만든  ip 패킷

 

A111.111.110에 대한 RMAC 주소를 얻기 위해 ARP를 사용한다.

 

 

ARMAC 주소를 대상으로 하는 이더넷 프레임을 생성(2계층 network-access/맥계층이라고도 함)하며, 이더넷 프레임은 A에서 B로 가는 IP 데이터그램을 포함한다.__

A의 데이터 링크 계층이 이더넷 프레임을 R에 전송

R의 데이터 링크 계층이 이더넷 프레임 수신

R이 이더넷 프레임에서 IP 데이터그램을 제거하여

(최종 목적지인 B를 본다 즉 위 그림의 투명한 박수 두 개를 지워버린다 ) 그리고 난 뒤에 B로 향하는 IP 데이터그램을 확인

RARP를 사용하여 BMAC 주소를 얻음

RA-to-B IP 데이터그램을 포함하는 프레임을 만들어 B로 전송한다.

 

ip주소 가지고는 lan2의 서브넷 ᄁᆞ지 가고

최종 호스트를 찾악기 위해서는 맥주소를 썼다.

 

 

==============================================

 

 

댓글