인터넷은 라우터나 스위치와 같은 장치들을 연결하는 네트워크의 조합이다.
만약 패킷이 호스트에서 다른 호스트로 전달되면, 이것은 이러한 네트워크들을 통과하는 경로가 필요하다.
9.1.1 노드와 링크
데이터링크층에서 통신은 노드-대-노드 이다. 인터넷에서 하나의 지점으로부터의 데이터 유닛은 다른 지점에 도달하기 위해 LAN과 WAN과 같은 많은 네트워크들을 통해 전달될 필요가 있다. 이러한 LAN과 WAN은 라우터를 통해 연결된다. 이것은 2개의 종단 호스트오 ㅏ노드로써 라우터 그리고 링크로써 두 노드 사이의 네트워크로 나타내는 것이 일반적이다.
9.12 서비스
데이터링크층은 물리층과 네트워크층의 사이에 위치한다. 데이터링크층은 물리층으로부터 서비스를 제공받고, 네트워크층으로 서비스를 제공한다. 데이터링크층이 제공하는 서비스에 대해 알아보자.
데이터링크층의 책임 범위는 node-to-node이다. 패킷이 인터넷에서 전송될 때, 호스트와 라우터와 같은 노드의 데이터링크층은 경로의 다음 노드까지 데이터그램을 전달해야하는 책임을 가지고 있다.
그래서 데이터링크층은 프레임에서 네트워크로부터 전달받은 데이터그램을 캡슐화할 필요가 있다. 그리고 전달받는 노드의 데이터링크층은 프레임으로부터 데이터그램을 역캡슐화 해야한다.
-> 발신지 호스트의 데이터링크층은 캡슐화, 목적지호스트의 데이터링크층은 역캡슐화 해야한다.
하지만 각 연계노드는 캡슐화, 역캡슐화 둘다 가능해야한다.
왜? 연계노드는 캡슐화와 역캡슐화가 가능할까? 그 이유는 각 링크가 서로 다른 프레임 형식을 사용하는 서로 다른 프로토콜을 사용할 수 있기 때문이다.
만약 한 링크와 그 다음 링크가 서로 같은 프로토콜을 사용할지라도, 캡슐화와 역캡슐화는 링크 계층 주소가 일반적으로 서로 다르기 때문에 필요하다.
데이터링크층에서 제공하는 서비스
1. FRAMING(프레임짜기)
각 노드에서 데이터링크층은 다음 노드에게 데이터그램을 전송하기 전에 네트워크층에서 전달받은 패킷인 다이어그램을 프레임에서 캡슐화 해야한다. 노드는 또한 논리적인 채널에서 전달받은 프레임으로부터 데이터그램을 역캡슐화 해야한다.
프레임은 헤더와 트레일러를 가지고 있다.
데이터링크층에서 패킷 => 프레임 이라고 부른다. 보통
2. FLOW CONTROL(흐름제어)
생산자, 소비자가 있다면 flow control을 고려해야한다.
생산자가 팔리지 않는 물건을 생산한다면, 물건은 창고에 쌓인다. 링크의 끝단에서 전송하는 데이터링크층을 프레임 생산자, 다른 링크의 끝단에서 전송받는 데이터링크층을 소비자라 할 수 있다.
생산자-----------소비자
만약 프레임 생산률이 소비율보다 높다면, 끝단에서 전송받는 프레임은 소비될 때까지 버퍼(창고)에 저장되어야 한다. 전달받는 쪽에서 제한 없는 버퍼 크기를 가질 수 없다. 그렇기때문에 선택해야한다.
1. 버퍼가 꽉찰경우 프레임을 폐기시키기,
2. 전달받는 데이터링크층에서 전송하는 데이터링크층으로 전송을 멈추거나, 늦추게하는 피드백을 전송.
서로 다른 데이터링크층 프로토콜은 서로 다른 흐름제어 전략을 사용한다.
3. Error control(오류제어)
전송하는 노드에서 데이터링크층의 프레임은 전기적신호에서 비트형태로 변형되어야 한다. 그리고 전송매체를 통해 전송되어야 한다.
전송받는 노드는 전기적 신호를 전달받고 비트형태로 변형한다. 그리고 비트형태로 변형된 전기적 신호를 프레임을 생성하기 위해 재조립한다.
전기 신호는 오류에 취약하기 때문에, 프레임또한 오류에 취약하다. 그렇기때문에
'오류 검출'이 필요하다. 오류 검출 이후, 송신자노드에서 이를 '수정' 하거나 '폐기' 하고, 재전송을 송신노드에게 요청해야만 한다.
4. Congestion control(혼잡제어)
비록 링크가 프레임 혼잡으로 인해 프레임 손실이 발생하더라도, 어떤 광역네트워크 이외의 대부분의 데이터링크층 프로토콜은 직접적으로 혼잡을 완화하기 위해 혼잡제어를 사용하지 않는다. 일반적으로 혼잡제어는 end-to-end로 통신하기 때문에, 네트워크층 또는 전송층의 문제로 여겨진다.
9.1.3 링크의 두 범주
두 노드가 케이블이나 공기와 같은 전송매체를 통해 물리적으로 연결되어있다 하더라도, 데이터링크층은 어떻게 전송매체를 사용할지를 제어한다. 데이터링크층은 전송매체의 모든 성능을 사용한다.
데이터링크층은 point-to-point 또는 broadcast link와 같은 링크 성능의 일부분을 사용한다.
point-to-point의 경우 링크는 서로 연결된 2개의 단말에만 전념하면 된다. (집전화로 둘이 전화할때)
broadcast link에서는 링크는 몇개의 자치의 쌍 사이에서 공유된다. (휴대폰을 사용해서 전화할때)
9.1.4 두 하위계층
링크계층에서 제공하는 서비스의 기능적 이해를 돕기위해,
데이터링크층은 데이터링크제어(DLC, Data Link Control)과 매체 접근제어(MAC, Media Access Control)의 2개의 하위계층으로 나눈다.
'데이터통신' 카테고리의 다른 글
데이터통신 10.1 오류검출과 오류정정 (0) | 2021.05.31 |
---|---|
데이터통신 9.2 링크계층 주소지정 (0) | 2021.05.31 |
데이터통신 4.1.2 회선 부호화 방식 (0) | 2021.04.02 |
4.1 디지털 - 대 - 디지털 부호화 (0) | 2021.04.01 |
데이터통신 3.3 디지털신호 (0) | 2021.03.27 |