-
[TIL] IP, ARP, RoutingTIL-sparta 2024. 5. 26. 18:40
> IP, ARP, Routing에 대해 간략하게 알아보고 이해한 내용을 정리해보았다.
학습 키워드: IP, ARP, Routing1. IP와 IP 주소 체계란?
1) IP:
IP (Internet Protocol)란, 네트워크 내에서 송신 호스트와 수신 호스트 간 정보 교환을 위한 정보 위주의 규약으로, OSI 모델의 L3인 네트워크 계층에서 장치를 식별하기위해 고유한 주소를 할당하거나 데이터를 패킷화, 하는 작업 등을 담당한다.
- 비 신뢰성 (unreliability): 흐름에 관여하지 않아서 송신한 정보가 수신측에 제대로 전달되는지를 보장하지 않는다. 예를 들면, 패킷이 손상 혹은 실종되거나 순서가 바뀌어 전달되기도 하며, 중복으로 전달되는 경우도 있을 수 있다.
- 비 연결성 (connectionlessness): 연결을 미리 정의하지 않고, 송신되는 데이터(패킷 혹은 데이터그램)의 헤데에 담긴 수신 측의 정보를 이용하여 L3 라우터의 도움으로 도착지를 찾아가는 방식이다. (TCP의 경우 connection-oriented라고 한다)
2) IP Address:
IP 주소 체계: 네트워크 상의 장치를 식별하기 위해 3계층에서 할당되어 사용되는 일종의 식별자다. 버전에 따라 IPv4나 IPv6로 나뉘는데, 일반적으로 널리 사용되는 IPv4의 경우 총 32bit 길이의 2진수로 이루어져 있으며, 이를 8bit 씩 나누어 10진수로 변환한 뒤 점으로 구분하여 표현한다. 이때, 점으로 구분된 각각의 숫자의 위치를 앞에서 부터 a, b, c, d class로 명칭하고, 앞 클래스 자리의 숫자가 동일한 두 장치는 같은 네트워크에 위치한다. 예를 들면, 15.1.120.4와 15.1.120.70은 C클래스 까지의 숫자가 동일하기 때문에 같은 C클래스 네트워크 상에 위치해 있다는 것을 알 수 있다. D 클래스의 0과 255번 주소는 reserved 되어있는데, 각각 0은 네트워크 주소, 255는 브로드캐스트 주소로 사용된다. 서브넷 마스크가 적용된 경우에는 각 서브넷의 첫 번째 수가 네트워크 주소, 마지막 수가 브로드캐스트 주소가 된다.
개인 컴퓨터만 겨우 연결하던 과거와 달리 기술의 발전에 따라 인터넷에 연결되는 장치의 수와 종류가 늘어나면서 할당 가능한 IPv4 공간이 빠르게 고갈되어 추가적인 주소 공간의 필요가 생겨 128bit 크기의 IPv6 주소 형식이 생겨났다.
IP 주소는 IANA (Internet Assigned Numbers Authority)에서 일괄로 관리하며, 다섯 개의 RIR (Regional Internet Registry) 기관에서 지역에 속한 ISP (Internet Service Provider), 기업, 혹은 교육 기관 등의 LIR (Local Internet Registry)에 IP 블록을 할당해주면, 다시 해당 기관이 고객들에게 IP 주소를 할당해주는 방식이다. 이러한 특징으로 인해 IP 주소를 통하면 장치의 접속 지역 정보 또한 알 수 있다.
2. ARP란?
ARP는 Address Resolution Protocol의 약자로, 네트워크 내 장치에 대해 IP 주소와 묶여있는 Link layer (network access layer)의 MAC 주소를 찾아내는 작업을 담당하는 communication protocol을 말한다. OSI 모델에서 두 장치 간에 정보를 주고 받을 때 IP프로토콜에 의해 데이터가 패킷화 되면 패킷의 헤더에 목적지의 IP 주소가 담기고, 목적지 상단의 라우터에 도착하면 ARP가 ARP table을 이용하여 IP에 bind 되어있는 MAC 주소를 찾는 방식이다.
좀 더 자세히 설명하면, 목적지 상단의 라우터에 도착한 패킷의 헤더를 확인하여 목적지를 알고 나면, 라우터가 MAC 주소의 broadcast 주소 (FF:FF:FF:FF:FF:FF)를 통해 ARP Request를 뿌리게 된다. 이렇게 하면 네트워크 내 모든 장치에 ARP 요청이 전달되고, 해당하는 장치에서 ARP Response로 자신의 MAC 주소를 돌려주면서 라우터가 해당 bind를 ARP 테이블에 기록하여 추후 넘어오는 패킷들이 이를 참고할 수 있게 된다.
3. 라우팅이란?
1) Routing:
라우팅은 OSI L3에서 담당하는 작업으로, 네트워크와 네트워크 사이의 통신에서 이용하게 될 경로를 결정해주거나, 네트워크의 트래픽을 관리하는 작업을 통틀어 의미한다. 라우터라는 장비가 사용되는데, 라우터는 로컬 네트워크를 외부 네트워크와 연결해주며, 라우터를 거치는 패킷의 내용, 목적지, 혹은 용도를 분석하여 Routing table에서 최적의 경로를 찾아주고, 보안 설정을 통해 외부의 보안 위협으로 부터 네트워크를 보호하는 역할을 수행하기도 한다.
라우팅 테이블은 수동으로 생성(Static Routing)하거나 routing protocol을 통해 자동으로 생성된다. 각 라우터에서 다른 라우터로 뻗어나가는 pathway segment에는 정해진 방식을 기준으로 metric 값이 지정되어 라우터가 이를 참고하여 dynamic하게 경로를 설정(Dynamic Routing)한다.
--
References:
> Wikipedia, "인터넷 프로토콜"
> Wikipedia, "Connectionless communication"
> Wikipedia, "IP address"
> Wikipedia, "Internet protocol suite"
> Wikipedia, "Regional Internet registry"
> Wikipedia, "Address Resolution Protocol"
> networklessons.com, "ARP explained"
> Cisco, "What Is Routing?"
728x90'TIL-sparta' 카테고리의 다른 글
[TIL] 프로그래머스) 42583 - 다리를 지나는 트럭 풀이 (Java), 개인 과제 제출 (0) 2024.05.28 [TIL] 스파르타) Node.js 숙련주차 강의 수강 (Transaction, Prisma), 개인 과제 진행 조금 (D-2) (0) 2024.05.27 [TIL] 프로그래머스 - 피로도 문제 풀이 (Java, DFS) (0) 2024.05.25 [TIL] 스파르타) 아이템 시뮬레이터 2 과제 진행 - 3일 차 (bcrypt) (0) 2024.05.24 [TIL] 아이템 시뮬레이터 2 과제 시작 - 1일 차 (관계형 DB로 전환하기) (0) 2024.05.23