Data Communication 13 - Ethernet

Blue·2022년 12월 11일
0

Ethernet 은 대표적으로 많이 쓰는 Local Area Network 이다.
Ether 는 Passive로 수동이라는 의미를 담고있는데 , A 에서 D 로 연결되어있고 데이터를 보낼떄 스스로 신호를 만드는것이 아닌 신호를 직접 전달한다해서 수동의 의미를 담고 있다.

IEEE Standard for LANs

NIC 라고 Network Interface Card 에는 PHY,DL 계층이 알아서 다 구현되어있다. 알아서 다 맞춰준다.

OSI 에 있는 PHY,DL 계층에서 DL 계층은 LLC와 MAC 으로 나뉜다는것을 전에 배웠다.

MAC 에는 엄청 많이 또 나눠져있는데, Token ring MAC,Token bus MAC이 대표적이다.

Token bus MAC 은 BUS 상태에서 Token 을 돌리 면서 Medium 의 접근을 제어한다. 논리적으로는 Ring 형식이지만 물리적으로는 BUS 형식이다.

Token ring MAC 은 Physical Ring 형태로 medium 에 대한 접근을 제어한다.

MAC Protocols

Media 에 접근하기 위해서 시간을 달리할지, 주파수를 달리할수 있다.

Channelization Protocols

FDMA,TDMA, CDMA 가 여기에 해당한다.

이렇게 A 부터 G 까지 연결되어있을때 A,B,C,D 가 사용하는 Channel 이 다르면 자기 들끼리 전송이 가능하다. 근데 이러한 Channel 은 누가 할당하냐?

이러한 Channel 이 없기에 사용하지 않는다.

Controlled-Access Protocol

Reservation , Polling , Token Passing 이 여기에 해당한다.

Controlled Access Protocol 은 control 를 통해서 Medium 을 접근하는데 Reservation 은 Scheduler 를 통해서 접근관리를 한다.
근데 이러한 Scheduler 도 누가 해주냐는 문제가 있다.

Polling 은 Primary 가 Secondary 에게 보낼 정보가 있냐? 라고 물어보는 방식이다. 그런데 Primary 가 보내는데 이러한 Primary 를 누가 하냐? 라는 문제가 있다.

Token Passing 도 토큰을 통해서 접근이 가능하게 하는데 Token 도 Message 이다. 근데 이러한 message 를 잃어버리면 안되는것이다.
안 잃어버리게 Message 관리를 해줘야한다.

Ethernet

MAC Protocol 중 Random Access Protocol 의 대표가 Ethernet이다.

Traditional Ethernet

근데 Random Access 가 뭐냐?

맨처음 Random Access 기법으로 나온것이 Pure ALOHA 이다.
데이터를 무선으로 전송하는 기법으로 언제든지 Data를 보낼수 있다.

Channel 의 Maximum utilization 이 약 18퍼라고 한다.

그리고 다음으로 나온것이 slotted ALOHA 이다.
Channel 의 Maximum utilization 이 약 37퍼 증가했다고 한다.

Pure ALOHA

station 1 부터 4 까지 모두가 Data 를 보내고 싶을떄 보낸다.
그리고 Data 를 보내면 ACK 가 오게 된다.
여기서 모두가 Data 를 보내고 싶을떄 보내게 되면 Data 가 겹치는 부분이 있을것이다. 보낼수있는 전송 범위가 있고 만약 Station 1과 2 가 동시에 보내면 짬뽕이 되어버릴것이다.

만약 내가 병석이랑 얘기하는데 민기형이 옆에서 또 얘기하는것과 같은 말.
이렇게 되면 대화가 안될것이다.
이것이 Collision 이다.

그림 처럼 겹치는 부분이 Collision 이다.
겹치는 부분 즉 Collision 이 있으면 ACK 이 오지 않아서 재전송 해야한다.

이게 Pure ALOHA 가 이뤄지는 방식인데, 먼저 K 는 0 으로 시작해서 Frame 을 보내고 2*TP 의 시간을 기다린다. 왜냐 갔다가 오는데 ACK 를 기다리는 시간이기 떄문.
그리고 ACK 가 도착했으면 SUCCESS 로 가면 된다.
하지만 ACK 가 도착하지 않았으면 K를 + 1 해주고 여러번 이렇게 반복하다가
K 가 K(max) 보다 커지게 되면 포기한다. abort 한다는 말.

여기서 A 의 프레임 크기를 L 이라하고 B의 프레임 크기를 L 이라 가정한다.
A 가 전송하다 거의 끝에 B 가 전송을 하게 된다면 이것 역시 겹치는 부분이 생겨서 Collision 이 생기게 된다.

2L 이라는 시간이 그냥 낭비가 되는데 이걸 어떻게 줄여줄까?
해서 나온것이 Slotted ALOHA 이다.

Slotted ALOHA

Slot 을 나눠서 Slot 시작할떄 Data 를 보내는 방식이다.
그리고 하나의 Data 는 하나의 Slot 만 차지를 하게된다.

앞에서 PURE ALOHA 는 겹치는 부분이 끝에 생기게 된다면 2L 이라는 시간이 낭비된다고 했다.
근데 만약 이렇게 SLOT 으로 나눠버리면 2L 낭비될껄 1SlOT 만 낭비되게 되는것이다.

이게 Slotted ALOHA 의 Flow Chart 이다.

여기서 1SLOT 이 낭비되는것을 확인했다.
이게 지금 1SLOT 에도 겹치는게 생겨버려서 이런 문제가 생긴다.

Carrier 주파수가 있으면 누군가 미리 사용하고 있는지 Sensing 을 해줘야하는데 Pure, Slotted 는 이런 Sensing 을 해주지 않아서 이런 문제가 생긴다.

그래서 생긴게 다음 이다.

CSMA/CD Precrsors

CSMA 는 Carrier Sense Multiple Access 이다.
위에서 Carrier Sensing 을 해주지 않아서 문제가 생긴다했는데, 그럼 해주면 된다.

현재 Station 에서 전송을 하고있는지 들어보고 아무도 없으면 보내면 되는것이다.

만약 iDLE 하다면 전송하고 ACK 를 기다린다.
근데 만약 ACK 가 오지 않는다면 Collision 이고 재전송을한다.

근데 사실 이거 해결된다고 다 해결되는건 아니다.

station A,B,C,D 가 각각 전송을 할떄 서로가 전송이 보내지는게 있는지 보고 없으면 자기들이 보내면 된다.
근데 현재 진행중인 Transmission 이 없으니까 서로가 보낼려고할것이다.
그러면 Multiple Access 를 하게 될것이다.
이러면 Collision 인것이다.

그래서 CSMA 만으로 부족한것이다.
CD 즉 Collision Detection 을 해줘야하는것이다.

CSMA Persistence and Back-off

Persistence 에 3가지 종류가 있다.
현재 지금 Channel Busy 로 다른 애가 보내고 있다 가정한다.

1-Persistent

1- Persistent 는 대기하다가 바로 보내는것이다.
만약 ACK 이 오지 않으면 Collision 이다.

P-Persistent

끝날떄까지 기다리는건 1-Persistent 와 같지만, 기다리다가 P의 확률로 접근하는것이다.

NonPersistent

누가 보내고 있으면 아에 나중에 보내겠다 라는 의미.

Description of CSMA/CD

  1. 만약 Medium 이 Idle 하면 보낸다. 그렇지 않으면 2번으로 간다.

  2. 만약 Medium 이 Busy 하면 계속 기다린다.
    Channel 이 idle 할떄까지 기다린다.

  3. 만약 Collision 이 감지가 된다면 Jamming Seqeunce 를 보낸다.
    Jamming Sequence 는 다른 애들도 충돌이 생겼다는 사실을 알고, Data 를 전송 중지 시키기 위해 보내는 Signal 이다.

  4. 그리고 Random 한 시간을 기다린다. 이 Random 한 시간을 Backoff TIme 이라고 한다.

CSMA/CD FlowChart

먼저 K=0 으로 시작해서 1,P,NON Persistent 중에서 고른다.

그리고 Collision 이 Detection 됐는지 확인해야한다.
신호를 보내고 다시 읽어들어서 신호가 같으면 충돌이 없는것으로 판단한다.
( 에너지를 비교해서 충돌이 있는지 없는지도 확인 가능하다. 두개의 에너지의 차를 보고 확인가능하다)

여기서 충돌이 감지되지 않으면 SUCCESS 로 가게 되고 충돌이 감지된다면 Jamming Signal 을 보내면 된다.

K 를 +1 해서 k가 K(max) 보다 크게 된다면 포기(Abort) 하면 된다.
그렇지 않으면 Random Number R 을 만들어서 R * Ta(프레임 평균 전송시간) 인 Tb시간을 기다린다. 이렇게 계속 반복하면 된다.
랜덤 숫자인 R은 0에서 2의 K 제곱 -1 인데 처음이 0 부터시작해서 k를 증가시키면서 간다면 똑같은 시간대를 고를 확률이 줄어든다.

Binary Exponential BackOff

IEEE 802.3 은 1-persistent 를 사용한다.
IEEE 802.3 은 CSMA/CD 이다.

그리고 IEEE 802.3 그리고 Ethernet 은 binary exponential back-off 를 사용한다.

아까 Random 수를 고를떄 K가 증가함에따라 같은 시간대를 고를 확률이 줄어든다고 했다.

하지만 이것도 나름 규칙이있는데 처음 10번까지는 Random delay double 을 시킨다.

그리고 뒤에 6번은 같은 수로 증가시킨다.
16번 후 포기한다는 말이다.

2배씩 Random 한 수의 범위를 늘려가기에 2의 16제곱만 해도 값이 너무 커버려서 16번만 시도를 하는것이다.

IEEE 802.3 MAC Frame Format

처음 Preamble 이랑 SFD 를 합쳐서 PA 라고 하기도 한다.
SFD 는 Frame 의 시작을 뜻한다.
10101011 이 Frame 의 시작을 뜻한다.

MAC Address 의 앞에 3Byte 는 제조업체를 뜻하고 뒤의 3Byte 는 제조업체에서 붙인다.
Destination Address 는 받을 주소로 MACb 라고 가정하고 Source Address 는 보내는 주소로 MACa 이라 가정한다.

a에서 b로 보내는데 사실 C도 읽긴한다. 하지만 C는 DA를 보고 자기가 안받으면 된다.

그리고 Data and Padding 은 실제 데이터를 보내는것이다.
하지만 데이터 보내는것에 제한이 있다.

최소 46Byte 에서 최대 1500Byte 라고 한다.
왜 이렇게 제한이 있을까? 하는데 생각해보자 만약 40Byte 보내고 싶어도 최소 46byte 여서 못보낸다 하자.

일단 최대크기보다 더 큰걸 보낸다 생각해보자.
A,B,C,D 가 있을떄 A가 엄청 큰걸 보내면 A가 독점하게 될것이다.
그리고 최소크기보다 작은걸 보내면 작은거 3개를 보냈을떄 충돌감지되면 누구의 충돌인지 몰라서 재전송이 불가하게 되기 때문이다.

IEEE 802.3 10-Mpbs Physical Layer Medium Alternatives

10BASE5 의 10 은 속도를 뜻하고 BASE 는 Base Band 를 말하고 5는 거리를 말한다.

Type of Ethernet

Bridge Ethernet , Switch Ethernet , Full-duplex Ethernet

Bridge Ethernet 은 중간에 Bridge 를 둔것이고
Switch Ethernet 은 중간에 Switch 를 둔것이다.
Full-duplex Ethernet 서로 주고 받기가 된다.

Bridged Ethernet

a 처럼 Bridge 가 없을땐 이렇게 있다가 독립하게 되면 b 는 Lan Segment 간에 MAC 이 달라도 되는 장점이 있다.

Switched Ethernet

Switch 를 두고 Traffic 을 분산시긴다.

A,B 와 통신이 가능하고 C,D 가 통신이 가능하다.

Full-Duplex Ethernet

보내고 받는게 동시에 가능한 Full-duplex ㅇ다.

Switch 를 두고 선이 두개가 있어서 보내고 받는게 가능하다.
CSMA/CD 가 필요가 없다.
Data 에 대한 송수신이 동시에 이뤄지기 때문이다.

Fast Ethernet

data rate 는 100Mpbs 까지 증가하고, Standard Ethernet 이 호환이 되고, 48bit(6Byte) 사용한다. 동일한 Frame format 을 가진다.

Access method 로는 250 m 까지 최대 크기 network 를 가진다.
CSMA/CD 가 필요가 없다.
CSMA/CD 를 사용한다는 말은 데이터를 동시에 보낼수있고 Detection 한다는 말인데 Fast Ethernet 은 Switch 를 사용하기 떄문에 CSMA/CD 를 사용하지 않는다.

Encoding 방식을 다르게해서 속도를 증가시켰다.

Gigabit Ethernet

1Gpbs 까지 upgrade 가 됐고 Standard,Fast Ethernet 와 호환이 가능하다.
똑같이 48bit Frame 을 사용하고 Frame Format 이 같다.
Minimum & Maximu Frame Length 도 같다.

MAC Sublayer

Full-Duplex Mode 에는 보내고 받는게 동시에 가능하기 때문에 CSMA/CD 가 필요하지 않다.

Half-Duplex Mode 에는 보내는거 받는걸 따로한다. 그래서 보낼떄 다른애가 보내면 충돌난다.

앞에서는 UTP 를 썼는데, 여기선 STP 를 사용한다.
그리고 UTP 를 써도 선을 늘렸다.

10Gpbs Ethernet

10Gbps 까지 증가했다.
UTP 나 STP 는 한계가 있다.
그래서 Optical fiber에 의존한다. 하지만 광섬유는 비싸다.

100Gpbs Ethernet

이건 너무 빠른데 어디다 쓰는지 알아보니 Data Center 같은데서 사용한다고 한다.

이렇게 컴퓨터를 쌓아둔다. 그리고 Rack 이있음
이렇게 쌓아두는걸 Blade 라고 한다. 젤위에 있는 Switch 를 Top of Rack 이라고 한다.
= TOR S/W

그리고 중앙에 있는 Switch 를 Software 적으로 Control 해야한다.
Software defined network 라고 하는 SDN 이다.

profile
할수있다가 아닌 해야한다!!

0개의 댓글