TCP/IP가 보이는 그림책(임세진, 이정현, 윤재웅)

Jaewoong
Quantum Ant
Published in
11 min readJul 26, 2019

제6장 데이터 링크 계층과 물리 계층

TCP/IP 5계층의 마지막 층들인 데이터 링크와 물리 계층에 대해서 알아보겠습니다.

지금까지 알아봤던 계층의 역할을 다시 한번 정리해보면

- 애플리케이션 → 서비스 실현

- 트랜스포트 → 데이터를 상대에게 전달한다.(서비스에 맞는 애플리케이션 프로토콜)

- 네트워크 → 데이터를 상대에게 전달한다.

l트랜스포트와 네트워크 계층은 ‘데이터를 상대에게 전달’이라는 목표는 같지만 트랜스포트는 보내는 방법, 네트워크는 보내는 주소이렇게 이해하면 편할 것 같습니다.

데이터 링크 계층의 역할

기기를 서로 연결하는 데에는 몇 가지 방법이 있으며, 동일한 방법으로 연결된 한 덩어리의 기기들을 데이터 링크(data link)라고 합니다.

데이터 링크 간의 차이를 흡수하고, 네트워크 계층보다 위에 있는 계층이 그 차이를 생각하지 않고 작동할 수 있도록 해주는 역할을 합니다.

그림에서처럼 각각의 데이터 링크 속의 연결 방법은 다르지만 데이터 링크 덕분에 원활한 연결이 가능해 집니다.

데이터 링크 계층에서는 데이터에 헤더를 붙인 것을 프레임(frame)이라 합니다.

(트랜스포트 : 패킷, 네트워크 : 데이터 그램)

물리 계층

그림과 같이 데이터 링크 안에서 신호가 흐르고 있는 부분을 물리 계층이라고 합니다.

이 곳에서 비트열과 신호의 변환이 일어나게 되는데, 그 방법은 기기가 갖고 있는 성질에 의존하기 때문에 정해진 프로토콜이 없습니다.

결국 데이터 링크 계층과 하나가 되어 통신을 유지하게 됩니다.

다시 데이터 링크로 돌아와서 구성하는 요소에 대해서 알아보도록 하겠습니다.

- 노드(node)

데이터 링크 상에 있는 기기들을 말합니다.

여기에는 컴퓨터나 라우터 등이 있습니다.

  • 통신 매체

노드 간 연결을 할 수 있게 해주는 케이블 등을 말합니다.

1. 금속선 케이블(구리선)

전압의 변화로 신호를 전달합니다.

2. 광섬유 케이블(유리)

빛의 점멸로 신호를 전달합니다.

3. 무선

케이블을 사용하지 않고 전파나 적외선으로 신호를 전달합니다.

- 노드와 통신 매체를 연결하는 기기

비트열과 신호를 변환하는 것으로, 네트워크 인터페이스 카드(NIC)나 모뎀 등이 있습니다.

네트워크 인터페이스 카드(NIC)

NIC[닉]은 네트워크에 접속할 수 있게 하기 위해 컴퓨터 내에 설치되는 확장 카드이다. 근거리통신망에 연결된 PC나 워크스테이션들은 대체로 이더넷이나 토큰링과 같은 근거리통신망 전송 기술을 위해 특별히 설계된 네트워크 카드를 장착하고 있습니다.

컴퓨터에서 네트워크로 가는 현관문이 되는 것이 바로 네트워크 인터페이스 카드입니다.

MAC(Media Access Control)

NIC에는 MAC 주소라는 고유한 번호가 할당되어 있으며, 데이터 링크 계층에서는 이 번호를 사용하여 기기를 판별합니다. 네트워크를 지나갈 때는 IP 주소가, 데이터 링크 계층 안으로 들어간 후에는 MAC 주소가 사용되는 것입니다.

MAC 주소는 48자리 비트열을 8비트씩

  • (콜론) 또는– (하이폰)으로 구분해서 16진수로 나타냅니다.

00–32–57–2F-9D-16

00:82:2F:2C:EF:2A

MAC 주소의 앞쪽부터6개의16진수가 생산자를 나타내는 코드입니다. 즉 이 코드는 회사에 따라 다르기 때문에 우리가 MAC 주소 앞 부분 주소를 보면 어느 회사에서 만든 통신 제품인지 알 수 있습니다. 그럼 나머지6자리의 수는 회사에서 각 장비에 나눠지는Host Identifier 입니다.

한마디로 시리얼 넘버라고 합니다. 즉 정리하자면 앞쪽6자리는 약속된 규칙에 따라 각 네트워크 장비를 만드는 회사에게 나누어주는 번호이고 나머지 반은 회사 내에서 장비를 구분하기 위해 일련번호로 만들어 부여하는 것입니다.

(그림에서 전체가 같은 데이터 링크에 포함된다고 가정)

- 브로드캐스트 MAC 주소로는 라우터를 넘어갈 수 없습니다.

같은 데이터 링크 내에 있는 모든 기기에게 보낼 수 있는 MAC 주소를 브로드캐스트(broadcast) MAC 주소라고 합니다. 브로드캐스트 MAC 주소는 모든 비트에 1이 들어가 있는 특수한? 특별한 주소 입니다.

ff : ff : ff : ff : ff : ff

데이터 링크 내에서는 MAC 주소를 사용하여 기기를 특정하기 때문에, IP 주소만으로는 수신인에게 전달 할 수 없습니다. IP 주소를 가지고 상대의 MAC 주소를 조사할 때는 ARP(Address Resolution Protocol) 프로토콜을 사용합니다.

네트워크 연결 방법

- 버스형

축이 되는 케이블에서 선을 빼서 그 끝에 노드를 연결합니다.

- 링형

이웃하는 양쪽 노드를 연결하여 링 모양으로 연결합니다.

링 내에서 노드의 고장이나 케이블의 절단 등이 한 군데라도 있다면 전체가 통신 할 수 없게 됩니다.

- 스타형

하나의 노드를 사이에 두고 다른 노드를 연결합니다.

네트워크를 집중 관리할 수는 있지만, 중심이 되는 노드가 고장이 나면 전체에 영향을 미칩니다.

- 망형

모든 노드를 일대일로 연결합니다.

일부 케이블이나 노드가 고장이 나도 그곳을 피해서 통신할 수 있습니다.

이더넷(Ethernet)

이더넷은 네트워킹의 한 방식입니다. 즉 네트워크를 만드는 방법 중 하나라고 생각하면 됩니다.

현재 사용하고 있는 네트워킹 방식의 거의90%가 이 방식입니다.이더넷의 가장 큰 특징은CSMA/CD ( Carrier Sense Multiple Access/Collision Detection )프로토콜을 사용하는 통신 방식입니다.(반이중통신으로 프레임을 주고 받습니다.)

CSMA/CD 방식은 통신하고자 하는 컴퓨터가 네트워크를 살펴봐서 아무도 통신을 하고 있지 않으면(네트워크에 통신이 발생되면carrier어 발생되고 이것이 감지되면 누군가 데이터를 나 말고 전달했다는 사실을 알게 됩니다.)무조건 자신의 데이터를 실어서 보내고 잘 도착했는지 확인해보는 방식이며, 그런데 만약 동시에 두 개 이상의 컴퓨터에서 데이터를 실어 보내려고 하면 충돌이 발생됩니다.(동시에 데이터를 다른 디바이스에서 보냈을 경우 충돌이 발생하므로 충돌이 발생했는지 탐지를 해야하는데 이것을collision detection 이라고 합니다.) 이 것을 콜리전이라고 하며, 이 콜리전이 발생하면 충돌된PC들은 자신이 보내려 했던 데이터를 랜덤한 시간 동안 대기했다가 다시 전송하는 방식을 취합니다.

현재는 스위칭 허브나 트위스트 페어 케이블, 광섬유 케이블 등이 보급되어, 전이중 통신으로 데이터를 주고 받을 수 있습니다.

토큰링( TokenRing )

토큰링 또한 네트워킹의 방식 중 하나입니다. 토큰링은 이더넷처럼 자기가 보내고 싶을 때 다른 장비에서 전송하고 있지 않다면 막 보내는 방식이 아니라, 오직 토큰을 가진PC에서만 네트워크에 데이터를 실어 보낼 수 있는 방식입니다.(보통 하나의 네트워크에는 하나의 토큰링이 존재합니다.)

장점은 콜리젼이 발생되지 않는다는 점이고, 단점은 현재 내가 보내고 싶은 데이터가 있다고 해도 토큰을 가지고 있지 않다면 내 차례가 올 때까지 대기해야 하며, 보낼 데이터가 없는 장비에도 토큰이 의무적으로 전달 받기 때문에 낭비가 될 수 있습니다. 요즘은 거의 쓰지 않는 방식 입니다.

FDDI(Fiber Distributed Data InterFace)

광섬유 케이블을 사용한 토큰 패싱 방식의 데이터 링크입니다.

1차와 2차는 반대방향으로 진행합니다. 만약 1차에 오류가 발생시 2차에서 동작을 진행 할 수 있습니다.

(구리선 케이블을 사용하면 CDDI)

무선 랜

무선 랜은 전파나 적외선을 이용해 데이터를 송수신하는 통신 방법입니다. 무선LAN과Wi-Fi 용어를 혼용하거나 같은 의미로 쓰여지고 있습니다. WLAN은 유선LAN을 무선화 하기 위해 전기전자기술자협회에서 IEEE802.11을 발표했습니다. IEEE802.11 기술규격의 브랜드 명이wireless fidelity이며, 줄여서 우리가 흔히 쓰고 있는 Wi-Fi(와이파이)라고 읽습니다.

PPP(Point-to-Point Protocol)

두 지점 간에 일대일 통신을 수행하는 프로토콜입니다.(사용자 인증)

PPP 프로토콜로서 데이터 링크 계층이긴 하지만, 라우팅을 포함한 원격으로 분리된2개의peer 사이를 개념적으로 연결하므로 내부적으로는 한 단계 위인 네트워크 계층의 성격을 가지고 있습니다. 즉, PPP는 네트워크 계층을 개념적으로 데이터 링크 계층으로 만들어 줍니다.

(PPP는 일대일 통신이므로 MAC주소는 사용하지 않습니다.)

PPPoE(PPP over Ethernet)

이더넷 상에 있는 두 대의 컴퓨터 간에 인증을 수행할 수 있도록 한 것입니다.

주로 xDSL이나 CATV 회선, 광회선을 사용하여 액세스 서버를 경유하여 인터넷에 접속할 때 사용합니다.

PPPoE는 모뎀과 같은 고객의 공용 장비를 통해 하나의 이더넷을 이용하는 여러 사용자들을 원격지에 있는 사이트에 연결하기 위한 규격입니다. PPPoE 기술은 사무실이나 빌딩 내의 모든 사용자들이 하나의DSL이나 케이블 모뎀 또는 무선접속을 공유하여 인터넷에 접속하는데 사용될 수 있습니다.

PPPoE는 다이얼업 접속에서 흔히 사용되는 PPP와 근거리통신망에서 여러 명의 사용자들을 지원하는 이더넷 프로토콜이 결합된 것이다. PPP 프로토콜 정보는 이더넷 프레임 내에 캡슐화됩닏다.

리피터

신호는 통신 매체나 주위 환경, 통신 거리 등의 영향을 받아서 신호가 약해지는 경우가 있습니다. 약해지는 정도가 심해지면 0인지1인지 판단을 할 수 없게 됩니다. 그래서 네트워크상에 신호를 보정하는 기기를 설치하고 신호의 일그러짐을 방지하는 것이 바로 리피터(repeater)입니다.

출처https://m.blog.naver.com/PostView.nhn?blogId=wnrjsxo&logNo=221182371834&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

통신 네트워크에서, 리피터는 전자기 또는 광학 전송매체 상에서 신호를 수신하고, 증폭하며, 매체의 다음 구간으로 재전송 시키는 리피터들은 전자기장 확산이나 케이블 손실로 인한 신호감쇠를 극복하므로, 여러 대의 리피터들을 써서 신호를 먼 거리까지 연장하는 것이 가능합니다.

리피터들은 근거리통신망 내에서 세그먼트들을 서로 연결하는데 사용되며, 또한 유무선 광역통신망 전송을 증폭하고 연장하는 데에도 사용됩니다.(현재는 허브가 리피터의 역할을 합니다.)

브리지

신호의 보정에 덧붙여 서로 다른 두 개의 데이터 링크를 연결하는 기능을 가진 기기를 브리지(bridge)라고 합니다. (말 그대로 다리라고 생각하면 됩니다.)

수신처의 MAC주소를 보고 흘러온 것과 다른 데이터 링크 앞으로 온 것이면 보내고, 같은 데이터 링크 앞으로 온 것이면 파기합니다.

  • 데이터 링크 및 물리 계층의 통신을 보조하는 역할을 합니다.

허브(hub)

네트워크 상에서 케이블을 나누기 위한 기기입니다.

하나의 신호를 여러 개의 케이블로 보내기 위해 신호를 증폭할 필요가 있다는 점에서 리피터의 역할도 갖고 있습니다.

(하나의 USB 포트에서 허브를 연결하여 키보드, 마우스, 충전까지 모두 할 수 있게 해주는 기기 정도로 생각하면 될 것 같습니다.)

스위칭 허브

목적지의 MAC 주소를 보고 여러 개의 접속처 중에서 특정 노드에만 신호를 보내는 기능을 갖고 있는 허브입니다.

하지만 목적지를 확인하고 갈 곳을 정하기 때문에 일반 허브보다 시간이 더 걸립니다.

--

--