컴퓨터와 컴퓨터 간의 통신은 흔히 IP 주소 기반으로 통신한다고 알고 있지만 정확하게는 IP 주소에서 ARP 프로토콜을 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신한다.
주소 결정 프로토콜(ARP, Address Resolution Protocol)
IP 주소(가상주소)를 MAC(실제 주소) 주소로 변환해주는 요청과 응답으로 구성된 프로토콜로 라우팅 되지 않는 단일 네트워크에서만 동작한다. IP와 MAC 주소를 캡슐화 하기 때문에 L2와 L3 사이에 있는 프로토콜로 생각하면 된다.
IP ➡️ MAC
역순 주소 결정 프로토콜(RARP, Reverse Address Resolution Protocol)
MAC ➡️ IP
ARP 확인하는 방법
arp -a
IP 주소 (Internet Protocol Address)
인터넷에 연결되어 있는 모든 호스트나 라우터 장비인 인터페이스에 할당된 논리적인 주소
MAC 주소(Media Access Control Address)
컴퓨터나 노트북 등 각 장치에는 네트워크에 연결하기 위한 장치(LAN 카드)가 있는데, 이를 구별하기 위한 식별 변호를 의미하며 6바이트(48비트)로 구성된다.
장치 A가 ARP Request 브로드 캐스트를 보내 IP 주소인 120.70.80.3에 해당하는 MAC 주소를 찾고
해당 주소에 맞는 장치 B가 ARP Reply 유니캐스트를 통해 MAC 주소를 반환하는 과정을 거쳐 IP주소에 맞는 MAC주소를 찾게된다.
브로드 캐스트
송신 호스트가 전송한 데이터 가 네트워크에 연결된 모든 호스트에 전송되는 방식
유니캐스트
고유 주소로 식별된 하나의 네트워크 목적지에 1대1로 데이터를 전송하는 방식
홉바이홉 통신(hop by hop)
IP주소를 통해 통신하는 과정
각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것
각각의 라우터에 있는 라우팅 테이블의 IP를 기반으로 패킷을 전달하고 다시 전달해나간다.
➡️ 통신 장치에 있는 라우팅 테이블의 IP를 통해 시작 주소부터 시작하여 다음 IP로 계속해서 이동하는 라우팅 과정을 거쳐 패킷이 최종 목적지 까지 도달하는 통신하는 것을 홉바이홉 통신이라 한다.
라우터
한 개 이상의 근거리 통신망(LAN) 간에 데이터를 전달하는 게이트웨이
라우팅
IP 주소를 찾아가는 과정
라우팅 테이블(Routing Table)
네트워크상의 특정 목적지까지의 정보와 가는 방법등을 명시하고 있는 테이블
패킷을 전송할 때 패킷이 목적지에 도달할 수 있도록 라우터에게 목적지에 대한 정보를 알려준다.
게이트웨이(Gateway)
서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 소프트웨어
사용자는 인터넷에 접속하기 위해 수많은 게이트웨이를 거쳐야 하며, 게이트웨이는 다른 네트워크 상의 통신 프로토콜을 변환해주는 역할을 하기도 한다.
게이트웨이 확인법
netstat -r
라우팅 테이블 - IPv4, IPv6 경로 테이블
게이트웨이, 인터페이스
IP 주소 체계
- IPv4
- 32비트를 8비트 단위로 점을 찍어 IP를 표기
- 123.45.67.89 같은 방식으로 IP를 나타냄
- IPv6
- 64비트를 16비트 단위로 점을 찍어 IP를 표기
- 2001:db8::ff00:42:8329 같은 방식으로 IP를 나타냄
IPv6 - 추세 / IPv4 - 현재 가장 많이 쓰임
클래스 기반 할당 방식(Classful Network Addressing)
IP주소 체계는 처음에는 A, B, C, D, E 클래스로 구분하는 클래스 기반 할당 방식을 사용했다
Class A B C - 일반 사용자에게 부여하는 네트워크 구성용 주소(일대일 통신)
Class D - 멀티캐스트 통신용 주소
Class E - 향후 사용을 위한 예약된 주소(예비용)
DHCP(Dynamic Host Configuration Protocol)
IP 주소 및 기타 통신 매개 변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜
- 주소를 인터넷에 접속할 때마다 자동으로 IP주소를 할당
- 대부분의 라우터, 게이트웨이 장비에 DHCP 기능이 있음
NAT(Network Address Translation)
패킷이 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소 정보를 수정하여 IP 주소를 다른 주소로 매핑하는 기술로 사설 IP와 공인 IP로 나눠 많은 IP를 처리할 수 있다.
- NAT를 가능하게 하는 소프트웨어는 ICS, RRAS, Net filter 등이 있다.
가영 대리 홍철 팀장, 라라 팀장, 범석 대리는 192.168.0.xxx를 기반으로 각각 다른 IP를 가지고 있다(사설 IP)
NAT 장치를 통해 하나의 공인 IP인 121.165.151.200으로 외부 인터넷을 요청할 수 있다.
이를 통해 어비스 회사에 있는 하나의 IP인 121.165.151.200을 기반으로 각각의 다른 IP를 가지는 것 처럼 인터넷을 사용할 수 있다.
NAT 장치를 통해 사설 IP를 공인 IP로 변환하거나 공인 IP를 사설 IP로 변환 할 수 있다.
공유기와 NAT을 쓰는 이유
NAT을 쓰는 이유는 여러 대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이고
인터넷 회선 하나를 개통하고 인터넷 공유기를 달아서 여러 PC를 연결할 수 있는데, 이것이 가능한 이유는 인터넷 공유기에 NAT 기능이 탑재되어 있기 때문이다.
NAT를 이용한 보안
내부 네트워크에서 사용하는 IP 주소와 외부에 드러나는 IP 주소를 다르게 유지할 수 있기 때문에 내부 네트워크에 대한 어느정도의 보안이 가능하다.
NAT 단점
실제로 접속하는 호스트 숫자에 따라 접속 속도가 느려질 수 있다. ➡️ 여러 명이 접속할 경우 속도가 느려진다.
❗️면접 예상 질문
1. ARP, RARP란?
ARP는 주소 결정 프로토콜로 IP 주소를 MAC 주소로 변환해주는 프로토콜입니다.
반대로 RARP는 역순 주소 결정 프로토콜로 MAC 주소를 IP 주소로 변환해주는 프로토콜입니다.
2. 브로드캐스트와 유니캐스트란?
브로드 캐스트는 송신 호스트가 전송한 데이터가 네트워크에 연결되는 모든 호스트에 전송되는 방식이고
유내키스트는 고유 주소로 식별된 하나의 네트워크 목적지에 1대1로 데이터를 전송하는 방식을 의미합니다.
3. 홉바이홉 통신이란?
IP주소를 통해 통신하는 과정을 의미하며 각 패킷이 여러 개의 라우터를 건너가는 모습을 비유적으로 표현한 것 입니다.
4. 라우팅 테이블과 게이트웨이란?
라우팅 테이블은 네트워크상의 특정 목적지까지의 정보와 가는 방법등을 명시하고 있는 테이블을 의미하고
게이트웨이란 서로 다른 통신망, 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 관문 역할을 하는 컴퓨터나 소프트웨어를 의미합니다.
5. 클래스 기반 할당 방식 중 각각의 클래스에 대해서 설명해주세요.
Class A B C - 일대일 통신
Class D - 멀티캐스트 통신
Class E - 예비용
6. 클래스 기반 할당 방식의 단점과 해결 방안은 어떤 것이 있을까요?
단점으로는 사용하는 주소보다 버리는 주소가 많고 이를 해소하기 위해서 DHCP와 IPv6, NAT을 사용하는 방법이 있습니다.
7. DHCP란?
IP 주소 및 기타 통신 매개 변수를 자동으로 할당하기 위한 네트워크 관리 프로토콜입니다.
8. NAT란 무엇이고 사용하는 이유는 뭔가요? 또 단점은 뭐가 있을까요?
NAT란 패킷이 라우팅 장치를 통해 전송되는 동안 패킷의 IP 주소 정보를 수정하여 IP 주소를 다른 주소로 매핑하는 기술입니다.
NAT를 사용하는 이유는 여러 대의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함
NAT의 단점은 실제로 접속하는 호스트 숫자에 따라 접속 속도가 느려질 수 있습니다.
'Book > 개발 관련 분야 정리' 카테고리의 다른 글
[CS 전공지식노트] 조인의 종류와 원리 (0) | 2023.07.25 |
---|---|
[CS 전공지식노트] 데이터베이스 인덱스 (0) | 2023.07.24 |
[CS 전공지식노트] 데이터 베이스 종류 (0) | 2023.07.24 |
[CS 전공지식노트] 네트워크 기초(미완) (0) | 2023.07.11 |
[CS 전공지식 노트] 프로그래밍 패러다임 (0) | 2023.07.11 |