한 걸음 두 걸음

스마트 네트워크 04 ] 이더넷(Ethernet) 본문

CSE/Network

스마트 네트워크 04 ] 이더넷(Ethernet)

언제나 변함없이 2019. 9. 16. 18:16
반응형

PRETEST
1.내 PC의 LAN 인터페이스의 최대 전송 속도와 실질 전송 속도는 각각얼마인가?

  • 1000Mbps / 1Gbps : 이렇게 차이나는 이유는 내 LAN의 인터페이스 사양이 좋아도, 상대박의 스위치나 케이블의 한계가 있기 때문이다.
    1. UTP에 비해 광케이블이 전송 속도가 높은 이유는 무엇인가? 두 가지만 쓰시오. https://namu.wiki/w/%EA%B4%91%EC%BC%80%EC%9D%B4%EB%B8%94#toc
    • UTP : 100Mbps
    • 광케이블 : 1Gbps
      구리선은 전기 신호를 보내는데, 전기가 지나가면 자기장이 발생하므로 신호가 왜곡된다. 하지만 광케이블은 빛을 보내고, 전송되는 빛끼리는 아무런 상호작용이 없기 때문에, 구리선처럼 왜곡문제, 신호전달 문제가 발생하지 않는다. 그리고 신호가 케이블을 통과하다 보면 케이블에서 에너지 손실이 일어나게 된다. 약해지는 신호를 증폭시키기 위해 리피터를 구간 구간마다 두는데 리피터도 하나의 장비이기 때문에, 지연이 발생할 수 밖에 없고, 이는 네트워크의 응답성(latency)과 대역폭(bandwidth)를 떨어트린다. 광케이블은 케이블 자체에서의 에너지 손실이 랜선이나 동축케이블(coaxial)보다 낮기 때문에, 중간에 신호를 증폭시켜주는 장비가 구리선보다 많이 들어갈 필요가 없다. 당연히 게임 등에서의 지연 시간(ping)이 낮아져서 빨라진다.

 

  1. MAC(Medium Access Control)이 필요한 이유는 무엇인가?
    여러 사람이 공유해서 사용하는 매체가 있는데(예 공유기) 많은 사람들이 접속해서 사용한다고 충돌해서 신호를 보내거나 받지 못하면 곤란하다. 때문에 한 번에 한 사람의 신호만 처리하여 충돌이 나지 않도록 MAC주소에 따라 접근 순서를 정해 자원을 분배한다. 이 때문에 사람들이 많이 몰려있는 공유WiFi를 사용할 경우 속도가 느려진다.

  2. Ethernet MAC의 이름은 무엇인가?
    CSMA/CD(Carrier Sense Multiple Access with Collision )

  3. Ethernet에서 프레임(frame)의 길이가 너무 짧으면 무슨 문제가 생길까?
    64바이트보다 작으면 안된다. 왜냐면 CSMA/CD가 동작할 때 최소 64바이트이상의 크기가 필요하기 때문이다.
    반송파감지 다숭접속 충돌발지를 위한 것인데 만약 64비트보다 작으면 충돌이 났음을 인지하고 보내지 못한다.
    https://xn--vj5b11biyw.kr/59
    https://passroot.tistory.com/42

*Operation of CSMA/CD

1) Check if Carrier(Cable) is in Idle State(No Signal Energy Detected) by Sensing The Carrier

2) If The Carrier is in Busy State(Signal Energy Detected), Defer until No Signal Energy Detected

3) If The Carrier is in Idle State, Wait an InterFrame Gap(9.6us) and Transmit Information Signals(Frame).

4) If No Collision Signal is Detected While Transmitting, The Transmission is Successfully Done

5) If Collision Signal is Detected While Transmitting, Stop The Transmission and Send Jam Signal to Notify Collision Occurrence

6) After Collision is Detected, Defer Random Number of Time Slots and Try to Retransmit.

= Carrier sense multiple access with collision detection는 반송파 감지 다중 접속 충돌 방지라는 뜻인데, 10Base5케이블을 사용하던 시절 500m를 보내는 10Base5를 5개까지 이어붙여 2.5km를 보냈다. 500m를 가는데 2.8us가 소요되므로 2.5km를 가는데 14us 왕복해서 28us이 소요됐다. 당시엔 리피터밖에 없었으므로 4개까지 이어붙이고 각 기기당 3us만큼 지연시간이 발생하므로 3*4*2(왕복)으로 24us이 소요됐다. 이 두가지를 모두 합하면 52us가 소요된다는 것을 알 수 있고 10Mbps인 10Base5에서 충돌을 감지하기위해 왕복시간에 맞춰 520비트 이상을 보내야했다. 520/8비트로 해서 최소 64비트는 되어야 충돌이 발생했는지 확인할 수 있는 것이다. 그래서 당시에 이더넷 프레임의 최소크기는 64비트였다. 충돌 발생여부를 탐지할 동안 프레임이 계속 전송되고 있어야 충돌 시 프레임 폐기 후 재전송을 할 수 있기 때문에 이와같이 최소길이를 맞춰준 것이다. 지금은 상관없다.

이더넷의 역사

속도가 점점 더 빨라지고 있음 지금은 400Gbps까지 나왔음!
1977, DIX Ethernet : Developed by Xerox, DEC and Intel Joined Later
1985, 10Base5, 10Base2 : Standardized by IEEE 802.3
1990, 10Base-T : Standardized by IEEE 802.3i
1995, 100Base-TX/FX : Standardized by IEEE 802.3u
1998, 1000Base-T, 1000Base-SX/LX/CX :Standardized by IEEE 802.3u
2002, 10GBase-S/L/E : Standardized by IEEE 802.3ae
2010년, IEEE 802.3ba 100Gigabit Ethernet
2017년, IEEE 802.3bs 400Gigabit Ethernet

최초의 이더넷

버스 형식의 이더넷으로
그러다가 케이블이 얆아지고 멀리 신호를 보내는 등의 기술을 거쳐 10BaseT라는 UTP케이블이 등장함. 이게 점점 더 발전하여 지금의 모습이 됨. ( 네트워크 토폴로지 형태는 보다 다양해졌다. )

10Base5 : 10Mbps + Transmission Method + 500m까지 통신한다는 뜻.
10BaseT : 10Mbps + Transmission Method + Twisted Pair

UTP 분류는 Thickness of Copper Wire, Number of Twist per Inch, UTP1 ~ UTP8인지에 따라 나뉘는데,

그렇게 나뉘어진 종류는 위와 같다.

Repeater Hub와 switch의 차이점

(성형방식 네트워크 연결)

최근거 switch = 목적지 주소를 보고 판단해서 보내주는 역할 (목적지와 연결되어있는 케이블로만 신호를 전송)
옛날거 repeater hun = 반복해서 정해진 경로로(신호가 들어온 케이블 외의 모든 케이블로 신호를 전송) 신호만 보내는 역할

Quiz
위 사진의 컴퓨터를 repeathub 4대로 연결했을 때가 빠를까 100대로 연결했을 때가 전송속도가 빠를까?
(보내는 신호와 받는 신호가 충돌이 나오면 안되므로 상대적으로 간섭이 적은 4대가 더 빠릅니다.)

나이퀴스트정리!

보통 네트워크를 설정할 때 시간의 대역을 많이 만들어봤자 구리의 잡음(방해)요인때문에 비효율적이므로, 왼쪽사진처럼 다양하게 만들 필요는 없다(그러므로 잡음이 없다.)

상 하에 전압이 있는가로 판별하면 bandwith(대역폭) 문제가 있으므로 맨체스터 방법(전압의 변호가 생겼을 때 꺾이는 방법)을 사용함!

Ethernet MAC의 필요성

여러 장치가 신호를 전송하는 하나의 매체를 공유하여 사용할 때, 해당 매체는 한 번에 한 사람의 신호만 처리할 수 있다면, 신호의 충돌을 막고 접근순서를 정해 순차적으로 처리해야한다.

순서 정해주는 방법

  1. 토큰 링(토큰을 가지고 있는 장치가 info를 보낼 수 있게 해줍니다.)
  2. CSMA(carrier sense multiple access) (통신을 원하는 사람이 해당 버스 라인에 신호를 보내고 있고, 누군가가 통신을 하고 있다면 wait하고 있다가 감지되는 전기 신호가 없으면 가서 통신 주도권을 잡아 사용합니다.)
    하지만 2번 방법에서 Collision Detection(CD) 이 발생하면(안쓰는 것 같아서 출발했는다 다른 컴퓨터들도 그래서 충돌함!) : 충돌을 했을 경우 다시 wait방식으로 돌아가는데 이 때, 기다리는 시간이 같으면 다시 충돌하므로 random한 wait시간을 갖고 다시 도전합니다.

Frame의 구조

(시작을 알리는 preamble)

는 다음과 같은데 여기서 data가 일정길이(46~1500) 이상이 되어야 하는 이유
200,000km/s(구리속도prop)

충돌이 발생하면 왕복해서 돌아올때까지 대기해서 알아내야하므로 최소한 64bit가 되어야합니다.

그렇지 않으면 충돌이 발생했을 때 알기 전에 데이터를 다 전송해서 문제가 발생합니다.


광케이블의 경우 빛의 유무를 확인하여 0,1을 만들어내는데 빛이 꺾여서 들어가기 때문에
300,000km/s(이론적) 실제 -> 약 20만km/s로 이동합니다.

반응형