글 작성자: nouu

참고

http://www.yes24.com/Product/Goods/58259041

 

킹 오브 네트워킹 KING of Networking - YES24

네트워킹 입문, 실습 한 번씩이면 족하다. 예제 720개로 입문부터 실전까지 끝낸다.프로그래밍 분야와 달리 네트워킹 분야는 연습과 반복이 중요하지 않다. 길게 풀어쓴 백 마디 이론보다 정확한

www.yes24.com

https://blog.naver.com/stop2y/100209699993

 

LAN의 전송 방식 베이스밴드와 브로드밴드

LAN 전송 방식 LAN에서 케이블(유선 전송)을 이용하여 데이터를 전송하는 방식은 두가지로 나뉜다. ...

blog.naver.com

https://ko.wikipedia.org/wiki/IEEE_802.2

 

IEEE 802.2 - 위키백과, 우리 모두의 백과사전

 

ko.wikipedia.org

https://velog.io/@inyong_pang/UTPSTP%EC%BC%80%EC%9D%B4%EB%B8%94-%EA%B4%91%EC%BC%80%EC%9D%B4%EB%B8%94

 

UTP/STP케이블, 광케이블

UTP(Unshield Twisted Pair)케이블 트위스트 페어는 두가닥의 선을 꼬아서 하나의 페어로 만들어서 생긴 이름 (+)신호와 (-)신호를 꼬아서 보내게 되면 산섭 신호를 상당량 방지할 수 있기 때문에 별도의

velog.io

 

 

목적

네트워크 CS 이론에 대해 머릿속에 다시 상기시키고자 해당 글을 작성한다.

 

 

이더넷이란? : IEEE802.2와 IEEE802.3에서 정의한 표준을 따르며, LAN 구간에서 사용되는 물리 계층 및 데이터 링크 계층 프로토콜이다. 

 

이더넷의 물리계층에서는 이더넷의 전송속도, 케이블의 규격이 정해져있으며, 데이터 링크 계층에서는 프레임의 포맷과 전송 방식의 규격이 정해져있다. 이더넷은 건물 내부의 통신인 LAN뿐만 아니라 MAN에서도 사용. MAN에서 사용하는 이더넷을 메트로 이더넷이라고 부른다.

 

 

이더넷 물리계층

더보기

이더넷 물리 계층은 신호 변환방식(baseband), 속도, LAN에서 사용되는 커넥터 및 케이블 종류등을 정의한다. (IEEE802.3)

 

 

광섬유 케이블(FiberObtic)
STP(Shield Twisted Pair Cable)

 

UTP(Unshield Twisted Pair Cable)
1000BaseSX
100BaseT

이더넷의 물리 계층을 정의하는 방법은 속도(Mbps) 데이터 전송 방식(보통 BaseBand) 케이블의 커넥터 모양(Twisted)로 정의한다. (광 케이블은 세번째 자리에 단거리(SR)인지 장거리(LR)인지를 표기한다. 

10BaseT

4가닥의 UTP 케이블을 사용하는 10Mbps 이더넷 표준으로 최대 전송거리는 100미터이다. 

 

100BaseT

4가닥의 UTP 케이블을 사용하는 100Mbps 이더넷 표준으로 최대 전송거리는 100미터이다. 100Mbps를 패스트 이더넷이라고 한다. 제일 많이 쓰이는 표준임. 

 

1000BaseT

8가닥의 twisted pair 케이블을 사용하는 1000Mbps(1Gbps) 이더넷 표준으로 최대 전송거리는 100미터이다. 해당 이더넷을 기가비트 이더넷이라고 한다. 

 

1000BaseSX 

광 케이블을 사용하는 1000Mbps 이더넷 표준이며, 최대 전송거리 550미터이다.

 

1000BaseLX 

광 케이블을 사용하는 1000Mbps 이더넷 표준으로 최대 전송거리는 5km이다.

 

10GBaseSR

광 케이블을 사용하는 10Gbps 이더넷 표준이다. 최대 전송거리는 300m이다. 

 

10GBaseLR

광 케이블을 사용하는 10Gbps 이더넷 표준이다. 최대 전송거리는 케이블의 종류에 따라 25km이다.

 

40GBase-T

 cat.8 twisted pair 케이블을 사용하는 40Gbps 이더넷 표준으로 최대 전송거리는 30미터 이다. 

 

 

 

 

이더넷 케이블은 크게 광 케이블(FiberOpticCable)과 TP 케이블(TwistedPairCable)로 나뉜다. 

 

TP 케이블은 TIA 라는 단체가 정의한 카테고리 5, 5e, 6, 6a,  7, 7a, 8이 있다. 여기서 가장 많이 쓰이는 100Mbps 이더넷용으로는 카테고리5, 1Gbps는 5e 케이블을 사용한다. TP 케이블은 UTP와 STP로 나뉘는데, STP는 알류미늄 테이프 같은 은박지가 차폐가 된 TP 케이블이며, UTP는 그렇지 않은 케이블이다. 주로 은박지가 차폐 되지 않은 UTP를 많이 쓴다. 

 

광 케이블은 레이저의 파장과 전송모드, 광 케이블의 지름에 따라 규격이 분류되고 전송 거리가 달라진다. 전송모드는 멀티모드싱글모드가 있으며, 싱글모드의 전송 거리가 더 길다. 또한 광 케이블의 지름이 작을수록 전송 거리가 길다.

 

광 케이블보다 보통 TP 케이블을 더 흔하게 볼 수있고, 그 중에서 UTP 케이블을 예시로 설명을 해본다.

 

 이더넷 케이블은 RJ45 커넥터를 이용하여 연결한다. 8개의 핀이 존재하며 케이블의 8가닥을 다음과 같이 색깔별로 RJ45 커넥터와 연결한다. 두가지의 케이블링으로 나뉘며, T568B 케이블링과 T568A 케이블링이 있다.

 

T568B 케이블링

T568B 케이블링
RJ45 핀 번호 1 2 3 4 5 6 7 8
색깔 흰주 흰파 흰녹 흰갈

주주파파녹녹갈갈

 

 

 

 

 T568A 케이블링

RJ45 핀 번호 1 2 3 4 5 6 7 8
색깔 흰녹 흰주 흰파 흰갈

녹녹주파파주갈갈

1,2,3,6 번 핀 번호에 의해서 T568A와 T568B 케이블링으로 나뉘는 것을 알 수 있다. 

 

 

다이렉트 케이블과 크로스 케이블 

다이렉트 케이블은 다음과 같이 양 끝 가닥을 T568B 케이블링으로 만들 수 있다. 

흰주 흰파 흰초 흰갈
흰주 흰파 흰초 흰갈

 주로 다른 계층의 장비끼리 연결을 할 때 해당 이더넷 케이블을 사용한다.(ex 라우터와 스위치) 

장비 사이에 다이렉트 케이블로 연결 된 모습 

 

반면 크로스 케이블은 T568A - T568B 케이블링으로 만들 수 있다. 

흰주 흰파 흰초 흰갈
흰초 흰파 흰주 흰갈

 주로 다음과 같이 동일 계층의 장비를 연결할 때 사용한다. 

네트워크 장비 사이에 크로스 케이블로 연결 된 모습

 

하지만 요즘 나온 네트워크 장비들은 다이렉트 케이블을 사용해도 자동으로 감지하는 기능이 있어 같은 계층을 다이렉트 케이블로 연결해도 통신이 된다. 해당 원리는 다음에 기회가 될 때 작성한다. (도대체 어떤 원리일까?Why?)

 

 

 

 

 

이더넷 데이터링크 계층

더보기

이더넷 프레임의 포맷 (단위 Bytes)

프리앰블 SOF(Start Of Frame) 목적지 MAC 출발지 MAC 길이/타입 데이터 FCS
8(101010...) 1(10101011) 6 6 2 46 ~ 1500(상위 계층 encapsulation) 4

 

프리앰블(preeamble) : 서문이라는 뜻을 가지며, 10101010이 7바이트 길이의 필드이다. 수신 측에게 이제 곧 도착할 이더넷 프레임에서 0과 1을 제대로 구분할 수 있도록 동기(sync) 신호를 제공하는 역할을 한다. 

 

SOF(Start Of Frame) : 프리앰블과 달리 마지막 비트가 1인 10101011의 값을 가진다. 프레임의 시작을 알리며, 11 다음 오는 목적지 MAC 주소와 프리앰블을 명확히 구분해준다.

 

보통 이더넷 프레임의 프리앰블(7bytes) + SOF(Start Of Frame)(1bytes) 총 8바이트는 프레임 헤더 길이에서 제외한다. (이것을 포함한다면 18 + 8 = 26bytes가 된다... 기억 또 기억!) 

 

 

 

 

목적지 MAC 주소 : 하나의 브로드캐스트 LAN 구간에서 구별되는 식별 주소이다. 2계층 기반인 이더넷 기반의 장비 링크 계층 주소를 나타낸다. MAC 주소는 48비트(6바이트)로 구성되며, 16진수로 표시한다. MAC 주소의 앞부분 24비트를 OUI(Organizationally Unique Identifier)또는 회사의 고유 코드라고 한다. IEEE(전자 전기 기술자 협회)에 일정 고유한 코드를 부여받을 수 있다.

 

MAC 주소의 첫 번째 비트는 유니캐스트 또는 멀티캐스트를 나타낸다. 0이면 유니캐스트이며, 1이면 멀티캐스트이다. MAC 주소가 모두 1이면 브로드캐스트이다. 

MAC 주소의 두 번째 비트는 사설 또는 공인 MAC 주소를 뜻한다. 0이면 공인, 1이면 사설 MAC 주소이다. 

실제 OUI 주소는 24비트(3바이트)가 아닌 22비트이다. (2^22 이므로 4,194,304개를 할당 할 수 있다.)

그리고 IEEE(전기 전자 기술자 협회)에 일정 돈을 내면 OUI 주소를 부여 받는다.(공짜는 없다)

 

MAC 주소의 뒷부분 24비트는 회사가 장비에 부여하는 주소이다. 자체 일련번호를 부여하여 사용하는 것이다. MAC 주소는 물리적인 포트에 할당하는 주소이므로 물리적인 주소(Physical address)라고도 한다. 일련번호는 24비트이므로 하나의 OUI 당 약 2^24개, 즉 16,777,216개의 MAC 주소를 자체 제품의 포트에 할당할 수 있다.

 

 

출발지 MAC 주소 : 출발지 MAC 주소는 이더넷 프레임이 전송되는 출발지 이더넷 포트의 MAC 주소가 표시된다. 출발지 MAC 주소는 항상 유니캐스트 주소이다. 첫번째 비트가 1인 주소

 

 

길이/이더타입 : 이더넷 프레임의 데이터 필드 길이(encapsulation 된 데이터 길이), 상위 계층인 인터넷 계층의 어떠한 프로토콜을 사용했는지 프로토콜의 종류를 표시한다. 만약 이 값이 1500이하이면 프레임의 데이터 필드 길이를 표시한다.

 

 

데이터 길이 : 이더넷 데이터 필드는 46바이트 ~ 1500바이트 이다. 데이터 길이가 46바이트 미만이라면 의미가 없는 비트를 패딩(padding, 메워넣기)해서 46바이트로 만들어준다. 

 

 

FCS(Frame Check Sequence) : 이더넷 프레임의 목적지 MAC 주소부터 데이터 길이 필드까지 CRC 검출 기법을 통해 에러 발생 여부를 확인하는 필드이다. 이 필드는 헤더가 아닌 트레일러 즉, 이더넷 꼬리 부분의 필드이다.

 

 

 

 

 

 

 

 

CSMA/CD

 

CSMA/CD란? Carrier-sense multiple access with collision detection(반송파 감지 다중 접속 및 충돌 탐지) 

CSMA/CD는 LAN의 근간이 되는 Ethernet에서 장치가 매체에 접속하는 것을 관리하는 방식이다. (후니의 시스코 네트워킹 서적에서는 눈치를 보면서 통신을 하는 것이라고 나와있다. 정말 찰떡 같은 비유다.)

 

CSMA/CD의 개념을 익히기 위해서는 통신의 역사가 필요하다. 

 

과거 인터넷이 잘 보급되지 않은 시절의 토폴로지이다. 

 

오늘 날의 LAN 구성은 스위치나 라우터나 허브였지만 초창기 LAN은 위와 같은 사진으로 구성되어 있었다. 구성 요소는 Terminator, LAN 연결용 탭, 컴퓨터가 있었음. 임의의 종단 장비가 데이터를 전송하면 해당 랜은 임의의 종단 장비를 위한 랜선이 된다. 해당 토폴로지는 치명적인 단점이 많이 존재했다. 네트워크가 보급화되면서 통신의 양이 많아지며, 거리가 멀면 비트열 송수신의 전기적 신호 약화가 되고, 확장성이 낮아 통신의 한계를 느꼈으며, 만약 두개 이상의 종단 장비가 송신을 한다면 collisionDomain(콜리전도메인)이 일어나는 문제 등이 발생했다.

 

CollisionDomain 이란? 특정 데이터(메시지나 패킷등) 전송 시 충돌이 일어나는 영역(도메인)이라고 이해하면 쉽다.

 

 

 

송수신의 전기적 신호 약화 해결과 확장성을 해결하고자 나온 장비가 리피터와 허브였다. 100m 거리까지 비트열 송수신 가능한 10BaseT의 단점을 리피터가 해결했으며, 확장성의 단점을 다수의 포트와 리피터의 기능을 탑재한 허브가 해결했다. 이 두 장비는 전기적 신호를 관여하는 1계층인 Physical Layer 기반의 장비라고 한다. 

 

하지만 CSMA/CD의 CollisionDomain의 문제는 해결되지 못했다. 

10.10.10.4와 10.10.10.3이 10.10.10.1로 ICMP Ping 통신을 하는 모습

 

This frame collided with another frame at the device

 

 자! 위와 같은 이미지를 보라! 허브를 이용하여 동시에 출발지 10.10.10.3, 10.10.10.4가 목적지 10.10.10.1로 통신을 보냈지만 허브에서 collision이 일어난다. 결국 해당 패킷은 폐기가 된다. 

 

 

ARP 기반의 송신 패킷이 collisionDomain에 의해 수신 패킷도 폐기가 되어 drop 되는 모습이다 ㅠㅠ

 

즉, 하나의 허브는 하나의 collisionDomain을 가지고 있으며, collisionDomain을 기반한 CSMA/CD는 다음과 같은 알고리즘으로 진행된다.

 

CSMA/CD 알고리즘 절차, Exponential Backoff 알고리즘과 jam 신호 전송을 기반하여 충돌 방지 및 재전송을 한다

 

exponential backoff 알고리즘은 랜덤으로 정해진다. why? 또 collision이 일어나면 안되니까요~

 

PC2가 랜덤한 backoff 알고리즘에 의해 ARP가 재전송이 이루어지는 모습이다. PC3은 아직 재전송이 이루어지지 않는 모습

 

PC3이 허브에 ARP를 송신했지만 PC2가 허브에 보낸 ARP 패킷 때문에 Flooding이 일어나 collision이 되는 모습

 

정말 하나의 collisionDomain인 허브는 다수의 PC가 데이터를 전송하는 과정에서 collision이 빈번하게 일어나므로 불편함이 증가했다. 이를 스위치로 해결했다.

 

 스위치는 2계층 기반의 MAC주소 통신(MAC 주소를 기반, MAC 주소 테이블을 만들어 프레임을 전달하는 방식)이다. 전이중 통신인 Full-duplex 기반의 통신을 지향하며, 이는 더 이상 CSMA/CD의 Collision 문제를 해소하게 되었으며, 브로드캐스트 도메인만을 신경쓰게 만드는 근원이 됨.