CS/네트워크_[교재]후니의 쉽게 쓴 네트워킹

[PART02]네트워크와 케이블, 그리고 친구들 : 01.LAN이란? / 02.이더넷은 인터넷의 친구? / 03.그럼 토큰링은요?

Jedy_Kim 2021. 6. 9. 23:23
728x90

1) LAN(Local Area Network)이란?

어느 한정된 공간에서 네트워크를 구성
 LAN이란, 'Local Area Network'의 약자로 Local, 즉 '어느 한정된 공간에서 네트워크를 구성한다'는 것이다.
예를 들어 한 사무실에서 컴퓨터가 30대 있는데, 이것들을 네트워크로 구성한다면 '사무실에 LAN을 구축한다' 라고 말한다. 

LAN과 비교되는 말로 WAN이 있다.

 WAN은 'Wide Area Network'의 약자로서 '멀리 떨어진 지역을 서로 연결하는 경우'에 사용한다. 요즘은 모두 인터넷을 쓰는 세상이니 인터넷에 접속하는 것은 WAN이라고 봐야할 것이다. 그래서 요즘은 네트워킹을 한다고 하면 주로 LAN과 WAN이 공존한다. 예전처럼 랜을 설치하느니, 왠을 설치하느니 대신에 그냥 '네트워킹을 한다' 라고 말하는 게 요즘 추세이다. 

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

 

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

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

 CSMA/CD는 'Carrier Sense Multiple Access/Collision Detection'을 줄여서 부르는 방식이다. 이 통신 방식을 한 마디로 이야기하자면 '대충 알아서 눈치로 통신하자'이다. 

 이더넷 환경에서 통신을 하고 싶은 PC나 서버는 먼저 지금 네트워크상에 통신이 일어나고 있는지를 확인한다. 즉 우리 네트워크 자원을 쓰고 있는 PC나 서버가 있는지를 확인해보는 것이다. 즉 캐리어가 있는지를 감지하는 것이다. 이것을 바로 'Carrier Sense'라고 한다. 이때 만약 캐리어가 감지되면, 다시 말해서 누군가가 네트워크상에서 통신을 하고 있으면 자기가 보낼 정보가 있어도 못 보내고 기다린다. 그러다가 네트워크에서 통신이 없어지면(이때는 캐리어가 감지되지 않는다.) 눈치를 보다가 무조건 자기 데이터를 네트워크상에 실어서 보낸다.

 그런데 만약 네트워크상에서 두 PC나 서버가 보낼 데이터를 가지고 눈치를 살피고 있었다고 가정해보자. 그러다가 네트워크상에서 통신이 일어나지 않고 있다는 것을 알아냈다. 그리고 바로 자신의 데이터를 네트워크상에 실어서 보냈다. 물론 두 PC나 서버가 그것도 동시에 말이다. 이더넷에서는 이렇게 2개 이상의 PC나 서버가 동시에 네트워크상에 데이터를 실어 보내는 경우가 발생할 수 있다. 이 경우를 'Multiple Access(다중 접근)'라고 한다.

 통신에서 이렇게 2개의 장비들이 데이터를 동시에 보내려다 부딪치는 경우를 충돌(콜리전, Collision)이 발생했다고 한다. 따라서 이더넷에서는 데이터를 네트워크에 실어서 보내고 나서도 혹시 다른 PC 때문에 콜리전이 발생하지 않았는지를 잘 점검해야 한다. 그것이 바로 'Collision Detection(충돌 감지)'이라는 것이다. 그러다 만약 콜리전이 발생하게 되면 데이터를 전송했던 PC들은 랜덤(Random)한 시간 동안 기다린 후 다시 데이터를 전송하게 된다. 이렇게 15번을 했는데도 충돌이 나면 그냥 포기하게 된다.

 따라서 이더넷에서 충돌, 콜리전이 발생하는 것은 이더넷의 CSMA/CD라는 특성상 자연스러운 일이지만, 너무 많은 충돌이 발생하게 되면 통신 자체가 불가능해지는 경우도  생길 수 있다.

요약
 이더넷이란, 네트워크를 구추하는 방식 중 하나로, 우리나라에서는 대부분이 이더넷 방식을 사용하고 있다.
이더넷 방식의 가장 큰 특징은 CSMA/CD 방식으로 통신한다는 것인데, 이 방식은 통신하고자 하는 컴퓨터가 네트워크를 살펴봐서 아무도 통신을 하고 있지 않으면 무조건 자기 데이터를 실어서 보낸 후 잘 갔는지 확인해보는 방식이다. 그런데 만약 동시에 2개의 컴퓨터에서 데이터를 실어 보내려고 하면 충돌이 발생하게 되는데, 이것을 '콜리전'이라고 한다. 이렇게 콜리전이 발생하면 이 두 PC는 자신이 보내려던 데이터를 랜덤한 시간 동안 기다렸다가 다시 보내게 된다.

지금 네트워크 상에는 아무 통신이 일어나고 있지 않다.
콜리전이 발생하면 감지하고 랜덤한 시간 동안 기다린 후 다시 통신을 시도한다.

 

3) 그럼 토큰링(TokenRing)은요?

토큰링은 네트워킹의 한 방식이다
 토큰링 방식의 네트워크에서 데이터를 전송하고자 하는 PC는 이더넷처럼 자기 맘대로 보내고 싶을 때 남들이 전송만 하지 않고 있으면 막 보내는 게 아니다. 그 네트워크에서 오직 한 PC, 즉 토큰을 가진 PC만이 네트워크에 데이터를 실어 보낼 수 있는 것이다. 데이터를 다 보내고 나면 바로옆 PC에 토큰을 건네주게 된다. 만약 전송할 데이터가 없다면 토큰을 다시 옆 PC에 전달한다. 그러니까 토큰링에서는 당연히 충돌(Collision)이 발생하지 않는다. 또 네트워크에 대한 성능을 미리 예측하기도 쉽다. 그 대신 단점도 있다.

 내가 지금 보내야 할 데이터가 있고, 다른 PC들은 보낼 데이터가 하나도 없다고 하더라도 차례가 올 때까지 계속 기다려야 된다. 참고로 토큰링 프로토콜은 IBM이 처음 개발하였다. 이더넷의 눈부신 발전으로 이제 토큰링은 역사의 뒤안길로 사라지기 시작했다.

요약
 데이터 네트워크의 2가지 형태가 있다. 하나는 이더넷, 그리고 또 하나는 토큰링이 있다.(물론 다른 것도 있으나 생략) 그런데 우리는 이더넷을 많이 쓰고 있고 이더넷의 일반적인 속도는 100/1,000Mbps이다. (토큰링은 4Mbps/16Mbps이다.)

 

반응형