체뚱로그
[컴퓨터네트워크 3기] 4주차 스터디 정리 본문
[목차]
네트워크 레이어와 IP 프로토콜
IP 주소
주소 구조 활용 방식
IPv4 vs IPv6
서브넷과 서브넷 마스크
Public IP vs Private IP
IP 할당 방법
라우팅(Routing)
라우팅 프로토콜
NAT(Network Address Translation)
ICMP(Internet Control Message Protocol)
📌네트워크 레이어와 IP 프로토콜
IP 주소
컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 특수한 번호이다.
IP 주소는 네트워크 부분과 호스트 부분으로 나뉘어 진다.
주소 구조 활용 방식
클래스 주소(Classful Addressing)
- 고정 길이 프리픽스(Network ID)
- 초기의 주소 방식
- 주소 낭비 문제로 현재는 사용하지 않음
비클래스 주소(Classless Addressing)
- 가변 길이 프리픽스(Network ID)
- 현재 사용하고 있는 주소 방식
- CIDR(Classless InterDomain Routing)
- 임의의 길이의 프리픽스(Network ID) 할당
- 네트워크 크기(호스트 수)에 맞는 프리픽스(Network ID) 크기 설계 가능
IPv4 vs IPv6
IPv4의 한계
- 주소 공간의 고갈
- 최소 지연과 자원의 예약 불가
- 암호화와 인증기능 미제공
IPv4 | IPv6 | |
주소길이 | 32bits = 4bytes | 128bits = 16bytes |
표시방법 | 8비트 10진수 4자리 | 16비트 16진수 8자리 |
주소개수 | 2^32 = 약 43억개 | 2^128 = 약 43억*43억*43억*43억개 |
주소할당 | A, B, C 등 클래스 단위의 비순차적 할당 | 네트워크 규모 및 단말기 수에 따른 순차적 할당 |
품질제어 | 지원 수단 없음 | 등급별, 서비스별로 패킷을 구분할 수 있어 품질 보장 용이 |
보안기능 | IPsec 프로토콜 별도 설치 | 확장 기능에서 기본으로 제공 |
멀티캐스트 주소 | 224.0.0.0/4 (D class) | FF00::/8 |
브로드캐스트 주소 | 255.255.255.255 또는 호스트 주소의 모든 bit가 1인 경우 |
해당 주소 없음 |
미지정 주소 | 0.0.0.0/32 | ::/128 |
루프백 주소 | 127.0.0.1 | ::1/128 |
공인 IP 주소 | 공인 IP 주소 | Global Unicast Address |
사설 IP 주소 | 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 |
해당 주소 없음 |
링크 로컬 주소 | 169.254.0.0/16 | FE80::/64 |
예시 | 202.30.64.22 118.223.38.149 |
2001:0DB8:1000:0000:0000:0000:1111:2222 == 2001:DB8:1000::1111:2222 (각 필드의 맨 앞에 연속되는 0은 생략될 수 있으며 연속되는 0은 ‘::’으로 표현될 수 있다) |
서브넷과 서브넷 마스크
서브넷이란 IP 주소에서 네트워크 영역을 부분적으로 나눈 네트워크를 말한다.
서브넷 마스크는 IP 주소에서 Network ID의 길이(프리픽스 크기)를 표시한 것을 말한다. 이는 호스트 ID가 몇 개 필요한지에 따라서 네트워크 크기(호스트 개수)를 결정하며, 서브넷 마스크를 사용하지 않을 시 IP주소가 작동하지 않는다.
서브넷 마스크 표기법
표기법 종류 | 표기 방법 | 표기 예제 |
프리픽스 표기법 | /prefix_size | /24 |
이진 표기법 | 프리픽스 비트를 모두 1로 표시 | 11111111 11111111 11111111 00000000 |
DDN 표기법 | 이진 서브넷 마스크를 DDN으로 표시 | 255.255.255.0 |
Public IP vs Private IP
공인 IP(Public IP)
- 인터넷에서 사용되는 유일한 주소 (네트워크 여러 개를 연결하면 여러 개를 가질 수도 있음)
- IP 주소 할당 기관에 의해 할당된 주소
사설 IP(Private IP)
- 인터넷 미연결 TCP/IP 네트워크를 위한 IP 주소
- 인터넷 IP 주소 관리 대상에 불포함 (각자 알아서 관리)
- 서로 다른 네트워크에서 중복 사용 가능 (e.g., 우리 대학 사설 IP 주소와 타 대학 사설 IP 주소가 같아도 상관 X)
- 인터넷 IP 주소와 엄격하게 구분 (인터넷에서 사용 불가)
- 사설 IP 주소 범위 (이 안에서만 사용 가능, 클래스 주소를 사용하기 때문에 서브넷 마스크 없어도 됨)
- 클래스 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 주소 범위 내에서 "유일"하게 할당
- 사설 IP 주소 사례
- 무선 공유기
- 캠퍼스 Wifi 네트워크
라우팅(Routing)
어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정이다.
이때 최적의 경로란 주어진 데이터를 가장 짧은 거리로 또는 가장 적은 시간 안에 전송할 수 있는 경로를 말한다.
라우팅 프로토콜
라우팅 프로토콜이란 패킷이 목적지까지 가는 방법을 결정해주는 프로토콜을 말한다.
AS(Autonomous System)
- 인터넷상의 개별적인 라우팅 관리 도메인(ISP)
인터넷 라우팅
- 전체 인터넷을 여러 개의 AS로 나누고, AS 내부는 각각 독립적인 라우팅 프로토콜 적용 (e.g., KT, SKT, ...)
- AS 간 라우팅은 각 AS를 연결하는 라우터들 간에 별도의 프로토콜로 수행 → BGP
라우팅 프로토콜 종류
분류 | 정의 | 프로토콜 종류 |
Intra-AS 라우팅 프로토콜 | AS 내부에 적용 가능한 라우팅 프로토콜 IGP(Interior Gateway Protocol) |
RIP, OSPF, ... |
Inter-AS 라우팅 프로토콜 | AS 간에 적용 가능한 라우팅 프로토콜 EGP(Exterior Gateway Protocol) |
BGP |
RIP(Routing Information Protocol)
- 초기 IP와 함께 개발된 최초의 라우팅 프로토콜
- 거리 벡터(Distance Vector) 라우팅 알고리즘에 근거한 분산 라우팅
- 모든 링크의 비용은 1로 설정
- 최고 경로 비용을 15로 제한
- 경로 비용이 16일 경우 무한대로 간주하여 해당 경로는 유효하지 않는 경로로 처리
OSPF(Open Shortest Path First)
- 각 라우터는 링크 상태에 변화가 있는 경우에만 변화 내용을 모든 라우터에게 플러딩(flooding)함으로서 갱신된 상태 정보를 모든 라우터와 동시에 공유
- 각 라우터는 글로벌 네트워크 상태 정보에 다익스트라 알고리즘(Dijkstra Algorithm)을 실행하여 모든 라우터에 대한 최소 경로 비용 계산
- 최소 경로 비용 계산 결과에 따라 라우팅 테이블 갱신
BGP(Border Gateway Protocol)
- 서로 다른 AS를 연결해주는 경계 게이트웨이 프로토콜이다.
- 인터넷에서 주 경로 지정을 담당하는 프로토콜의 한 종류이다.
IP 할당 방법
- 정적 할당(Static Allocation): 수동 할당, 고정 할당 => 직접 변경
- 동적 할당(Dynamic Allocation): 자동 할당, 유동 할당 => 필요할 때만 할당, 필요 없으면 반납 후 다른 호스트한테 할당
- DHCP(Dynamic Host Configuration Protocol)
- DHCP 서버에 의한 호스트 구성 정보 동적 할당 절차 정의
- IP 주소, 서브넷마스크, 디폴트 게이트웨이 주소, DNS 서버 주소 등 구성 정보 자동 할당
- 사용자 편의성, IP 주소 절약 가능 (필요할 때만 할당, 동시 사용자 수만큼 할당)
- DHCP(Dynamic Host Configuration Protocol)
NAT(Network Address Translation)
사설 네트워크에 연결된 호스트의 사설 IP 주소와 인터넷의 공인 IP 주소 간의 변환 프로토콜
NAT의 장점
- 인터넷을 접속할 때만 공인 IP 주소를 사용 → 공인 IP 주소 절약 가능
- 호스트의 IP 주소 외부 노출 방지 → 보안성 제고
NAT 기본 동작
NAT 변환 방법
- 정적 NAT(Static NAT) - 반드시 외부에 접속되어야 하는 경우(웹 서버, 이메일 서버)가 아니면 정적 NAT은 잘 안씀
- 사설 네트워크의 특성에 따라 공인 IP 주소 변환이 필요한 호스트를 미리 선정
- 각 사설 IP 주소와 공인 IP 주소 간의 변환 테이블을 미리 정의
- 동적 NAT(Dynamic NAT) - 대부분은 동적 NAT을 사용
- 인터넷을 접속할 때마다 사설 IP 주소와 공인 IP 주소 간의 변환 수행
- 문제점: 동시에 연결 가능한 공인 IP 주소가 제한적
- 해결책: NAPT(Network Address Port Translation)
ICMP(Internet Control Message Protocol)
- IP 데이터그램 전달 오류에 대한 보고 서비스
- IP 데이터 그램 전달을 위한 상태 정보 질의 서비스
*. IP의 특징
- 비연결형(Connectionless) 서비스: 통신 상대방의 상태 미확인 (통신 상태 확인 X)
- 비신뢰적(Unreliable) 서비스: 전송 오류에 대한 미확인 (오류 제어 X)
ICMP 메시지 종류
분류 | 유형 | 메시지 |
오류보고 메시지(error report message) | 3 | 목적지 도착 불가능(Destination Unreachable) |
4 | 출발지 억제(Source Quench) | |
11 | 시간 초과(Time Exceeded) | |
5 | 방향 재지정(Redirection) | |
질의 메시지(query message) | 8 or 0 | 에코 요청 또는 회신(Echo Request or Reply) |
13 or 14 | 타임 스탬프 요청 또는 응답(Timestamp Request or Reply) | |
17 or 18 | 주소 마스크 요청 또는 응답(Address Mask Request or Reply) | |
10 or 9 | 라우터 찾기 또는 광고(Router Solicitation or Advertisement) |
https://ko.wikipedia.org/wiki/IP_%EC%A3%BC%EC%86%8C
https://catsbi.oopy.io/f565e8c1-34c6-4b61-be61-e1ab04fc51fb
https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e
https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/ipv6Info.jsp
https://movefast.tistory.com/53
https://www.youtube.com/watch?v=Yv7KIbbWSow
https://youtu.be/GtCPftjWz6o?si=eGFUaiX4lZRWt7oC
https://youtu.be/ObF6xi3fqws?si=A4WfZ0Z2lUr1WkfC
https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B0%ED%8C%85
https://youtu.be/oo_TLvMGxRc?si=tdTpQhRMfI6RyiQ-
'CS > JSCODE' 카테고리의 다른 글
[운영체제 3기] 1주차 스터디 정리 (0) | 2024.01.11 |
---|---|
[컴퓨터네트워크 3기] 5주차 스터디 정리 (0) | 2023.10.07 |
[컴퓨터네트워크 3기] 3주차 스터디 정리 (0) | 2023.09.24 |
[컴퓨터네트워크 3기] 2주차 스터디 정리 (0) | 2023.09.18 |
[컴퓨터네트워크 3기] 1주차 스터디 정리 (0) | 2023.09.14 |