네트워크 계층 (Network Layer)
네트워크 간의 통신을 가능하게 하는 역할.
- 전송 계층에서 부여한 포트 번호는 응용 프로그램을 구분하여 목적 프로그램에 전송하기 위해 사용되고
- 네트워크 계층에서 부여하는 IP 주소는 네트워크를 구분하고 목적지 네트워크에 전송하기 위해 사용된다.
- 용어
- IP 주소: 네트워크를 식별할 수 있는 주소
- 라우터: 네트워크 간의 데이터를 전송하는 장비, 스위치와 달리 고유 IP 주소가 있음.
- 라우팅: 출발지 IP 주소에서 목적지 IP 주소까지의 최적 경로를 결정하는 것, 라우팅 알고리즘에 따라 포워딩 테이블을 구성.
- 포워딩: 라우터의 입력 버퍼에서 출력 버퍼까지 패킷을 옮기는 것.
라우터
네트워크 계층 기능을 지원하는 장치
- 소프트웨어 부분
- 라우팅 알고리즘으로 최적 경로를 계산 및 포워딩 테이블을 업데이트
- 전통적인 라우팅 알고리즘(RIP, OSPF, BGP)에 의해 결정되거나 라우터들을 원격으로 제어하는 방법(SDN)이 있음
- 하드웨어 부분
- Input port: 물리 계층 -> 링크 계층 -> 입력버퍼 과정
- switching fabric: 입력 버퍼로 부터 적절한 출력 버퍼로 데이터를 보냄
- output port: 출력 버퍼 -> 링크 계층 -> 물리계층 과정
- Input port function
물리 계층: 전기신호를 비트 단위로 구별.
링크 계층: 비트 스트림을 논리적인 단위로 구분함.
스위칭: 헤더를 분석해 알맞는 출력 포트를 결정. 포워딩 전송률 보다 데이터그램이 빠르게 도착시 입력 버퍼에서 대기 함.
- Switching fabric
입력 버퍼에서 적절한 출력 버퍼로 데이터 그램을 보냄.
Head-of-the-Line(HOL) blocking 문제: 한 입력 버퍼에서 전송 시작된(queued) 데이터 그램에 의해 다른 입력 버퍼에 있는 데이터 그램의 전송이 지연되는 것 (예: 같은 출력 버퍼로의 전송으로).
switching methods
Memory | Bus | Ineterconnection Network | |
특징 | 입력 버퍼로 부터 주 메모리의 복사, 메모리에서 출력버퍼로의 복사 느림, 메모리 읽기/쓰기 동작 속도에 의존적 |
공유된 버스를 통한 입력 버퍼와 출력 버퍼간의 직접 복사 버스 대역폭에 따른 속도 제한 |
버프 대역폭 한계를 극복 (버스를 분리) 모든 입력 버퍼는 모든 출력 버퍼로 연결되어 있음 |
- Output port function
Buffering: 출구 포트에서 전송되는 속도보다 switch fabric으로 부터 더 빨리 출력 버퍼로 도착함
Scheduling: 어떤 데이터 그램을 먼저 보낼지 결정하는 정책
ex) FIFO, Priority, RR, weighted fair queing: 버퍼 마다 대기시간 가중치가 있음
라우터 포워딩
포워딩 테이블에 32 bits 주소를 모두 기록할 수 없기 때문에 출구 포드마다 주소 범위를 정해놓고 해당 출구 포트로 포워딩하도록 함.
longest prefix matching: 각 출구마다 공개된 비트 열 중 일치하는 부분이 가장 긴 접두열에 해당 하는 출구로 결정하는 정책.
IP 프로토콜
- IP 헤더에 포함된 내용
- Ver: IPv4, IPv6 IP 주소체계 버전
- HLen: header 길이 (bytes)
- Total length: 데이터 그램 전체 길이 (bytes)
- ID (16bits): 패킷 일련번호
- flags: 패킷의 분할 상태, 분할 금지 정책 유무
- TTL: 최대 경유 라우터 수 (패킷의 무한 순환 전송을 방지)
- Protocol: 상위 계층 프로토콜 정보
- checksum: 에러 감지용 체크섬 비트
- 출발지 IP 주소와 목적지 IP 주소
- ICMP 프로토콜
- Internet Control Message Protocol
- 호스트와 라우터가 네트워크 수준의 정보를 교환하기위해 사용됨
- ICMP 프로토콜 헤더는 type, code, checksum로 이루어져 IP 데이터그램의 첫 8 바이트를 차지
- IPv6
Ver(IPv4, IPv6), priorty(우선순위), flow label (datagram ID), next header (상위 계층 프로토콜), hop limit (TTL)
- IPv4 주소체계 (32bits) 주소 수 부족으로 등장
- 40bytes의 고정크기 헤더
- 데이터 그램 분할을 허용하지 않음
- checksum 없어짐, 처리 시간이 줄어듦.
- 이미지 출처 및 참고자료 : wiki.ucalgary.ca/page/Courses/Computer_Science/CPSC_441.W2014/Chapter_4:_Network_Layer.html
'Computer Science 기본 지식 > 컴퓨터 네트워크' 카테고리의 다른 글
[네트워크] 네트워크 계층 (4) SDN 개념 / OpenFlow (0) | 2021.01.07 |
---|---|
[네트워크] 네트워크 계층 (3) 라우팅 알고리즘 (RIP, OSPF, BGP) (0) | 2021.01.07 |
[네트워크] 전송 계층 (2) TCP 프로토콜 (0) | 2021.01.06 |
[네트워크] 전송 계층 (1) UDP 프로토콜 / 신뢰성있는 전송 (0) | 2021.01.06 |
[네트워크] 네트워크 계층 (2) IP 주소체계 / NAT / DHCP 프로토콜 (0) | 2021.01.05 |