네트워크 기초

용어

네트워크: 전송 매체로 서로 연결된 시스템의 모음, 프로토콜을 사용하여 데이터를 교환하는 시스템의 집합

시스템: 내부 규칙에 따라 능동적으로 동작하는 대상 ex)컴퓨터, 자동차, 커피 자판기..

인터페이스: 시스템과 전송 매체의 연결 지점에 대한 규격 ex) usb

전송매체: 시스템끼리 데이터를 전달하기 위한 물리적인 전송수단

프로토콜: 전송 매체를 통해 데이터를 교환할 때의 임의의 통신 규칙

인터넷: 전세계의 네트워크가 유기적으로 연결되어 동작하는 통합 네트워크 (공용 기능:IP)

표준화: 서로 다른 시스템이 상호 연동해 동작하기 위한 통일된 연동 형식

시스템의 구분

노드: 인터넷에 연결된 시스템의 가장 일반적인 용어

호스트: 컴퓨팅 기능이 있는 시스템

클라이언트: 서비스를 요청하는 시스템

서버: 서비스를 제공하는 시스템

클라이언트와 서버

OSI 7계층 모델의 계층별 기능

• 물리 계층: 물리적으로 데이터를 전송하는 역할을 수행

• 데이터 링크 계층: 물리적 전송 오류를 해결 (오류 감지 / 재전송 기능)

• 네트워크 계층: 올바른 전송 경로를 선택 (혼잡 제어 포함)

• 전송 계층: 송수신 프로세스 사이의 연결 기능을 지원

• 세션 계층: 대화 개념을 지원하는 상위의 논리적 연결을 지원

• 표현 계층: 데이터의 표현 방법

• 압축: 전송되는 데이터의 양

• 암호화: 전송되는 데이터의 의미

• 응용 계층: 다양한 응용 환경을 지원

네트워크의 기능

프로토콜과 인터페이스 (차이점)

프로토콜: 서로 다른 호스트에 위치핚 동일 계층끼리의 통싞 규칙

인터페이스: 같은 호스트에 위치핚 상하위 계층 사이의 규칙

서비스: 하위 계층이 상위 계층에 제공하는 인터페이스

네트워크 역사 무선기 전화기 무선통신 등

모스-전신기, 벨-전화기, 제임스 클럭 맥스웰-전자기파,

프로토콜 IP 서브넷 마스크

IP 주소: TCP/IP 프로토콜을 사용하는 모든 네트워크 장비를 구분해주는 주소

IPv4 프로토콜에서 사용

32 비트 크기의 주소 체계

IPv6에서는 128 비트 주소 체계로 확장

ex)211.223.201.30

ip주소는 네트워크 주소와 호스트 주소로 이루어져있다.

네트워크 주소는 한 인터페이스의 제공된 주소이고 호스트주소는 해당 인터페이스에서 객체를 구분하는 주소

IP class

IP주소를 보고 네트워크와 호스트 주소를 구분할 때 사용

서브넷마스크(AND 연산)

AND연산: 입력이 모두 1인경우에만 출력은 1이 되고, 하나라도 0 이면 출력은 0이 된다.

IP 주소 체계의 네트워크와 호스트를 서브넷 마스크를 통해 변경하여서 네트워크 영역을 분리 또는 합체시키는 개념

•네트워크를 나누기 위해 / 네트워크 주소 부분을 구별하기 위해 사용

• 네트워크 주소 부분의 모든 비트는 1로 설정

• 호스트 주소 부분의 모든 비트는 0으로 설정

*같은 네트워크에 존재하는 모든 호스트는 동일한 네트워크 주소를 사용해야 하기 때문에 동일한 서브넷 마스크를 사용해야 한다.

서브넷은 라우터를 통해서만 통신이 가능

보안요구사항 3대요소

기밀성: 허락되지 않은 사용자 또는 객체가 정보의 내용을 알 수 없도록 하는 것

프라이버시 보호와도 밀접한 관계가 있음.(암호화)

네트워크 보안 측면에서 기밀성은 ‘시스템 간 안전한 데이터 전송’과 관련이 있음.

스니핑(Sniffing)은 기밀성을 해치는 가장 일반적인 공격 형태

통신의 암호화가 가장 일반적인 보안 대책

무결성: 허락되지 않은 사용자 또는 객체가 정보를 함부로 수정핛 수 없도록 하는 것

네트워크에서의 무결성은 ‘클라이언트와 서버 갂의 데이터가 변조되지 않고 전송되는가＇와 관련이 있음.

중간에 유효ᄒᆞᆫ 다른 연결을 빼앖는 세션 하이재킹, 두 시스템 갂의 데이터를

중간에 변조하는 MITM 공격은 무결성을 해치는 대표적인 공격

통신의 암호화가 가장 일반적인 보안 대책(PKI와 밀접한 관련이 있음)

가용성: 허락된 사용자 또는 객체가 정보에 접근하려고 핛 때 방해받지 않도록 하는 것

DoS가 가용성을 해치는 대표적인 공격

OSI 7 layer

네트워크 분야에서 가장 중요하게 다루는 것 중 하나로, 세계적으로 사용하고 있는 네트워크 표준모델

1계층: 실제로 장치들을 연결하기 위한 물리적인 사항을 정의

2계층: 두 지점 간의 신뢰성 있는 전송을 보장 (각 지점을 분류하는 방법은 MAC Address, 단위: 프레임(Frame))

3계층: 여러 개의 지점을 거칠 때 경로를 찾아줌 (IP Address, 전송단위: 패킷(packet) )

4계층: 양 끝단의 사용자들이 송수신에 있어서 신뢰성을 보장 (프로세스와 프로세스의 연결을 도와줌)

5계층: 양 끝단의 프로세스가 통신을 관리하기 위한 방법을 제공 (동기화, 세션 설정 등)

6계층: 인코딩 및 데이터의 형식 차이를 조절 (표현되는 방법, 데이터의 압축 및 암호화)

7계층: 응용 프로그램에서 서비스를 수행 (HTTP, FTP, 메일 프로그램 등)

물리계층-리피터, 허브

데이터링크 계층: 랜카드나 네트워크 장비의 하드웨어 주소(MAC 주소)만으로 통신하는 계층

MAC주소: 총 12개의 16진수로 구성

앞쪽 6개는 네트워크 카드를 만든회사를 뜻하고 뒤쪽 6개는 호스트 식별자로 각 회사에서 임의로 붙이는 일종의 시리얼

같은 MAC주소는 존재하지 않음

브리지, 스위치

네트워크 계층: 시스템 간의 원활한 통신을 위해 주소 테이블을 생성하고 관리하는 역할

ICMP: 호스트 서버와 인터넷 게이트웨이 사이에서 메시지를 제어하고 오류를 알려주는 프로토콜(ping)

라우터:네트워크의 대표적인 장비로, 게이트웨이라고도 함.

논리적으로 분리된 둘 이상의 네트워크를 연결

로컬 네트워크에서 브로드캐스트를 차단하여 네트워크를 분리

패킷의 최적 경로를 찾기 위한 라우팅 테이블 구성

패킷을 목적지까지 가장 빠르게 보내는 길잡이 역할 담당

tracert : ICMP 패킷을 이용하여 tracert 명령의 매개변수로 지정한 목적지 IP 주소에

패킷이 도달할때 까지 거치는 중갂 단계 네트워크 장비의 주소를 차례로 출력

윈도우에서는 tracert, 리눅스에서는 traceroute 명령으로 동작

정적 라우팅

관리자 권한으로 특정 경로를 통해서만 패킷이 지날 수 있도록 설정

네트워크 변경사항이 발생하면 라우팅 테이블을 수동으로 직접 고쳐야 함.

보안이 중요한 경우 선호

정적 라우팅의 특징

초기에 관리자가 다양한 라우팅 정보를 분석한 최적의 경로 설정 가능

라우팅 알고리즘을 통한 경로 설정이 이루어지지 않아 처리 부하 감소

네트워크 환경 변화에 대한 능동적인 대처가 어려움.

네트워크 환경 변화 시 관리자가 경로를 재산출하여 각 라우터에 제공해야 함.

비교적 환경 변화가 적은 형태의 네트워크에 적합

동적 라우팅

라우터가 네트워크 연결 상태를 스스로 파악하여 최적의 경로를 선택해 전송

네트워크 연결 형태가 변경되어도 자동으로 문제를 해결

동적 라우팅의 특징

경로 설정이 실시갂으로 이루어져 네트워크 홖경 변화에 능동적으로 대처 가능

라우팅 알고리즘을 통해 자동으로 경로 설정이 이루어져 관리가 쉬움.

주기적인 라우팅 정보 송수신으로 인한 대역폭 낭비 초래

네트워크 환경 변화 시 라우터의 처리 부하 증가로 지연이 발생

수시로 환경이 변하는 형태의 네트워크에 적합

4계층 : 전송 계층(Transport Layer)

대표 프로토콜은 TCP(Transmission Control Protocol)

TCP가 가진 주소를 포트(Port)라 하며 0~65535(216-1)번까지 존재

0~1023번(1,024)을 잘 알려진 포트(Well Known Port)라고 부름

(보통 0번 포트는 사용하지 않음).

port번호       서비스

21             FTP

22             SSH

23             Tellnet

443            SSL

389          LDAP

7계층 : 응용 계층(Application Layer)

관련 응용 프로그램이 별도로 존재하며, 여러 가지 프로토콜에 대하여 사용자인

터페이스를 제공

FTP(File Transfer Protocol, 20,21)

• 파일 전송을 위한 가장 기본적인 프로토콜

• 1972년 텔넷과 함께 표준으로 제정

• 클라이언트와 서버가 대화형으로 통싞 가능

Telnet(텔넷, 23)

• 사용자가 원격에 있는 서버에 로그인하도록 TCP 연결을 설정

• 단말기가 원격 컴퓨터 바로 옆에 있는 것처럼 직접 조작할 수 있게 해줌.

패킷 구조와 예

출발지 포트는 보통 1024번부터 65535번 사이에서 사용하지 않는 임의의 포트

를 응용 프로그램별로 할당하여 사용

클라이언트가 웹 서버에 접속할 때 패킷 구조(서비스 포트는 보통 80번)

시스템에서 임의로 포트를 할당한 출발지 패킷 구조

진수변환(2,8,10,16진수)

암호학

“비밀코드”를 만들거나 해독하는 과학

암호생산(Cryptography)

“비밀코드”를 만드는 것

암호분석(Cryptanalysis)

“비밀코드”를 해독하는 것

암호(Crypto)

암호학, 암호생산, 암호분석 세가지 모두 또는 그 이상

암호체계는 평문을 암호화 하는데 사용

암호화 결과는 암호문

암호문을 평문으로 복원하는 것은 복호화

키는 암호체계를 만드는데 사용

대칭키 암호체계는 같은 키를 암호화와 복호화를 위해 사용

공개키 암호체계는 공개키는 암호화, 개인키는 복호화(서명)에 사용

고전암호-치환용 암호

평문의 문자 하나하나를 암호문의 문자로 바꾸는 것

대표적으로 카이사르 암호(Key값=3 일 경우 A=D)

암호기원전 100년경에 로마의 장군 카이사르가 썼던 암호로, 시저 암호라고도 불린다

고전암호-전치형 암호 (자리를 옮기다)

□ 평문의 문자 위치를 바꾸는 방법

• FIVE AM → IVEA MF

☞ 문자가 재배치 되었다고 하더라도 암호문의 모든 문자들은 평문의 문자들과 동일

• 평문: LAST NITE WAS HEAVEN PLEASE MARRY ME

• 암호문: LTELAAEAERSWVARTAESYNSNEMIHPME

• 6열로 된 처리 장치 (5*6 행렬로 해당 행렬로 문자를 읽어내는 방법이 암호화 방법)

• 이 암호를 풀어야 하는 사람은 2가지를 알아야 한다.

→ 몇행 몇열의 행렬인지, 행렬들의 문자들을 어떤 식으로 읽었는지

전자서명의 요구조건

□ 위조불가 (Unforgeable)

□ 서명자인증 (Authentic)

□ 부인불가 (Nonrepudiation)

□ 변경불가 (Unalterable)

□ 재사용불가 (Not Reusable)

전자서명을 통해 제공되는 주요 서비스

□ 사용자 인증 (User Authentication)

□ 데이터 무결성 (Data Integrity)

□ 부인 방지 (Non repudiation)

23~24문제  객관식20 주관식3