다른 명령
새 문서: 상위 문서: 컴퓨터 네트워크 ==개요== Data-link layer<ref>약칭은 link layer이다.</ref>는 한 노드에서 물리적으로 인접한 노드로 데이터그램을 전송하는 계층이다. 이때 link layer는 각 링크에 따라 개별적으로 구현되므로, 데이터그램은 각기 다른 링크들에서 각기 다른 link layer의 프로토콜을 통해 전송된다. 예를 들어 첫 링크는 Ethernet 프로토콜을, 중간 링크들은 frame rela... |
편집 요약 없음 |
||
| 6번째 줄: | 6번째 줄: | ||
==용어 정리== | ==용어 정리== | ||
노드(node)란 해당 문서와 그 하위 문서에서는 link layer을 실행하는 모든 장치를 의미한다. 노드에는 호스트, 라우터, 스위치, WiFi 액세스 포인트 등이 포함된다. 또한 링크(link): 통신 경로를 따라 인접한 노드들을 연결하는 통신 채널(channel)들을 의미한다. 따라서 데이터그램이 송신 호스트로부터 수신 호스트로 전달되기 위해서는, 그 종단 간(end-to-end) 경로를 구성하는 각 개별 링크들을 통해 이동되어야 한다. 이때 각 링크에서 송신 노드는 데이터그램을 link layer의 데이터 단위인 프레임으로 캡슐화하고 이를 링크로 전송한다. | 노드(node)란 해당 문서와 그 하위 문서에서는 link layer을 실행하는 모든 장치를 의미한다. 노드에는 호스트, 라우터, 스위치, WiFi 액세스 포인트 등이 포함된다. 또한 링크(link): 통신 경로를 따라 인접한 노드들을 연결하는 통신 채널(channel)들을 의미한다. 따라서 데이터그램이 송신 호스트로부터 수신 호스트로 전달되기 위해서는, 그 종단 간(end-to-end) 경로를 구성하는 각 개별 링크들을 통해 이동되어야 한다. 이때 각 링크에서 송신 노드는 데이터그램을 link layer의 데이터 단위인 프레임으로 캡슐화하고 이를 링크로 전송한다. | ||
==The Services Provided by the Link Layer== | |||
Link layer의 기본적인 서비스는 하나의 통신 링크를 통해 데이터그램을 한 노드에서 인접한 다른 노드로 전송하는 것이다. 하지만 실제로 제공되는 서비스의 세부 사항은 각 link layer의 프로토콜마다 다를 수 있다. 이때, link layer가 제공할 수 있는 가능한 서비스들은 다음과 같다: | |||
* Framing: 거의 모든 link layer의 프로토콜들은 각각의 데이터그램들을 link layer의 데이터 단위인 프레임(frame)으로 캡슐화한 후 이를 링크를 통해 전송한다. | |||
** 프레임은 데이터 필드와 여러 헤더 필드로 구성된다. 이때, 프레임의 세부적인 구조는 해당 프레임을 전송하는 link layer 프로토콜에 의해서 결정된다. | |||
* Link access: 네트워크에서 두 장치가 데이터를 주고 받을 때, 같은 통신 링크를 여러 장치가 공유할 수 있으며, 이 경우 충돌(collision)이 일어날 수 있고 그로 인해 통신이 실패할 수 있다. | |||
** 이를 해결하기 위해 MAC<ref>Medium Access Control의 약자이다.</ref> 프로토콜이 사용된다. MAC 프로토콜이란 누가, 언제, 어떻게 링크를 사용할지를 정하는 규칙을 의미한다. 이를 통해 여러 노드가 한 통신 매체(medium)를 사용할 때 충돌 없이 데이터를 전송하게 조율하는 역할을 한다.<ref>통신 링크의 양 끝에 각각 하나의 송신자와 수신자만 존재하는 point-to-point 링크의 경우에는 MAC 프로토콜이 필요 없다. </ref> | |||
* Reliable delivery: 어떤 링크 계층 프로토콜은 [[Principles of reliable data transfer|(RDT)reliable data transfer]]를 제공하는데, 이는 각 데이터그램을 오류 없이 링크를 통해 전송할 것을 보장한다. | |||
** 이는 무선 링크(wireless link)와 같이 오류가 많이 일어나는 링크에서 주로 사용된다. 하지만 대부분의 유선 링크(wired link)와 같이 오류가 잘 일어나지 않는 링크에서는 해당 서비스가 불필요한 오버헤드로 간주될 수 있으므로 잘 사용되지 않는다. | |||
* Error detection and correction: 수신 노드의 link layer 하드웨어는 프레임 내의 비트가 원래는 1이었지만, 오류로 인해 0이라는 잘못된 비트를 수신할 수 있다. 이러한 비트 오류를 가지고 있는 데이터그램은 전송할 가치가 없으므로, 많은 link layer의 프로토콜은 비트 오류를 검출할 수 있는 메커니즘을 제공한다. | |||
** 이는 송신 노드가 오류 검출용 비트(error-detection bits)를 프레임에 포함시키고, 수신 노드가 오류 검사를 수행하는 방식으로 이루어진다. | |||
** Transport/Network layer도 [[UDP#UDP checksum|internet checksum]]을 통해 제한적인 형태의 오류 검출을 제공하지만, link layer에서의 오류 검출은 더욱 정교하며, 하드웨어를 통해 구현된다. | |||
==각주== | ==각주== | ||
2025년 5월 9일 (금) 10:06 판
상위 문서: 컴퓨터 네트워크
개요
Data-link layer[1]는 한 노드에서 물리적으로 인접한 노드로 데이터그램을 전송하는 계층이다. 이때 link layer는 각 링크에 따라 개별적으로 구현되므로, 데이터그램은 각기 다른 링크들에서 각기 다른 link layer의 프로토콜을 통해 전송된다. 예를 들어 첫 링크는 Ethernet 프로토콜을, 중간 링크들은 frame relay 프로토콜을, 마지막 링크는 802.11 프로토콜을 활용할 수 있다. 이때 각각의 링크 프로토콜들은 서로 다른 서비스를 제공한다. 예를 들어, 어떤 프로토콜은 reliable data transfer(RDT)를 지원할 수도 있고, 안 할 수도 있다.
용어 정리
노드(node)란 해당 문서와 그 하위 문서에서는 link layer을 실행하는 모든 장치를 의미한다. 노드에는 호스트, 라우터, 스위치, WiFi 액세스 포인트 등이 포함된다. 또한 링크(link): 통신 경로를 따라 인접한 노드들을 연결하는 통신 채널(channel)들을 의미한다. 따라서 데이터그램이 송신 호스트로부터 수신 호스트로 전달되기 위해서는, 그 종단 간(end-to-end) 경로를 구성하는 각 개별 링크들을 통해 이동되어야 한다. 이때 각 링크에서 송신 노드는 데이터그램을 link layer의 데이터 단위인 프레임으로 캡슐화하고 이를 링크로 전송한다.
The Services Provided by the Link Layer
Link layer의 기본적인 서비스는 하나의 통신 링크를 통해 데이터그램을 한 노드에서 인접한 다른 노드로 전송하는 것이다. 하지만 실제로 제공되는 서비스의 세부 사항은 각 link layer의 프로토콜마다 다를 수 있다. 이때, link layer가 제공할 수 있는 가능한 서비스들은 다음과 같다:
- Framing: 거의 모든 link layer의 프로토콜들은 각각의 데이터그램들을 link layer의 데이터 단위인 프레임(frame)으로 캡슐화한 후 이를 링크를 통해 전송한다.
- 프레임은 데이터 필드와 여러 헤더 필드로 구성된다. 이때, 프레임의 세부적인 구조는 해당 프레임을 전송하는 link layer 프로토콜에 의해서 결정된다.
- Link access: 네트워크에서 두 장치가 데이터를 주고 받을 때, 같은 통신 링크를 여러 장치가 공유할 수 있으며, 이 경우 충돌(collision)이 일어날 수 있고 그로 인해 통신이 실패할 수 있다.
- Reliable delivery: 어떤 링크 계층 프로토콜은 (RDT)reliable data transfer를 제공하는데, 이는 각 데이터그램을 오류 없이 링크를 통해 전송할 것을 보장한다.
- 이는 무선 링크(wireless link)와 같이 오류가 많이 일어나는 링크에서 주로 사용된다. 하지만 대부분의 유선 링크(wired link)와 같이 오류가 잘 일어나지 않는 링크에서는 해당 서비스가 불필요한 오버헤드로 간주될 수 있으므로 잘 사용되지 않는다.
- Error detection and correction: 수신 노드의 link layer 하드웨어는 프레임 내의 비트가 원래는 1이었지만, 오류로 인해 0이라는 잘못된 비트를 수신할 수 있다. 이러한 비트 오류를 가지고 있는 데이터그램은 전송할 가치가 없으므로, 많은 link layer의 프로토콜은 비트 오류를 검출할 수 있는 메커니즘을 제공한다.
- 이는 송신 노드가 오류 검출용 비트(error-detection bits)를 프레임에 포함시키고, 수신 노드가 오류 검사를 수행하는 방식으로 이루어진다.
- Transport/Network layer도 internet checksum을 통해 제한적인 형태의 오류 검출을 제공하지만, link layer에서의 오류 검출은 더욱 정교하며, 하드웨어를 통해 구현된다.