본문 바로가기

CS/네트워크

8. 네트워크 계층 프로토콜

쉽게 배우는 데이터 통신과 컴퓨터 네트워크를 정리한 내용입니다

1.  IPv6 프로토콜

1) 등장 배경

인터넷이 보급되면서 IPv4 프로토콜이 등장했다. IPv4프로토콜32비트의 주소공간을 지원하는 프로토콜로 최대  2의 32승 개의 호스트를 사용 할 수 있는데, 인터넷의 폭팔적 성장으로 한계점에 다다랐다.

이를 대체하기 위한 차세대 프로토콜로 등장한게 IPv6 프로토콜이다.

 

- 주소공간 확장 : IPv4 프로토콜은 32비트이나 IPv6은 128비트로 확장되었다. 최대 2의 128승 개의 호스트를 지원한다

- 헤더 구조 단순화 : 불필요한 필드가 제외되거나 확장 헤더 형식으로 변경 -> 오버헤드를 줄여 프로토콜의 전송 효율 증가

- 흐름 제어 기능 지원 : 흐름 제어 기능을 지원할 수 있는 필드를 도입해 일정 범위내에서 예측 가능한 데이터 흐름을 지원한다.

 

2) 헤더 구조

IPv6의 traffic class가 문서상의 DS/ECN이 합쳐져있는것!

IPv4보다 단순한 구조로 기본헤더와 확장 헤더로 나뉜다.

https://fhwmqkfl.tistory.com/23 에 IPv4의 구조를 정리했다
  • 기본 헤더 : Version, Traffic Class(DS/ECN), Flow Label, Payload Length, Next Header, Hop Limit
    • Version : IP 프로토콜 버전 번호
    • Flow Label : 특정 송수신 호스트 사이에 전송되는 데이터를 하나의 흐름으로 정의해 중간 라우터가 이 패킷을 특별한 기준으로 처리하도록 지원. 이 기능을 위해 필요한 흐름정보를 저장해 처리할 수 있어야 함(IPv4에서 생선된 패킷은 라우터가 중개시 동일한 기준을 적용해 처리) -> 음성, 영상데이터등 실시간 서비스가 필요한 응용 환경에서 사용됨 
    • Payload Length : 헤더를 제외한 패킷의 크기, 단위는 바이트
    • Next Header : 기본 헤더 다음에 이어지는 헤더의 유형을 알려준다.
    • Hop Limit :  패킷의 라우터를 지날때마다 이 필드값을 감소시키면서 체크한다(IPv4의 Time To Live와 동일하지만 좀더 단순화해 시간개념을 빼고 횟수로만 처리)
  • 확장 헤더 
    • Hop-by-Hop Options Headers : hop-by-hop 옵션 처리를 지원한다. 
    • Routing Header :  IPv4의 소스 라우팅과 유사한 기능을 수행. 패킷이 지정된 특정 노드를 경유하여 전송되게 한다. 
    • Fragment Header :  패킷 분할과 관련된 정보를 포함(IPv4의 Fragment Offset, Identification, MF 필드 개념)
    • Destination Options Header :  수신 호스트가 확인할 수 있는 옵션 정보를 포함한다.

3) IPv6 주소

IPv4 주소 표기 : 123.12.1.30과 같이 표현

IPv6는 128비트 단위라 16비트의 숫자 8개를 콜론(:)으로 구분해 처리한다.

2.  이동 IP 프로토콜

스마트폰의 보급으로 인터넷의 이동 환경 서비스가 오늘날 중요해짐.

이동 호스트가 자신의 고유 주소를 유지하며 인터넷 서비스를 받기위해서는 계속 이동하는 송수신 호스트간의 데이터 라우팅 처리가 가장 중요함

1) 선수지식 : 터널링

서울에서 부산로 간뒤 제주도에 가려고한다. 서울->부산(버스), 부산->제주(배)를 이용했다

위의 이동예시를 보면 버스, 배를 교통수단으로 쓰임 -> 교통수단을 IP 프로토콜이라고 생각하면 목적지까지 가는데 IP 프로토콜이 다르게됨!

 

터널링을 사용하게되면?

서울에서 부산로 간뒤 제주도에 가려고한다. 서울->부산(버스), 부산->제주(자동차를 그대로 배에 실어버림)를 이용했다.
나는 제주도에 도착할때 버스에서 내린것이 된다!

바다를 이동하는 과정에서 버스가 배를 타는 형태의 기능을 통해 출발,도착 모두 버스로 하게된다

위 작업처럼 이동 IP를 처리하는 과정에서 사용자는 터널링 관련에 대한 부담이 전혀 없다. 또한 위 과정을 통해 모두 같은 계층인 IP프로토콜로 간주할 수 있다.

2) IP 터널링

이동 호스트 지원을 위한 여러 방안 중의 하나로 이동 IP에 대한 표준안이 제정되었다.

[이동시 발생하는 데이터 경로문제 해결방안]

1. 이동 호스트(Home Agent/Home Address)의 위치가 바뀌면 새로운 위치를 관장하는 Foreign Agent "FAnew"로부터 COA를 받는다 -> COA는 이동호스트의 Home Agent "HA"에 저장되고 터널이 형성

2. 이동 호스트는 Home Address "HA"가 할당된다. 이동호스트는 HA에 고정된 연결을 사용하며, 상대호스트는 고정된 주소인 HA의 주소에 데이터를 송수신하면 된다.

COA(Care of Address)는 이동 호스트가 위치를 변경할 때 새로 이동한 지역에서 일시적으로 할당받은 IP 주소로, 이동할때마다 새로운 COA가 할당되고 기존 COA는 회수됨

 

Home Agent, Foreign Agent사이에 설정되는 터널은 새로운 경로이기 때문에 터널링 처리가 필요하다. 원래 IP패킷을 데이터로 취급하는 새로운 IP 패킷을 구성한다(IP헤더 추가 + 원래 패킷 데이터화)

 

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

10. TCP정의 및 TCP동작 원리  (1) 2022.09.21
9. 전송 계층의 기능  (0) 2022.09.20
7. IP 프로토콜  (0) 2022.09.17
6. 네트워크 계층의 기능 & 라우팅 프로토콜  (0) 2022.09.15
5. 데이터 링크 계층  (0) 2022.09.15