목차
📌 네트워크 레이어, IP 프로토콜
Q) IP주소에 대해서 설명해주세요.
IP (일반적으로 IPv4)
- 컴퓨터(노드)를 식별하기 위해 부여된 위치 주소.
- 네트워크 주소 + 호스트 주소로 구성되어 있음
- 지정한 IP주소에 패킷이라는 통신 단위로 데이터 전달
- 32비트 2진수로 표현 가능. 최대 2^32개 까지 가능.ex) 192. 168. 0. 103-> 11000000.10101000.00000000.01100111
Q) IPv4와 IPv6는 어떤 차이점이 있을까요?
구분 | IPv4 | IPv6 |
형태 | 127.0.0.1 | 2001:230:abcd:ffff:0000:0000:ffff:1111 |
표현 | 0~255 숫자 | 16진수 |
주소 길이 | 32비트 | 128비트 |
주소 개수 | 약 43억개(2^32) | 거의 무한대(2^128) |
품질 제어 | 품질 보장 곤란(QoS 일부 지원) | 등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장 용이 |
보안 기능 | IPsec 프로토콜 별도 설치 | 확장 기능에서 기본으로 제공 |
자동 네트워킹 | 곤란 | 있음(Auto configuration) |
이동성 지원 | 곤란(비효율) | 용이(효율적) |
IPV6는 IPv4 Address 고갈을 대비하여 만들어짐
Q) 서브넷과 서브넷 마스크에 대해 설명해주세요.
서브넷 등장 배경
- 클래스를 나누어 IP를 할당하여 발생하는 IPv4 주소 체계의 비효율성을 해결하기 위해, 네트워크 장치 수에 따라 효율적으로 사용할 수 있는 서브넷 등장
서브넷
- IP주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크
- 서브넷을 만들 때, 사용되는 것이 서브넷 마스크
기본 서브넷 마스크
class | 이진표현 | 십진표현 | 기본 서브넷 마스크 |
A | 0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx | 0.0.0.0 ~ 127.255.255.255 | 255.0.0.0 |
B | 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx | 128.0.0.0 ~ 191.255.255.255 | 255.255.0.0 |
C | 110xxxxx xxxxxxxx xxxxxxxx xxxxxxxx | 192.0.0.0 ~ 223.255.255.255 | 255.255.255.0 |
- 위와 같이 서브넷 마스크를 이용하면 IP주소의 Network ID, Host ID를 구분 가능.
- 24는 서브넷 마스크의 비트 수를 의미함.
- 서브넷 마스크가 위처럼 필요한 이유는 서브네팅을 하여 효율적인 네트워크 사용을 위해
서브네팅
- IP 주소 낭비를 방지하기 위해 원본 네트워크를 여러 개의 서브넷으로 분리하는 과정
- 서브넷 마스크의 bit 수를 증가시키는 것
- 서브넷 마스크의 bit 수를 1씩 증가(ex. 24 → 25)시키면, 할당할 수 있는 네트워크가 2배수로 증가, 호스트 수는 2배수로 감소
Q) 라우팅이 뭘까요?
라우팅
- 패킷을 전송하기 위한 수많은 경로 중, 한 가지 경로를 결정하는 기술
정적 라우팅
- 사람이 수동으로 미리 경로를 지정
동적 라우팅
- 변화하는 상황에 맞추어 라우터가 경로를 재설정
라우팅 테이블
- 네트워크 상의 모든 라우터들은 목적지에 따라 패킷을 보낼 Interface를 선 계산해야 하는데,
이를 미리 계산해 놓은 테이블
Q) Public IP와 Private IP 차이는 뭘까요?
Public IP(공인 IP)
- ISP가 할당
- 공용 IP, 공인 IP로도 불림
- 전세계에서 유일한 IP 주소를 가짐
- 외부에 공개되어 있어 인터넷에 연결된 다른 PC로부터의 접근이 가능 -> 방화벽 등 보안 프로그램 설치 필요
Private IP(사설 IP)
- 라우터가 할당
- 로컬 IP, 가상 IP, 사설 IP로도 불림
- 일반 가정이나 회사 등 내부적으로 할당된 네트워크 IP 주소
- IPv4의 주소 부족으로 인해 서브넷팅된 IP -> 라우터에 의해 로컬 네트워크 상의 PC나 장치에 할당
class | 주소 대역 |
A | 10.0.0.0 ~ 10.255.255.255 |
B | 172.16.0.0 ~ 172.31.255.255 |
C | 192.168.0.0 ~ 192.168.255.255 |
공인 IP | 사설 IP | |
할당 주체 | ISP(인터넷 서비스 공급자) | 라우터(공유기) |
할당 대상 | 개인 또는 회사의 서버(라우터) | 개인 또는 회사의 기기 |
고유성 | 인터넷 상에서 유일한 주소 | 하나의 네트워크 안에서 유일 |
공개 여부 | 내/외부 접근 가능 | 외부 접근 불가능 |
Q) 라우팅 프로토콜에 대해서 설명해주세요.
라우팅 프로토콜
- 라우팅 테이블을 생성/유지/업데이트/전달하는 프로토콜
라우팅 프로토콜 구성
1) 라우팅 테이블
- 패킷을 목적지로 라우팅 할 때 참조하는 테이블
- 목적지 주소, Output I/F, Metric값
2) 메시지
- 라우터 간 라우팅을 위해 교환하는 메시지
- 이웃 도달 메시지, 라우팅 정보
3) 메트릭
- 라우팅 테이블 생성 및 업데이트 시 최적의 경로를 결정하는 기술
- 경로 길이, 홉 수, 대역폭, 비용, 신뢰성
라우팅 프로토콜 분류
1) 라우팅 경로 고정 여부
* 자율 시스템(Autonomous System)
- 일정 규모의 한 네트워크
- 관리자의 관리 하에 있는 라우터 집합
정적 라우팅(Static Routing)
- 수동식, 사람이 일일이 경로 입력
- 라우터 부하를 줄인다 but 관리자의 관리부담 증가
- 고속 라우팅 가능
- 정해진 경로 문제 발생시 라우팅 불가
동적 라우팅 (Dynamic Routing)
- 라우터가 스스로 라우팅 경로를 동적으로 결정
- RIP, IGRP, EIGRP, OSPF, BGP
2) 내/외부 라우팅
내부 라우팅(Interior Gateway Protocol)
- AS 내에서의 라우팅을 담당하는 라우팅 프로토콜
- RIP, IGRP, OSPF, EIGRP
외부 라우팅(Exterior Gateway Protocol)
- 서로 다른 AS 사이에서 사용 되는 라우팅 프로토콜
- BGP, EGP
3) 라우팅 테이블 관리 알고리즘
Distance Vector 알고리즘
- 목적지까지 가는 데 필요한 거리, 방향만을 인접 라우팅 테이블에 기록(인접라우터)
- RIP, IGRP
Link State Vector 알고리즘
- 목적지까지 가는 경로를 SPF(Shortest Path First) 알고리즘을 통해 모든 라우팅 테이블에 기록(모든 라우터)
- OSPF
주요 라우팅 프로토콜(RIP, OSPF, BGP)
구분 | RIP | OSPF | BGP |
알고리즘 | 거리값 기반 | 최소링크비용 | 거리값 기반 |
계산단위 | HOP단위 경로 | Area(연속된 망 집합) | AS(관리도메인) |
정보기록 | 라우팅 테이블 | LSA | 프리픽스목록 |
특징 | HOP 제한 | 다익스트라 알고리즘 | TCP 활용(서브넷 집합) |
정보수집 | 30초 주기 | 필요시 변경 정보 수집 | 필요시 변경 정보 수집 |
적용규모 | 소규모 | 대규모망(도메인내) | 대규모망(도메인간) |
Q) IP는 어떻게 할당될까요?
- 라우터를 통해 1개의 Public IP 할당
- 라우터에 연결된 개인 PC는 Private IP를 각각 할당 받아 인터넷에 접속
- Private IP를 할당받은 개인 PC가 데이터 패킷을 인터넷으로 전송하면, 라우터(공유기)가 해당 Private IP를 Public IP로 바꿔 전송
- 인터넷에서 오는 데이터 패킷의 목적지도 라우터가 Public IP를 해당 PC의 Private IP로 변경 후 전송
Q) NAT가 뭘까요?
NAT(Network Address Translation)
- Local network 내에서는 IP주소 중복을 고려하지 않아도 된다는 점(Private IP)을 이용해 IPv4의 주소 부족 한계를 극복하기 위해 기술
- 하나의 IP 주소로 여러개의 host를 매핑
- 즉, Local network 내의 host를 특정할 수 있는 포트 번호를 사용하는 NAT 라우터를 활용하여 더 많은 host를 관리할 수 있다.
동작 순서
- Local network 내의 host가 서버에게 패킷을 보낸다.
- NAT 라우터는 source 주소를 자신의 주소로 바꾸고, 해당 host를 식별할 수 있는 포트 번호를 새로 부여한다.
- 서버는 해당 패킷을 받고, 대답하기 위해 dest 주소를 NAT 라우터의 주소로 설정한다.
- 서버가 보낸 패킷을 받은 NAT 라우터는 NAT translation table의 포트 번호를 보고 호스트를 특정해 보내준다.
Q) ICMP가 뭘까요?
IMCP(Internet Control Message Protocol)
- 네트워크 레벨에서 문제가 생겼을 경우, 이를 보고하는데 사용되는 프로토콜
- 전달하는 과정에서 IP 프로토콜을 활용하는데, 주로 IP datagram에 캡슐화되어 함께 전송된다.
- 대표적으로 Ping, Tracert 명령어에 사용됨
📌 참고자료
https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/index.jsp
https://velog.io/@oyeon/%EB%9D%BC%EC%9A%B0%ED%8C%85-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C
'CS > NETWORK' 카테고리의 다른 글
[네트워크 스터디 5주차] 네트워크 더 알아보기 (0) | 2023.12.04 |
---|---|
[네트워크 스터디 3주차] 신뢰적 데이터 전송의 원리 / TCP (2) | 2023.11.22 |
[네트워크 스터디 2주차] HTTPS / DNS / UDP / 신뢰적 데이터 전송의 원리 (1) | 2023.11.14 |
[네트워크 스터디 1주차] 컴퓨터 네트워크와 네트워크 레이어 / HTTP 프로토콜 (1) | 2023.11.07 |
REST API (0) | 2023.06.01 |