[네트워크관리사 2급] Part 2 - Section 02 - 2

KyungH·2024년 5월 7일
0

자격증 요약정리

목록 보기
7/8
post-thumbnail

📝 TCP/IP 계층

📌 인터넷 계층

📍 인터넷 계층 개요

송신자의 IP 주소와 수신자의 IP 주소를 읽어서 경로를 결정하거나 전송하는 역할 수행
다중 네트워크 링크를 통해 패킷의 발신지-대-목적지 전달에 대한 책임을 가진다

IP, ICMP의 TCP/IP 프로토콜 군이 존재, 멀티캐스팅을 위한 IGMP,
라우팅을 위한 BGP, OSPF, RIP 등이 존재한다

경로 결정은 수신자의 IP주소를 읽어서 어떻게 가는 것이 최적의 경로인지를 판단한다

✨인터넷 계층 기능

  • 경로설정 (라우팅)
  • Point to Point Packet 전달
  • 논리 주소 지정
  • 주소 변환
  • 인터넷 계층의 논리적 주소 지정 : IP 주소로 변환해서 사용
  • 데이터그램 : 기존 패킷에 IP Header를 붙이는 것

📍 IP 프로토콜

🔸IP 프로토콜 개요

IP 주소 형태로 송신자와 수신자의 IP 주소를 가지고 있고 IP 주소를 읽어서
최적의 경로를 결정할 수 있게 해준다

TCP/IP 망의 네트워크 계층의 주소화, 데이터그램 포맷, 패킷 핸들링 등을 정의한 규약

32비트 주소 체계로 이루어진 IPv4와 128비트 주소체계로 이루어진 IPv6가 있다
IPv6는 IP 주소의 부족 문제를 해결하기 위해서 주소 비트 수를 늘린 것이다
-> 모든 디지털 단말기에 IP 주소를 부여하여 인터넷과 연계 (IoT 서비스)

🔸IP Header 구조

  • Version : IPv4, IPv6 을 구분하여 라우터가 IP Header의 구조를 파악한다
  • Header LENgth : Header의 전체 길이
  • Type of Service : 서비스 유형
  • Total length : IP Datagram의 Byte 수
  • Identification : Host에서 보낸 Datagram 식별
  • Flags & Offset : IP Datagram 단편화 정보
  • Time to live : Datagram이 통과할 수 있는 라우터 수
  • Protocol : IP Header위의 상위 프로토콜의 종류 (ICMP, TCP, UDP)
  • Header Checksum : IP Header Checksum 계산 (헤더의 무결성 검사)

➕ Flag와 Fragment Offset은 패킷의 크기가 너무 클때 분할된 패킷을
수신자가 다시 패킷을 조립해야 하므로 분할과 관련된 정보가 있다

➕ TTL은 IP 패킷이 통과할 수 있는 라우터의 수, 라우터를 하나 통과할 때마다 1씩 감소
0이 되면 패킷은 자동으로 폐기 된다, 인터넷에서 무한정으로 떠도는 패킷 없애기 위함

🔸IP 단편화

네트워크의 MTU (Maximum Transmission Unit)은 한번에 통과할 수 있는
패킷의 최대 크기를 의미한다

MTU 값보다 패킷의 크기가 크면 패킷은 분할되고 그 정보를 Flag와 Offset에서 가지고 있다

패킷이 수신자에게 도착하면 다시 조립되어서 원래의 패킷을 만든다

이더넷 정보조회, ifconfig 명령을 통해 MTU 값을 확인할 수 있다

➕ 윈도우는 netstat -b 옵션을 통해 어떤 프로세스가 네트워크를 사용하는지 확인 가능

📍 IP 주소와 서브넷 마스크

🔸서브넷 마스크

IP 주소는 클래스로 분류한다, IP 클래스의 구조는 네트워크 ID와 호스트 ID로 분류한다
최대 32비트에 호스트 ID의 자리가 크면 하나의 네트워크에 많은 수의 컴퓨터에
IP 주소를 부여해서 사용할 수 있는 것이다

🔸클래스 구조

ClassMessage
Class A첫 바이트 7Bit가 네트워크 식별자, 한 네트워크에 가장 많은 호스트를 가짐
Class B14Bit의 네트워크 식별자, 한 네트워크에 약 2^16 대의 호스트 수용
Class C세 번째 바이트 까지 네트워크 식별자, 한 네트워크에 약 2^8 대까지 수용
Class D멀티캐스트 주소로 사용한다

🔸서브넷팅

주어진 네트워크 주소를 작게 나누어 여러 개의 서브넷으로 구성한다
네트워크 식별자 부분을 구분하기 위핸 Mask를 서브넷 마스크 라고 한다

Class C인 203.252.53 네트워크를 할당 받은 기관에서 6개의 서브 네트워크 구성
서브넷 ID가 모두 0인 것과 1인 서브넷은 특수 주소로 제외된다
총 8개의 서브넷이 필요하다

서브넷팅 하기 전의 Class C의 마스크 : 255.255.255.0
서브넷팅 한 후의 Class C의 마스크 : 255.255.255.224

➕ CIDR 표기법
'0/n'으로 표시하고 n 비트만큼 네트워크 주소를 의미하고 나머지 비트는 호스트 주소
200.10.10.100/24 로 표시하는 주소는 255.255.255.0의 C클래스 주소를 의미한다

📍 라우팅

🔸라우팅 개요

Internetwork를 통해 데이터를 근원지에서 목적지로 전달하는 기능이다
경로 결정에서 최단 경로 선정 및 전송을 수행하는 포워딩을 한다
목적지에 대한 경로 정보를 인접한 라우터들과 교환하기 위한 규약이다

🔸정적 라우팅과 동적 라우팅

라우터는 IP 헤더에서 목적지의 IP 주소를 읽어서 경로를 결정한다
이러한 경로를 결정할 때 사전에 미리 고정한 정적 경로 방법,
네트워크의 상태를 파악해서 최적의 경로를 결정하는 동적 경로 방법이 있다

정적 경로 방식의 경우, 경로 설정이 실시간이 아니므로 초기에 관리자가 다양하게 설정
라우터의 직접적인 처리 부하를 감소시킬 수 있어 비교적 환경 변화가 적은 형태의 네트워크에 적합
(기법: Floating Static Routing)

동적 경로 방식의 경우, 실시간으로 경로 설정이 이루어지므로, 네트워크 환경 변화에
능동적인 대처가 가능하며, 라우팅 알고리즘을 통해 자동으로 경로 설정이 이루어진다
수시로 환경이 변화되는 형태의 네트워크에 적합하다
(기법: Distance Vector Routing, Linked State Routing)

🔸IGP와 EGP 라우팅 프로토콜

라우팅 프로토콜은 경로를 결정하는 알고리즘을 포함한 프로토콜이며,
한 도메인 내에서 경로를 결정하는 IGP(Internal Gateway routing Protocol)
도메인 간에 경로를 결정하는 EGP(Exterior Gateway routing Protocol)로 분류된다

IGP : 동일 그룹 (기업 또는 ISP(Internet Service Provider) 내에서 라우팅 정보를 교환
EGP : 다른 그룹과의 라우팅 정보를 교환

📍 라우팅 프로토콜의 종류

Distance Vector : 경로를 결정할 때 통과해야 하는 라우터의 수가 적은 쪽으로 경로를 결정
홉 카운터 또는 TTL이라고 한다, RIP, IGRP, EIGRP, BGP의 프로토콜이 존재한다

Link State : 네트워크 대역폭, 지연 정보 등을 종합적으로 고려해 Cost를 산정하고
해당 Link의 Cost에 따라 경로를 결정하는 방법으로 대표적으러 OSPF가 있다
이러한 기법은 주기적으로 지연과 같은 정보를 라우터 간에 공유하며 이는 브로드캐스트를 사용

OSPF는 라우터들을 트리 형태의 자료구조처럼 연결하고 라우터 간에 정보를 공유한다
OSPF는 대규모 네트워크에서 사용되는 라우팅 프로토콜이고 구조가 복잡한 특성이 있다

➕ BGP(Border Gateway Protocol) : 인터넷에서 많이 사용되는 외부 라우팅 프로토콜로,
서로 다른 자율 시스템(AS) 에서 동작하는 라우팅 프로토콜이다

🔸Distance Vector 과 Link State 방식의 차이점

구분Distance VectorLink State
알고리즘최단 경로를 구하는 벨만 포드 알고리즘 기반최소 신장트리를 구하는 다익스트라 알고리즘 기반
동작원리네트워크 변화 발생시 해당 정보를 인접한 라우터에 정기적으로 전달, 인접 라우터에서는 라우팅 테이블에 정보 갱신라우터와 라우터를 연결하는 Link 상태에 따라 최적의 경로 설정
라우터가 네트워크 변화 감지 시 링크 상태 변경 정보를 인접한 라우터에게 즉각 전달하고 이를 저장한다
라우팅 정보모든 라우터까지의 거리 정보 보관인접 라우터까지의 Link Cost 계산
정보 전송 시점일정 주기 (30초, 이웃 라우터와 공유)변화 발생 시에만
대표 프로토콜RIP, IGRP, EIGRP(내부 라우팅), BGPOSPF(가장 많이 사용), IS-IS
단점변화되는 라우팅 정보를 모든 라우터에 주기적으로 갱신, 망 자체의 트래픽을 유발
라우팅 정보를 변경하는 문제 발생 시 Routing Loop가 발생할 가능성 존재
네트워크 전체 정보 유지를 위한 많은 메모리 소요
라우터의 CPU 사용량이 높아짐
라우터 간 회선의 대역차이로 동기화를 실패할 수 있음

📍 RIP (Routing Information Protocol)

🔸RIP 개요

거리 벡터 기반의 라우팅 프로토콜로, 목적지까지 통과해야하는 라우터의 수가 적은 경로를 선택
통과해야 하는 라우터 수를 홉 수(Hop Count)라고 하고 만약 홉 수가 16Hop을 넘으면
패킷을 폐기한다.

RIP은 라우팅 테이블을 유지하여 네트워크 상태 정보를 보유해야 한다
이를 위해 30초 단위로 RIP 브로드캐스팅을 통해 라우팅 테이블을 관리한다

✨RIP의 주요 특징

구분내용
개념RFC 1058에 정의 되어있고 대표적인 거리 벡터 라우팅 프로토콜
동작 원리라우터 간 거리 계산을 위한 척도로 홉 수를 사용한다
16Hop 이상이면 패킷을 폐기
180초 이내에 새로운 라우팅 정보가 수신되지 않으면 해당 경로를 이상 상태로 간주
수신된 목적지의 거리 값과 현재 거리 값을 비교하여 작은 것을 기준으로 라우팅 테이블 변경
라우팅 정보라우팅 정보 변경 시 모든 망에 적용하므로 큰 규모의 망에는 적합하지 않음

➕ 윈도우에서 라우팅 테이블의 확인은 netstat 명령어에서 -r 옵션으로 확인이 가능하다
netstat -r 이외에도 윈도우에서 route PRINT 명령어로 라우팅 테이블에 대한 확인 가능

📍 OSPF (Open Shortest Path First)

🔸OSPF 개요

대규모 네트워크에서 사용하는 라우팅 알고리즘으로 링크 상태 (Link State) 알고리즘을 사용
링크 상태 알고리즘은 네트워크의 대역폭과 지연 정도, 흡수 등을 종합적으로 고려하여
최단 경로를 결정한다, 라우팅 알고리즘은 다익스트라를 사용한다

✨OSPF의 특징

RFC 1247에 정의되어 있는 IP 라우팅 프로토콜
대규모 IP망에서 사용되며 Link State Routing Protocol 이다
링크에서의 전송 시간을 링크 비용으로 사용하여 각 목적지 별 최단 경로를 구한다
네트워크에 변화가 발생했을 때 상대적으로 짧고 간단한 링크 상태 정보를 교환

✨OSPF 동작 원리

링크의 지연, 처리량, 신뢰성 정보를 이용한다

네트워크를 Area로 구분하여 많은 라우팅 정보의 교환으로 인한
라우터의 성능 저하를 예방하고 대역폭을 절약

링크 변화 감지 시 변경된 링크에 대한 정보만을
즉시 모든 라우터에 전달하여 빠르게 라우팅 테이블을갱신

🔸OSPF 계위

OSPF는 라우팅 계위를 만들어 라우팅을 수행한다
OSPF에서 관리하는 라우터들 간에 그 역할을 정의한 것이다

경계 라우터는 다른 네트워크로 전달되는 패킷의 경로를 결정하는 것이다
백본 라우터는 영역 라우터 간에 중계 역할을 수행한다

경계 라우터 (Boundary Router) : 다른 네트워크로 전달되는 패킷의 경로를 결정
백본 라우터 (Backbone Router) : 영역(Area) 라우터 간에 중계 역할을 수행
영역 경계 라우터 (ABR, Area Border Router) : Area에 백본망을 연결해주는 라우터
내부 라우터 (IR, Internal Router) : Area에 접속한 라우터
자율 시스템 경계 라우터 (ASBR, Autonomous System Boundary Router) : 다른 AS에 속한
라우터와 경로 정보를 교환한다

📍 ICMP (Internet Control Message Protocol)

🔸ICMP 개요

TCP/IP에서 오류를 제어하는 프로토콜이다
호스트 및 라우터는 다른 호스트나 라우터가 현재 도달 가능한지의 여부를 결정한다

라우터는 특정 목적지 네트워크로 후속 IP 데이터그램을 보내는 데 사용 할 수 있는 더 좋은
경로가 있음을 근원지 호스트에게 통지한다

호스트나 라우터는 그들이 처리하기 너무 빠른 IP 데이터그램이 도착하면
이를 다른 시스템에게 통보한다

🔸ICMP의 주요 기능

  • IP 패킷 처리 도중 발견된 문제를 보고한다
  • 다른 호스트로부터 특정 정보를 획득하기 위해 사용한다
  • TCP/IP 프로토콜에서 두 호스트 간에 에러 처리를 담당한다
  • 통신이 정상적으로 이루어지는지 확인한다

🔸ICMP 메세지 구조

Type : ICMP 메세지 유형 표시
Code : Type와 같이 사용되며 세부적인 유형을 표현
Check Sum : IP Datagram Checksum

🔸ICMP 메세지의 종류

TypeMessage설명
3Destination UnreachableRouter가 목적지를 찾지 못할 경우
4Source Quench패킷을 너무 빨리 보내 네트워크에 무리를 주는 포스트를 제지
5Redirection패킷 Routing 경로를 수정, Smurf 공격에서 사용
8 or 10Echo Request or ReplyHost의 존재를 확인
11Time Exceeded패킷을 보냈으나 시간이 경과하여 Packet이 삭제 되었을 때
12Parameter ProblemIP Header Field에 잘못된 정보가 있다는 것을 알림
13 or 14Timestamp Request and ReplyEcho와 비슷하나 시간에 대한 정보가 추가

🔸TTL의 역할

ICMP는 TTL이 설정된다, TTL 값은 라우터를 통과할 때마다 1씩 감소하게 된다
TTL이 0이 되면 패킷은 자동으로 폐기된다
패킷이 정해진 시간내에 도착하지 않으면 ICMP는 시간초과 메세지를 보고한다

📍 데이터 전송 방식

송신자와 수신자 간에 어떻게 데이터를 보낼 것인가?

Unicast : 1 대 1 전송 방식
Broadcast : 1 대 N 전송 방식 (동일한 서브넷 상의 모든 수신자에게 전송)
Multicast : M : N 전송 방식 (하나 이상의 송신자들이 특정 그룹의 수신자에게 전송)

Anycast는 Ipv6에 새롭게 등장, 그룹에 등록된 노드 중에서 최단 경로 노드 한 개에만
전송하는 기술이다, Ipv6부터는 Broadcast가 없어졌다

📍 멀티캐스트와 IGMP

🔸멀티캐스트 개요

그룹에 등록된 사용자에게만 데이터를 전송하는 것이다. 그룹에 등록된 사용자를 관리해야 하며
그룹에 등록된 사용자를 관리하는 프로토콜이 IGMP이다

✨IGMP 특징

멀티캐스트 시에 멀티캐스트에 참석하는 수신자 정보를 제공한다
1 대 N 방식으로 멀티캐스트 그룹에 메세지를 전송한다
호스트와 라우터 사이에 이루어지며 TTL이 제공된다
시작 호스트에서 수신을 받을 목적지 호스트들에게 메세지를 전송한다

🔸IGMP 메세지 구조

8 byte로 구성된다
Version : IGMP 프로토콜의 버전 표시, 현재 IGMP Version 2 이다
Type : 메세지 유형, 1 = 보고, 2 = 질의 메세지이다
Group id : 보고 메세지의 경우 호스트에서 신규 가입하고자 하는
멀티캐스트 서비스의 group id 이다

📍 NAT (Network Address Translation)

사설 IP를 라우팅이 될 수 있는 공인 IP로 변경하는 주소 변환을 NAT라고 한다

🟢장점 : 공인 IP부족 해결 (내부망에서는 사설IP, 외부 망에서는 공인 IP를 사용),
보안성 (내부를 사설 망으로 해서 공인 망으로부터 보호한다),
ISP (Internet Service Provider, 변경에 따른 내부 IP 변경을 최소화 한다)

🔸NAT의 종류

종류특징
Normal NATN개의 사설 IP를 한 개의 공인 IP로 변환
Reverse NAT(Static)Normal NAT 설정만으로 외부에서 내부 네트워크로 접속할 수 없음
Normal NAT로 설정된 외부 IP로 요청하여 N개의 사설 IP의 어떤 것에 매핑할 수 없음
이러한 경우 Reverse NAT는 1:1 매핑, Static 매핑
Redirect NAT목적지 주소를 재 지정할 경우 사용 (장애 시 사용)
Exclude NAT특정 목적지로 접속 할 경우 설저된 NAT를 적용 받지 않도록 할 때 사용

Dynamic NAT

내부의 사설IP가 라우터 혹인 NAT 소프트웨어에 의해서 미리 정해진 공인IP로
랜덤하게 매핑되는 방법이다, 정해진 공인IP가 모두 사용 중일 경우
나머지 사설IP는 공인IP로 사용할 수 없다

Static NAT

특정 사설IP가 특정 공인IP만 사용하도록 관리자가 미리 지정하는 방법

PAT

Static NAT 및 Dynamic NAT의 경우 사용할 수 있는 공인IP보다 사설IP의 수가
많다면 부족한 만큼 외부로 나갈 수 없는 사설IP가 많아진다
PAT는 포트변환을 통해 공인IP 하나만 있어도 많은 수의 사설IP가 외부로 나갈 수 있다
즉, 사설 IP들은 각각 포트를 다르게 사용한다

📍 ARP

🔸ARP 개요

IP 주소를 물리적인 하드웨어 주소인 MAC 주소로 변경하는 프로토콜이다
ARP Request를 보내고 ARP Reply를 통해 ARP Cache Table을 유지하여
인접 컴퓨터의 IP 주소와 MAC 주소를 가지고 있게 된다

IP 주소와 이에 해당하는 물리적 네트워크 주소 정보는 각 IP호스트의 ARP 캐시라고
불리는 메모리에 테이블 형태로 저장된 후 다음 패킷 전송 시에 다시 사용한다

🔸ARP Operation Code

Op CodeARP Message Type
1ARP Request
2ARP Reply
3RARP Request
4RARP Reply
5DRARP Request
6DRARP Reply
7DRARP Error
8InARP Request
9InARP Reply

리눅스에서는 arp 명령으로, 윈도우에서는 arp -a로 확인한다

📍 RARP

Diskless Host에서 사용하는 것으로 운영체제도 없는 일종의 더미 터미널이다
더미 터미널에서 자신의 물리적 주소인 MAC 주소를 서버에 전송하고 IP 주소를 수신받아서 기동
일반적인 데스크톱에서는 필요하지 않고 과거 은행에서 더미 터미널을 사용할때 사용한 방법이다

  • 물리적인 주소 MAC을 기반으로 논리적인 주소 IP를 알아오는 프로토콜이다
  • 하나의 호스트를 RARP 서버로 지정한다
  • 디스크가 없는 워크스테이션은 RARP Request 패킷을 전송한다
  • RARP 서버는 디스크가 없는 워크스테이션들의 MAC 주소를 인터넷 주소로 매핑한다
  • RARP 서버는 인터넷 주소를 포함한 RARP Response 패킷으로 응답한다
  • RARP 요청 메세지는 브로드캐스트로 전송, RARP 응답 메세지는 유니캐스트로 전송한다

📌 네트워크 접근 계층

📍 네트워크 접근 계층 개요

LAN 카드의 물리적 주소인 MAC 주소를 가지고 전기적인 비트 신호로 메게지를 전송한다

Physical Layer가 이해할 수 있는 헤더를 붙여주는 Layer, Frame 단위, MAC Address를
사용하는 계층이다

통신기기 사이에 연결 및 데이터 전송 기능을 지원한다

📍 프레임(Frame) 구조

  • Preamble : 동기화 정보를 가지고 있다

  • SOF(Starting Frame Delimiter) : 프레임 시작을 알리는 구분자이다

  • Destination Address : 수신자(목적지)의 물리적 MAC 주소이다

  • Source Address : 송신자의 물리적 MAC 주소이다

  • Type : 상위 계층의 프로토콜 종류를 의미한다

  • PAD : 프레임 길이를 맞추기 위한 영역으로 64Byte 길이를 만족하지 못하면
    나머지 부분은 0으로 채워진다

  • FCS(Frame Check Sequence) : 비트열의 오류를 검사하기 위해서 사용된다


0개의 댓글

관련 채용 정보