본문 바로가기
책/DB

Part 1 2 네트워크의 세상으로

by 파이어볼러 2015. 3. 7.

PART 01 네트워크의 세상으로

 

1 네트워킹의 정체

 

네트워킹은 처음에는 비싼 장비를 혼자 쓰는 게 아까워서 이것을 활용해보고자 해서 탄생한 것이다 비싼 호스트 장비들을 보통 터미널이라고 불리는 단말기 비슷하게 생긴 장비들 여려 대를 호스트 컴퓨터에 붙여서 사용했고 여기서 출발한 아이더어가 서버만 공유하지 말고 프린터도 공유하자는 생각으로 이어졌으며 이것이 이번에는 하나의 호스트만 공유하지 말고 여러 대의 호스트를 함께 공유해 보자는 요구가 생겨나면서 지금의 네트워킹으로 발전한 것이다.

 

2 인터넷 인트라넷 엑스트라넷

 

Inter란 의미는 연결을 의미한다 인터넷이란 여러 개의 네트워크를 묶었다는 의미를 가진다

 

인터넷의 첫번째 특징은 하나의 프로토콜만 사용한다는 것이다 프로토콜이란 규칙이라고 생각하면 된다 일종의 통신 규칙이다 결국 서로 다른 프로토콜을 사용하게 되면 통신 즉 대화가 불가능해진다 그래서 인터넷에서는 하나의 프로토콜만 사용하는데 TCP/IP라는 것이다 

 

인트라넷이란 내부의 네트워크라는 뜻이다 

 

즉 사내 업무도 웹 브라우저만을 가지고 할 수 없을가 해서 만들어진것이다 인트라넷 역시 TCP/IP를 사용하고 웹 브라우저를 이용해서 마치 인터넷을 사용하듯이 사내 업무를 처리하게 해준다 인터넷과 비슷하지만 차이점이라면 그 회사의 사람만 이용할 수 있고 다른 사람은 인터넷을 통해서 인트라넷으로 접속이 불가능한 것이다.

 

엑스트라넷은 인트라넷과 거의 유사하지만 기업의 인트라넷을 좀 더 개방해서 그 기업의 사원뿐만 아니라 협력 회사나 고객에게 사용할 수 있도록 한것을 말한다

 

PART 02

 

Secssion 1 LAN(Local Area Network)이란?

 

Local 즉 어느 한정된 공간에서 네트워크를 구성한다는 뜻이다 

 

이것과 대비되는 말로 WAN이 있다 Wide Area Network의 약자로서 멀리 떨어진 지역을 서로 연결하는 경우에 사용한다 요즘 모두 인터넷을 쓰는 세상이니 인터넷에 접속하는 것은 WAN이라고 봐야 한다 요즘은 네트워킹을 한다고 하면 주로 LAN과 WAN이 공존한다

 

LAN은 한정된 지역안에서의 네트워크 구축이고 WAN은 서로 멀리 떨어진 곳을 네트워크로 연결하는것

 

Secssion 2 이더넷은 인터넷의 친구?

 

Ethernet은 네트워킹의 한 방식으로 네트워크를 만드는 방법 중 하나라고 생각하면된다 이 방식의 가장 큰 특징은 CSMA/CD라는 프로토콜을 사용해서 통신한다는 것이다

 

네트워킹을 하는 방식은 이더넷 말고도 토큰링, FDDI, ATM방식도 있다 어떤 네트워킹 방식을 사용하느냐에 따라 랜카드부터 모든 네트워크 장비들을 다르게 구입해야 한다

 

보통 회사나 학교에서 네트워크를 통해서 인터넷을 사용하고 있다면 그건 대부분 이더넷 방식이다 이 이더넷의 CSMA/CD란 'Carrier Sense Multiple Access / Collision Detection'을 줄여서 부르는 방식이고 이더넷환경에서 통신을 하고 싶은 PC나 서버는 먼저 지금 네트워크 상에 통신이 일어나고 있는지를 확인한다 즉 우리 네트워크 자원을 쓰고 있는 PC나 서버가 있는지를 확인해보는것이다.

 

즉 캐리어(네트워크상에 나타나는 신호)가 있는지를 감지하는 것이다 이것을 Carrier Sense라고 한다 만약 캐리어가 감지 되면 다시 말해 누군가가 네트워크 상에서 통신을 하고 있으면 자기가 보낼 정보가 있어도 못 보내고 기다린다 그러다가 네트워크에서 통신이 없어지면(이때는 캐리어가 감지x) 눈치를 보다가 무조건 자기 데이터를 네트워크 상에 실어서 보낸다

 

만약 두 PC가 눈치를 보다 동시에 보내게 된다면 이더넷에서는 이것을 Multiple Access(다중 접근)이라 한다 이렇게 두 개의 장비들이 데이터를 동시에 보내려다 부딪치는 경우가 행기는 것을 충돌(콜리전)이 발생했다고 한다 따라서 이더넷에서는 데이터를 네트워크에 실어서 보내고나서도 혹시 다른 PC 때문에 콜리전이 발생하지 않았는지를 잘 점검해야 한다 그것이 바로 콜리전 디텍션(충돌 감지)라는 것이다 그러다 만약 콜리전이 발생하게 되면 데이터를 전송했던 PC들은 랜덤한 시간 동안 기다린 다음 다시 데이터를 전송하게 된다 이 랜덤한 시간은 인간이 느끼지 못할 만큼 작은 시간이다

 

콜리전이 발생하면 다시 보내는 것이고 이렇게 기다렸다고 또 충돌해도 다시 또 기다리다가 보낸다 하지만 이런 문제가 계속 발생할 경우 문제가 생기는데 이 문제를 방지하는 방법이 있다.

 

Secssion 3 토큰링이란?

 

그 네트워크에서 오직 한 PC 즉 토큰을 가진 PC만이 네트워크에 데이터를 실어 보낼수 있는 방식이다 데어터를 다 보내고 나면 바로 옆 PC에게 토큰을 넘겨준다 만약 전송할 데이터가 없어도 역시 넘겨준다 이런 방식이라면 콜리전이 일어나지 않는다 또 네트워크에 대한 성능을 미리 예측하기도 쉽다 하지만...

 

내가 지금 보내야 할 데이터가 있고 다른 것들은 보낼 데이터가 하나도 없다고 하더라도 토큰이 올 때 까지 계속 기다려야 한다 지금은 현재 이더넷의 눈부신 발전으로 사양길에 접어들고 있다

 

Secssion 4 UTP 케이블?

 

통신 케이블은 장비와 장비의 연결에 들어가고 즉 PC에서 허브나 스위치까지의 연결, 스위치와 스위치의 연결, 스위치와 라우터의 연결, 라우터와 라우터의 연결 등 네트워크 장비 사이를 연결하기 위해서는 반드시 케이블이 들어간다

 

TP 케이블이란 트위스티드 페어 즉 꼬인 녀석들이라는 뜻이다 TP에는 UTP와 STP가 있다

 

UTP는 언쉴드 TP를 말한다 주로 사용하는 케이블이며 STP는 쉴드TP 고 케이블의 주위를 어떤 절연체로 감싸서 만든것이라 당연히 좀 더 비싸고 성능도 좋다고 한다 EMI를 줄였기 때문이다

 

UTP가 중심을 이룬다면 STP는 주로 토큰링쪽에 쓰인다

 

보통 말하는 카테고리에 대해 정리하면

 

- 카테고리 1 : 주로 전화망에 사용된다

 

- 카테고리 2 : 데이터를 최대 4Mbp의 속도로 전송하는 케이블 거의 보이지 않음

 

- 카테고리 3 : 10 Base T 네트워크에 사용되는 케이블 전에는 UTP 케이블 하면 이것을 이야기 할 정도의 일반적인 케이블이다 대                               10Mbps 속도까지 전송할 수 있고 100Bps도 가능핟고 하지만 여기까지 구성하는건 매우 드물다

 

- 카테고리 4 : 토큰링 네트워크에서 사용되는 케이블 최대 16Mbps의 전송 능력

 

카테고리 5 : 지금까지는 최대 100Mbps를 지원하는 Fast Ethernet 용으로 사용되었다 얼마 전에 기가비트 표준이 완성되면서 이 ㅔ이블                     로도 기가비트 속도의 데이터 전송이 가능해졌다(이경우 8가닥 모두를 사용해야 한다)

 

Secssion 5 케이블에 대해서?

 

10 Bast T란 일단 맨 앞에 나오는 10이라는 것은 속도를 나타낸다 여기서의 10이란 10Mbps의 속도를 지원하는 케이블이다 Base란 이 케이블이 Baseband용 케이블이라는 것을 나타낸다 원래 케이블 종류에는 베이스밴드와 브로드밴드가 있는데 베이스 밴드란 디지털 방식이고 브로드밴드란 아날로그 방식이다

 

T란 케이블의 종류 또는 이 케이블이 전송할 수 있는 최대 거리를 나타낸다 즉 10 Base T 란 TP 케이블이고 UTP를 말한다 만약 맨 뒷자리가 숫자가 나오면 그것은 최대 통신 거리를 나타낸다 5라면 500미터를 나타내는 것이다

 

10 Base 5란 10M의 속도로 최대 500미터까지 전송이 가능한 케이블을 말한다 

 

케이블의 경우 속도가 빨라지면 빨라질수록 전송 거리는 점점 짧아진다

 

Secssion 6 맥 어드레스에 대한 이야기

 

MAC(Media Access Control)

 

컴퓨터는 네트워크 상에서 어떻게 서로를 구분하고 인지할까? 즉 통신을 위해서는 서로를 구분할 일종의 주소가 필요하다 편지를 주고 받기 위해서는 각각의 건물이나 서로 다른 주소가 필요한것처럼 이 역할을 하는 것이 MAC 주소이다

 

우리가 아는대로 통신을 위해서 각 장비마다 IP주소가 배정되고 또 그 주소를 가지고 통신하는데 MAC 주소가 왜 필요하냐면 인터넷은 TCP/IP로 통신을 하고 따라서 통신을 위해서 IP주소를 사용한다 이 경우에도 MAC주소는 사용하는것인다 이것은 IP주소만 있으면 모든 통신이 다 되지 않기 때문이다 왜냐하면 IP 주소를 다시 MAC 주소로 바꾸는 절차( ARP : Address Resoultion Protocol) 이라는것이 있기 때문이다 

 

PC 형민이 PC 유이와 통신을 한다고 하면 이때 형민은 유이의 IP주소를 알고 있다 그럼 형민은 자기가 속한 네트워크에 있는 모든 PC에 메세지를 보낸다(브로드캐스트) 그 메세지는 우리 네트워크에 혹시 사람이 아닌거같이 예쁜 유이가 있다면 내가 통신하고 싶으니 맥 어드레스를 알려주라 라는 것이다

 

이때 유이는 형민과 같은 네트워크에 있기 때문에 형민이 보낸 브로드 캐스트를 받았을 것이다( 원래 같은 네트워크 안에 사는 PC만이 브로드캐스트를 받을 수 있다) 그럼 유이는 형민에게 자신의 맥 어드레스를 알려주게 되고 비로소 형민은 유이의 맥 어드레스를 안 다음에 통신을 시작하게 되는 것이다

 

만약 호스트 유이가 다른 네트워크에 있다면 즉 라우터를 넘어서 다른 네트워크에서 살고 있는경우에는 호스트 형민이 브로드캐스트를 보내도 유이는 그 메세지를 받아 볼 수 없다( 중간의 라우터가 브로드캐스트를 통과시키지 않는다 

 

PC 형민이 메세지를 보내면 유이와 연결되어 있는 라우터는 PC 형민의 IP 주소를 보고 이 PC가 우리 네트워크에 살고 있지 않고 따라서 아무도 이 질문에 대답하지 않을것을 안다 그래서 라우터는 형민에게 자신의 맥 어드레스를 보내준다 " 형민아 유이에게 멀 보내려면 내게 보내라" 이런 형식으로...

 

따라서 PC형민은 PC유이에게 정보를 보낼 때 받는 맥 어드레스를 라우터의 맥 어드레스로 해서 보내게 된다 그 정보를 라우터가 받은 다음 유이가 살고 있는 해당 네트워크로 넘겨주는것이다 그 곳의 라우터는 자기 네트워크 안에 있는 PC 유이의 맥 어드레스를 찾게 되고 찾는다면 유이의 맥 어드레스를 이용해서 전달하게 되는 것이다

 

MAC 어드레스란 네트워크(이더넷)에 붙는 각 장비들은 48bit의 주소를 갖게 되는데 이 주소는 랜카드 또는 네트워크 장비에 이미 고정되어 있는 주소이고 유일한 주소다 이 주소를 바로 맥 어드레스 또는 하드웨어 주소라고 한다 모든 랜 상의 디바이스들은 반드시 유일한 맥 어드레스를 가져야 한다 따라서 랜카드 하나하나마다 서로 다른 맥 어드레스가 있고 또 라우터나 스위치에도 맥 어드레스가 들어 있다 물론 서버에도 있다

 

### Network에서 MAC 주소는 피지컬 주소 IP주소나 IPx주소는 로지컬(Logical)주소라고 한다

 

00-60-97  - 8F-4F-86

제조사코드 / 일련번호

 

앞쪽 3부분은 벤더 즉 생산자를 나타내는 코드로 OUI(Organizagional Unique Identifer)라고 한다 이 코드는 메이커마다 다르기 때문에 MAC 주소의 앞부분을 보면 어느 회사 제품인지 알 수 있다 뒤에 오는 3자리는 메이커에서 각 장비에 분배하는 Host Identifier다 한마디로 시리얼 넘버라고 한다

 

Secssion  7 유니캐스트 브로드캐스트 멀티캐스트

 

네트워크에서 통신을 하는 방식에 따른 구분법이다 즉 1대1로 하느냐? 어떤 그룹을 대상으로 하느냐? 전부를 대상으로 하느냐?

 

네트워크 상에서 가장 많이 사용되는 트래픽은 바로 ###유니캐스트###다 일단 통신을 위해서는 전송되는 프레임 안에 항상 출발지와 목적지의 주소 즉 맥 어드레스가 들어 있어야 한다  랜에서 통신을 한다고 할 때 데이터를 보내고자 하는 PC의 맥 어드레스와 받는 맥 어드레스를 모두 프레임 안에 적는 것이 유니캐스트 통신 방식이다

 

즉 정확하게 받는 PC의 주소를 프레임 안에 써넣는데 이때 PC가 하나여야 한다는 것이다 일상생활에서 우체통에 편지를 써 넣는 방식이라고 생각하면 쉽다 이런 방식으로 어떤 PC가 유니캐스트 프레임을 뿌리게 되면 어짜피 로컬 이더넷의 기본 성격이 붙어 있는 모든 PC들에게 정보를 뿌리는 Shared 방식이기 때문에 그 로컬 네트워크 상에 있는 모든 PC들은 일단 이 프레임을 받아들여서 랜카드에 있는 자신의 맥 어드레스와 비교하게 된다 자신의 맥 어드레스와 다른 요청이 들어왔을 경우 바로 그 프레임을 버리게 된다 이렇게 되면 그 PC의 CPU까지는 영향을 주지 않기 때문에 PC의 성능이 저하되는 일은 발생하지 않는다(브로드캐스트는 영향을 준다)

 

이때 요청된 주소 값이 같은 경우에는 랜카드가 프레임을 CPU로 올려보내고 그 다음부터는 CPU가 처리한다 

 

브로드캐스트는 로컬 랜 상에 붙어 있는 모든 네트워크 장비들에게 보내는 통신이다 로컬 랜이란 라우터에 의해서 구분이어진 공간 즉 브로드캐스트 도메인이라는 공간이다 브로드캐스트는 통신의 대상이 특정한 어떤 한 네트워크 장비가 아니고 내가 살고 있는 네트워크 안의 모든 네트워크 장비들에게 통신할 때 쓰기 위한 방식이다 즉 받는 사람은 이 브로드캐스트 도메인안에 사는 모든 네트워크 장비들이다

 

브로드캐스트가 영향을 주는 영역을 브로드캐스트 도메인이라고 한다 이 영향을 받을 필요가 없는 장비도 모두 받는 방식이고 브로드캐스트가 한번 실행되면 랜카드는 비록 자신의 맥 어드레스와 같지는 않지만 이 브로드캐스트 패킷을 CPU에 보내게 된다(유니캐스트는 버리지만 이 방식은 버리지 않는다)

 

이러면 CPU가 할 일이 늘어나게 된다 네트워크 상의 전체 노드로 전송되기 때문에 전체적인 트래픽도 증가하지만 이 패킷을 받은 모든 랜카드가 이 패킷을 CPU로 전송하기 때문에 CPU도 하던 일을 멈추고 또 다른 일을 해야 하고 이에 따라 전체 PC의 성능도 떨어지게 되는 것이다 과도한 브로드캐스트는 전체 네트워크의 성능뿐 아니라 PC 자체의 성능 역시 떨어뜨리는 결과를 가져오는 것이다

 

###브로드캐스트###는 상대편의 맥 어드레스를 모를때 사용한다 그리고 이 동작을 ARP(Address Resoultion Protocol)이고 이 ARP가 바로 브로드캐스트다 즉 LAN안의 모든 사람들에게 이 IP주소를 가진게 누구야? 라고 보내는것이다 그리고 그 IP 주소를 가진 사람이 나라고 대답을 할 경우 자신의 맥 어드레스를 보내게 되는데 이런 과정을 ARP라고 한다

 

그외에도 라우터끼리 정보를 교환한다거나 다른 라우터를 찾을 때 또 서버들이 자신이 어떤 서비스를 제공한다는 것을 모든 클라이언트에게 알릴 때 등 여러 경우에 사용되고 이런 브로드캐스트들은 한번 발생하고 끝나는 것이 아니라 대부분은 30초나 1분에 한 번씩 주기적으로 발생하게 된다 따라서 꼭 브로드캐스트가 필요하지만 많아지면 문제가 생긴다

 

###멀티 캐스트###란 예를 들어 200명의 사용자가 있는 네트워크에서 150명에게만 같은 정보를 동시에 보내고 싶을때 유용하게 사용될 수 있다 물론 유니캐스트나 브로드캐스트로도 가능하다 하지만 유니캐스트는 150명의 주소로 하나씩 전부를 보내게 된다면 서버쪽에서 볼때 같은 데이터를 150번이나 반복해서 보내야 하기 때문에 일이 많아지고 트래픽이 가중된다 브로드캐스트는 한 번에 모든 사용자(200명)에게 보낼 수 있지만 받을 필요도 없는 남은 50명에게도 보내야 하기 때문에 비효율적이다

 

멀티캐스트는 보내고자 하는 그룹 멤버들에게만 한 번에 보내기 때문에 여러번 보낼 필요도 없고 받을 필요가 없는 곳에 보낼 필요도 없다 그 그룹에 속해 있는 사람들에게만 선택적으로 한번에 보낼 수 있는 것이다 이 멀티캐스트는 요즘들어 많이 사용되고 있고 라우터나 스위치에서 이 기능을 지원해야만 사용할 수 있다 지원하지 않는다면 라우터의 경우는 이 멀티캐스트를 브로드캐스트 처럼 취급해서 다 막아버리고 스위치의 경우는 모든 포트로 브로드캐스트 처럼 뿌려버린다

 

Secssion 8 OSI 7 Layer는 왜 만들어졌나?

 

데이터의 흐름이 한 눈에 보인다 즉 우리가 사용하는 어플리케이션 계층부터 맨 마지막 피지컬 계층까지를 나누어 놓으니까 어떻게 데이터가 날아가는지 보기 쉽다는 것이다 

 


 

문제 해결하기가 편리하다 네트워크에서 문제가 발생하면 이 문제 하나를 7개의 작은 문제로 나눈 다음 그 문제를 해결한다면 훨씬 쉬운 것이다 

 

계층을 7개로 나누고 각 계층별로 표준화를 하면 여러 회사 장비를 써도 네트워크가 이상없이 돌아가게 된다 즉 케이블은 국산, 랜카드는 인텔, 스위치나 라우터는 시스코를 써도 계층별로 나누어졌기 때문에 아무 이상없이 네트워크를 쓸 수 있다.

 

 

- 맨 아래 계층은 레이어 1인 피지컬 계층이다

 

주로 전기적 기계적 기능적인 특성을 이용해서 통신 케이블로 데이터를 전송한다 이 계층에서 사용되는 통신 단위는 비트이며 이것은 1과 0으로 나타내어지는 즉 전기적으로 On Off 상태라고 생각하면 된다 이 계층에서는 단지 데이터를 전달만 할 뿐 무엇인지 어떤 에러가 있는지 어떻게 보내는것이 효과적인지를 전혀 관여하지 않는다 대표적 장비는 통신 케이블, 리피터 , 허브 등이 있다

 

- 2번째는 데이터 링크 계층이다

 

피지컬 레이어를 통하여 송수신되는 정보의 오류와 흐름을 관리하여 안전항 정보의 전달을 수행할 수 있또록 도와주는 역할을 한다 따라서 통신에서의 오류도 찾아주고 재전송도 하는 기능을 가지고 있을 뿐만 아니라 맥 어드레스를 가지고 통신할 수 있게 해준다 이 계층에서 전송되는 단위는 프레임이며 장비로는 브리지, 스위치 등이 있다

 

- 3번째는 네트워크 계층

 

데이터를 목적지까지 가장 안전하고 빠르게 전달하는 것이 목표인 계층 이것을 라우팅이라고 하며 경로를 선택하고 주소를 정하고 경로에 따라 패킷을 전달해주는 것이 이 계층의 역할이다 장비로는 라우터이며 요즘은 스위치 중에서도 라우팅 기능을 수행하는 스위치가 나오는데 보통 Layer 3 스위치라고 한다

 

 

 

자신이 보낸 데이터는 각 단계를 내려가면서 포장이되고 이 포장 앞에는 헤더라는 정보가 붙는다 헤더에는 각 계층별로 관리하는 여러가지 관리 사항들이 붙는다 각 계층을 잘 지나갈 수 있도록 해야 하기 때문이다 예를 들어 네트워크 계층의 헤더에는 Ip 주소가 붙고 맨 아래 피지컬 계층에서는 컴퓨터가 이해하는 이진수 즉 1과0(전기적으로는ON/OFF)으로 바뀌어서 전기적인 신호가 친구쪽으로 전달 된다 네트워크 케이블을 통해서다 받는 PC에 도착한 데이터는 포장을 하나씩 벗기 시작하고 계층별로 내용에 이상이 없는지를 확인하게 된다 

 

만약 레이어 4에서 문제가 있다면? 여러가지 조취를 취하는데 즉 재전소을 요구하거나 아니면 에러의 복구를 시도하게 된다 따라서 아무 이상이 없는 경우에만 맨 위 계층까지 올라가게 되고 이때서야 비로소 받는 PC에서는 보낸 데이터를 볼 수 있게 된다

 

Section 9 컴퓨터는 프로토콜로 말한다

 

인터넷을 사용하기 위해서는 모든 PC가 TCP/IP라는 프로토콜을 사용해야 한다 인터넷을 사용하는 모든 PC는 바로 이 프로토콜을 사용하기 때문에 인터넷에 접속할 수 있는 것이다

 

프로토콜이란 컴퓨터끼리 서로 통신하기 위해서 꼭 필요한 서로간의 통신규악 또는 통신 방식에 대한 약속으로 프로토콜이 같은 것끼리만 대화 즉 통신이 가능하다

 

Transmission Control Protocol / Internet Protocol 의 약자다

 

다른 방식으로는 IPX(Internetwork Packet Exchange)라는 방법과 AppleTalk라는 방식도 있다

 



 

 

' > DB' 카테고리의 다른 글

Part 5 IP 주소로의 여행  (0) 2015.03.07
Part 3 4 TCP/IP와의 만남 네트워크 장비들  (0) 2015.03.07
저장장치들  (0) 2015.03.06
주요 포트  (0) 2015.03.05
MySQL 클론의 역습 – 1 (MariaDB 편)  (0) 2015.03.03