① 링크 계층의 역할
i. 프레임화
1. 링크 계층 프로토콜에 의해 교환되는 데이터 단위
2. 하나의 네트워크 계층 데이터 그램은 링크 계층에서 헤더와 트레일러를 추가하여 프레임으로 캡슐화 된다.
3. 근원지와 목적지를 나타내는 “MAC” 주소가 프레임 헤더에 추가된다. (IP주소가 아님)
ii. 링크 액세스
1. 링크 : 통신 경로상에 인접한 노드들을 연결하는 통신 채널
2. 한 브로드 캐스트 링크를 노드가 공유한다면 채널을 액세스 하여야 한다.
3. 링크 계층은 컴퓨터들을 직접 연결하는 물리적 연결 -> 컴퓨터 네트워크
네트워크 계층은 네트워크의 논리적 연결 -> 인터넷
4. 각 링크 프로토콜은 서로 다른 서비스를 제공한다.
-첫 번째 링크는 이더넷, 마지막 링크는 PPP, 중간 링크는 WAN 프로토콜에 의해서 처리 될 수 있다.
5. 데이터 그램 경로상의 서로 다른 링크에서 서로 다른 링크 계층 프로토콜에 의해서 처리 될 수 있다.
-프로토콜에 따라서 신뢰적인 전달을 제공할 수도 있고 제공하지 않을 수 있다.
iii. 신뢰적인 전달
1. 무선 링크처럼 오류율이 높은 링크에서 자주 사용
2. 링크상에서 발생한 오류에 대한 제어
3. 낮은 비트 오류율을 가진 링크에서는 불필요한 오버헤드가 될 수 있다.
4. 대다수 유선 링크 계층 프로토콜은 신뢰적인 전달 서비스를 제공하지 않는다.
iv. 흐름제어
1. 수신 노드의 프레임 버퍼링 능력을 고려
v. 오류검출
1. 비트 오류는 신호의 약화나 전자기적 잡음 때문에 생긴다.
2. 송신 노드에서는 프레임에 오류-검출 비트를 설정하게 하고,
수신 노드에서 오류 검사를 수행하게 함으로써 오류 검출이 가능해 진다.
vi. 오류정정
1. 재전송 없이 수신 노드는 에러 비트를 정정 한다.
vii. 반이중 과 전이중
1. 반이중 전송에서는 한 노드가 송신과 수신을 동시에 할 수 없다.
② 통신용 어댑터 -> 네트워크 인터페이스 카드 ( NIC )
1. 네트워크용 하드웨어 -> 흔히 랜카드라 부름
2. 송신 측 :
- 데이터 그램을 프레임에 캡슐화하여 링크로 전송
- 에러 검사 비트를 추가하고, 신뢰적인 전달 방법과 흐름제어가 모두 어댑터에서 구현
3. 수신 측
- 데이터그램을 추출한 후 네트워크 계층으로 전달
③ 오류검출
i. EDC = Error Detection and Correction bit
ii. 100% 신뢰적이지 않다.
iii. EDC 필드가 클수록 더 향상된 오류 검출이 가능하다.
④ 패리티 비트& 패리티 검사
i. 오류검출을 위해 데이터 값이 1로 설정된 비트의 수로 검사하도록 여분의 비트를 추가
1. 착수 패리티 : 1의 개수가 짝수가 되도록 지정
- 1101001 -> 11010010
2. 홀수 패리티 : 1의 개수가 홀수가 되도록 지정
- 1101001 -> 11010011
3. 송/수신자는 어떤 패리티 유형에 동의
4. 짝수개의 에러 발생시 검출 불가능하다.
- 홀수 패리티를 사용하여 11010011 을 전송 중,
10011011 로 두 비트 에러가 발생하더라도 수신측은 패리티 검사를 통해 에러를 발견하지 못함
⑤ 순환 중복 검사 ( CRC, Cyclic Redundancy Check )
i. 메시지에서 데이터를 다항식의 계수로 관주
ii. 계수의 집합을 알려진다항식으로 나누어 그 나머지를 검사 값으로 추가하여 전송
D를 r bit 만큼 왼쪽으로 이동시킨다.
R 비트쪽은 0으로 채워진다.
D : Data bits
G : choose r+1 bit pattern
R : choose r CRC bits
⑥ 다중 액세스 프로토콜 ( Multiple Access Links and Protocols )
i. 하나의 링크를 여럿이서 공유하는 것이 중요!!
1. Point-to-Point
- 노드 & 노드
- 노드 중 하나라도 끊어지면 안됨
2. Broadcast
- Single shared broadcast channel
- Two or more -> 두개 이상의 노드가 동시에 프레임 전송시 -> 충돌 발생
모든 노드는 동시에 여러 개의 프레임을 받게 된다. 즉 전송된 프레임들이 모든 수신자에서 충돌한다.
- 한번에 한 노드 전송만 성공
ii. 다중 액세스 프로토콜
각 노드가 어떻게 채널을 공유할 것인가를 결정하는 채널 분할 알고리즘
(각 노드가 언제 전송할 것인가를 결정한다.)
1. 채널 분할 프로토콜
- 채널을 작은 조각으로 분할 ( time slots, frequency, code )
- 각 노드에게 채널의 조각을 할당
1-1 TDMA ( time divion multiple access )
- 채널에 반복 순환 방식으로 액세스
- 각 스테이션은 자신의 순서마다 고정된 길이의 시간슬롯 동안 전송할 수 있다.
- 사용되지 않는 슬롯은 낭비된다.
1-2 FDMA ( frequency division multiple access )
- 채널을 서로 다른 주파수 대역으로 분할 한다.
- 각 스테이션은 고정된 주파수 대역을 할당 받는다.
- 전송할 데이터가 없으면 해당 주파수 대역은 낭비된다.
1-3 CDMA ( Code Division Multiple Access )
- 각자 서로 다른 코드 셋을 갖는다.
2. 랜덤 액세스
- 채널을 분할하지 않는다. 충돌을 허용한다.
- 충돌이 발생하면 복구한다.
- 충돌을 어떻게 감지하는가?
- 충돌로부터 어떻게 복구하는가?
Ex> slotted ALOHA , ALOHA, CSMA, CSMA/CD , CSMA/CA
i. 슬롯 알로하 (slotted ALOHA)
1. 노드는 전송할 새 프레임이 있을 때, 다음 슬롯이 시작할 때까지 기다렸다가 그 슬롯에 전체 프레임을 전송한다.
2. 만약 충돌이 없다면, 노드는 성공적으로 자신의 프레임을 전송한 것이다.
3. 만약 충돌이 발생하면, 충돌 없이 전송될 때까지 확률 p로 해당 프레임을 다음 슬롯들에서 재전송한다.
장점
- 하나의 활성 노드는 채널 전체 대역폭으로 계속해서 전송 할 수 있다
- 각 노드가 충돌을 감지하고 언제 재전송할지 각자 결정하므로 분산화
단점
- 충돌은 슬롯을 낭비시킨다.
- 각 노드들의 확률적인 전송 정책으로 비어있는 슬롯이 발생한다.
- 모든 노드는 동기화 되어야 한다.
ii. 알로하 ( Pure ALOHA )
1. 슬롯이 없고 완전히 분산화
2. 프레임이 도착시 프레임 전체를 브로드캐스트 채널로 전송한다.
iii. CSMA ( Carrier Sense Multiple Access )
1. 전송하기 전에 감지
A. 만일 채널이 비어있는 것으로 감지되면 전체프레임을 전송한다.
B. 만일 채널이 비어있지 않다면 , 전송을 연기한다.
2. 충돌 검출
A. 만일 다른 노드가 방해 프레임을 전송하고 있음을 검출하면 자신의 전송을 중단하고
다음에 언제 전송할 지를 프로토콜을 사용해 결정한다.
3. CSMA collision
A. 충돌이 여전히 발생한다. 충돌시 전체 패킷 전송시간은 낭비된다.
iv. CSMA/CD ( Collision Detection )
1. 짧은 시간 안에 충돌이 검출된다.
2. 충돌을 검출하면 전송을 중단하여 채널의 낭비를 줄일 수 있다.
3. 순번 프로토콜
- 각 노드는 순서를 갖는다.
- 전송할 데이터가 더 많은 노드는 좀더 긴 시간 동안 전송할 수 있다.
i. 폴링 프로토콜
1. 마스터 노드가 전송 순서대로 슬레이브 노드를 지정한다.
ii. 토큰 전달 프로토콜
1. 토큰이라는 특수 목적 프레임을 정해진 순서대로 노드들 사이에서 주고 받는다.
토큰 수신시 전송할 프레임이 있을때만 토큰을 붙잡아 두고 프레임 전송.
⑦ MAC 주소
i. 48bit 로 변경되지 않는 항상 유일한 MAC 주소를 갖는다.
ii. 하드웨어적인 주소
⑧ ARP : Address Resolution Protocol
i. 송신 노드가 어떻게 IP 주소를 갖는 MAC 주소를 결정하는가?
1. 랜 상에 있는 각 IP 노드 (HOST, Router) 는 ARP Table 을 갖는다.
2. ARP table 에서 IP 주소와 MAC 주소간의 매핑 정보를 포함한다.
< IP address ; MAC address ; TTL >
3. TTL을 사용하여 테이블의 각 매핑이 언제 삭제되는지 나타낸다.
'University Classes > Network' 카테고리의 다른 글
TCP/IP 네트워크 계층 ( Network Layer ) (0) | 2012.06.28 |
---|