관리 메뉴

IT창고

네트워크 실습환경구성 및 OSI 7 Layer 본문

보안/Network

네트워크 실습환경구성 및 OSI 7 Layer

방구석여포 2018. 3. 13. 21:20

네트워크 프로그래밍을 위한 실습환경을 구성해보겠습니다.


네트워크 프로그래밍을 해보기 위해서는 리눅스, 네트워크상태, 파이썬 실행기가 필요합니다.

네트워크는 브릿지상태로 통신이 되어야하며 리눅스는 CentOS 6.9버전을 사용하겠습니다. Cent6.9에는 기본적으로 파이썬2Ver이 설치되어있지만 파이썬3Ver을 따로 설치하겠습니다.


가상머신(Vmware)로 리눅스를 하나 구축하겠습니다.


통신이 가능한지 확인을 위하여 ping테스트를 해주고 문제 없다면 보안설정을 해제합니다.


IPTABLES -> /etc/sysconfig 디렉토리에서 iptables 파일을 삭제합니다.

SELINUX -> /etc/sysconfig 디렉토리에서 selinux링크파일을 수정합니다. -> SELINUX=disabled


위와 같이 나온다면 정상적으로 보안설정을 해제했습니다.


이제 파이썬 실행기와 몇가지 패키지를 설치하겠습니다.

파이썬을 설치하기 전 아래의 패키지들을 설치합니다.

yum -y install wget -링크를 이용한 다운로드기능

yum groupinstall "Development Tools" - 개발자도구

yum -y install readline-devel - 방향키,제어키 제어


파이썬 설치하기

3.x.x 버전이면 어떤 것이라도 상관없습니다.

https://www.python.org/downloads/release/python-364/

소스코드로 리눅스에 다운로드를 합니다.

wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz


압축파일을 다운로드받았다면 정상적으로 받은 파일인지 확인을 해봐야합니다. 

MD5sum값을 확인해서 값이 같다면 정상적인 파일입니다.

.tgz파일의 압축을 풀어줍니다.  -> tar -xvf Python-3.6.4.tgz


압축을 풀었다면 이제 파이썬 소스코드를 컴파일해주어야만 합니다.

컴파일 과정을 아래와 같습니다.

1. cd Python-3.6.4  - 압축이 풀린 디렉토리에 들어가서 작업을 해야만합니다.

2. ./configure

3. make

4. make install


컴파일과 인스톨이 끝났다면 파이썬3 실행기를 확인해봅니다.

python3 입력하면 확인할수있으며 파이썬 실행기는 ctrl + D로 끝낼수있습니다.

Tip - python3 test.py 로 실행하면 실행하고 실행기가 끝나지만 옵션i를 붙여줄경우 실행기가 바로끝나지않습니다.


정상적인 작동이되는지 테스트를 해보겠습니다.

파이썬3가 제대로 작동이되는걸 확인할수있습니다.


========

OSI 7 Layer

========


OSI(Open System Interconnection) 7 Layer는 다른 컴퓨터간의 통신할때 네트워크 구조와 상관없이 개방형 통신을 할수있도록 만든 표준 네트워크로서 전체 네트워크를 7단계로 분류합니다.


상위 3계층


7 Layer : Application

- 데이터를 생성하는 목적으로 사용자에게 인터페이스와 네트워크 서비스를 제공

6 Layer : Presentation(표현)

- 7계층의 데이터를 컴퓨터가 인식할수있도록 데이터 표현 방식제공

5 Layer : Session

- 프로그램 및 네트워크의 유지나 연결상태를 담당


하위 4계층


4 Layer : Transfer

- TCP , UDP 의 데이터 전송방식 결정

3 Layer : network

- IP주소를 기반으로 데이터 경로를 설정

2 Layer : Data Link

- MAC주소를 기반으로 노드간의 데이터 전송 형태 결정

1 Layer : physical(물리)

- 전기적인 신호를 통한 물리적인 데이터 전달

Comments