네트워크의 기초 

네트워크와 관련된 보안을 알아보려면 먼저 네트워크를 알아야 합니다.      


응용 프로그램 계층 (Application Layer)

표현 계층 (Presentation Layer)

 세션 계층 (Session Layer)

 전송 계층 (Transport Layer)

 네트워크 계층 (Network Layer)

 데이터 링크 계층 (Data Link Layer)

 물리 계층 (Physical Layer)

OSI(open System Interconnection) 7계층



1970년대 후반부터 IBM과 DEC 같은 회사들이 네트워크 구조를 발표하였는데, 타사의 네트워크 구조를 전혀 고려하지 않은 채 개발되어 상호연동하는 데 어려움이 많았습니다.


이에 ISO(International Organization for Standardization)가 다양한 네트워크가 상호 연동을 할 수 있도록 해주는 표준 네트워크 모델이 필요하다는 인식하에 만든 것이 바로 OSI 7계층 입니다. OSI 7계층은 지금까지도 네트워크의 표준 모델로 쓰이고 있는 만큼 매우 중요합니다.




물리 계층(1계층)


1계층인 물리계층은 시스템간의 연결선입니다.


흔히들 랜(LAN)선을 말하며, 꼭 이것만 의미하지는 않고 전화선이 될 수도 있고, 동축 케이블 또는 광 케이블이 될 수도 있습니다. 또한 무선 랜처럼 물리 계층이 조금 애매할 수도 있지만, 무선 랜도 전자 파장을 전달 하는 공간 자체가 물리 계층입니다.





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

데이터 링크 계층은 MAC을 이용하여 통신하는 네트워크 계층을 말합니다.

MAC 주소는 사람의 이름처럼 네트워크 카드마다 붙는 고유 이름입니다.


맨 위 물리적 주소 라고 나와 있는 00-05-56-C0-00-01 이 부분이 MAC주소 입니다.


컴퓨터 MAC 주소는 윈도우 명령창에서 ipconfig /all 명령을 실행해 확인 할 수 있습니다.


MAC주소는 총 12개의 16진수 숫자로 구성되고, 앞쪽 6개의 16진수는 네트워크 카드를 제조한 회사를 나타 내고 이 코드를 OUI(Organization Unuque Identifier)라고 하고 뒤쪽 6개는 Host Identifier으로 회사에서 임의로 붙이는 일종의 시리얼 넘버 입니다.


때문에 모든 컴퓨터에 같은 MAC주소를 같는 네트워크 카드는 존재 하지 않습니다.



네트워크 계층(3계층)

네트워크 계층은 IP로 대표됩니다.

이 IP는 흔히 말하는 TCP/IP에서의 IP입니다.


IP는 모두 여러 번 봤을 것이고, ipconfig /all 명령어로도 확인 할 수 있습니다.


IP 주소는 8비트의 수 4개로 구성되어 있습니다

따라서 위의 IP주소 192.168.159.1 을 2진수로 표현하면


11000000 . 10101000 . 10011111 . 00000001

                                           192            168          159           1

이런 식으로 표현 할 수 있습니다.


MAC은 2계층에서 쓰이는 주소라고 한다면

IP는 라우터를 통해 인터넷으로 나갈 때 필요한 컴퓨터의 주소라고 볼 수 있습니다.



전송 계층(4계층)

4계층의 대표적인 프로토콜은 TCP(Trans mission Control Protocol)입니다.

TCP도 주소를 가지고 있는데 이것이 바로 포트입니다.


MAC주소가 네트워크 카드의 고유 식별자이고, IP가 시스템의 주소라면 

포트는 시스템에 도착한 후 시스템에 여러가지 실행되고 있는 여러 응용프로그램들 중에서

자신이 통해야 하는 통로 번호라고 생각할 수 있습니다.


포트는 0번부터 65535번까지 존재하며, IP나 MAC 주소처럼 출발지와 목적지의 응용 프로그램별 포트번호를 가지고 통신을 합니다.


0번부터 1023번 포트까지 1024개의 포트는 Well Known 포트라고 부릅니다.

보통 0번은 쓰지 않으며 1023번까지 대부분 고유의 용도가 있습니다.


주요 포트와 서비스

 포트 번호

서비스 

 설명 

 20

 FTP

File Transfer Protocol-Datagram

FTP 연결시 실제로 데이터를 전송합니다. 

 21

FTP 

File Transfer Protocol-Control

FTP 연결시 인증과 제어를 합니다. 

 23

Telnet 

텔넷 서비스로, 원격지 서버의 실행창을 얻어냅니다. 

 25

SMTP

Simple Message Transfer Protocol

메일을 보낼 때 사용합니다. 

53 

DNS 

Domain Name Service

이름을 해석하는 데 사용합니다. 

69 

TFTP 

Trivial File Transfer Protocol

인증이 존재하지 않는 단순한 파일 전송에 사용합니다. 

 80

HTTP

Hyper Text Transfer Protocol

웹 서비스를 제공합니다.

110 

 POP3

Post Office Protocol

메일 서버로 전송된 메일을 읽을 때 사용합니다.

 111

RPC 

Sun의 Remote Procedure call

원격에서 서버의 프로세스를 실행할 수 있게 합니다. 

138 

NetBIOS 

Network Basic Input output Service

윈도우에서 파일을 공유할 수 있게 합니다. 

143

 IMAP

internet Message Access Protocol

POP3와 기본적으로 같으나, 메일을 읽은 후에도 서버에 남는다는 것이 다릅니다. 

161 

SNMP 

Simple Network Management Protocol

네트워크 관리와 모니터링을 위해 사용합니다.




TCP에서의 연결 설정 과정 (쓰리웨이 핸드 셰이킹(Three way hand shaking))

TCP는 연결 지향성 프로토콜로서 통신을 하기전 연결을 설정하는 과정으로

쓰리웨이 핸드 셰이킹을 합니다.


쓰리웨이 핸드 셰이킹 순서

1단계 : 두 시스템이 통신을 하기 전, 클라이언트는 포트가 닫혀 있고 서버는 해당 포트로 항상 서비스를 제공할 수 있도록 Listen 상태입니다.


2단계 : 클라이언트가 통신을 하고자 하면, SYN 패킷을 서버에 보내고 포트는 SYN sent 상태가 됩니다.


3단계 : 서버는 SYN Received 상태가 되고, 클라이언트에게 연결해도 좋다는 의미로 SYN+ACK 패킷을 보냅니다.


4단계 :  클라이언트는 포트가 오픈되고 서버에 ACK패킷을 보낸다.




세션 계층(5계층)


세션계층의 작동과 의미는 떄론 애매합니다. 기본적으로 두 시스템간의 통신 중 동기화를 유지하고 데이터 교환을 관리 합니다. 연결에 정보 교환을 효과적으로 할 수 있게 추가 서비스를 제공합니다.



표현 계층(6계층)


표현 계층은 데이터의 구조를 하나의 통일된 형식으로 표현합니다.

예를 들어 시스템 A에서는 ASCII 코드를 사용하고 시스템 B에서는 EBCDIC을 사용한다면, 시스템 A의 표현 계층에서는 OSI 표준 표현 방식으로 변경하여 전송하고 시스템 B에서는 이를 자신의 시스템에 맞게 재구성 합니다.


이러한 표현 방식을 ASN.1(Abstract Syntax Notation 1)이라 합니다.

또한 이것은 데이터의 압축과 암호화 기능을 수행합니다. 데이터 압축은 파일의 용량을 줄이고 암호화는 일반 평문을 의미 없는 다른 문자로 만들어 중간에 유출되더라도 원문을 이해할수 없게 합니다.




응용 프로그램 계층(7계층)

응용 프로그램 계층은 사용자나 응용 프로그램 사이에 데이터의 교환이 가능하게 하는 계층입니다.

예를 들어 HTTP, FTP, 터미널 서비스, 여러 메일 프로그램 등등 을 제공합니다.



위에 OSI 7계층을 이해했다면 네트워크와 관련해 상당 부분을 이해 했다고 봐도 됍니다 ㅎ









+ Recent posts