영원히 남는 기록, 재밌게 쓰자

11과목 - 응용 SW 기초 기술 활용 (2) 네트워크 기초 활용하기 본문

정보처리기사

11과목 - 응용 SW 기초 기술 활용 (2) 네트워크 기초 활용하기

youngjae-kim 2024. 7. 10. 00:11
728x90
반응형

OSI 7계층

계층 이름 설명 프로토콜 전송단위 장비
응용계층
(Application Layer)
사용자와 네트워크 간 응용 서비스 연결, 데이터 생성 HTTP, FTP Data 호스트
(PC 등)
표현계층
(Presentation Layer)
데이터 형식 설정, 부호교환, 암/복호화, 압축 JPEG, MPEG
세션계층
(Session Layer)
송수신 간의 논리적 연결

연결접속, 동기제어

RPC, NetBIOS
전송계층
(Tranport Layer)
송수신 프로세스간의 연결

신뢰성 있는 통신 보장

데이터 분할, 재조립, 흐름제어, 오류제어, 혼잡제어
TCP, UDP 세그먼트 L4 스위치
네트워크 계층
(Network Layer)
단말기 간 데이터 전송을 위한 최적화 된 경로 제공 IP, ICMP 패킷 라우터
데이터 링크 계층
(Data Link Layer)
인접 시스템 간 데이터 전송, 전송 오류 제어 HDLC, PPP 프레임 브리지, 스위치
물리계층
(Physical Layer)
0, 1 비트 정보를 회선에 보내기 위한 전기적 신호로 변환 RS-232C 비트 허브

 

네트워크 프로토콜 파악

 

프로토콜

프로토콜의 기본 3요소

구문(Syntax) 시스템 간의 정보 전송을 위한 데이터 형식, 코딩, 신호 레벨 등의 규정
의미(Semantic) 시스템 간의 정보 전송을 위한 제어 정보로 조정과 에러 처리를 위한 규정
타이밍(Timing) 시스템 간의 정보 전송을 위한 속도 조절과 순서 관리 규정

프로토콜의 개념

  • 서로 다른 시스템이나 기기들 간의 데이터 교환을 원활히 하기 위한 표준화된 통신 규약이다.
  • 통신을 위해 프로토콜이 가져야 하는 일반적인 기능에는 데이터 처리 기능, 제어기능, 관리적 기능이 있다.

네트워크 프로토콜

네트워크 프로토콜의 개념

  • 컴퓨터나 원거리 통신 장비 사이에서 메시지를 주고 받는 양식과 규칙의 체계
  • 통신 규약 또는 규칙에는 전달 방식, 통신 방식, 자료의 형식, 오류 검증 방식, 코드 변환 규칙, 전송 속도 등을 정하게 된다.
  • 다른 기종의 장비는 각기 다른 통신 규약을 사용하는데 프로토콜을 사용하면 다른 기기 간 정보의 전달을 표준화할 수 있다.
  • 네트워크 프로토콜의 특징
    • 단편화: 전송이 가능한 작은 블록으로 나누어지는 기법
    • 재조립: 단편화되어 온 조각들을 원래 데이터로 복원하는 기법
    • 캡슐화: 상위 계층의 데이터에 각종 정보를 추가하여 하위 계층으로 보내는 기법
    • 연결 제어: 데이터의 전송량이나 속도를 제어하는 기법
    • 오류 제어: 전송 중 잃어버리는 데이터나 오류가 발생한 데이터를 검증하는 제어 기법
    • 동기화: 송신과 수신 측의 시점을 맞추는 기법
    • 다중화: 하나의 통신 회선에 여러 기기들이 접속할 수 있는 기법
    • 주소 지정: 송신과 수신지의 주소를 부여하여 정확한 데이터 전송을 보장하는 기법

데이터 링크 계층(2계층)

  • 링크의 설정과 유지 및 종료를 담당
  • 노드 간의 회선 제어, 흐름 제어, 오류 제어 기능을 수행하는 계층
HDLC(high level data link control) 점대점 방식이나 다중 방식의 통신에 사용되는 ISO에서 표준화한 동기식 비트 중심의 데이터 링크 프로토콜
PPP(point to point protocol) 네트워크 분야에서 두 통신 노드 간의 직접적인 연결을 위해 일반적으로 사용되는 데이터 링크 프로토콜
프레임 릴레이 프로토콜 처리를 간략화하여 단순히 데이터 프레임들의 중계(Relay)기능과 다중화 기능만 수행하므로 데이터 처리 속도 향상 및 전송 지연을 감소시킨 고속의 데이터 전송 기술
ATM(asynchronous transfer mode) 정보 전달의 기본 단위를 53 바이트 셀 단위로 전달하는 비동기식 시분할 다중화 방식의 패킷형 전송 기술

 

HDLC 상세

 

HDLC 프레임 구조

플래그 프레임의 동기를 제공하기 위해 사용
주소부 프레임 목적지인 보조국의 주소를 나타냄
제어부 프레임의 종류를 식별하기 위한 영역
정보부 실제 정보가 들어있는 영역
FCS(Frame Check Sequence) 프레임에 대한 전송 오류를 검출하기 위해 사용

 

정보 프레임(I 프레임)

  • 제어부 0번 프레임으로 시작
  • 피기백킹 기법을 통해 데이터에 대한 확인 응답을 보낼 때 사용되는 프레임

감시 프레임(S 프레임)

  • 제어부가 10 프레임으로 시작
  • 프레임 수신 확인, 전송 요구, 프레임 전송의 일시 연기 요구와 같은 제어 기능을 수행하는 프레임이다.

비번호 프레임(U 프레임)

  • 제어부가 11 프레임으로 시작
  • 링크의 동작 모드 설정 및 관리, 오류 회복 기능을 수행하는 프레임이다.

HDLC 동작 모드

~국(station)은 개방 시스템에서 HDLC 절차를 실행하는 부분이며 데이터 제어 명령을 전송하고 응답

정규 응답 모드
(NRM; Normal Response Mode)
점대점이나 멀티 포인트 불균형 링크 구성에 사용
비동기 응답 모드
(ARM; Asyncronous Response Mode)
보조국도 전송 개시할 필요가 있는 특수한 경우에 사용
비동기 균형 모드
(ABM; Asyncronous Balanced Mode)
균형 링크 구성에 사용

데이터 링크 계층 오류 제어

  • 데이터 전송 시 감쇠, 왜곡, 잡음에 의해 생성된 오류를 검출하고 정정하는 기능

 

전진(순방향) 오류 수정(FEC; Forward Error Correction)

  • 데이터 전송 과정에서 발생한 오류를 검출하여 검출된 오류를 재전송 요구 없이 스스로 수정하는 방식
해밍 코드 방식
(Hamming)
수신측에서 오류가 발생한 비트를 찾아 재전송을 요구하지 않고 자신이 직접 오류를 수정하는 방식

1비트의 오류 수정이 가능
상승 코드(부호) 방식 여러 개의 비트 오류가 있더라도 한곗값(경곗값), 순차적 디코딩을 이용하여 모두 수정할 수 있는 방식

 

후진(역방향) 오류 수정(BEC; Backward Error Correction)

  • 데이터 전송과정에서 오류가 발생하면 송신 측에 재전송을 요구하는 방식
패리티 검사 7~8개의 비트로 구성되는 전송 문자에 패리티 비트를 추가하여 오류를 검출하는 방식
CRC
(순환잉여검사; Cycle Redundancy Check)
다항식을 통해 산출된 값을 토대로 오류를 검사하는 방식

집단 오류를 해결하기 위한 방식
블록합 검사
(Block Sum Check)
프레임의 모든 문자로부터계한되는 잉여 패리티 비트들을 사용하는 이차원(가로/세로) 패리티검사 방식
자동 반복 요청 방식
(ARQ; Automatic Repeat Request)
신뢰성 있는 데이터 전달을 위해, 재전송을 기반으로 하는 에러 제어 방식

네트워크 계층 (3계층)

  • 다양한 길이의 패킷을 네트워크를 통해 전달하고, 그 과정에서 전송 계층이 요구하는 서비스 품질(QoS)을 위한 수단을 제공하는 계층
  • 라우팅, 패킷 포워딩, 인터 네트워킹등을 수행

네트워크 계층 프로토콜

프로토콜 설명
IP(Internet Protocol) 송수신 간의 패킷 단위로 데이터를 교환하는 네트워크에서 정보를 주고받는데 사용하는 통신 프로토콜
ARP(Address Resolution Protocol) IP 네트워크상에서 IP 주소를 MAC주소(물리 주소)로 변환하는 프로토콜
RARP(Reverse Address Resolution Protocol) - IP 호스트가 자신의 물리 네트워크 주소(MAC)는 알지만 IP주소를 모르는 경우, 서버로부터 IP 주소를 요청하기 위해 사용하는 프로토콜

- 물리네트워크(MAC) 주소에 해당하는 IP 주소를 알려주는 역순 주소 결정 프로토콜
ICMP(Internet Control Message Protocol) - TCP/IP 동작 과정에서의 전송오류가 발생하는 경우에 오류 정보를 전송하는 목적으로 사용하는 프로토콜

- 메시지 형식은 8바이트 헤더, 가변길이 데이터 영역으로 분리
IGMP(Internet Group Management Protocol) - 호스트 컴퓨터와 인접 라우터가 멀티캐스트 그룹 멤버십을 구성하는 데 사용하는 통신 프로토콜

- 화상회의, IPTV에서 활용
라우팅 프로토콜(Routing Protocol) 데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를
설정해주는 라우터 간의 상호 통신 프로토콜
NAT(Network Address Translation) - 사설 네트워크에 속한 IP를 공인 IP 주소로 바꿔주는 네트워크 주소 변환 기술

- 기업 내부에서 사설 IP를 부여해서 사용하다가 기업 외부로 통신할 때는 NAT를 통해 공인 IP로 변환해서 통신함으로서 부족한 IPv4 주소문제를 해결, 기업 내부의 보안을 강화할 수 있음\ 

 

IPv4 (Internet Protocol version 4)

패킷 교환 네트워크 상에서 데이터를 교환하기 위한  32비트 주소체계를 갖는 프로토콜

 

IPv4 헤더

주소 등 각종 제어 정보를 담고 있는 부분이다.

IPv4 헤더 사이즈는 옵션 미지정시 최소 20바이트 이상 (IPv6 최소 40바이트 이상)

 

IPv4 주소체계

  • 10진수로 총 12자리 4부분으로 나뉜다.
  • 각 부분은 0 ~ 255까지 3자리의 수로 표현 된다.
  • 32비트로 구성
  • 32비트 IP 주소는 Network를 나타내는 부분과 Host를 나타내는 부분으로 구성되어 있고, Network 부분과 Host 부분을 구분하는 것은 서브넷 마스크이다.

IPv4 클래스 분류

A 클래스 첫 단위 3숫자는 0~127 중 하나를 가짐

A클래스가 접속할 수 있는 네트워크를 지시

2,3,4 단위 3숫자는 A클래스가 자유롭게 부여 가능한 IP
0.0.0.0 ~ 127.255.255.255

A 클래스 서브마스크: 255.0.0.0
B 클래스 첫 단위가 128 ~ 191 중 하나를 가짐

1, 2 단위 3 개의 숫자는 B 클래스가 접속할 수 있는 네트워크를 지시

128.0.0.0 ~ 191.255.255.255

B 클래스 서브마스크: 255.255.0.0
C 클래스 최하위 클래스

191 ~ 223 가운데 하나를 가짐

C 클래스가 자유롭게 부여할 수 있는 IP는 마지막 4번째 단위의 254개 (2개는 네트워크 ID, 브로드캐스트 IP로 사용하지 못함)
191.0.0.0 ~ 223.255.255.255

C 클래스 서브마스크: 255.255.255.0
D 클래스 멀티캐스트 용도로 예약된 주소 224.0.0.0 ~ 239.255.255.255
E 클래스 연구를 위해 예약된 주소 240.0.0.0 ~ 255.255.255.255

 

 

서브네팅

IP 주소 고갈문제를 해결하기 위해 원본 네트워크를 여러 개의 네트워크로 분리하는 과정

 

대표 네트워크 IP 주소 -> 호스트 ID는 2진수 기준 모두 0으로 채우고,

브로트캐스트 IP 주소 -> 호스트 ID는 2진수 기준으로 모두 1로 채운다.

 

서브네팅 종류

FLSM(Fixed-Length Subnet Masking) 서브넷 길이를 고정적으로 사용

한 대역을 동일한 크기로 나누는 방식
VLSM(Variable Length Subnet Masking) 서브넷 길이를 가변적으로 사용

한 대역을 다양한 크기로 나누는 방식

 

 

서브넷 계산하기

192.168.1.0/24 네트워크를 FLSM 방식으로 9개의 서브넷으로 나누고 7번째 서브 네트워크의 사용가능한 IP주소를 계산하려고 한다.

 

192.168.1.0/24를 2진수로 표현하면

11000000.10101000.00000001.00000000

초록색: 네트워크 ID

파란색: 호스트 ID

 

서브넷을 위한 비트 수 결정

Host Id 상위 n개의 비트 2^n개 서브넷으로 분할한다. (2^n >= 서브넷 개수)

9개의 서브넷으로 나누려고 하므로 2^n >= 9를 만족하는 n을 찾아야 한다.

n = 3 이면 2^3 = 8은 2^n >= 9를 만족하지 못하므로 n = 4이 된다.

따라서 2^4 = 16개의 서브넷으로 나눌 수 있게 된다.

 

마지막 파란색 호스트 ID 부분의 4비트 부분을 서브넷 ID 나머지 4비트가 호스트 ID가 된다.

 

서브넷 ID계산

1번째 서브넷:  11000000.10101000.00000001.00000000

2번째 서브넷: 11000000.10101000.00000001.00010000

3번째 서브넷: 11000000.10101000.00000001.00100000

...

9번째 서브넷: 11000000.10101000.00000001.10000000

 

이렇게 하면 서브넷 주소 계산이 완료된다. 그 다음 뒤의 파란색 4비트 부분인 호스트 ID부분을 변경해 사용 가능한 IP 주소를 계산한다.

그리고 구하고자 하는 것은 7번째 서브넷의 IP 주소를 계산하고 싶다.

네트워크 주소:  11000000.10101000.00000001.01100000 -> 사용 불가

1번째 IP 주소:  11000000.10101000.00000001.01100001

2번째 IP 주소: 11000000.10101000.00000001.01100010

3번째 IP 주소: 11000000.10101000.00000001.01100011

...

14번째 IP 주소: 11000000.10101000.00000001.01101110

브로드캐스트 주소: 11000000.10101000.00000001.01101111 -> 사용 불가

 

최종적으로 192.168.1.0/24의 7번째 서브넷의 사용가능한 IP네트워크 주소는

11000000.10101000.00000001.01100001 ~ 11000000.10101000.00000001.01101110

01100001 = 97 

01101110 = 110

10진수로 변환하면 192.168.1.97 ~ 192.168.1.110 까지이다.

 

IPv6

IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해서 개발된 128bit 주소체계를 가지는 인터넷 프로토콜

 

IPv6 특징

IP 주소 확장 IPv4 32비트 주소 공간에서 벗어나, 128비트 주소 공간을 제공
이동성 IPv6 호스트는 네트워크의 물리적 위치에 제한받지 않고 같은 주소를 유지하면서 자유롭게 이동 가능
인증 및 보안 기능 패킷 출처 인증과 데이터 무결성 및 비밀 보장 기능을 IP 프로토콜 체계에 반영

IPSec기능 적용 및 IPv4보다 보안성 강화
개선된 QoS 흐름 레이블 개념 도입, 실시간 통신등 서비스 제공
Plug & Play 지원 IPv6 네트워크 접속하는 순간 자동적으로 네트워크 주소를 부여받음

컴퓨터에 하드웨어를 연결하면 별도의 사용자 조작이나 프로그램 설치 없이 사용가능
Ad-hoc 네트워크 지원 Ad-hoc 네트워크를 위한 자동 네트워킹 및 인터넷 연결 지원 
자동 네트워크 환경 구성
단순 헤더 적용 IP 패킷 처리 신속하게 하기 위해 고정 크기 단순 헤더를 사용, 확장 및 옵션 기능 사용이 용이
실시간 패킷 추적 가능 흐름 레이블을 사용해 패킷 흐름을 실시간 제공

 

 

IPv4 에서 IPv6로 변환 방법

 

듀얼 스택

IP 계층에 두가지(IPv4, IPv6) 프로토콜이 모두 탑재되어 있고 통신 호스트에 따라 해당 IP 스택을 선택하는 방법

 

터널링

IPv6 망에서 인접한 IPv4 망을 거쳐 다시 IPv6망으로 통신할 때 IPv4망 터널을 만드는 방식

 

주소변환 방식

IPv6망, IPv4망 사이에 주소변환기를 사용하여 패킷을 변환하는 방식인데 주소 변환기가 고가이다.

 

IP 통식 방식

유니캐스트 프로토콜

  • 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 통신하는 프로토콜

멀티캐스트 프로토콜

  • 같은 내용의 데이터를 여러 명의 특정한 그룹의 수신자들에게 동시에 전송할 수 있는 프로토콜
  • 멀티캐스팅 라우팅 + 그룹 관리 프로토콜 (IGMP)

브로드캐스트 프로토콜

  • 하나의 송신자가 같은 서브 네트워크상의 모든 수신자에게 데이터를 전송하는 프로토콜이다.

애니캐스트 프로토콜

  • 하나의 호스트에서 그룹 내의 가장 가까운 곳에 있는 수신자에게 데이터를 전달

 

라우팅 프로토콜(3계층)

데이터 전송을 위해 목적지까지 갈 수 있는 여러 경로 중 최적의 경로를 설정 해주는 라우터간 규약

 

정적, 동적 라우팅으로 나뉜다.

 

동적 라우팅 내에서 내부 라우팅(IGP)과 외부 라우팅(EGP)으로 나뉜다.

 

내부 라우팅 프로토콜

동일한 AS 내의 라우팅에 사용되는 프로토콜

RIP

  • AS(autonomous system; 자율 시스템)내에서 사용하는 거리 벡터 알고리즘에 기초한 내부 라우팅 프로토콜
  • 벨만-포드 알고리즘 사용, 15 홉(데이터가 목적지까지 가는 동안 거치는 네트워크 수) 제한
  • UDP 사용
  • 30초 마다 정보 공유

OSPF(open shortest path first)

  • 규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선하기 위해 자신을 기준으로 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 알고리즘
  • 다익스트라 알고리즘 사용
  • 라우팅 메트릭 지정
  • AS 분할 사용
  • 홉 카운트 무제한
  • 멀티캐스팅 지원

IGRP, EIGRP 프로토콜도 내부 라우팅 프로토콜

 

 

BGP(border gateway protocol)

  • AS 상호 간에 경로 정보를 교환하는 라우팅 프로토콜
  • 짧은 경로를 경로 벡터 알고리즘을 통해 선정
  • TCP 연결을 통해 AS로 라우팅 정보를 신뢰성있게 전달
  • ISP 사업자들 상호간 주로 사용
  • 순환을 피하도록 목적지까지의 경로 정보를 제공
  • 라우팅 비용 많이 듬, 라우팅 테이블 크기 커서 메모리 사용량 많다.

 

 

라우팅 알고리즘

거리 벡터 알고리즘

  • 벨만-포드 알고리즘 사용
  • 각 라우터가 업데이트될 경우마다 전체 라우팅 테이블을 보내라고 요청하지만 수신된 경로 비용 정보는 이웃 라우터에게만 보내진다.

링크 상태 알고리즘

링크 상태 정보를 모든 라우터에 전달하여 최단 경로 트리를 구성

다익스트라 알고리즘 사용

 

세션 계층(5계층)

응용 프로그램 간의 대화를 유지하기 위한 구조를 제공

통신 중 연결이 끊어지지 않도록 유지시켜주는 역할을 수행하기 위해 TCP/IP세션 연결의 설정과 해제, 세션 메시지 전송 등의 기능을 수행한다.

 

RPC(remote procedure call) 원격 프로시저 호출, 별도 원격 제어를 위한 코딩 없이 다른 주소 공간에서 함수나 프로시저를 실행할 수 있는 프로세스 간 통신에 사용되는 프로토콜
NetBIOS(network basic input/output system) 응용계층(7계층)의 애플리케이션 프로그램에게 API를 제공하여 상호 통신할 수 있도록 해주는 프로토콜

 

표현 계층(6계층)

  • 데이터 형식 설정, 부호 교환, 압축, 암/복호화 수행
  • JPEG, MPEG(오디오,비디오를 위해 만들어진 표준 규격)

응용 계층(7계층)

SMTP 이메일을 보내기 위해 이용
TCP 25번 포트 사용
POP3(post office protocol version 3) 원격 서버로 부터 TCP/IP연결을 통해 이메일을 가져오는데 사용

사용자의 단말에서 이메일을 관리

이메일 서버와 동기화가 이루어지지 않고 오프라인에서도 사용가능

110번 포트 사용
IMAP 모든 단말에서 동일한 이메일 폴더를 확인할 수 있는 프로토콜

이메일 서버와 동기화, 온/오프라인 모두 사용가능

143번 포트 사용
Telnet 인터넷이나 로컬 영역에서 네트워크 연결에 사용되는 네트워크 프로토콜

23번 포트 사용
SSH(Secure Shell) Telnet 보다 강력한 보안을 제공하는 원격 접속 프로토콜

서로 연결된 컴퓨터 간 원격 명령 실행 이나 쉘 서비스 등을 수행

키를 통한 인증은 클라이언트 공개키를 서버에 등록해야 하고 전송되는 데이터는 암호화 된다.

22포트 사용
DHCP(dynamic host configuration protocol) 각 컴퓨터에서 IP 관리를 쉽게하기 위한 프로토콜

TCP/IP 통신을 실행하기 위해 필요한 정보를 자동적으로 할당, 관리하기 위한 프로토콜

 

 

네트워크 전달 방식

  패킷 교환 방식 서킷 교환 방식
의미 데이터를 패킷 단위로 보내는 방식 전송 경로를 설정한 뒤 데이터를 송수신하는 방식
장점 회선효율 우수

비동기 전송 가능

다중 전달 용이
경로 접속 시간 1초내외로 빠름

전송 제어 절차와 형식에 제약을 받지 않음
단점 실시간 전송에 부적합

네트워크 지연 발생
송수신측 모두 데이터 교환 준비가 완료되어야 함

회선이 독점되어 있음
활용 이메일, 메시지 영상, 비디오

 

패킷 교환 방식 종류

  데이터 그램 방식 가상 회선 방식
개념 연결 경로를 확립하지 않고 각각의 패킷을 순서에 무관하게 독립적으로 전송하는 방식 패킷이 전송되기 전에 송수신 스테이션 간의 논리적인 통신 경로를 미리 설정하는 방식
동작 원리 및 특성 헤더를 붙여서 개별적으로 전달하는 비연결형 교환 방식 목적지 호스트와 미리 연결 후 통신하는 연결형 교환 방식

 

 

애드 혹(Ad-hoc) 네트워크

  • 노드들에 의해 자율적으로 구성되는 기반 구조가 없는 네트워크
  • 네트워크 구성 및 유지를 위해 기지국이나 액세스 포인트와 같은 기반 네트워크 장치를 필요로 하지 않는 네트워크
  • 애드 혹 네트워크 노드들은 무선 인터페이스를 사용하여 서로 통신
  • 멀티 홉 라우팅 기능에 의해 무선 인터페이스가 가지는 통신 거리상의 제약을 극복
  • 노드들의 이동이 자유로워 네트워크 토폴로지가 동적으로 변화
  • 긴급 구조, 긴급회의, 전쟁터에서 군사 네트워크로 활용된다.

 

728x90
반응형