6. The Link Layer and LANs (1)

728x90
반응형

본 장에서 가장 중요한 점은 MAC address와 multiple access 부분이다.

6.1 Introduction, Services

Link layer의 가장 큰 특징은 모든 노드들(host와 라우터)에 다 구현이 되어있다는 점이다.

코어 파트의 디바이스들은 엣지 파트와 다르게 자신에게 필요한 부분까지만 구현이 된다(ex. 라우터는 network layer까지, 스위치는 data link layer까지). 그러나 이 모든 디바이스들이 모두 링크 레이어는 구현이 되어있다.

노드들끼리 연결되어있는 통신 채널을 링크라고 하는데 이 링크에는 종류가 있다.

· 유선 링크(wired link)

· 무선 링크(wireless link)

· LAN(Local Area Network, LAN도 유선과 무선으로 나뉜다.)

그리고 data link layer의 패킷 단위는 frame이다.

application layer - message

transport layer - segment

network layer - datagram

datalink layer - frame

frame을 통해 링크를 통해서 옆에 있는 노드와 통신하게 하는 것. 이것이 바로 링크 레이어의 역할이다.

인터넷은 수많은 링크들로 연결이 되어있고, 이 링크들은 모두 서로 다른 종류의 링크고 이 서로 다른 링크들은 서로 다른 링크 프로토콜을 사용한다.

하나의 frame이 source에서 destination까지 갈 때 여러 링크를 거쳐가므로 여러 링크 프로토콜을 사용한다(처음에 Ethernet을 썻다가 다음 링크에서 802.11을 사용하는 것이 가능).

framing이란 network layer에서 내려온 datagram의 헤더와 트레일러에 추가적인 정보를 집어넣어서 encapsulation한 것이 바로 frame이고 이 frame을 만드는 것이 framing이다.

여러 사용자가 사용할 수 있는 medium(링크)를 채널 억세스를 한다.

또한 link layer에서는 IP 주소가 아닌 MAC 주소를 통해서 주소 구별을 한다.

인접한 노드들끼리 신뢰성(reliability)가 다르다.

유선은 에러가 거의 안나지만 무선에서 거의 에러가 발생한다.

link layer service에는 여러기능이 있다.

· flow control : 인접한 노드들끼리의 속도를 맞춰줌

· error detection : receiver 단에서 받은 신호가 에러가 일어난 신호인지 아닌지를 감지해줌

· error correction : 발생한 에러를 바로잡아줌

· half-duplex and full-duplex : 단방향 통신과 양방향 통신

link layer의 service는 adaptor(랜카드)에서 구현이 된다.

이 랜카드에는 network controller와 physical transmission을 위한 장치가 들어있다.

그래서 이 랜카드를 통해서 sending side에서는 datagram에 에러 체킹 비트 등의 정보를 header에 추가로 집어넣어서 encapsulate를 해서 frame으로 만들어서 주고 받는다.

6.2 error detection, error correction

error detection은 말 그대로 에러가 일어났는지를 체크하는 것이다.

이 error detection을 위해서 D라는 원래 데이터와 EDC라는 Error Detection and Correction bit가 필요하다.

이 에러 검출을 하는데 가장 기본적인 방법이 바로 Parity Checking이다.

Parity Checking에는 2 종류가 있다.

1의 갯수를 홀수로 맞추기로 정하는 Odd Parity Checking

1의 갯수를 짝수로 맞추기로 정하는 Even Parity Checking

즉, Odd Parity Checking으로 하기로 송신자와 수신자가 약속을 하면 그에 따라 송신자가 Original Data에 Parity bit를 붙이고(Original Data에서 1의 갯수가 짝수개면 Parity bit 1, 반대면 0을 붙여서 홀수개로 만듬), 수신자는 이 데이터를 받았을 때 1의 갯수가 송신자와 약속한 갯수가 맞으면 Parity bit 0을 붙여서 송신자에게 재전송하고 맞지않으면 Parity bit를 1을 붙여서 송신자에게 보낸다.

또한 2-dimensional bit parity의 경우 detection과 correction이 동시에 가능하다.

체크썸은 챕터 3에서 설명한 그것이다.

transport layer에서 transmitter는 세그먼트를 16비트로 나누고 정수형으로 만들어서 모두 더하고 그 값을 1의 보수 값을 계산해서 receiver단에 보낸다.

receiver는 segment를 다 더해주고 체크썸도 더해준다. 그래서 마지막 나온 값이 모두 1이 되면 에러 없음. 하나라도 0이 나오면 에러 있다고 판단한다.

728x90
반응형

'Study > 네트워크' 카테고리의 다른 글

6. The Link Layer and LANs (3)  (1) 2023.06.14
6. Link Layer and LANs (2)  (1) 2023.06.14
5. Network Layer: Control Plane(3)  (0) 2023.06.14
5. Network Layer: Control Plane(2)  (0) 2023.06.14
5. Network Layer : Control Plane (1)  (2) 2023.06.14