ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [네트워크] 1. 네트워크와 케이블 (LAN, 이더넷, MAC, 캐스트, OSI 7 Layer) - 후니의 쉽게쓴 시스코 네트워킹
    IT/네트워크 2024. 8. 22. 14:12

     

     

    📑 LAN(Local Area Network) 이란?

     

    LAN은 Local Area Network의 약자로 어느 한정된 공간에서 네트워크를 구성한다는 것이다.

    예를 들어 한 사무실 컴퓨터가 30대 있는데, 이것을 네트워크로 구성한다면 '사무실에 LAN을 구축한다'라고 말한다.

     

    LAN과 비교되는 말로 WAN이 있는데 'Wide Area Network'의 약자로서 멀리 떨어진 지역을 서로 연결하는 경우에 사용한다. 요즘 모두 인터넷을 쓰는 세상이니 인터넷에 접속하는 것은 WAN이라고 봐야된다. 

     

    그래서 요즘은 네트워킹을 한다고 하면 주로 LAN과 WAN이 공존한다. 

     

     

    📑 이더넷(Ethernet)이란?

     

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

     

    어떤 네트워킹 방식을 사용하느냐에 따라 랜카드를 비롯하여 구입해야 하는 네트워크 장비들이 다르다. 내가 사용하고 있는 네트워킹 방식을 모르고는 랜카드 한 장도 살 수가 없다. 그러므로 네트워킹이 어떤 방식인지와 어떤식으로 통신하는지를 알아두면 훨씬 도움이 될 것 이다.

     

    CSMA.CD는 'Carrier Senese Multiple Access/Collision Detection'을 줄여서 부르는 방식이다. 

     

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

     

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

     

    통신에서 이렇게 2개의 장비들이 데이터를 동시에 보내려다 부딪치는 경우를 충돌(Collision)이 발생했다고 한다. 만약 콜리전이 발생하게 되면 데이터를 전송했던 PC들은 랜덤한 시간동안 기다린 후 다시 데이터를 전송하게 된다. 여기서 랜덤한 시간이란 우리가 느끼지 못할 작은 시간이다. 그러다 또 충돌이 나면 기다렸다 다시 보내고 이렇게 몇번을 했는데도 충돌을 한다면 여기선 통신 못 하겠다 하고 포기한다.

     

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

     

     

    이더넷이란? 

    네트워크를 구축하는 방식 중 하나로, CSMA/CD 방식으로 통신하는데, 이 방식은 통신하고자 하는 컴퓨터가 네트워크를 살펴봐서 아무도 통신을 하고 있지 않으면 무조건 자기 데이터를 실어서 보낸 후 잘 갔는지 확인해보는 방식이다. 충돌이 발생하면 자신이 보내려던 데이터를 랜덤한 시간 동안 기다렸다가 다시 보내게 된다. 

     

     

     

    📑 토큰링(TokenRing)이란?

     

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

     

    단점은 내가 지금 바로 보내야 할 데이터가 있고, 다른 pc들은 보낼 데이터가 하나도 없다고 하더라도 내 차례가 올 때까지 계속 기다려야 한다. 

     

    ★ 이더넷은 순서 없이 아무나 통신을 하지만, 토큰링은 토큰을 가진 순서에 따라 통신이 일어난다. 

     

     

     

    📑 UTP 케이블이란?

     

    통신 케이블은 어디에 들어갈까? 

    장비와 장비의 연결에는 어디에나 들어간다. PC에서 허브나 스위치까지의 연결, 스위치와 스위치의 연결, 스위치와 라우터의 연결, 라우터와 라우터의 연결 등 네트워크 장비와 네트워크 장비를 연결하기 위해서는 어떤 종류의 케이블이든 반드시 들어가게 된다. 이렇게 들어가는 케이블은 광케이블, UTP 케이블, 동축 케이블 등 종류도 가지가지이다. 

     

    TP 케이블이란 Twisted - pair의 약자로 서로 꼬여있는 것을 말한다. TP에는 UTP와 STP가 있다.

     

    UTP는 Unshielded(언쉴드) TP를 말한다. 주로 우리가 사용하는 케이블이 바로 이 UTP이다. STP는 Shielded로 케이블의 주위를 어떤 절연체로 감싸서 만든 것을 말한다. STP가 좀 더 비싸고 성능이 좋다고 한다. EMI를 줄였다고 하는데  EMI (Electro Magnetic Interference)는 전자기기가 방출하는 원하지 않는 노이즈(Noise)성의 전자파가 다른 전자기기에 주는 영향을 의미한다 

     

    카테고리란 UTP 케이블의 전송 기능 대역폭에 따라 분류한 종류라고 할 수 있다

     

     

    카테고리 설명
    카테고리 1 주로 전화망에 사용하는 용도로 만들어진 케이블이다. 따라서 데이터 전송용으로는 맞지 않다.
    카테고리 2 데이터를 최대 4Mbps의 속도로 전송할 수 있는 능력을 가지고 있는 케이블이다.
    카테고리 3 10 Base T 네트워크에 사용되는 케이블이다. 전에는 UTP 케이블이라고 하면 바로 이 케이블을 이야기할 정도로 일반적인 케이블이었다. 최대 10Mbps 속도까지 데이터 전송을 할 수 있으며 잘만 구성하면 100Mbps 속도에도 적용이 가능한 케이블이다.
    카테고리 4 토큰링 네트워크에서 사용하는 케이블이다. 최대 16Mbps의 데이터 전송 능력을 가지고 있다.
    카테고리 5 지금까지는 최대 전송 속도 100Mbps를 지원하는 Fast Ethernet용으로 사용되었다. 그런데 얼마 전에 기가비트 표준이 완성되면서 이제 이 케이블로도 기가비트 속도의 데이터 전송이 가능해졌다.
    카테고리 6 기가비트 이상의 속도에 적합한 케이블이다. 최근 사용하는 케이블 중 가장 많은 종류가 카테고리6 케이블이다. 카테고리 6 케이블은 Cate6와 Cat6a로 구분되는데, 뒤에 나온 Cat6a케이블이 좀 더 성능이 개선된 케이블이며, 최대 10Gbps를 지원한다. 

     

     

    10 Base T에서 일단 맨 앞에 나오는 10이란 숫자는 속도를 나타낸다. 즉) 10이란, 10Mbps의 속도를 지원하는 케이블을 의미한다. 그 다음 나오는 Base란 말은 이 케이블이 Baseband용 케이블이라는 것을 알려준다. 원래 케이블 종류에는 베이스밴드와 브로밴드가 있는데, 베이스밴드는 디지털 방식이고, 브로드밴드는 아날로그 방식이라고 생각하면 된다.

     

    T의 자리에는 케이블의 종류 또는 이 케이블이 전송할 수 있는 최대 거리가 나오게 되었다.

     

    즉) 10 Base T에서는 케이블의 종류가 나온 것. T란 TP케이블이라는 것을 나타낸다. 이것이 바로 우리가 보통 사용하는 UTP 케이블을 나타낸다.

     

    예를들어 10 Base 5처럼 맨 뒤에 글자가 아니고 숫자가 나온다면 맨 뒤 나오는 숫자는 최대 500미터까지 통신이 가능하다는 통신을 나타낸다. 

     

     

     

    📑 맥 어드레스(MAC Address) 란?

     

     

    MAC이란 'Media Access Control'의 약자이다.

    컴퓨터는 어떻게 서로를 구분해서 인식할까?? 그것은 바로 일종의 주소 때문이다. 우리가 편지를 서로 주고받기 위해 각각의 건물이나 집에 서로 다른 주소가 필요한 것처럼 말이다. 이 역할을 담당하는 주소가 바로 MAC 주소이다.

     

    여기서 헷갈리는 부분 ! 우리가 아는 대로 통신을 위해서 각 장비마다 IP주소가 분명 배경이 되고, 또 그 주소를 가지고 통신을 하는 것이 아닌가? 인터넷은 TCP/IP로 통신을 하고 따라서 통신을 위해 IP주소를 사용한다. 그렇다면 이 경우 맥 어드레스는 사용하지 않는걸까? 아니다. MAC Adress도 사용된다.

     

    IP주소를 다시 MAC으로 바꾸는 절차( 이 과정을 ARP : Address Resolution Protocol이라고 한다.)를 밟고 있는 것이다. 만약) 내 pc에 설치된 랜카드의 맥어드레스를 알고싶다면 윈도우+R키를 눌러 CMD를 입력하고 도스 모드로 나와서 'ipconfig/all'을 입력해보면 이때 Physical address 또는 '물리적주소'가 내 PC의 맥 어드레스이다. 

     

    네트워크(여기서는 이더넷)에 붙은 각 장비들은 48bit의 주소(이진수 48개)를 갖게 되는데, 이 주소는 랜카드 또는 네트워크 장비에 이미 고정되어있는 주소이고 유일한(전 세계에서 유일한)주소이다. 이 주소를 바로 '맥 어드레스' 또는 '하드웨어 주소'라고 한다. 따라서 랜카드 하나하나마다 서로 다른 맥 어드레스가 있고 또 라우터나 스위치에도 맥 어드레스가 있다. 물론 서버에도 들어있다.

    맥 어드레스는 8자리마다 하이픈(-)이나 (:), 점(.)으로 구분된다. 예를들어 다음과 같이 나타낸다.

     

    00-60-97-8F-4F-89
    00:60:97:8E:4F:86
    0060.978F.4F86

     

    위의 3개는 모두 같은 호스트를 나타낸다.(즉, 같은 맥 어드레스이다.) 

     

    48비트 설명

     

    위에서 설명한 0060.978F.4F56의 원래 맥 어드레스는 0000 0000.0110 0000.1001 0111.1000 1111.0100 1111.1000 0110이 된다. 이렇게 표시하면 너무 길고 복잡해저서 관리하고 기억하기가 불편하기 때문에 보통은 16진수로 표시하게 된다.

     

    이 주소에서 앞쪽 6개의 16진수 (00-60-97)가 벤더, 즉 생산자를 나타내는 코드로, 이 코드를 'OUI(Organizational Unique Identifier)'라고 한다. 이 코드는 메이커에 따라 다르기 때문에 우리가 MAC 주소의 앞부분을 보면 어느 회사에서 만든 제품인지 알 수 있게 된다. 그리고 뒤에 오는 나머지 6자리의 수가 메이커에서 각 장비에 분배하는 Host Identifier이다. 한마디로 시리얼 넘버인 셈이다. 

     

    즉) 다시 한 번 저장해보면 맥 주소 중에서 앞쪽의 절만은 미리 약속된 규정에 따라 각 네트워크 장비를 만드는 회사에 분배해주고, 그 회사에서는 나머지 절반을 일련번호로 만들어 각 장비에 부여하는 것이다. 

     

     

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

     

    유니캐스트, 브로드캐스트, 멀티캐스트는 네트워크에서 통신을 하는 방식에 따른 구분이라고 생각하면 된다. 즉 1대 1로 하는 통신방식이냐, 어떤 그룹을 대상으로 하는 통신 방식이냐, 전부를 대상으로 하는 통신 방식이냐 하는 것.

     

    📌 유니캐스트(Unicast)

    : 통신을 위해서는 전송되는 프레임 안에 항상 출발지와 목적지의 주소(맥 어드레스)가 들어 있어야한다. 이러한 방식이 유니캐스트 통신 방식이다.

     

    즉) 정확하게 받는 PC의 주소를 프레임 안에 써 넣는데, 이때 PC가 하나이어야 한다는 것이다. 우리가 편지를 보내는 방식과 같다고 보면 이해하기가 쉽다. 봉투에 받는 사람의 주소를 적고, 보내는 사람 주소를 적은 다음 우체통에 넣는 방식이다.

     

    이러한 방식으로 어떤 PC가 유니캐스트 프레임을 뿌리게 되면, 어차피 로컬 이더넷의 기본 성격이 붙어있는 모든 PC들에게 정보를 뿌리는 Shared 방식이기 때문에 그 로컬 네트워크상에 있는 모든 pc들은 일단 이 프레임을 받아들여 랜카드에서 자신의 맥 어드레스와 비교하게 된다. 그 다음 자신의 랜카드 맥 어드레스와 목적지 맥 어드레스가 서로 다른 경우에는 그 프레임을 버리게 된다. 이렇게 되면 그 PC의 CPU까지는 영향을 주지 않기 때문에 PC의 성능이 저하되는 일은 발생하지 않다. (브로드캐스트의 경우 PC의 성능을 저하시키기 때문에 이부분이 중요하다.) 이때 만약 목적지 주소가  자신의 맥 주소와 같다면 랜카드는 이 프레임을 CPU로 올려 보낸다. 

     

    📌 브로드캐스트(Broadcast)

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

     

    예를들어 동네 이장님이 마이크로 방송하는 것과 똑같다. 그리고 이때 방송을 듣는 영역, 여기서는 동네가 되겠는데, 그것을 우리는 브로드캐스트 도메인이라고 한다. 다시 브로드캐스트 도메인이란 방송을 하면 들리는 영역이라고 생각하면 쉽게 이해가 될 것이다. 

     

    그럼 방송을 듣는 사람은 받기 싫다고 해서 받지 않는 것이 아니라 무조건 받는다. 브로드캐스트의 주소는 미리 정해져있는데, 바로 FFFF.FFFF.FFFF(맥 어드레스로 했을 때)이다. 이 주소가 오면 랜카드는 비록 자신의 맥 어드레스와 같지는 않지만 이 브로드캐스트 패킷을 CPU에 보내게 된다. 그 다음은 CPU가 이 패킷을 알아서 처리하게 된다. 따라서 자신의 맥 어드레스와 다르면 바로 버리고 CPU를 괴롭히지 않았던 유니캐스트에비해 CPU가 할 일이 늘어난다. 브로드캐스트는 네트워크상의 전체 노드로 전송되기 때문에 전체적인 트래픽도 증가하지만, 이 패킷을 받은 모든 랜카드가 이 패킷을 CPU로 전송하기 때문에 CPU는 하던 일을 멈추고 또 다른 일을 해야하고, 이에 따라 전체 PC의 성능도 떨어지게 된다. 

     

    그럼 브로드캐스트는 어떤 경우에 발생할까? 예를 들어 처음 두 PC 간에 통신을 하는 경우는 상대편 맥 어드레스를 모른다. 상대편의 IP 주소는 알 수 있어도 말이다. 이 경우에 상대의 맥 어드레스를 알아내기 위해서 하는 동작이 바로 ARP이다. 이 ARP(Address Resolution Protocol) 가 바로 브로드 캐스트이다. 우리 동네 모든 사람들에게 "이 IP 주소 가진 사람 누구야?" 하고 브로드캐스트를 보내는 것이다. 그럼 그 IP주소를 가진 사람이 "나야!"하고 대답한 후 자신의 맥 어드레스를 보내게 되는데, 이런 과정을 ARP라고 한다. 그 외에도 라우터끼리 정보를 교환한다거나 다른 라우터를 찾을 때, 또 서버들이 자신이 어떤 서비스를 제공한다는 것을 모든 클라이언트들에게 알릴 때 등 여러 경우에 사용된다.

     

     

    📌 멀티캐스트(Muticast)

    : 200명의 사용자가 있는 네트워크에서 150명에게만 같은 정보를 동시에 보내야 하는 상황이라고 가정해볼때 서버는 어떻게 해야 이 정보를 동시에 150명의 사용자에게 뿌려줄 수 있을까?

     

    1. 유니캐스트를 사용하는 경우

    150명의 주소로 하나씩 전부보내주는 것. 일일이 각각의 주소를 적어넣은 편지를 150번 보내주는 것이다. 하지만 서버쪽에서 볼때는 같은 데이터를 150번이나 반복해서 보내야하기 때문에 트래픽을 증가시키게 된다.

     

    2. 브로드캐스트를 이용하는 경우

    브로드캐스트로 한 번에 모든 사용자 200명에게 보낸다. 이 경우 서버에서 한 번에 브로드캐스트 주소를 사용해서 보내기 때문에 유니캐스트처럼 150명에게 한 번씩 보낼 필요가 없다. 하지만 이 경우는 이 데이터를 받을 필요없는 나머지 50명 조차도 이 데이터를 받아야하는 문제가 생긴다. 

     

    3. 멀티캐스트를 사용하는 경우

    멀티캐스트는 보내고자 하는 그룹 멤버들에게만 한 번에 보낼 수 있다. 멀티캐스트는 라우터나 스위치에서 이 기능을 지원해 주어야만 쓸 수 있다. 만약 라우터나 스위치가 멀티캐스트를 지원하지 않는다면 라우터의 경우는 이러한 멀티캐스트를 마치 브로드캐스트처럼 취급해서 다 막아버리고 스위치의 경우는 모든 포트로 뿌려버린다.다시 말하자면 멀티캐스트는 그룹에 포함되고 또 그룹에서 빠져나가는 것을 정의하기 위해 몇  가지 기술을 사용한다. 또한 IP 주소의 경우도 클래스 D를 사용한다. 

     

     

    유니캐스트는 우리가 가장 많이 사용하는 통신 방법으로, 목적지 주소를 하나만 적어 특정한 PC에만 보내는 방식이고, 브로드캐스트는 그 브로드캐스트 도메인(영역)안에 있는 모든 PC들에게 한 번에 전송하는 방식이다. 이경우 모든 PC가 CPU에 인터럽트를 걸기 때문에 PC 성능이 떨어진다는 단점이 있다. 멀티캐스트는 특정 그룹 데이터를 보내는 경우 적당한 방법으로 유니캐스트와 브로드캐스트의 장점을 결합해서 한 번에 그룹 멤버들에게 다 보내면서도 그룹 멤버 이외의 PC에는 영향을 주지 않는다는 특징이 있다. 

     

     

     

     

    📑 OSI 7 Layer(레이어, 계층)

     

     

    OSI(Open Systems Interconnection) 7 Layer는 통신이 일어나는 과정을 7단계로 나누었다. 이는 통신을 7개의 단계별로 표준화하여 그 효율성을 높이기 위해 사용된다.

     

    => OSI 7계층 중에서 네트워크에서는 1, 2, 3 계층을 공부한다.

     

    그렇다면 왜 이렇게 나눴을까??

     

    📌 데이터의 흐름이 한눈에 보인다.

    : 우리가 사용하는 애플리케이션 계층부터 맨 마지막 피지컬 계층까지를 나누어 놓으니까 어떻게 데이터가 날아가는지 보기 쉽다. 

     

    📌 문제를 해결하기가 편리하다.

    : 네트워크에서 문제가 발생하면 이 문제 하나를 7개의 작은 문제로 나눈 후 그 문제를 해결하면 훨씬 쉽다. 예를 들어 자신의 PC가 전자메일이 안 된다면? 도스 모드로 빠져나가서 핑(Ping, Ping은 네트워크 계층에 속하는 프로그램으로 인터넷이 끊겼나 확인해본다.)을 쏴본다.  만약 핑을 쏴봤넨드 이상이 없으면 일단 네트워크 계층까지는 이상이 없는 거니까 맨 아래 피지컬, 그 다음 데이터 링크, 네트워크 계층까지의 문제는 아니라는 결론이 난다. 따라서 그 위의 계층부터 확인하면 된다. 

     

     


     

    1. 물리 계층 (Pysical Layer)

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

     

     

    2. 데이터 링크 (Data Link Layer)

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

     

     

    3. 네트워크 계층 (Network Layer)

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

     

     

    4. 트랜스포트 계층(Transport Layer)

    : 전송계층에서 하는 중요한 일은 주로 플로 컨트롤과 에러 복구 기능이다. 즉) 에러 복구를 위해 패킷을 재전송하거나 플로를 조절해서 데이터가 정상적으로 전송될 수 있도록 하는 역할을 한다.  TCP/UDP가 이 계층에 해당된다.

     

     

     


     

     

     

     

    해당 포스팅은 후니의 쉽게쓴 시스코 코딩을 내돈내산으로 구입 후 학습하기 위해 정리한 내용입니다. 😃

     

    반응형

    댓글

Designed by Tistory.