공개

네트워크 용어 간단한 정리

sangwoon 2021. 8. 27. 20:45

네트워킹:장비들을 서로 대화가 가능하도록 묶어주는 것이다. 

인터넷: 네트워크가 여러 개 있는 것 

인터넷 프로토콜: TCP/IP

인트라넷:TCP/IP를 사용하고 예를 들면 회사 내부에 있는 사람들만 사용이 가능함

엑스트라넷:직원과 고객들이 사용할 수 있는 것이다 (TCP/IP)

 

 

02. 네트워크와 케이블, 그리고 친구들

LAN:어느 한정된 공간에서 네트워크를 구성한다는 것이다

WAN:멀리 떨어진 지역을 서로 연결하는 경우

 

 

이더넷:SCMA/CD라는 프로토콜을 사용하는 통신방법이다 이 방법은 설명이 조금 필요하다 

설명:이더넷 환경에서 통신을 하고 싶은 PC 나 네트워크 상에 통신이 일어나고 있는지를 확인한다.

여기서 캐리어(네트워크상에 나타내고 있는 신호) 있는지를 감지한다고 보면 된다. 감지가 된다면 

자기가 보낼 정보가 있어도 못 보내고 기다려야 한다 그러다 네트워크에서 통신이 없어지면 보낸다.

바로 이렇게 통신을 대충 눈치 보면서 통신하는 것을 이더넷 방식이라고 하면 된다

 

다중 접근: 이더넷에서 이렇게 2개 이상의 PC나 서버가 동시에 네트워크 상에 데이터를 실어 보내는 경우를 말한다

 

콜리전:통신에서 2개의 장비가 데이터를 동시에 보내려다 부딪치는 경우를 콜리전이라고 한다

 

토큰링:네트워크에서 오직 한 PC,즉 토큰을 가진 PC 만이 네트워크에 데이터를 실어서 보내는데  데이터를 다 보내고 나면 바로 옆 PC에 토큰을 건너주게 되는 방식을 토큰링 방식이라고 한다


 

멕 어드레스에 대한 이야기

MAX(맥): 통신을 하기 위해 서로 구분하는 것이다 ip도 TCP/IP의 주소로 사용되는 것이 아니냐고 하겠지만 

사실은 IP를 MAX으로 바꾸는 절차 ARP가 있다 맥 어드레스를 확인하고 싶다면 cmd에서 물리적 주소라고 보이는 것이 

max address이다

 

 

ARP 요청과 응답

 

 

1.라우터를 거치지 않는 하나의 네트워크 안에서의 통신일 경우

 

PC Y가 PC Z와 통신을 하려고 합니다

이때 Y는  Z의 주소를 알고 있습니다 그럼 PC Y는 자기가 속한 네트워크에 있는 모든 PC에 메세지를 보냅니다

(이것을 브로드케스트라고 하는데, 이건 나중에 더 설명하겠음) 암튼 뭐라고 보내냐면 "우리 네트워크에 혹시 Z라는 

녀석이 있으면 내가 통신하고 싶으니까 맥 어드레스 좀 알려주라"라고 보냅니다

 

이떼 Z는 Y와 같은 네트워크에 있기때문에 Y가 보낸 브로드케스트를 받았을 것이다. 

 

그럼 비로서  Z는 Y에게 자신의 맥 어드레스를 알려주게 되고 Y는 Z의 맥 어드레스를 안 다음 비로소 통신을 시작하게 되는 것이다

 

2.호스트 Z가 다른 네트워크에 있는 경우이다. 즉 라우터를 넘어서 다른 네트워크에서 살고 있다는 것이다

 

이 경우 호스트 Y가 브로드캐스트를 보내도 호스트 Z는  그 메시지를 받아볼 수 없습니다.(중간에 있느 라우터가 브로트캐스트를 통과시키지 않기 때문입니다. 일단은 라우터가 브로드캐스트를 막는다는 사실만 알고 있으면 된다)

하지만

Y가 "우리 네트워크에 혹시 Z라는 PC가 있으면 내가 통신하고 싶으니까 맥  어드레스 좀 아려주라" 이렇게 메시지를 보내게 되면 Y와 연결되어 있는 라우터는 Z의 IP주소를 보고 이 PC가 우리 네트워크에 살고 있지 않고 따라서 아무도 이 질문에 대답하지 않을 것을 알게 됩니다

 

 

이것을 알게 된 라우터는 Y에게 라우터 자신의 맥 어드레스를 보내줍니다.

그리고는 "PC야, PC Z 에게 뭘 보내고 싶으면 내게 보내. 내가 전달해 줄게" 이렇게요

 

따라서 PC의 Y는 PC Z에게 정보를 보낼 때 받는 맥 어드레스를 라우터의 맥 어드레스로 해서 보내게 됩니다.

그럼 그 정보를 라우터가 받은 후 Z가 살고 있는 해당 내트워크로 넘겨 줍니다. 

그곳에 사는 라우터에게 전달을 해줍니다. 그곳에 사는 라우터는 자신의 네트워크 안에 있는 PC Z의 맥 어드레스를 

찾게 됩니다. Z의 맥어드레스를 이용해서 전달하게 되는 거다.

 

다시 MAX address 

네트워크(여기서는 이더넷) 에 붙는 각 장비들은 48bit(6octet이 됩니다. 여기서 옥텟이란, 8개의 비트를 묶은 것을 말합니다. ) 의 주소를 갖게 되는데, 이 주소는 랜트카 또는 네트워크 장비에 이미 고정되어 있는 주소이고 유일한 (즉 전 세계에서 유일한) 주소이다. 바로 이 주소를 바로 맥어드레스 또는 하드웨어 주소 라고 합니다 모든 랜의 디바이스들은 반드시 유일한 맥 어드레스를 가져야 합니다. 따라서 랜카드 하나하나마다 서로 다른 맥어드레스가 있고 또 라우터나 스위치에도 맥 어드레스가 들어가 있다 물론 서버(서버에 랜카드가 설치될 거니까)어도 있다

 

 

맥어드레스는 8자리마다 -이나 : 이나 , 으로 구분되기도 합니다.

예)

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

00:60:97:8F:4F:86

0060.978F.4F86

위에 있는 3개는 모두 같은 호스트를 나타냅니다.(즉 같은 맥 어드레스이다)

 

근데 여기서 분명 맥 어드레스는 48비트 즉 6옥텟이라고 했는데 주소는 48자리 주소가 아닐까요 

 

바로 48비트로 이루어져 있는 것은 2진수로 구성이 되어있어서 이다

 

근데 너무 길고 불편하기 때문에 보통은 16진수로 나타낸다 (2진수 4자리가 16진수 한 자리이다)

 

이때 이 주소에서 앞쪽 6개의 16진수를(00-60-97) 즉 생산자를 나타내는 코드로 (OUI) 즉 이코드는 메이커에 따라 다르기 때문에 MAC의 6자리는 어느 회사에서 만든 제품인지를 알 수 있다 

그리고 뒤에 오는 나머지 6자리의 수가 메이커에서 각 장비에 분배하는 Host Identifier입니다. 한마디로 시리얼 넘버이다.

 

예를 들어서 랜카드라고 한다면

00-60-97-00-00-0부터 

00-60-97-ff-ff-ff까지 부여하는 것이다

 


유니캐스트,브로드캐스트,멀티캐스트

 

 

유니캐스트

현재 우리가 네트워크상에서 가장 많이 사용되는 트래픽이 바로 유니캐스트이다 

예)

우리가 랜에서 통신을 한다고 할 때 데이터를 보내고자 하는 pc의 맥 어드레스가 (00-60-80-AA-BB-CC)라고 가정하고, 받는 PC의 맥 어드레스가 (00-60-80-DD-EE-FF)라고 써넣는 거이다. 이러한 방식이 유니케스트 통신 방식이다 

 

일단 통신을 위해서는 정송되는 프레임 안에 항상 출발지와 목적지의 주소, 즉 맥  어드레스가 들어 있어야 한다는 사실을 알고 있을 것이다

 

예를 들면 우리가 편지를 보내는 방식과 같다고 보면 된다

봉투에 받는 사람 주소를 적고 보내는 사람 주소를 적은 다음에 우체통에 넣는 방식이다 (목적지와 시작점을 둘 다 적는다)

이런 식으로 유니캐스트 프레임을 뿌리게 되면, 어차피 로컬 이더넷의 기본 성격이 붙어있는 모든 pc들에게 정보를 뿌리는 shared 방식이기 때문에 그 로컬 네트워크상에 있는 모든 pc들은 일단 이 프레임을 받아들여서 랜카드에서 자신의 맥 어드레스와 비교하게 됩니다.

 

그다음 맥 어드레스의 주소가 서로 다른 경우 바로 그 프레임을 버리게 된다

 

이렇게 되면 그 pc의 cpu 까지는 영향을 주지 않기 때문에 pc성능이 저하되는 일은 발생하지 않는다.

(브로드캐스트의 경우는 pc성능의 저하시키기 때문에 이 부분이 매우 중요하다)

 

이때 만약 목적지 주소와 자신의 맥 주소가 같다면 

이건 내것이구나를 알고 이 프레임을 cpu로 올려보내면서 이렇게 말합니다.

 

편지요 

 

그럼 나머지는 cpu 가 알아서 하는 것이다 

 

결론

유니캐스트는 특정 목적지의 주소 하나만을 가지고 통신하는 방식입니다. 그리고 이런 유니캐스트 통신 방식은 그 목적지 주소가 아닌 다른 pc 들의 cpu성능을 저하시키지 않습니다. 그 이유는 자신의 맥 어드레스가 아니라고 판단되면 랜카드가 이 프레임을 버리기 때문입니다.

 


 

브로드캐스트

브로드캐스트는 한마디로 로컬 랜에 붙어 있는 모든 네트워크 장비들에게 보내는 통신입니다.

여기서 로컬 랜이란, 라우터에 의해서 구분된 공간, 즉 브로드캐스트 도메인이라고 하는 공간을 뜻합니다.

 

브로드캐스트는 통신의 대상이 특정한 어떤 한 네트워크 장비가 아니고 내가 살고 있는 네트워크 안의 모든 네트워크 장비들에 통신할 때 쓰기 위한 방식이라고 생각하면 된다. 받는 사람이 이 브로드캐스트 도메인 안에 사는 모든 네트워크 장비들이죠.

 

예)

동네 사람들 반상회가 있습니다. 다 모여주세요 

바로 이런 방식이 브로드케스트입니다.

이때 방송을 듣는 영역 즉 브로드캐스트 도메인이란 방송을 하면 들리는 영역이라고 생각하면 쉽게 이해할 수 있다

 

그니까 이장님이 말한 내용을 동네 사람들이 듣고 싶든 아니든 그 내용을 다 들었겠죠?

브로드캐스트도 마찬가지 입니다.

 

자기가 받기 싫다고 받지 않는 것이 아니라 무조건 받는 것이다 

브로드캐스트의 주소는 미리 정해져 있는데 FFFF.FFFF.FFFF(맥 어드레스로 했을 때) 이 주소가 오면 랜카드는 비록 자신의 맥 어드레스와는 같지는 않지만 이 브로드캐스트 패킷을 cpu에 보내게 됩니다.

 

따라서 자신의 맥 어드레스와 다르면 바로 버리고 cpu를 괴롭히지 않았던 유니캐스트에 비해 cpu가 할 일이 늘어날 것이다

 

그럼 브로드캐스트는 어떤 경우에 발생할까요 예를 들어 처음 두 pc 간에 통신을 하는 경우에는 상대편의 맥 어드레스 를 모르겠죠? 상대편의 ip주소는 알 수 있어도 말입니다 이 경우에 상대의 맥 어드레스를 알아내기 위해서 하는 동작이 바로  ARP이다

 

바로 이 ARP가 브로드캐스트 입니다. 즉 우리 동네 사는 모든 사람들에게 "이 IP 주소 가진 사람 누구야?" 하고 브로드캐스트를 보내는 겁니다.

그럼 나야 하고 대답한 후 자신의 맥 어드레스를 보내게 되는데 이런 과정을 ARP라고 합니다

 

그 외에도 라우터끼리 정보를 교환한다거나 다른 라우터를 찾을 때, 또 서버들이 자신이 어떤 서비스를 제공한다는 것을 모든 클라이언트에게 알릴 때 등 여러 경우에 사용된다

 

 

브로드캐스트들은 대부분 30초나 1분에 한 번씩 주기적으로 발생하게 된다

 


실험!

 

유니캐스트와 브로드캐스트에 대한 비교 실험

 

 

현재 이 네트워크상에는 랜카드 맥 어드레스가 A인 PC혼자만 살고 있습니다. 이때 트래픽 발생기가 목적지 주소를 B로 해서 맥 어드레스가 A 인 랜카드가 설치되어 있는 PC 에 트래픽을 계속 보내기 시작했습니다.

 

자 그럼 어떻게 될까요 

 

유니캐스트

PC에 설치된 랜카드는 들어오는 프레임의 목적지 주소를 보게 됩니다. 다르다면 이 프레임을 무시하고 CPU에 올려보내지 않는다 그럼 CPU는 본인이  하던 일을 할 수 있을 것이다

 

브로트캐스트

이번에는 트래픽 발생기에서 브로드캐스트를 발생시켰습니다. 근데 이번에는 주소가 달라도 프레임을 버리지 않고 CPU에 전달하면서 인터럽트를 걸게 됩니다. 그럼 CPU가 하던 일을 멈추고 그 일을 해야 하기 때문에 당연히 느려질 수 밖에 없다

 

즉 브로트캐스트가 CPU의 성능을 떨어뜨리는 것은 사실이다


 

멀티캐스트

 

만약 200명의 사용자가 있는 네트워크에서 150명에게만 같은 정보를 동시에 보내야 하는 상황이다

더 정확하게는 이 서버에 가입한 150명의 사용자에게 같은 증권시황을 시간별로 동시에 뿌려야 한다고 가정해 보자

그럼 어떤 방식으로 보내야 할까 

 

첫 번째, 우리가 배운 유니캐스트라는 걸 사용하는 경우이다. 즉 150명의 주소로 하나씩 전부 보내주는 것이다. 일일이 각각 주소를 적어 넣은 편지를 보내주는 것이다. 이런 방식은 같은 데이터를 150번이나 반복해야 하기 때문에 일이 많아질 뿐 아니라 네트워크상에서도 같은 데이터가 150번이나 반복되어 보내지기 때문에 트래픽을 가중시키게 되는 것이다.

 

두 번째, 브로드캐스트이다 이 경우는 이 데이터를 받은 필요 없는 나머지 50명 조차도 이 데이터를 받아야만 한다는 문제가 발생한다 

 

 

그럼 이런 상황을 어떻게 해야할까 

바로 멀티캐스트이다

멀티캐스트는 보내고자 하는 그룹 멤버들에게만 한 번에 보낼 수 있기 때문에 유니캐스트처럼 여러번 보낼 필요도 없고,

브로드캐스트처럼 받기 싫어하는 사람에게까지 보낼 필요도 없다

 

그 그룹에 속해있는 사람들에게만 선택적으로, 그것도 한 번에 보낼 수 있는 것이 멀티캐스트이다

 

근데 멀티캐스트는 라우터나 스위치가 멀티캐스트를 지원하지 않는다면 

 

라우터의 경우 이러한 멀티캐스트를 마치 브로드캐스트처럼 취급해서 다 막아버리고 스위치의 경우는 모든 포트로 뿌려버립니다.

또한 IP 주소도 클래스 D를 사용합니다

 

 

정리

더보기

유니캐스트: 목적지 주소를 하나만 적어서 특정한 한 pc에게만 보내는 방식이다

브로드캐스트: 도메인 안에 있는 모든 pc들에게 한 번에 전송하는 방식입니다. (도메인: 범위)

멀티캐스트:특정 그룹 데이터를 보내는 경우 적당한 방법으로 유니케스트와 브로드캐스트의 장점을 결합해서 한 번에 그룹 맴버들에게 다 보내면서도 그룹 멤버이외의 pc에는 영향을 주지 않는다는 특징을 가지고 있지만 ,스위티나 라우터가 멀티캐스트 기능을 꼭 지원해야 한다는 제약이 있다

 

 

 


OSI 7 Layer

 

OSI 7계층

애플리케이션 계층

프레젠테이션 계층 

세션 계층 

트랜스포트 계층 

네트워크 계층 

데이터 링크 계층

피지컬 계층

 

사용이유

1.데이터가 어떻게 날아가는지 보기가 쉽다

2.문제를 해결하기 편하다

3.표준화를 하니까 여러 회사 장비를 써도 네트워크가 이상 없이 돌아간다

 

층별 설명 

1.피지컬 계층

이 단계는 단지 데이터를 전달한 뿐 이 데이터가 무엇인지, 어떤 에러가 있는지, 어떻게 보내는 것이 더 효과적인지는 전혀 관여하지 않는다. 이 계층에 속하는 대표적인 장비는 통신 케이블,리피터,허브 등이 있습니다

 

2.데이터 링크 계층

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

 

3.네트워크 계층

가장 중요한 기능은 데이터를 목적까지 가장 안전하고 빠르게 전달하는 것이다. 보통 이것을 '라우팅' 이라고 한다

따라서 경로를 선택하고, 주소를 정하며, 경로에 따라 패킷을 전달해 주는 것이 이 계층의 역할이다

 

4.트렌스포트 계층

트랜스포트 계층은 주로 플로 컨트롤과 에러 복구 기능이다. 즉 에러 복구를 위해 패킷을 재전송하거나 플로를 조절해서 데이터가 정상적으로 전송될 수 있도록 하는 역할을 합니다

 

 

예)

자신의 pc와 친구 pc사이에서 이메일을 주고받는다고 가정한다

자신이 보낸 이메일은 각 단계를 내려가면서 정성스럽게 포장이 된다. 그리고 그 포장 앞에는 헤더 라는 정보가 붙습니다. 헤더에는 각 계층별로 관리하는 여러가지 관리 사항들이 있습니다. 그 계층을 잘 지나갈 수 있도록 말입니다. 예를 들어서 네트워크 계층의 헤더에는 IP 주소가 붙을 겁니다. 

그리고 친구 pc에 도착한 데이터는 이제 포장을 하나씩 벗기 시작합니다. 그리고 계층별로 내용에 이상이 없는지를 확인하게 됩니다. 만약 문제가 있다면 재전송을 요구하거나 에러 복구를 시도하게 됩니다

 

근데 여기서 알아야 할 사실은 데이터는 헤더와 같은 정보가 붙여지면서 더 커지게 됩니다.

 


컴퓨터는 프로토콜로 말한다.

 

프로토콜이란, 우리말로 하면 규약, 협약과 비슷한 뜻인데, 컴퓨터끼리는 프로토콜이 서로 같은 것끼리만 통신이 가능합니다

그렇다면 모든 pc 는 같은 언어를 사용하고 있는 걸까요 답은 그렇습니다

모든 pc가  tcp/ip라는 프로토콜을 사용해야 합니다

 

앞으로 네트워크에 나오는 영어 약자 중에서 뒤에 P자가 들어가는 것은 대부분 '프로토콜이구나 하고 생각하면 됩니다"

 

 

프로토콜의 종류

 

IPX: 같은 게임방에서 친구들끼리 편을 나누어 게임을 하는 경우에는 IPX라는 프로토콜을 사용합니다

 

자 이렇게 게임방에 설치되어 있는 pc최소한 2개의 프로토콜을 사용합니다. 

인터넷을 사용하기 위한 tcp/ip그리고 내부에서 스타크래프트 등을 같이 하기 위한 ipx

 

AppleTalk:맥이라고도 부르는 매킨토시들이 서로 간의 통신을 위해 사용하는 프로토콜이 바로 애플토크 입니다.