공부/Computer Network2013. 4. 8. 12:30

IGRP(Iterior Gateway Routing Protocol)

- 1980년대에 시스코 시스템이 RIP의 개선책으로 IGRP를 만들었다.

* 스플릿 호라이즌, 포이즌드 리버스 등을 포함한 RIP의 알고리즘적 이슈들을 공유했다. (참조 : 스플릿 호라이즌포이즌드 리버스)

* 네트워크간 딜레이, 대역폭, 신뢰도, 로드를 포함한 여러가지 개별적 측정기준에 기반한 종합 비용이 계산된다.

* 네트워크 사이에 15홉의 내재적 한계가 없다.

- 클래스형 라우팅

- 다중경로(multipath) 라우팅 : 자동적으로 경로간에 다중경로를 허용하며, 트래픽을 공유한다.

- 인터넷의 크기가 계속 성장함에 따라, IGRP는 주기적인 광고를 지원하기 위해 과도한 양의 라우터 CPU 성능과 연결 대역폭을 필요로 하게 되었다.


계속...

Posted by Maverick Unlimited
공부/Computer Network2013. 4. 8. 12:29

Internet Routing Protocols


소개

- 인터넷 프로토콜은 인터넷을 운용하기 위해 필수적이다.

- 라우터들은 IP 데이터그램을 출발지에서 목적지까지 한 라우터에서 다른 라우터로 방향에 따라 보낸다. (위상기하학적 지식과 인터넷의 상태에 따라, 최저비용 기준)

- 라우터는 인터넷의 위상기하학적 개념을 가지고 있다. 인터넷 프로토콜은 이 정보는 공급한다.


자율 시스템(Autonomous System) = 라우팅 도메인(Routing Domain)

- 하나의, 명확히 정의된 외부 라우팅 정책을 가진 IP 네트워크들의 그룹.

관리적 측면에서 한 단체에 속하여 관리되고 제어됨으로써, 동일한 라우팅 정책을 사용하는 네트웍 또는 네트웍 그룹을 일컫는다. 한 자율시스템 내에서의 IP 네트웍은 라우팅 정보를 교환하기 위해 IGP를 사용하며, 타 자율시스템과의 라우팅 정보 교환을 위해서는 BGP를 사용한다. 과거에는 BGP 대신 EGP가 사용되었으며, 향후 BGP는 OSI 인터도메인 라우팅 프로토콜(Inter-Domain Routing Protocol)로 대체될 예정이다. (참조 : 텀즈 컴퓨터 용어사전)


라우팅과 포워딩

- 라우팅은 형성된 포워딩 테이블에 의한 처리과정이다. (정적 라우팅, 동적 라우팅)

- 라우팅은 네트워킹 역사를 통해 계속 발전되어온 복잡한 분산 알고리즘에 의존한다.

- 포워딩은 노드에서 지역적으로 수행되는 비교적 명확한 과정이다.

- 포워딩은 패킷을 이동시키고; 그 목적지 주소를 살피고; 테이블을 찾아보고; 그 테이블에 의해 결정된 경로로 패킷을 전송하는 것으로 이루어진다.


동적 라우팅 프로토콜

- 기능들 : 라우터들 간의 동적인 공유; 위상(topology)이 변화했을 때 자동적으로 라우팅 테이블을 업데이트; 목적지로의 최상의 경로를 결정

- 정적 라우팅과 비교해서, 관리상의 부담(overhead)이 적다.

- 동적 라우팅의 경비는 프로토콜 운용을 위한 라우터의 자원 부분에 들이고 있다.


동적 라우팅 프로토콜의 구성요소

- 데이터 구조 : 운용을 위한 테이블 and/or 데이터베이스 (RAM에 보관)

- 알고리즘 : 완료된 작업에 사용된 유한한 리스트; 용이한 라우팅 정보와 최적 경로 결정

- 라우팅 프로토콜 메시지 : 이웃을 발견하고 라우팅 정보를 교환하기 위해; 네트워크에 대한 정확한 정보를 습득하고 유지함


동적 라우팅 프로토콜 운용

- 모든 라우팅 프로토콜은 동일한 목적을 갖는다 : 원격 네트워크들을 습득하고 토폴로지가 변경되었을 때 빠르게 적응

- 일반적으로 동적 라우팅 프로토콜의 운용

* 인터페이스에서 라우팅 메시지를 주고받음

* 다른 라우터들과 라우팅 메시지와 라우팅 정보를 공유함

* 원격 네트워크를 습득하기 위해 라우팅 정보를 교환함

* 라우팅 프로토콜은 토폴로지 변화를 다른 라우터들에 알릴 수 있다. (다 거의 같은 말 아닌가?)


클래스화 라우팅 프로토콜

- 라우팅 프로토콜은 다른 것들과 연관되어 운용되도록 설계되지 않았다.

- 각각의 프로토콜은 다른 종류의 정보를 수집하고, 토폴로지 변화에 그 나름의 방법으로 반응한다.

- 라우팅 업데이트 통신은 각각의 프로토콜이 독립적으로 다른 방법으로 처리되어야 한다.

- 동적 라우팅 프로토콜은 특징에 따라 그룹화되어 있다.

- 라우팅 프로토콜의 타입

* IGP(Interior Gateway Protocol) : 내부 게이트웨이 프로토콜; 자율시스템(內) 라우팅(intra-AS routing)

* EGP(Exterior Gateway Protocol) : 외부 게이트웨이 프로토콜; 자율시스템(間) 라우팅(inter-AS routing)


 

IGP

EGP

거리 벡터 라우팅

경로 상태 라우팅

경로 벡터 라우팅

 Classful

 RIP

IGRP 

 

 

EGP 

 Classless

RIPv2 

EIGRP 

OSPFv2 

IS-IS 

BGPv4 IDRP

 IPv6

RIPng 

EIGRP for IPv6 

OSPFv3 

IS-IS for IPv6 

BGPv4 for IPv6 

(obsoleted in 2005 라는데 BGPv4가 폐기된건지 IDRP가 폐기된건지? 질문해볼 것)

결국 중요한건 [거리 벡터] [경로 상태] 라우팅의 차이와 [경로 벡터] 라우팅을 아는 것인 듯.

경로 벡터 라우팅은 AS 외부에서 유용하다는 것이 증명되었다고 한다. (참조)


라우팅 프로토콜 측정기준(Metrics)

대역폭 : 가장 높은 대역폭의 경로를 선호

비용 : 라우팅 선호도; IOS(Internetwork Operating System)이나 네트워크 관리자에 의해 결정됨.

딜레이 : 패킷이 경로를 가로지르는데 걸리는 시간

홉 카운트 : 패킷이 가로질러야하는 라우터 수

로드 : 어떤 연결의 통신량

신뢰도 : 연결 실패의 확률


프로토콜

Metric 

RIP 

홉 카운트

IGRP, EIGRP 

대역폭(default), 딜레이(default), 로드, 신뢰도 

IS-IS, OSPF 

비용, 대역폭 



* RIP는 홉 카운트가 적은 R2 -> R1 경로를 선택하고 OSPF는 빠른 T1 선을 경유해 R2 -> R3 -> R1 경로를 선택한다.


IRP(Interior Routing Protocol)

- AS 내에서 라우터들 간에 라우팅 정보를 전달한다.

- AS 외부에서 시행될 필요가 없다.

- 다른 연결된 AS 들과 다른 알고리즘과 라우팅 정보를 가지고 있을 수도 있다.

- 여타 연결된 AS들에게서 최소의 정보를 필요로 한다 : 대화해야할 최소 하나의 라우터; ERP를 사용한다.

- ex) Distance Vector Routing(거리 벡터 라우팅), Link State Routing(경로 상태 라우팅)


거리 벡터 라우팅

- 각 노드는 세가지 벡터를 유지한다 : 연결 비용, 거리 벡터, 다음 홉 벡터

- 각 노드는 이웃들과 정보를 교환한다. 같은 네트워크에 의해 직접적으로 연결되어 거리와 다음 홉 벡터를 업데이트함.

- RIP, IGRP, EIGRP


RIP의 역사

- Xerox PARC Universal Protocol(PUP)에 라우팅 프로토콜이 필요했다. (1980s)

* Xerox에서 GWINFO(Gateway Information Protocol)을 만듬.

* 나중에 RIP로 이름을 바꾸고 Xerox Network System(XNS) 프로토콜 스위트의 일부가 됨

- UC 버클리에서 RIP를 개조해 유닉스 운영체제의 BSD에 포함시킴

* RIP가 IRP의 산업 표준이 됨

* IETF(Internet Engineering Task Force)에서 RFC1058 인터넷 표준으로 명시함 (1988)


RIP 개요

- RIP 패킷은 UDP를 사용한다. (포트 넘버 520)

- RIP 요청 메시지는 특별한 상황에 보내진다.

- RIP 라우터는 타이머를 가지고 있다. (30초) : 타이머가 만료되면 자발적인 RIP 응답 메시지가 보내진다.

- 개별적 거리 벡터가 수신된 이후 테이블이 업데이트 된다.

* 새로운 목적지 네트워크를 추가한다.

* 존재하는 경로를 딜레이가 적은 것으로 덮어쓴다.

* 라우터 R이 업데이트 되면 모든 경로가 다음 홉으로 R을 사용하도록 업데이트 된다.

- 만약 한 라우터로부터 180초간 업데이트가 수신되지 않으면 유효하지 않는 라우터로 표시한다.

* 네트워크 연결이 불안정하거나 라우터가 고장난 것으로 본다.

* 거리값을 무한대로 설정한다. (실제값은 16)


RIP 테이블 프로세스

- RIP 라우팅 테이블은 어플리케이션 레벨 프로세스 routed (daemon)에 의해 운영된다.

- 주기적으로 반복해서 광고(advetisement)가 UDP 패킷으로 전송된다.


RIP 패킷

명령어 타입

- 1은 요청, 2는 응답

- 업데이트는 물어봤건 아니건 응답된다

- 초기화하는 노드는 요청을 브로드캐스트한다

- 요청은 즉시 응답된다

주소 체계(Address Family) : IP는 2

IP 주소 : 특정 네트워크의 식별자

측정기준(Metric)

- 이 라우터에서 네트워크까지 경로 거리

- 일반적으로 1이므로 metric이 곧 홉 카운트이다.


RIPv2

- 1993에 첫 개발, 1998에 마지막 표준화

- 비클래스형 주소지정을 지원, 서브넷 마스크 규격

- 다음 홉 규격

* 다음 홉 라우터로서 명시적 IP 주소 사용

* 네트워크를 향한 최적의 경로가 RIP를 실행하고있지 않은채 연결되어 있을 떄 유용하다. (이것도 질문해볼 것 : p26)

- 인증(authentification) : RIP 메시지를 수락하기 전에 라우터의 정체를 확인한다.

- 경로 태그(route tag) : 그 경로가 어떻게 얻어졌는지(내부적 혹은 외부적) AS를 확인한다.

- 멀티캐스팅 사용 : 자발적인 RIP 응답 메시지를 보내기 위해 브로드캐스트 대신 멀티캐스트를 사용한다.


RIPv2 다음 홉 규격 예제

다음 홉과 경로 태그를 어떤 식으로 사용하는가?


RIPv2 패킷 포맷

차이점 : 경로 태그, 서브넷 마스크, 다음 홉.

만약 인증이 사용되면 RTE들 중의 하나가 인증 정보를 포함한다.


RIPng (RIPv6)

- 비클래스형 주소지정을 지원, 서브넷 마스크 규격

- 다음 홉 규격 : 개별 라우팅 엔트리가 명시됨 (IPv6 주소의 큰 사이즈에 기인함)

- 인증 : 자체적 인증 매커니즘은 포함하고 있지 않음 (IPsec을 사용)

- 경로 태그 : RIPv2와 동일한 방식

- 멀티캐스트 사용 : 예약된 IPv6 멀티캐스트 주소 FF02:9

- RIPng는 RIPv1이나 RIPv2와 다른 포트 넘버를 사용한다 : 520 대신 521


RIPng 패킷 포맷

새로운 프로토콜 RIPng의 첫번째 버전이다.


RIP의 한계

- 측정기준 15를 초과하는 목적지는 닿을 수 없다 : 만약 더 큰 측정기준이 허용되면 수렴이 너무 길어진다.

- 단순한 측정기준은 차선의 라우팅 테이블로 이끈다 : 패킷이 느린 연결을 통해 전송된다.

- RIP 업데이트를 어떤 장비에서건 수락한다 : 잘못 구성된 장비가 전체 구성을 방해할 수 있다.


Posted by Maverick Unlimited
공부/Computer Network2013. 3. 25. 23:50
IPv6 - Part 1 (cont.)


IPv6 주소 통계 : 프린트하고는 다르게 United States가 21.6%이다. 일시적으로 오류가 있었거나 변동된 듯. (2013.04.18 현재)


IPv4와 IPv6 헤더 비교

이름이 바뀐 필드 (거의 같은 일을 하는 필드)

* 버전 : 4비트 필드 (4 대신 6이 들어있음)

* 트래픽 계층 : IPv4의 TOS 필드와 비슷한 8비트 필드. 패킷에 차별화된 서비스를 위한 트래픽 계층을 태그한다.

* 페이로드 길이 : IPv4의 전체 길이와 비슷한 역할. 기본 헤더 길이는 포함하지 않는다.

* 홉 제한 : TTL(Time To Live) 필드와 비슷

* 다음 헤더 : IPv4의 프로토콜 필드와 비슷. 어떤 종류의 정보가 뒤따라오는지 말해주는 값.

삭제된 필드

* 헤더 길이 : IPv6는 고정된 길이를 가지고 있다.

* 단편화 (파편 상쇄) : IPv6는 단편화를 하지 않음. IPv6 호스트는 데이터를 보내기 전에 경로 MTU를 감지한다.

* 식별자 : 단편화를 하지 않으므로 식별자가 필요없다.

* 체크섬 : Media Access Layer (Data Link Layer를 말하는 듯) 와 Transport Layer로 체크섬을 미룸으로 신속한 포워딩

추가된 필드

* 흐름 라벨(Flow Label)

- 특별한 QoS를 필요로 하는 특정 흐름을 식별하기 위한 20비트

- 각 출발지는 고유의 흐름 라벨 값을 선택한다.

- 특별한 QoS가 요청되지 않을 때는 0값

- 라우터들은 구분되는 흐름들을 식별하기 위해 (출발지 주소 + 흐름 라벨) 을 사용한다.

- 다른 버퍼 크기, 포워딩에 관한 다른 우선도 등의 라우터에서의 특별한 처방

- 어떤 특정한 흐름 라벨에 대해서도 특별한 중요도 차이는 없다.

- 특별한 취급방식은 다른 방법으로 선언되어야 한다. (예 : RSVP 같은 신호 프로토콜)


IPv6 확장 헤더

* 일반적으로 IPv6 목적지 주소 필드에 의해 식별된 노드에서만 처리된다 -> - IPv4 옵션 처리에 비해 오버헤드가 작아야만 한다. (예외 : 홉-바이-홉 옵션 헤더)

* IPv4 옵션에서의 40바이트 제한이 없어졌다.

* 현재 정의된 확장 헤더들:

– 홉-바이 홉 옵션 (0)

– 목적지 옵션 (60) <- 라우팅 헤더와 IPv6 목적지 주소 필드에 나타나는 모든 노드에서 처리되어야 하는 옵션

– 라우팅 (43)

– 파편 (44)

– 인증 (51)

– 암호화 (50)

– 목적지 옵션 (60) <- 오직 패킷의 최종 목적지에서만 처리되어야 하는 옵션

– 이동성 (135)


확장 헤더의 예

홉-바이-홉 옵션 헤더

* 전달 경로상의 모든 노드와 라우터에서 읽고 처리된다.

* 제시될 때는 기본 IPv6 패킷 헤더의 바로 다음에 따라온다.

* RSVP, 멀티캐스트 리스너 디스커버리액티브 네트워크 메시지와 같은 라우터 경고를 위해 사용

* 점보 페이로드 옵션은 IPv6 패킷 65,536에서 4,294,967,295 옥텟 사이 길이의 전송을 허용한다. (최대 페이로드 길이보다 크다. 페이로드 길이를 0으로 지정한다)


홉-바이-홉 옵션 처리

* 홉-바이-홉 확장 헤더는 반드시 모든 네트워크 장비에서 완전히 처리되어야 하는 유일한 확장 헤더이다.

* 네트워크 장비들을 단순히 트래픽을 포워딩 할 때는 어떤 다른 IPv6 확장 헤더들도 처리하도록 요구받지 않는다.

*홉-바이-홉 외에 하나 혹은 그 이상의 EH(확장 헤더)들과 함께한 IPv6 트래픽은 하드웨어 내에서 포워딩될 수 있다.


라우팅 헤더

* 라우팅 헤더는 중간단계 라우터들을 통해 라우팅하도록 강제한다.

* 다양한 라우팅 옵션을 가능하게하는 라우팅 타입 필드

- IPv6 스펙에는 라우팅 타입 0 만 정의되어 있다.

- 라우팅 타입 2는 모바일 IPv6에서 제안되었다. (RFC 3775)

* 라우팅 타입 0 : IPv4의 "루즈 소스 라우팅"과 비슷하다

* 라우팅 타입 2 : 모바일 노드의 홈 주소가 라우팅 헤더 데이터에 들어있다.


라우팅 헤더 처리 예제


IPv6 타입 0 헤더의 폐지예정

* 보안에 비추어 폐지예정 (RFC 5095)

- 하나의 RH0(라우팅 헤더 0)은 여러개의 중간단계 노드들의 주소를 포함하고 있으며, 같은 주소들이 RH0에 하나 이상 포함될 수 있다. 이것이 두 RH0 처리 호스트 사이를 여러번 오갈 것이며 공격자로부터의 패킷 흐름이 두 원격 라우터들 사이를 따라 증폭되는 것을 허용한다.

- 그것은 임의의 원격 경로를 따라 혼잡을 초래할 수 있으며 그에 따라 서비스 정지 공격 메커니즘으로 행동할 것이다.


파편화 헤더

* 패킷이 파편화되었을 때 출발지에서 사용된다.

* 파편 상쇄는 전체 패킷 내에서 특정 파편의 위치를 식별한다 : 목적지에서 패킷을 재조합하기 위해 사용된다.

* 식별증명(Identification)은 원본 패킷이 같은지 식별하기 위한 것이다.

* M 플래그 : 1 = 파편 더 있음; 0 = 마지막 파편


경로 MTU 탐색

* 경로 MTU : 출발지에서 목적지 사이의 링크 가운데 가장 작은 MTU

* 1280 옥텟보다 큰 패킷을 보내기 위해 경로 MTU를 행한다:

- 송신시스템에서 큰 크기의 IP 패킷을 Don't Fragment 플래그를 설정한 채 생성하여 전송하는 중에, 만약 중계시스템(라우터 등)이 수용하기에 더 큰 패킷이면 이를 거부하게 되며 이를 다시 더 작은 크기로 재전송하게 된다.

- 이 과정은 ICMP 의 Destination Unreacheable (Fragmentation Required but DF bit is set) 오류가 돌아오지 않을 때까지 반복하게되며, 최종적으로는 오류 메시지가 더 이상 돌아오지 않는 시점에서 MTU 값을 확정하게 되는 알고리즘을 말한다.


AH(Authentication Header; 인증 헤더)

* ESP 헤더와 최종 목적지를 대상으로 한 어떤 목적지 옵션 헤더보다 앞에 나타난다.

* 다음 헤더, 페이로드 길이, SPI(보안 매개변수 색인), 일련 번호, 인증 데이터를 포함하고 있다.

* 인증, 데이터 무결성, 재실행 방지를 제공한다.

* 출발지와 목적지만 알고있는 특별한 해쉬 알고리즘과 특정 키

- 출발지 장비는 ICV(Integrity Check Value)라고 불리는 계산 결과를 헤더에 넣는다.

- 목적지 장비는 키를 이용해서 같은 계산을 하여 두 장비가 공유한다.

* 데이터 기밀화는 제공하지 않는다.


인증 헤더 포맷


ESP(Encapsulating Security Payload; 캡슐화 보안 페이로드)

* 암호화 알고리즘이 데이터그램 내의 데이터와 키를 암호화된 형태로 변환한다.

- 캡슐화된 페이로드에 데이터 기밀성, 인증, 데이터 무결성, 재실행 방지를 제공한다.

- ESP 앞에 오는 확장헤더나 IPv6 헤더에는 보안을 제공할 수 없음

* ESP 필드

- ESP 헤더는 SPI와 일련 번호를 가진다.

- ESP 트레일러는 암호화된 데이터 다음에 위치하고 암호화된 데이터를 고정길이로 만드는 부가 데이터를 가진다.

- ESP 인증 데이터는 AH처럼 계산된 ICV를 가진다.


ESP 헤더를 가진 패킷


ESP 헤더 포맷

목적지 옵션 헤더 : 패킷의 목적지 주소를 특별히 타겟으로 한 옵션 정보를 옮긴다. 모바일 IPv6는 이 옵션을 모바일 노드와 홈 에이전트 사이에 등록 메시지를 교환하기 위해 사용한다.


ICMPv6 (Internet Control Message Protocol for IPv6)

* 에러 메시지

– Destination Unreachable Messages

– Packet Too Big Messages (Path MTU discovery)

– Time Exceeded Messages

– Parameter Problem Messages

* 정보 메시지

– Echo Request and Echo Reply Messages

– Router Advertisement and Router Solicitation Messages

– Neighbor Advertisement and Neighbor Solicitation Messages

– Redirect Messages

– Router Renumbering Messages

– Informational Message Options

* RS (Router Solicitations; 라우터 요청)

– Sent only at host start‐up, to solicit immediate router advertisement

– Sent to all‐routers multicast address (link scope)

* RA (Router Advertisement; 라우터 광고)

– Either periodically, or in response to a Router Solicitation message

– Contain prefixes that are used for on‐link determination and/or address configuration, a suggested hop limit value, etc

* 리다이렉트

– Used by routers to inform hosts of a better first hop for a destination

* NS (Neighbor Solicitations; 이웃 요청)

– For address resolution: sent to “solicited node” multicast address

– For unreachability detection: sent to neighbor’s unicast address

* NA (Neighbor Advertisements; 이웃 광고)

– For address resolution: sent to unicast address of solicitor

– For link‐layer address change: sent to all‐nodes multicast address

– Usable for proxy responses (detectable)

– Includes router/host flag


Solicited Multicast Node Address

* ff02:0:0:0:0:1:ff00::/104 + the last 24 bits of IPv6 address


Router Solicitations and Advertisement

* Router solicitations (RS) are sent by booting nodes to request RAs for configuring the interfaces

* Routers send periodic Router Advertisements (RA) to the allnodes multicast address


Neighbor Solicitation and Advertisement


Multicast Neighbor Solicitation


Multicast Neighbor Advertisement


Redirect

* Redirect is used by a router to signal the reroute of a packet to a better router


IPv6 Address Auto‐Configuration

* A mechanism for setting IP address of a node automatically

* Stateless address auto‐configuration (RFC 4862)

– Interface ID is configured by the node on its own, and prefix is notified by the network

* Stateless dynamic host configuration (RFC 3736)

– Sometimes called DHCPv6lite

– The DHCPv6 server does not assign addresses configuration parameters, such as DNS server

* Stateful configuration (RFC 3315)

– The DHCPv6 server assigns an (non‐temporary and/or temporary) address

* Prefix Delegation (RFC 3633)

- The DHCPv6 server delegates prefixes to the clients instead of leasing addresses


Stateless Address Auto‐configuration

• Router Solicitation (RS) message on the network using the link‐local address

• Router Advertisement (RA) message

– RA message is transmitted periodically

-> not necessary have to send RS message

– RA sender does not care to whom it sent information

• Global IPv6 address by combining prefix and interface ID

• A new node on the network generates link local address and allocates it to the interface

– Random number

– EUI‐64 expanded interface id

- Link local address format - fe80::W:X:Y:Z

• Duplicate Address Detection (DAD)

– To confirm that generated link local address is not already used on the same network

– A new node transmits Neighbor Solicitation (NS) message on the network

– If another node using the same address, this node sends NeighborAdvertisement (NA) message

-> the new node will terminates the interface

– If no NA message after a certain time, the new node will use the original link‐local address

• Use of link‐layer addresses inside the address space

• Auto‐configuration with “no collisions”

• Offers “plug and play”


Renumbering

• Networks can be renumbered by having routers specify an expiration interval for network prefixes

• The routers can send a new prefix to tell devices to regenerate their IP addresses

• Devices can actually maintain the old “deprecated” address for a while and then move over to the new address


IPv4 대 IPv6

특징

IPv4

IPv6

주소 길이

32비트 

128비트 

파편화 

호스트와 라우터 

오직 호스트만 

헤더 내 체크섬 

사용 

사용 안함 

헤더 내 옵션 

사용 

사용 안함 

링크-계층 주소 해석 

ARP (브로드 캐스트) 

이웃 탐색 (멀티캐스트) 

멀티캐스트 멤버십 

IGMP 

MLD (ICMPv6의 일부) 

라우터 탐색 

옵션 

사용 

브로드캐스트 

사용 

사용 안함

주소 할당

수동 혹은 DHCP

자동 설정 

IPSec 지원 

옵션 

사용 

QoS 지원 

약간 

보다 나음 

DNS 이름 역탐색 

A 레코드 IN-ADDR.ARPA 

AAAA와 A6 레코드 IP6.INT 


시간이 없어서 뒷부분 번역은 일단 패스. 나중에.

Posted by Maverick Unlimited
공부/Computer Network2013. 3. 25. 23:26

IPv6 - Part 1


IPv6의 역사 : 1998 12월 버젼, 이전 SIP(Simple Internet Protocol), SIPP(SIP Plus)

* Simple IP(or Steve's IP)

- 테마 : 헤더 최소화

- 확장성 부가 (e.g., 하나 이상의 다음 헤더)

- 흐름 식별자 (최신 작업 반영)

- 더 큰 평면 주소 구조체 (0에서 부터 시작하는 주소를 의미하는 듯)

* The P Internet Protocol (or Paul's IP) (RFC1621, RFC1622)

- 주소 지정을 위치자(Locator) 식별자(Identifier)로 나눔

- 계층적 다중 길이 위치자 : 제공자(provider) 부분, 이용자(subscriber) 부분

- 함축적 소스 라우팅

* The Grand Compromise (대합의) of '94 : Simple IP-Plus : 계층적 주소의 PIP와 SIP


IETF 작업 집단

* 6man : IPv6 Maintenance

* 6LoWPAN : IETF의 워킹 그룹 중 하나이며, IEEE 802.15.4로 대표되는 저전력 무선 사설 네트워크(Low-power Wireless Personal Area Network), 센서 네트워크 위에서 인터넷 프로토콜을 사용하기 위한 아키텍처 등을 표준화하고 있는 단체이다. (위키 참조)

* 6renum : IPv6 Site Renumbering

* v6ops : IPv6 Operations


IPv6 기술적 고려사항

* 규모: IP4 에서 IP6로 이행하는 최우선적 이유. 최소 10^12 노드와 10^9 네트워크 가능.

* 위상기하학적 유연성

- 네트워크 위상기하학적 사전지식이 없는 라우팅 알고리즘

– 매우 많은 수의 홉 (IPv4는 256이 한계)

* 성능 : 예전 "IPv4"와 동일 시간에.

* 탄탄한 서비스 : 최소 IPv4 만큼.

* 이행 : 인터넷의 모든 호스트를 IPv4 에서 IPv6로 바꾸는 것은 불가능하므로 IPv6 는 IPv4 패킷을 수용할 수 있어야 한다.

* 매체 독립성

– 미래의 네트워크는 500Gbps의 속도를 지원할 수도 있다.

– 어떤 ELF (=Extra Low Frequency) 네트워크는 10 chars/s 만큼 느릴 수도 있다.

* 설정, 관리, 운용 : IPv4보다 쉽다.

* 보안 운용 : 보안 레이어(secure layer). 예전 IPv4는 그러한 가능성을 주지 않았다.

* 멀티캐스트 : 사용가능 (유니캐스트도 당연)

* 확장성 : 새로운 버전의 IP라도 다룰 수 있다.

* 헤더 : 확장가능

* 패킷 : 새로운 패킷 타입을 IPv6에 추가할 수 있다.

* 네트워크 서비스 : 특별한 "상태" 즉 어떻게 그 패킷들을 다룰 것인가

* 이동성 지원

* 제어 프로토콜 : 어떤 종류의 디버깅과 제어 프로토콜.

* 사설 네트워크


IPv6 주소 : IPv4는 32비트, IPv6는 128비트.

* 2^32 = 약 43억

* 2^128 = 약 340간. 세계 인구가 약 65억명이라 보면 1인당 약 5양 2351자 개.


IPv6 주소 표기법

* 대소문자 구별없는 16비트 필드, 콜론 16진수 표기법

- ex) 2031:0000:130F:0000:0000:09C0:876A:130B

* 앞에 오는 0은 생략되지만 뒤에오는 0은 생략되지 않음

– ex) 2001:0db8:0012::/48 = 2001:db8:12::/48

– ex) 2001:0db8:1200::/48 ≠ 2001:db8:12::/48

* 0이 연속되는 필드는 :: 으로 표시하지만, 한 주소에서 한번만이다.

– 2031:0:130F::9C0:877A:130B

– 2031::130F::9C0:877A:130B (X)

– 0:0:0:0:0:0:0:1 -> ::1

– 0:0:0:0:0:0:0:0 -> ::



IPv6 주소 타입

* 유니캐스트 : 한 인터페이스에 한 주소. 하나의 인터페이스로 전달된다.

* 멀티캐스트 : 인터페이스 집합의 주소, 집합의 모든 인터페이스에 전달. FF00::/8

* 애니캐스트 : 인터페이스 집합의 주소, 집합내의 한 인터페이스에 전달. (예를 들어 라우팅 프로토콜의 거리 측정에 따라서 '가장 가까운' 것)

- 유니캐스트 주소 공간에 할당됨

- 문법적으로 유니캐스트 주소와 구별하기 어렵다.

* 브로드캐스트 주소는 없다.


IPv6 주소지정 모델

* 주소들은 인터페이스들이 배정되있다.

* 주소들은 범위를 갖는다.

– 링크 로컬 (FE80::/10) : 사설 IP 주소 자동 할당과 동일.

– 사이트 로컬 (RFC 3879로 폐지예정) : IPv4 사설 주소와 동일.

– 유니크 로컬 (RFC 4193) : 세계적으로 유일하고 지역 통신을 대상으로 함. 세계적 인터넷에서 라우팅 가능할 것으로 기대되지 않음.

– 글로벌 : IPv6 인터넷에서 사용. IPv4 범용 주소와 동일.


링크 로컬 주소

* 두 IPv6 장비간의 통신을 위한 의무화된 주소 (ARP와 흡사하나 레이어 3)

* IPv6가 가능해지자마자 자동적으로 배정됨

* 라우팅 프로토콜의 다음 홉 계산에도 사용됨

* 오직 특정 연결 범위 (?)

* 남는 54비트는 0이거나 수동적으로 설정된 어떠한 값


인터페이스 식별자 : 64비트 필드. 서브넷 내에서 유일한 것이 보장된다.

* 여러가지 다른 방식으로 배정될 수 있다:

 64비트 EUI-64로 자동 설정 또는 48비트 맥 어드레스에서 확장됨.

- 자동 생성된 의사난수. (프라이버시 문제를 고려)

- DHCP를 경유하여 배정

- 수동적으로 설정


EUI-64 확장 인터페이스 ID : EUI(Extended Unique Interface) ID

변환 방법 (Microsoft TechNet) 여기 설명이 더 알기쉽긴 하다.


프라이버시 향상 주소

* 누군가의 MAC 주소가 공개적으로 드러나는 점를 고려

* IEEE 식별자를 사용하는 대신 랜덤 주소 비트를 생성.

* 반복 확률이 적은 단기 주소를 생성.

* 부팅될 때나 정기적으로 런타임에 생성.

* 다른 연결에는 변경할 수 있다.

* Windows XP와 2000에서 볼 수 있다.


사이트 로컬 주소

* FEC0::/48

* 전역적 접두부 필요 없이 사이트 내에서의 주소지정을 위해서 디자인 되었다.

* 라우터들은 사이트 로컬 출발지나 목적지 주소를 가진 패킷을 사이트 밖으로 포워딩할 수 없다.

-> 사이트가 무엇이며 사이트의 경계가 어디인지 모호하다.

-> 사이트 로컬 주소 접두사는 여러 사이트들을 하나의 조직으로 나타낼 수 있다.

-> 조직 내부 라우팅 목적으로는 잘 맞지 않는다 (그것을 다룰만한 라우팅 프로토콜이 부족하다)


사이트 로컬 주소의 오버헤드

토모히로 후지사키, 사이트 로컬 어드레스의 가치하락. 16th APNIC Open Policy Meeting, 2003.

사이트 경계 라우터는 모호성 때문에 여러개의 라우팅 테이블을 가져야만 한다.


유니크 로컬 어드레스

* 사이트 로컬 어드레스의 대체.

* 전역적으로(세계적으로; Global) 유일, 사이트간 주소 충돌 회피

* 전역적으로 라우팅 가능하도록 의도되지 않음

* Global ID (전역적으로 유일한 접두부) 사용

* 의사난수 알고리즘으로 생성

* 높은 확률로 유일성을 보장하기 위해 모든 사이트들은 기능적으로 유사한 알고리즘으로 Global ID를 생성한다.


글로벌 유니캐스트 주소

* IPv6의 포괄적인 이용을 위한 주소들

* 집합을 유지하기 위한 계층구조로 되어있다

* SLA(Subnet Local Aggregator) -> Subnet ID

* 포맷 접두부 : 글로벌 유니캐스트 주소들이 집합가능한지 판별한다


IPv6 주소 할당의 분할


애니캐스트 주소

* 여러 노드들이 목적지 주소를 향하는 패킷들을 수용하도록 설정되어 있다

* 목적지를 향한 경로의 라우터들은 단지 네트워크 접두부에 기초해서 진행한다 - 보통 오직 하나의 노드만 라우팅을 통해 패킷을 받는다.




Posted by Maverick Unlimited
공부/Computer Network2013. 3. 21. 22:20

IPv4

원래 TCP의 일부분이었으나 1970년대에 layer3, 4로 나뉨. 버전4에서 TCP와 IP로 나뉨

ARPAnet(Advanced Research Projects Agency Network) : 세계 최초 패킷 스위칭 네트워크.

패킷 스위칭 : 터 네트워크와 통신에서 패킷 교환(Packet switching) 방식은 현재 가장 많은 사람들이 사용하는 통신 방식이다. 작은 블록의 패킷으로 데이터를 전송하며 데이터를 전송하는 동안만 네트워크 자원을 사용하도록 하는 방법을 말한다. 정보 전달의 단위인 패킷은 여러 통신 지점(Node)을 연결하는 데이터 연결 상의 모든 노드들 사이에 개별적으로 경로가 제어된다. 이 방식은 통신 기간 동안 독점적인 사용을 위해 두 통신 노드 사이를 연결하는 회선 교환 방식과는 달리 짤막한 데이터 트래픽에 적합하다. (위키피디아)


IP 기능 

- 어드레싱 : 임의의 대규모 네트워크에서 유일한 주소

- 데이터 캡슐화, 포맷화

- 파편화, 재결합

- 라우팅, 간접 전달 : 근본적으로 프로토콜 독립적(이더넷, PPP, SLIP 다 쓸 수 있다), 무접속성, 비신뢰성, 미확인성


IP 주소지정

- 클래스적 주소 : Class A, B, C 유니캐스트, Class D 멀티캐스트, Class E 실험용

- 비클래스적 주소 : CIDR(Classless Inter Domain Routing), 네트워크 주소를 묶는다. 이제 이게 권장됨. 서브넷/수퍼넷

- CIDR은 그림과 설명을 봐야 이해되니까 여러 자료를 참조할 것.


IP 주소 관리 계층

IANA(Internet Assigned Numbers Authority)

→ APNIC(Asia Pacific Network Information Center)

 NIR(National Internet Registries) = KISA(Korea Internet Security Agency)

 LIR(Local Internet Registries)

 ISP(Internet Service Providers)

 EU(End Users)


IPv4 헤더 : 20 bytes

Version : 데이터그램이 속한 프로토콜 버전

IHL : 헤더길이. 단위는 32비트 워드 단위로 최소값은 5, 최대값은 15이다. 최소값이 5인 것은 고정크기 20바이트를 가지고 있기 때문이다. 최대값이 15이므로 헤더는 60바이트로 제한된다. 따라서, 옵션은 40바이트까지 지정할 수 있다.

Type of Service : 호스트가 서브넷에서 어떤 종류의 서비스를 원하는지를 나타낸다. 왼쪽부터 3비트는 우선권(Precedence) 필드, 다음 3비트는 플래그(D, T, R)비트를 나타낸다. 우선권 필드는 0 ~ 7까지 우선권을 지정하고 플래그 비트는 라우터가 라우팅 할 때 중요시 해야할 선택요소를 나타내는 것으로 D(Delay), T(Throughput), R(Reliability) Flag가 쓰인다. 하지만 현재 라우터는 이 필드를 무시하므로 거의 쓸모가 없다.

Total length : 데이터그램 내의 헤더와 데이터의 길이를 합한 값. 최대 길이는 65,535 바이트

Indentification : 일반적으로 데이터그램은 쪼개져(Fragmentation) 전송이 되는데 이 조각(Fragment)들이 어떤 데이터그램에 속하는지를 알려준다. 하나의 데이터그램은 모든 조각들이 동일한 Indentification 값을 가지고 있다.

DF(Don't Fragment) : 목적지 컴퓨터가 조각들을 다시 재조합할 능력이 없기 때문에 라우터에게 쪼개지(Fragment)말라고 알려주는 것이다. 하지만 현재는 대부분의 장비가 재조합이 가능하기 때문에 거의 필요없는 기능이다.

MF(More Fragment) : 데이터그램 마지막 조각을 제외하고는 1. MF가 1이면 뒤에 조각이 더 있다는 것을 의미하고 MF가 0 이면 자신이 마지막 조각

Fragment offset : 데이터그램에서 도착한 조각이 어느 위치에 존재하는지를 나타낸다. 마지막을 제외한 모든 조각은 8 바이트의 배수여야 한다. 13 비트가 제공되므로 데이터그램당 최대 8192개의 조각이 있을 수 있고 최대 데이터그램 길이는 65,536 바이트가 된다.

Time to live : 패킷 수명 제한(hop수)

Protocol : 네트워크 계층에서 데이터그램을 재조합할 때, 어떤 상위 프로토콜로 조합해야 하는지 알 필요가 있으므로 UDP 또는 TCP를 알려주기 위해 사용한다.

Header Checksum : 헤더의 값을 검증하기 위해 사용한다. 헤더의 오류를 검증하기 위해 사용하는데 헤더의 값 중에 Time to live의 값은 계속 변하게 되므로 매 홉마다 다시 계산하게 된다. 단, 트릭을 사용할 수도 있다.

Source address : 32비트(4바이트)로 데이터그램을 보낸 송신지 주소를 나타낸다.

Destination address : 32비트(4바이트)로 데이터그램을 받을 목적지 주소를 나타낸다.

Options : 원래 설계에서 소개 되지 않은 추가 정보를 포함하는 차기 프로토콜을 수용하고, 새로운 실험을 위해서나 헤더정보에 추가 정보를 표시하기 위해 설계되었다. 옵션은 가변길이로서 각각은 옵션을 확인할 수 있는 1바이트 코드로 시작한다. 다음은 5개의 옵션을 나타내지만 모든 라우터가 옵션을 지원하지는 않는다.

Security : 정보를 은폐할 것인지를 나타낸다. 

Strict source routing : 송신측과 수신측까지의 완전한 경로를 일련의 IP 주소로 나타낸다. 데이터그램은 그 경로를 따라 정확하게 전달된다. 이것은 라우팅 테이블이 변조되었거나 타이밍을 측정하는 동안 긴급 패킷을 보내는 시스템 관리자에게 매우 유용하다. 

Loose source routing : 패킷이 거쳐야 할 라우터의 목록을 명시하고, 그 순서를 명시하지만 도중에 다른 라우터를 거쳐 지나가는 것을 허용한다.

Record route : 경로상의 라우터가 IP 주소를 옵션 필드에 추가할 것을 나타낸다. 이것은 시스템 관리자가 라우팅 알고리즘에서 버그를 탐지하는데 사용한다.

Timestamp : 주로 라우팅 알고리즘을 디버깅하기 위해 존재하는 것으로 각 라우터의 32 비트 타임스탬프를 기록한다.

(참조 : http://blog.cyworld.com/ruo91/2890461)


파편화 & 재결합 : 최종 목적지에서 reassemble 된다.

MTU(Maximum Transfer Unit) : 한번에 전송할 수 있는 패킷의 최대 크기.

Frame Relay default MTU = 1564 bytes

Standard Ethernet MTU = 1500 bytes

FDDI(Fiber Distributed Data Interface) default MTU = 4452 bytes


IP주소 부족 : 2011년 2월초 IANA는 사용가능한 IPv4 주소의 마지막 블록을 5개의 RIR(Regional Internet Registries)에 할당해주었다.

NAT(Network Address Translation) & Private Network

- 사설 IP는 인터넷에 직접 연결되어있지 않다. 임의로 다음의 실험적 IP 범위에 할당한다. (non-routable) IETF RFC 1918

- 10.0.0.0 ~ 10.255.255.255, 172.16.0.0 ~ 172.31.255.255, 192.168.0.0 ~ 192.168.255.255

- NAT는 사설 네트워크를 공용 인터넷에 연결하는 라우터에서 실행된다.

- 다른 IP 주소-포트 페어와 IP 패킷을 다른 것으로 대체해주는 역할을 한다.


IP 풀링 : 기업 네트워크는 많은 호스트가 있지만 적은 수의 공용 IP 주소 밖에 없다. 사설 네트워크의 호스트가 IP 데이터그램을 공용 인터넷의 호스트로 보낼 때, NAT 장비는 공용 IP 주소를 호스트의 사설 주소에 묶는다(bind).

IP 마스커레이딩 : NAPT(Network Address and Port Translation), NAT 장비가 내외부로 오가는 트래픽의 주소와 포트 넘버를 변경한다. (LAN side addr, WAN side addr)


NAT의 우려점

- 퍼포먼스 : IP 헤더 체크섬, TCP 체크섬을 재계산 해야함

- 파편화 : 데이터그램 파편이 다른 IP 주소와 포트 넘버로 배정될 수 있다.

- 종단간(end-to-end) 연결성 : NAT는 인터넷 호스트의 전세계적 종단간 도달 가능성을 파괴한다.

- 공용 인터넷의 호스트는 종종 사설 네트워크의 호스트에 접촉할 수 없다.

* 사용자간(peer-to-peer) 어플리케이션 방해

* 각각 사설 네트워크에 있는 경우 더욱 좋지 않다.

- 일반적으로 주소-포트 매핑은 약상태(soft-state)로 유지된다. (몇 분간만)

- 어플리케이션 데이터의 IP 주소 : 1:1 NAT 의 경우 Layer3 IP 정보만 변환해주며 NAPT 경우 IP와 Port(Layer4) 까지 변환해준다. SIP 본문은 control 불가능


NAT 를 통과하기 위한 ITEF의 표준은 3가지 이다.

STUN (Simple Traversal of UDP through NAT) : STUN 서버, STUN 클라이언트로 구성된다. UA(사용자 에이전트) 스스로가 NAT 내부, 즉 사설망에 있는지 여부와 그렇다면 어떤 종류의 NAT이고 NAT 장치의 공인 IP주소가 무엇인지를 찾아내도록 도와주는 프로토콜이다.

UA가 외부 공중망에 있는 STUN 서버에게 STUN 패킷을 보내면 STUN 서버는 패킷을 보낸 장치의 IP 주소와 포트 번호를 담아 응답합니다. UA는 자신의 IP주소와 STUN 서버가 보내온 IP 주소를 비교하여 두 주소가 같으면 NAT가 없음을 알게 되고, 반면에 두 주소가 다르면 NAT 내부에 있는 것이므로 UA는 이후 SIP과 SDP에 포함될 IP 주소를 STUN 서버가 보내준 공인 IP 주소로 수정하여 호(call)를 시도한다.

결과적으로 UA 스스로가 NAT문제를 해결할 수 있게 된다. 그러나 STUN 방식은 두 UA가 모두 NAT 내부에 있을 때에는 제대로 동작하지 않는다. 또한 Symmetric NAT(밑에 설명)에서는 지원하지 않는다. 이 해결책은 TURN이다.

Cone NAT의 경우 내부의 IP:Port에 대해 Destination에 관계없이 동일한 외부의 IP:Port로 매핑되고, Symmetric NAT의 경우 Destination에 따라 다른 외부의 IP:Port를 사용합니다.

Full Cone의 경우 들어오는 트래픽의 Source IP와 Port에 대해 검사없이 NAT Table의 Mapping대로 릴레이하고 Restricted는 IP만 체크하면 Port Restricted는 IP와 Port모두 체크 합니다.

TURN (Traversal Using Relay NAT) : UA로 하여금 외부 공중망에 있는 TURN 서버를 경유하여 호를 설정하도록 하는 방식이다. 즉 두 UA가 서로 직접 메시지를 주고받는 것이 아니라 공중망에 위치한 TURN 서버와 세션을 설정하도록 하여 TURN 서버가 이를 중계하는 방식이다. 두 UA가 경로가 다소 우회된다. 하지만 Symmetric NAT나 방화벽이 있을 경우에도 호를 설정할 수 있는 유일한 방법은 TURN이다.

ICE (Interactive Connectivity Establishment) : STUN이나 TURN을 사용할 때 P2P 방식을 통해 최적의 라우팅을 제공하려는 기법이다. 세션 설정 과정에서 자신이 알 수 있는 모든 주소들을 동원하여 시그널링을 시도한다. 주소들의 우선순위는 직접 통신 가능한 주소가 우선이고, TURN 서버 주소와 같은 간접 통신을 위한 주소는 뒤에 배치된다. 세션 설정 후 망 상황이 바뀌거나 세션이 변경되면 ICE에 의한 주소 교환을 처음부터 다시 수행한다. ICE 방식은 일반 P2P 파일 공유 애플리케이션에서 NAT나 방화벽을 통과할 때 사용되는 기법과 흡사.

* UA가 사용 할 수 있는 주소들

- UA 자신의 사설 IP 주소

- STUN 서버가 알려준 NAT 장치의 공인 IP 주소

- 패킷을 중개할 TURN 서버의 IP 주소

(참조 : http://mongu2.blog.me/140123112694)

IPv6가 해답이다. (라고 프린트에는 나와있지만 과연? 일단 언급된 문제들은 해결되나보다.)


Posted by Maverick Unlimited
공부/Computer Network2013. 3. 20. 22:57

디바이스간 정보 교환의 복잡성, 시스템간 의사소통을 위해 높은 수준의 협동이 필요 -> 전부 프로토콜로 통한다.

A protocol defines format / order / action.

프로토콜 아키텍처는 컴퓨터 간의 정보 교환을 지원하는 하드웨어와 소프트웨어의 (계층화된) 구조이다.


계층 구조 (OSI Model) : 수직적 스택으로 구성. 양 시스템에 동일한 계층이 있어야함. 따로 정리가 필요한지?

OSI Reference model : ISO 개발. 7 Layers. 이론적. [APSTNDP] APple 애플이 STaNDard 표준이다. Phsically. OK?

TCP/IP protocol suite : de facto(사실상) 표준. [ATINP] ATI NoPe! GeForce Good.


Network Interface에 SLIP, PPP, LAN/WLAN/WAN 하드웨어 드라이버들이 있고 / 사이에 ARP, RARP 있고

Internet에 IP(NAT, IPSec), IP Support(ICMP, ND), IP Routing(RIP, OSPF, BGP 등등) 같은게 있고

Transport에 UDP TCP SCTP DCCP 있고

Application에 DNS NFS BOOTP DHCP SNMP RMON FTP TFTP HTTP Gopher Telnet IRC 등등...


프레임헤더/IP 헤더/TCP UDP 헤더/어플리케이션 데이터

ATM(Asynchronous Transfer Mode, 비동기 전송방식) vs Ethernet


계층구조의 장점 : 복잡성 감소, 다른 계층 변화없이 새로운 특징을 도입가능, 하드웨어/소프트웨어 벤더간에 상호운용성 보장, 트러블슈팅 간소화.


크로스-레이어 디자인

- 주 고려사항 : 무선 연결 위에서 불균질한 트래픽을 어떻게 효율적으로 전송할 것인가? (존재하는 계층 네트워크 프로토콜은 케이블로 연결된 네트워크를 위해 개발되었다)

- 무선 채널의 물리적 한계 : fading(전파 강도 변화), multipath(다중통로), interference(간섭), mobility(유동성) 등등

- 크로스-레이어 디자인은 네트워크 프로토콜 스택의 유연성과 융통성이 있는 연결에 관하여 중요한 부분이다.

- 오해 : 프로토콜 레이어를 없애거나 합치는게 아니다. 인접한 레이어들을 병합해 '수퍼 레이어'로 한다.

- 데이터 교환을 원하는 어떠한 프로토콜 스택으로도 데이터 송수신이 가능 (ex: 응용 계층은 링크 계층에서 주어진 전송 경로나 네트워크 상태에 따라 전송률, power, 코딩 방법 등을 바꿀 수 있다)

- 제안 : 직접 통신, 공유 데이터베이스, 새로운 개념 (계층들 외부에 존재)


다이나믹 어댑터블 프로토콜 : 무선 급증-> 다중 표준, 프로토콜 스탱을 지원해야한다. 적응성이 핵심 기술.

RBA(Role-based Architecture) : 비계층 아키텍처. 패킷 헤더는 변동적 사이즈의 컨테이너로 교체.



Posted by Maverick Unlimited
공부/Computer Network2013. 3. 20. 20:24

인터넷이란 무엇인가?

- 거대한(vast) 네트워크의 무리, 네트워크의 네트워크 (that uses TCP/IP protocols and packet switching)

The First Internet(1969) : Stanford, UTAH, UCLA, UCSB를  IMP(Interface Message Processor)로 연결


인터넷의 역사

(위키 : http://ko.wikipedia.org/wiki/%EC%9D%B8%ED%84%B0%EB%84%B7_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C_%EC%8A%A4%EC%9C%84%ED%8A%B8)

NCP(Network Control Protocol) : since 1970, addressing and transport

TCP(Transmission Control Protocol) : Specification은 1970(Vinton Cerf), 1983에 완전히 교체. addressing과 packet transfer 분리.

DNS(Domain Name System) : since 1982, name space의 지방분권.


Scaling Problem(규모성 문제)로 인한 다른 발전상

- Link state routing protocol : 인터넷 규모가 커지면서 Distance vector protocol에 의해 고통받다보니...(ex: OSPF) 전체 라우팅 경로를 가지고 있고 변화된 부분만 멀티캐스트. 큰 메모리 필요.

- Exterior routing protocol : AS(Autonomous System) 끼리 주고받는 프로토콜. intra-domain routing protocol의 규모 한계에 대한 응답으로 만들어짐.


TCP congestion control (혼잡제어) : born in 1988, 하위호완성.

Border Gateway Protocol(BGP) : in early 1990s, Policy-based routing. 각각의 네트워크가 다른 네트워크를 사용/전파 할지 안할지 결정한다.

Classless Inter-domain Routing(CIDR) : 원래 classful address지만 낭비가 심함 -> 가변적인 어드레스 접두어를 사용.


Future-Stagnation? : 1993 부터 가장 큰 변화는 IP 레이어 밑에 있었고 그 위로는 decade 이상 없었다.

VPN(Virtual Private Network) : 뭔지는 대충 알고

MPLS(Multi-protocol Label Switching) : 가볍게 언급. 나중에 필요하면 조사.


Posted by Maverick Unlimited