개발자라면 알아야할 인터넷 프로토콜: 데이터 링크 계층과 네트워크 계층
참고자료
- KOCW 강의: 임효택 교수님의 데이터 통신과 컴퓨터 네트워크(2019년 2학기)
네트워크 관련 글 목록
1. 데이터 통신
3. 데이터 링크 계층
4. 네트워크 계층과 라우팅
5. 데이터 압축과 암호화
앞에 두개의 글에서, 네트워크란 결국엔 데이터를 공유하기 위해 존재한다는 것을 알게 되었습니다. 그러면 각 계층에서 구체적으로 어떤 일을 하는지, 또, 그 일을 수행하는 방법은 어떻게 이루어지는지 알아봅시다!
0. LAN 환경
LAN은 한정된 지역 내에서 다양한 통신 기기의 상호 연결을 가능하게 하는 통신 네트워크입니다.
- 제한된 접속 길이
- 전송 용량: 보통 수십 Mbps 에서 수 Gbps 정도
- 브로드캐스팅(broadcasting) 형태의 패킷 네트워크
- 패킷 지연의 최소화: 통신 속도가 빠를 뿐 아니라 거리가 제한되어 있어 수신 패킷 지연 시간이 짧다.
- 낮은 오류율: WAN에 비해 상당히 작다.
LAN 구성 형태
- 스타형
모든 호스트는 하나의 허브 또는 스위치에 연결
설치 및 보수가 용이하며 허브를 쉽게 업그레이드 가능 - 버스형
모든 호스트는 하나의 전송매체에 연결
케이블에 소요되는 비용이 최소
메인 케이블이 고장나면 전체 네트워크에 영향을 줌
네트워크 부하가 심한 경우 성능이 떨어짐 - 링형
토큰을 갖고 있는 호스트만이 데이터를 전소알 수 있으므로 호스트 수가 증가하더라도 성능에 영향을 주지 않음
임의의 호스트가 고장나면 네트워크 전체가 동작하지 않을 수 있으며 호스트를 추가하거나 제거할 때 어려움.
1. 데이터 링크 계층
데이터 링크 계층에서 하는 역할은 인접한 노드간의 물리적인 회선을 망계층(3 layer)에서 사용할 수 있도록 전송에러가 없는 통신 채널로 변화시키는 것입니다.
LAN과 데이터 링크 계층 1: LLC 계층
하나 이상의 서비스 접근점(SAP, Service Access Point)을 제공하는 계층으로 상위 계층과의 인터페이스를 다룸
LAN과 데이터 링크 계층 1: MAC (Medium Access Control) 계층
- 상위 계층의 데이터를 보낼 때 주소와 CRC를 포함한 프레임을 만듦
- 프레임을 수신할 때 프레임을 풀어서 주소를 인식하고 CRC를 사용하여 오류 검사 수행
- LAN 전송 매체에 대한 접근 제어
- 인터넷에서 가장 많이 사용하는 이더넷 MAC은 IEEE 802.3 (CSMA/CD)
- 버스타 스타형 LAN에서 가장 일반적으로 이용되고 있는 매체 액세스 제어 기법. 보통 이더넷이라고도 함.
- CSMA/CD 방식은 채널을 사용할 때, 먼저 다른 호스트가 채널을 이용하는지의 여부를 모니터링 한 다음 사용하는 방법
→ 채널이 사용중이 아닌 것으로 판단되면, 전송을 시작. 이때 다른 호스트가 동시에 전송을 시작하면 충돌이 발생하고, 곧바로 전송을 중단. 일정 시간이 지나고 나서, 채널 모니터링 후 전송을 재개
→ 만일 채널이 사용중이면, 일정 시간만큼 기다렸다가 다시 채널 상태를 살핀 후 전송을 재시도 - 토큰 버스 MAC은 IEEE 802.4, 토큰 링 MAC은 IEEE 802.5 WG에서 표준을 정함
- 현재: CSMA
- 무선 네트워크: wi-fi
cf. 이더넷 프레임 구조
2. 네트워크 계층
네트워크 계층은 OSI 모델에서 라우팅 등의 기능을 수행
라우터란 둘, 혹은 그 이상의 네트워크 간 데이터 전송을 위해 최적 경로를 설정해주는 인터넷 접속 장비
→ 네트워크를 통해 정보를 주고 받을 때, 데이터에 포함된 수신 측의 주소를 읽고 가장 적절한 통신 통로를 이용해 다른 통신망으로 전송하는 장치 (여러가지 프로토콜에서 전송되는 패킷을 수신할 수 있어야 함. 패킷이란 통신망에서 주고 받는 데이터 단위이며 데이터 뿐만 아니라 목적지 주소까지 포함)
- 경로설정: 라우팅 알고리즘 (라우팅 프로토콜)
- 스위칭: 라우터에 도착한 패킷을 적절한 포트로 보냄
- 연결 설정: 경우에 따라 데이터 전송 전에 연결 설정 필요 (IP 프로토콜)
+ ICMP 프로토콜(오류보고)
라우팅 알고리즘
다익스트라
인터넷 주소 기법
세가지 호스트 식별자
호스트명, IP주소, MAC주소(물리적 하드웨어 주소, 48비트)
→ 서브넷(Subnet): IP주소는 네트워크 ID와 호스트 ID로 단지 2단계 계층만을 허용. 인터넷을 구성하고 있는 네트워크의 수가 상대적으로 적을 때 충분.
3. 인터네트워킹
인터네트워킹: 네트워크 상호간의 연동
인터네트워킹은 상호 연동되는 네트워크의 구조 및 사용 프로토콜의 차이점을 해결하면서 상호 정보 교환이 용이하도록 해주는 기능
연동하고자 하는 네트워크의 상황에 따라 여러가지 방법이 존재
→ 두 네트워크 간에 패킷 교환을 위한 장비가 필요
→ 연동을 위한 장비의 기능은 수행하는 계층에 따라 다름
- 계층1: 리피터(Repeater), 허브(Hub)
- 계층2: 브리지(Bridge), 스위치(Switch)
- 계층3: 라우터(Router), L3 스위치
- 계층4이상: 게이트웨이(Gateway)