Notice
Recent Posts
Recent Comments
Today
Total
04-30 00:02
Archives
관리 메뉴

Jeongchul Kim

네트워크 프로토콜 서비스 본문

COMPUTER

네트워크 프로토콜 서비스

김 정출 2016. 10. 16. 12:19

MID TEST

블로그의 정의

블로그(Blog 또는 Web Log)웹(Web)과 로그(Log, 기록)를 합친 낱말로, 스스로가 가진 느낌이나 품어오던 생각, 알리고 싶은 견해나 주장 같은 것을 웹에다 일기처럼 차곡 차곡 적어 올려서, 다른 사람도 보고 읽을 수 있게 게시하는 것이다. 타임라인과 같이 보통 시간의 순서대로 가장 최근의 글부터 보이며, 블로그를 소유해 관리하는 사람을 블로거라고 한다.


블로그의 기능

일상을 기록하는 저장소 역할로 일자 별로 자료를 저장하고 게시하여 개인 커뮤니케이션의 장으로의 역할을 한다.

자료 복제와 관리와 공유의 편리성으로 개인의 저장 공간으로서 기능을 한다.

커뮤니티, 미디어의 기능을 하고 있다.


WordPress의 기능

워드프레스는 블로그 제작 뿐만 아니라, 웹 상에서 콘텐츠를 생산하고, 관리 출판할 수 있는 기능을 가진다.


WordPress의 특징

콘텐츠 생산-관리에 최적화 되어, 콘텐츠의 가치를 축적해서 계획 활용하고 재생산 할 수 있는 점이 큰 장점이다.

다양한 테마와 플러그인으로 무궁무진한 확장성을 가지고 있다.

웹 표준을 잘 적용해 외부에 콘텐츠를 전달하기 편하고 외부 콘텐츠를 가져오기도 쉽다.

워드프레스는 오픈 소스로 빠른 협업을 통해 업그레이드를 해나가고 있다.


WordPress 설치

사전 요구 사항 WordPress를 설치하기 위해는 Apache Web server와 MySQL, PHP를 설치해야 합니다.


1. 내 컴퓨터(Windows)에 워드프레스 설치하기

1) Autoset 설치하기 -> Webserver와 MySQL 시작하기

2) Wordpress.org에서 워드프레스 다운받아 /public_html 폴더에 붙여넣기

3) phpMyAdmin으로 데이터베이스 설정하기

4) localhost/wordpress/를 통해 wordpress 설치하기


3. 국내 무료 호스팅에 워드프레스 설치하기

1) 호스팅 업체(유료/무료)에서 서버 호스팅을 신청

2) 서버 설정 및 데이터베이스 설정

3) 워드프레스 무료 자동설치

4) 도메인 주소로 접속하여 워드프레스 설정하기







도메인의 정의

도메인(Domain) 인터넷에 연결된 컴퓨터를 사람이 쉽게 기억하고 입력할 수 있도록 문자로 만든 인터넷 주소이다.

숫자로 표현된 주소는 IP(Internet Protocol) 주소이며, 문자열로 표현된 주소는 Domain Name 주소이다.


도메인의 기능

문자로 표현되어 사용자가 기억하기 쉽고, 도메인의 구조를 통해 단체의 성격(co, go, or, ac)와 국가를 구분할 수 있습니다.

인터넷은 세계적인 네트워크 망으로 해당 정보를 제공하는 호스트 컴퓨터의 위치를 확인할 수 있도록 도와준다.


도메인의 특징

도메인은 계층을 가지며, 최상위 도메인은 국가를 나타내거나, 기관의 성격을 나타낸다.

두 번째 계층은 고유한 장소를 나타내며, 실제로는 인터넷의 가장 고유한 주소가 된다.


Bind9의 기능

Bind9는 네트워크에 도메인 네임 서버(DNS)를 구축할 수 있는 소프트웨어로, 도메인 주소를 확보할 수 있습니다.


Bind9 설치

Linux Ubunt 환경에서 설치 명령어

$ sudo apt-get install bind9 bind9utils


설정할 IP와 도메인 주소 입력

$ sudo vi /etc/hosts

127.0.0.1 localhost

192.168.0.0 helloworld.com


시스템에 DNS를 알려주기 위해 입력

$ sudo vi /etc/resolv.conf

nameserver 192.168.0.0.

domain helloworld.com


설정 파일 수정 ( ip 작성은 역순으로 한다.)

$ sudo vi /etc/bind/named.conf


zone “0.168.192.in-addr.arpa” {

type master;

file “/etc/bind/0.168.192.zone”;

};

zone “helloworld.com” IN {

type master;

file “/etc/bind/helloworld.zone”;

};

zone 파일 생성하기

$ sudo vi /etc/bind/0.168.192.zone

$ sudo vi /etc/bind/helloworld.zone




SSH 기능

SSH(Secure Shell)네트워크 상에서 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고, 다른 시스템으로 파일을 복사할 수 있도록 해주 는 응용 프로그램 또는 프로토콜이다. 22번 포트를 사용하며, 암호화 기법을 통한 강력한 인증 방법과 안전하게 통신하는 기능을 제공한다.


SSH 사용 방법

ssh 버전 확인하기

$ ssh -v


ssh 설치하기

$ sudo apt get install openssh-server


ssh 접속

ssh user@127.0.0.1


ssh 에서 22번 이외의 포트 접속

ssh user@127.0.0.1 -p 23


























Virtual Box 네트워크 설정

Port forwarding with NAT

네트워크 주소 변환(NAT, Network Address Translation)은 컴퓨터 네트워킹에서 IP 패킷의 TCP/UDP  포트 숫자와 소스 및 목적지의 IP 주소 등을 기록하여 라우터(Router)를 통해 네트워크 트래픽을 주고 받는 기술이다.

NAT를 사용하는 이유는 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.

Virtual BoX에서 NAT는 가상 머신에서 외부 네트워크에 접근할 수 있는 가장 간단한 방법이다.

가상 머신으로 웹 서버를 돌리기 위해서는 포트 포워딩을 설정을 해야한다.

22포트(ssh) 80포트(웹서버)

호스트 주소와 포트(8080,8022), 게스트 주소(10.0.2.15)와 포트(80,22)를 입력해야 한다.


virtual box에서 머신을 클릭하고 설정 버튼을 눌러, 사이드 메뉴에서 네트워크를 선택한다.

어댑터 1에서 다음에 연결됨에 NAT를 선택하고 고급버튼을 눌러 포트 포워딩을 클릭한다.

포트 포워딩 규칙에서 다음과 같이 작성한다


Bridged Networking

브릿지 네트워크(Bridged Networking)은 호스트의 네트워크와 게스트의 네트워크를 브릿지하여(연결하여) 게스트 컴퓨터가 네트워킹 하는 방식입니다.

즉, 호스트와 게스트를 하나로 연결하여 두 개의 네트워크를 마치 하나의 네트워크처럼 쓰는 것이다.

게스트 컴퓨터의 네트워크 어댑터와 호스트 컴퓨터의 네트워크 어댑터가 연결되어 서로 브릿지된 상태가 되며 네트워크가  서로 동등한 수준의 네트워크를 제공받게 됩니다. 서로 동등한 자격을 가지기 때문에 게스트 컴퓨터에도 호스트 컴퓨터와 같이 공인(Public) IP를 할당하거나 호스트 컴퓨터가 사설망에 연결된 경우 호스트와 동일한 IP 대역을 할당할 수 있습니다. 이 때는 반드시 공인이든 사설이든 게스트 컴퓨터에도 할당할 수 있는 여분의 IP가 존재해야 합니다.


virtual box에서 머신을 클릭하고 설정 버튼을 눌러, 사이드 메뉴에서 네트워크를 선택한다.

어댑터 1에서 다음에 연결됨에 브리지 어댑터를 설정한다.


Internal Networking

내부 네트워크(Internal Networking)은 동일한 가상 머신들간의 통신을 지원하고, 외부와의 통신은 단절된다. 내부 네트워크의 장점으로는 호스트에서도 가상 머신들 간의 패킷을 스니핑(sniffing) 할 수 없다.

내부 네트워크는 중앙 구성이 없는 네트워크로 자동 생성되며, 이름으로 식별된다.


virtual box에서 머신을 클릭하고 설정 버튼을 눌러, 사이드 메뉴에서 네트워크를 선택한다.

어댑터 1에서 다음에 연결됨에 내부 네트워크를 설정한다.


Host only network

내부 네트워크와 비슷하지만 호스트와 연결이 지원되고, dhcp 프르토콜로 네트워크 ip 할당이 가능하다. 그러나 인터넷은 여전히 불가하다.


Virtual Box에서 파일 설정에 들어가 네트워크에서 호스트 전용 네트워크 탭을 눌러 호스트 전용 네트워크를 추가하여 인터페이스를 설치합니다.


virtual box에서 머신을 클릭하고 설정 버튼을 눌러, 사이드 메뉴에서 네트워크를 선택한다.

어댑터 1은 NAT이고, 어댑터 2에서 다음에 연결됨에 호스트 전용 어댑터를 설정한다.

Chapter 6 - IEEE 802.11 Wireless LAN Wifi

802.11 LAN Architecture

무선 호스트(wireless host)들은 Base Station = Access Point 와 통신한다.

Basic Service Set(BSS = call) 의 인프라 구조가 포함하는 것

1. wireless hosts 2. AP(access point = base station) 3. 호스트 전용의 ad hoc


802.11 Channels, Association

1. 호스트는 AP를 통해 연결된다. 채널을 스캔하고, AP의 이름(SSID)와 MAC address(주소)를 포함한 beacon frame 을 확인한다.

2. AP를 선택하여 연결된다.

3. 인증 과정을 거친다. 인증 과정이 없을 수 있다.

4. AP의 subnet의 IP 주소로 DHCP(동적 호스트 구성 프로토콜)가 동작된다.


802.11 passive/active scanning

<Passive scanning> AP(Router)가 주기적으로 확인

1. AP로부터 becon frame이 전송된다.

2. 받은 프레임으로 부터 H1은 AP를 선택하여 요청(request)한다.

3. 선택받은 AP는 호스트 H1에게 응답(response) 프레임을 전송한다.


<Active scanning> Wireless hosts(노트북, 스마트폰) 주기적으로 알림

1. 호스트 H1 으로 부터 브로드캐스트(broad cast) 요청(Request) 프레임을 받는다.

2. AP 로부터 응답(response) 프레임을 받는다.

3. 선택된 AP로 호스트 H1이 연결 요청(request) 프레임을 전송한다.

4. AP가 호스트 H1과 연결되었음을 응답(response) 프레임을 보낸다.


802.11 : multiple access

충돌 회피 : 2 개 이상의 노드가 동시에 전송하면 충돌

A와 C가 직접 통신할 수 없으므로 B를 통해 주고 받는다.

CSMA : 전송 전에 채널을 감지 한다.

CSMA/CA(Collision Avoidance)

- 받은 신호가 약하기 때문에 전송 시 충돌 감지 어려움

- 충돌 감지(collision detection)를 하지 않는다.

- 숨은 터미널과 신호 감소(fading) 등으로 충돌을 감지 하기 어렵다

- 목표는 충돌을 감지하지 않고 회피하는 것


802.11 MAC Protocol : CSMA/CA

802.11 sender 송신측

1. 채널이 사용되지 않음을 감지하면

DIFS라는 짧은 시간 동안 기다린 후 전체 프레임을 전송

2. 채널이 사용 중이면

임의의 random back-off 시간을 선택하고, 채널이 사용되지 않는 동안만 감소하고, 만료되면

프레임 전체를 전송한 후 ACK을 기다림. ACK을 받지 못하면 back-off 를 증가 시키고 재 전송

802.11 recevier 수신측

1. 프레임을 수신하면

SIFS라는 짧은 시간 동안 기다린 후 ACK 프레임을 전송



Avoding Collisions 충돌 회피

숨은 터미널(terminal)이 존재해도 충돌을 회피할 수 있도록 채널을 예약.

짧은 예약 패킷을 도입하여 긴 데이터 프레임의 충돌을 예방.


sender는 CSMA를 사용해 RTS(request-to-send) 패킷을 AP에 전송

AP는 RTS에 response하여 CTS(clear to send) 패킷을 브로드캐스트(broadcast)

모든 node들이 CTS를 수신, sender는 데이터 프레임 전송, 다른 node들은 전송 지연


A와 B는 서로를 모른다. 동시에 메시지를 전송했을 경우, 충돌 발생

AP는 응답 메시지를 보내지 않는다. A와 B는 충돌했음을 감지한다.

random 확률로 sleep 함수가 발생

sleep이 짧은 호스트가 A일 경우, A가 RTS 패킷을 전송한다.

AP가 RTS에 대해 CTS를 전송한다.

A가 Data 프레임을 AP에게 전송한다.



802.11 Frame : Addressing

Address 1 : 프레임을 수신(receive)하는 wireless host 또는 AP의 Mac Address

Address 2 : 프레임을 송신(transmit)하는 wireless host 또는 AP의 MAC Address

Address 3 : AP와 연결된 Router Interface 의 MAC Address

Address 4 : Ad hoc Network 에서 만 사용.


802.11 mobility within same subnet 같은 서브넷 에서 이동 기기

호스트 H1은 같은 IP Subnet을 유지한다.

switch : 호스트 H1은 어떤 AP 와 연결되는가.

self learning(자가 학습) : switch는 호스트 H1으로부터 프레임을 관찰하여 도달할 수 있는 switch port를 기억한다.


802.11 : advanced capabilities

1. Rate adapation 전송율 적응

2. power management 전력 제어 : 휴면 상태(sleep)와 동작 상태(wake state) 번갈아가며 변경

3. beacon signal : AP에 버퍼링된 프레임을 수신해야 하는 노드들의 목록 포함





chapter 7 Multimedia Networking

Streaming multimedia : DASH

DASH(Dynamic, Adaptive Streaming over Http)

클라이언트(client)들의 가용 대역폭 차이에 따라 서로 다른 품질 수준의 비디오 인코딩을 선택

네트워크가 혼잡스러울 경우, 화질을 조정하여 재생을 유지한다.


<server> 비디오 파일을 여러 개의 조각(chunk)로 분할, 다른 비트율로 인코딩되어 저장

목록(manifest) 파일 : 비트율에 따른 URL를 제공


<client> 주기적으로 서버와 클라이언트 간 대역폭(band-with) 측정

manifest 파일을 참조하여 한 번에 한 조각을 요청


지능적인 클라이언트 동작

버퍼(buffer)가 비거나 차있지 않도록 조각(chunk)의 요청 시점을 결정

가용 대역폭을 보면서 요청할 비디오 비트율을 결정

클라이언트와 가깝거나 또는 높은 가용 대역폭의 URL 서버를 선택해 요청


 



Comments