<VoIP(Voice over Internet Protocol)>

인터넷 및 네트워크의 표준 프로토콜로 사용되는 IP을 사용하여 별도의 네트워크로 구성되어 있던 음성과 데이터를 하나의 통신 네트워크에 통합하여 전송하는 방식을 말한다.


전화기를 사용하는 수화자에 의해 발생한 음성신호는 PSTN(Public Switched Telephone Network)을경유하며, 기존의 전화망과 같은 SCN(Switched Circuit Network)과 IP네트워크 사이에서 VoIP 연동 서비스를 제공하는 장비인 게이트웨이를 통해 인터넷으로 전송되게 한다.

 

VoIP 게이트웨이는 전화망에서 사용하는 데이터 형식인 PCM(Pulse Code Modulation)과 인터넷에서 패킷 전달 규약인 IP를 해석하여 상호 연동 서비스를 제공한다. (회선 교환망과 패킷 교환망을 연결시키는 브리지 역할)

 

 

<VoIP에서의 QoS>
1. 지연(Delay)

신호가 네트워크를 경유하는데 소요되는 시간이다.

PSTN 에서는 전송 지연에 의해 주로 결정되며 네트워크 교환 장비를 통한 지연은 아주 적다. 패킷 지연은 주로 버퍼링, 큐잉, 스위칭 또는 IP 라우터의 라우팅 지연에 의해 결정된다.

VoIP 장비(게이트웨이 및 터미널) 지연  코딩/디코딩 지연, 압축 지연

 

2. 지터(Jitter)

이상적인 기준(reference point)으로부터의 시간변위. 신호가 기준점보다 얼마나 빨리 혹은 늦게 나타나는가를 표현하는 값이다.

지연 시간이 일정하지 못하고 시간에 따라 변동되는 것으로서 음성 패킷들이 도착하는데 있어서 규칙성을 나타낸다.

 

3. 패킷 손실(Packet Loss)

음질의 명확성에 영향을 주는 요소로, 일정 시간 내에 도착하지 않은 패킷을 폐기한다. (UDP를 사용하기 때문)

패킷손실은폐방법(PLC: Packet Loss Concealment)사용하여 품질 개선 - 패킷 손실 시, 이전에 받은 패킷을 다시 재생하여 수신자가 패킷 손실을 알아채지 못하게 하는 방식



LIST

'Network > Network Theory' 카테고리의 다른 글

IPv4/IPv6 전환  (0) 2015.12.12
IPv6 헤더구조  (0) 2015.12.12
TELNET  (0) 2015.12.12
DNS(Domain Name System)  (0) 2015.12.12
포트 번호(Port Number)  (0) 2015.12.11

<IPv4/IPv6 전환>


1. 이중 스택(Dual Stack)

IP계층에 두 가지(IPv4, IPv6)의 프로토콜이 모두 탑재되어 있고 통신 상대방에 따라 해당 IP 스택을 선택하는 시스템



[이중 스택 시스템의 주소 설정]

IPv4 주소 : DHCP 기술을 사용

IPv6 주소 : 비상태형 주소 자동 설정(Stateless auto-configuration)

이중 스택 시스템의 DNS 이름 해석, DNS는 IPv4와 IPv6에서 모두 사용

DNS 주소해석기 라이브러리(DNS Resolver Library)가 A와 AAAA 레코드를 모두 처리

 

2. 터널링(Tunneling)

터널링 : 어떤 프로토콜의 패킷을 다른 프로토콜의 패킷 안에 캡슐화하여 통신


①  설정 터널링

출발지/목적지의 호스트가 IPv6 호환 주소를 인식하지 못할 때

메뉴얼을 통한 정적 터널링

6Bone(IPv6 Backbone)에서 사용

② 자동 터널링

IPv4 호환 주소(IPv4-compatible address)를 이용한 동적 터널링 (IPv6 패킷이 IPv4 네트워크를 경유하고자 할 때)

6to4 터널링 방식, ISATAP(Intra-Site Automatic Tunnel Addressing Protocol) 방식이 사용



3. IPv4/IPv6 변환(Translation)

IPv4-IPv6 게이트웨이를 통해 서로 다른 네트워크 상의 패킷을 변환

네트워크 레벨의 게이트웨이 vs. 어플리케이션 레벨의 게이트웨이

 NAT-PT(Network Address Translation  Protocol Translation)

IPv6, IPv4 네트워크 경계에서 주소변환을 수행

프로토콜 변환 규칙을 기반으로 헤더 변환을 수행



LIST

'Network > Network Theory' 카테고리의 다른 글

VoIP(Voice over Internet Protocol)  (0) 2015.12.12
IPv6 헤더구조  (0) 2015.12.12
TELNET  (0) 2015.12.12
DNS(Domain Name System)  (0) 2015.12.12
포트 번호(Port Number)  (0) 2015.12.11

<IPv6  헤더구조>



1. 버전(Version : 4비트) 필드

IP의 버전을 나타냄(IPv6.0의 경우 6)

 

2. 트래픽 클래스(Traffic Class : 8비트) 필드

IPv6 패킷의 클래스나 우선순위를 나타냄 (IPv4 TOS필드와 유사)

 

3. 플로우 레이블(Flow Label : 20비트) 필드

네트워크 상에서 패킷들의 어떤 특정한 흐름에 대한 특성을 나타내는 필드

기본적으로 0으로 되어 있고, 음성이나 화상 등의 실시간 데이터의 트래픽을 나타내기 위해 0 이 아닌 값으로 설정

 

4. 페이로드 길이(Payload Length : 16비트) 필드

페이로드의 길이를 바이트 단위로 표시한다.

필드의 길이가 16비트이므로 216(65,536) 바이트까지 표시

더 큰 데이터그램을 보내기 위해서는 홉-바이-(Hop-by-Hop) 확장헤더의 점보 페이로드(Jumbo Payload) 옵션을 이용

점보 페이로드 옵션을 사용할 경우 페이로드 길이 필드는 모두 '0'으로 설정

 

5. 다음 헤더(Next Header ; 8비트) 필드

IPv6 기본헤더 다음에 어떠한 종류의 확장 헤더가 오는지를 나타내는 필드



6. 홉 제한(Hop Limit : 8비트) 필드

IP 패킷이 전송되는 거리를 홉(hop) 단위로 제한할 때 사용하는 필드(IPv4.0 TTL필드와 같은 역할)

헤더 생성 시 임의의 초기값으로 설정되고 각 라우터를 지날 때마다 이 값을 1씩 감소시키며 홉 제한 값이 0 이 되면 패킷을 폐기

라우팅 루프가 발생하는 것을 방지하는 것 외에 멀티캐스트 그룹 내에서 가장 가까운 서버를 찾는 것에도 이용

 

7.  발신지, 목적지 주소( 16 Bytes) (Source, Destination Address ;  128비트) 필드

패킷을 보내는 호스트의 주소와 패킷이 도착해야 할 목적지

호스트의  주소를 나타냄



LIST

'Network > Network Theory' 카테고리의 다른 글

VoIP(Voice over Internet Protocol)  (0) 2015.12.12
IPv4/IPv6 전환  (0) 2015.12.12
TELNET  (0) 2015.12.12
DNS(Domain Name System)  (0) 2015.12.12
포트 번호(Port Number)  (0) 2015.12.11

<TELNET>

텔넷은 특정 지역의 사용자가 지역적으로 떨어진 다른 곳에 위치한 컴퓨터를 온라인으로 연결하여 사용하는 서비스를 말한다.

- 원격으로 특정의 컴퓨터 기기에 접속하는 프로토콜

- 특정지역의 사용자가 다른 곳에 위치한 컴퓨터를 온라인으로 연결하여 사용하는 서비스

- 네트워크를 통한 원격 로그인 또는 가상 터미널 기능을 제공하기 위한 프로토콜

- UNIX 시스템의 네트워크로 연결된 터미널에서 호스트의 쉘 모드를 흉내내는 프로그램

TCP를 사용하며, 포트번호는 23번이다.


- 텔넷 클라이언트는 터미널의 사용자와 TCP/IP프로토콜을 중개한다. 사용자가 입력하는 것은 TCP 연결을 통해 보내지고 그 연결을 통해 수신된 것이 상대방의 터미널에 출력된다.

- 텔넷 서버는 의사-터미널 장치를 다룬다. 이것은 서버에 로그린 쉘을 가동시키며, 로그인 쉘에 의해 프로그램이 가동되고 터미널정치에게 대화를 하게 만든다.


LIST

'Network > Network Theory' 카테고리의 다른 글

IPv4/IPv6 전환  (0) 2015.12.12
IPv6 헤더구조  (0) 2015.12.12
DNS(Domain Name System)  (0) 2015.12.12
포트 번호(Port Number)  (0) 2015.12.11
서브넷팅(Subnetting), 슈퍼넷팅(Supernetting)  (0) 2015.12.11
<DNS(Domain Name System)>
호스트의 이름(URL)과 IP주소를 매핑하여 주는 거대한 분산 네이밍 시스템이다. ARPANET 시절(옛날)에는 일정 주기마다 호스트 명단 파일(HOSTS.TXT)을 받아서 사용하였다.
인터넷의 규모와 호스트 수가 증가함에 따라 현재는 RFC 1034에 새로운 명명 체제에 대한 구현을 공식 발표하였다.
네임 스페이스 계층 구조, 분산 데이터베이스, E-mail 라우팅 개선에 주안점을 두고 탄생하였다.


Root Domain은 Top level에 대한 정보를, Top level은 하위 도메인에 대한 정보를 유지/관리하는 구조이다.
예를 들어, naver.com 도메인은 com 네임서버에 등록되어 있고, www.naver.com은 naver.com 네임서버에 등록/관리 된다.

<도메인 네임 변환 과정>
1. Client상의 응용이 'www.skku.ac.kr'에 접속하기 위해 자신의 Local Name Server에 질의

2. Local NS는 먼저 자신의 캐쉬에 자료가 있는지 확인한 후 발견되지 않을 시Root NS에 질의를 던짐

3. NS 'www.skku.ac.kr'의 자료를 갖고 있지 않으므로, kr 도메인을 관리하는 NS를 참고하라는 답변을 보냄

4. Local NS는 다시 kr NS에 질의를 던지고, kr NS는 다시 ac.kr NS를 반환

5. Local NS ac.kr NS에 질의하고 마찬가지고 skku.ac.kr NS를 참고하라는 답변을 보냄

6. Local NS는 다시 skku.ac.kr NS에 질의하고 skku.ac.kr NS는 서브도메인에 대한 자료를 관리하는 실제 NS 이므로, 'www.skku.ac.kr'에 대한 IP주소인210.94.224.184를 반환
 
7. 마지막으로, Local NS Client에게 결과를 전송


<DNS 헤더구조>



크기는 12 바이트이며, 질의와 응답 메시지 모두 같은 형태

식별자, 플래그, 질의 레코드 수, 응답 레코드 수, 권한 레코드 수, 추가 레코드 수 필드가 있다.

 

1. 식별자 (16비트)

클라이언트의 질의에 대한 응답을 매칭시키기 위해 사용

 

2. 플래그 (16비트)

8개의 서브 필드로 구성

① QR(query/response) : 1 비트로 구성, 0 이면 질의, 1 이면 응답을 나타냄

② OpCode : 4비트로 구성, 질의나 응답의 종류를 나타냄

③ AA(authoritative answer) : 1비트로 구성, 1일 경우 네임 서버가 권한이 인정된 서버임을 나타냄

④ TC(truncated) : 1비트로 구성, 1일 경우 응답이 512바이트 이상이라서 512바이트로 잘리어 졌음을 나타냄 (UDP 서비스에서 사용)

⑤ RD(recursion Desire) : 1비트로 구성, 1일 경우 클라이언트가 반복적인 응답을 원함

⑥ RA(recursion available) : 1비트로 구성, 응답에서 지정될 경우 반복적인 응답이 가능

⑦ Reserved  : 000으로 지정된 3비트 서브 필드

⑧ rCode : 4비트로 구성, 응답에 들어가는 오류 상태를 나타냄

 

3. 질의 레코드의 수(16비트)
메시지의 질의 섹션내의 질의 수

 

4. 응답 레코드의 수(16비트)
응답 메시지의 응답 섹션에 있는 응답 레코드의 수를 포함

 

5. 권한 레코드의 수(16비트)
응답 메시지의 권한 섹션내의 권한 레코드의 수를 포함

 

6. 추가 레코드의 수(16비트)
응답 메시지의 추가 섹션에 있는 추가 레코드의 수를 포함

헤더 외의 섹션
- 질의 섹션 : 하나 이상의 질의 레코드들로 구성
- 응답 섹션 : 서버로부터 클라이언트로의 응답을 포함
- 권한 섹션 : 질의에 대한 권한이 있는 서버에 대한 정보를 포함
- 추가적인 정보 섹션 : 질의 해결에 도움이 될 만한 추가적인 정보를 제공
예) 권한이 있는 서버의 도메인 네임을 제공하면서 동시에 IP 주소를 추가 정보 섹션에서 제공


LIST

'Network > Network Theory' 카테고리의 다른 글

IPv6 헤더구조  (0) 2015.12.12
TELNET  (0) 2015.12.12
포트 번호(Port Number)  (0) 2015.12.11
서브넷팅(Subnetting), 슈퍼넷팅(Supernetting)  (0) 2015.12.11
IP주소 체계 (Class A, Class B, Class C, Class D)  (0) 2015.12.11

<포트 번호(Port Number)>

인터넷이나 기타 다른 네트워크의 메시지가 호스트에 도착했을 때, 전달되어야할 특정 프로세스를 인식하기 위한 방법이다.

호스트의 구별은 IP, 프로세스의 구별은 Port number



[IANA (Internet Assigned Number Authority/인터넷 할당 번호 관리 기관 ) 범위]

잘 알려진 포트(Well-known ports) : 1~1023

등록된 포트(Registered ports) : 1024~49151

동적 포트(Dynamic ports) : 49152~65535



[UDP의 잘 알려진 포트번호]



[TCP의 잘 알려진 포터번호]




LIST

<서브넷팅(Subnetting)>

주어진 네트워크 주소를 작게 나누어 여러 개의 서브넷으로 구성한다. 네트워크 식별자 부분을 구분하기 위한 mask를 서브넷 마스크(subnet mask)라고 함.

 

일반적인 Class C를 두 비트의 서브넷 마스크를 사용하여 구성하면 다음과 같다.



[서브네팅의 예]
Class C인 203.252.53 네트워크를 할당받은 기관에서 6개의 서브 네트워크를 구성할 때
(서브넷의 id가 모두 0인 것과 1인 서브넷은 특수 주소로 제외한다.)
총 8개의 서브넷 필요


30개의 호스트를 갖고 총 8개의 서브넷을 갖는다.



<슈퍼네팅 (Supernetting)>
인터넷의 폭발적 증가로 문제점 발생하였다. Class A와 B 네트워크의 주소 공간이 고갈되었다.
클래스 C 주소 사용으로 인터넷의 라우팅 테이블 규모의 증대
32비트 IPv4 주소의 궁극적인 고갈
주소의 고갈을 막기 위해 IPv6가 제안
IPv4에서 IPv6로의 전환까지 과도기적인 사용

 

 

[슈퍼네팅의 예]
1,000대의 호스트가 필요한 기관이 있다면 Class B의 주소를 할당받아야 하나, 주소고갈로 할당할 Class B주소가 없다면 슈퍼네팅을 이용하여 다음과 같이 사용한다.


즉, 서브넷팅과 반대되는 개념이다. 조그만한 C클래스들을 합쳐 큰 클래스 단위의 네트워크 주소대역을 지원하는 것이다.

LIST



Class A : 첫 번째 바이트의 첫 비트가 0으로 시작

 

Class B : 첫 번째 바이트의 처음 두 비트가 10으로 시작

 

Class C : 첫 번째 바이트의 처음 세 비트가 110으로 시작

 

Class D : 첫 번째 바이트의 처음 네 비트가 1110으로 시작

LIST

<IPv6 주소 프리픽스 표현방법>


IPv6 프리픽스란 IPv6.0 주소 앞 부분에 위치하는 비트의 집합을 말한다.

IPv6의 주소 뒤에 /를 표기하고 네트워크 프리픽스의 길이를 10진수의 숫자로 표기

) BEAF :: ABCD : 0 : FFFF / 70 -> 70bit까지가 네트워크 주소



 

<주소형태 3가지>

1. 유니캐스트 주소

- 1:1 통신 시 서로 간의 인터페이스를 식별하는 주소

 미지정(unspecified) 주소

0:0:0:0:0:0:0:0 혹은 ::를 말하며, 노드가 자신의 주소를 알 수 없을 때 이를 알아내기 위하여 사용한다.

목적지 주소로 사용 불가능하며, 어떠한 노드에도 할당되지 않는다.

예) 호스트를 초기화할 때 자신의 IP 주소를 알지 못하므로 미지정 주소를 발신지 주소필드에 사용하여 자신의 주소를 얻음

 

 루프백(loopback) 주소

0:0:0:0:0:0:0:1 혹은 ::1를 말하며, IPv4 127.0.0.1과 같음

호스트의 주소로는 할당될 수 없으며 발신지의 주소로 사용될 수 없다.

 

 IPv4 주소를 포함한 IPv6 주소

- IPv4 호환 주소(IPv4-compatible address)

IPv6 패킷이 IPv4 네트워크를 경유하고자 할 때 사용되는 주소방식이다.

128비트 중 상위 96비트를 0으로 하고 나머지 32비트를 IPv4 주소로 사용한다.



- IPv4 매핑 주소(IPv4-mapped address)

호스트가 IPv6를 지원하지 않는 경우 IPv6 네트워크에서 IPv4 호스트를 식별하기 위한 주소

, IPv4 호스트들의 주소를 IPv6 주소로 변환할 때 사용하는 주소이다.

상위 80비트를 0으로 하고 다음 16비트를 1, 나머지 32비트를 IPv4 주소로 사용한다.



④ 글로벌 유니캐스트 주소

인터넷 상의 호스트를 구별할 수 있는 세계적으로 유일한 주소이다.

- 첫 세 비트가 000으로 시작되는 경우

인터페이스 ID 필드의 크기가 고정되어 있지 않음


- 첫 세비트가 000으로 시작되지 않는 경우

64비트의 인터페이스 ID 필드이다.

통합 글로벌 IPv6 유니캐스트 주소(Aggregatable Global Unicast Address)



TLA  ID(Top Level Aggregation ID) : 라우팅의 계층 구조에서 최상위 식별자이다.현재는 8,192개의 TLA ID가 존재한다. TLA ID 할당은 IANA(Internet Assigned Numbers Authority)에서 관장하고 있다.
(13비트)

 

- Res(Reserved)  : TLA ID NLA ID의 크기에 대한 확장성을 고려하여 향후 사용을 위한 예약된 비트이다. (8비트)

 

- NLA  ID(Next Level Aggregation ID) : 특정 단위의 사이트를 구별하기 위해서TLA ID에 의해 기관 단위로 할당되는 식별자이다. 또한 NLA  ID는 네트워크 규모에 따라 계층적인 할당이 가능하다.

 

-SLA  ID(Site Level Aggregation ID) : NLA  ID를 할당받은 최종 개별 사용자가 그 조직 내부의 서브 네트워크 설계하기 위해 이용하는 식별자이다. IPv4와는 다르게 16비트이기 때문에 최대 65,535개의 서브 네트워크를 구성할 수 있다.

 로컬 유니캐스트 주소
글로벌 주소에 대한 절약과 특정 조직(사이트) 내에서의 보안문제를 위하여 해당 사이트에서만 사용한다.
인터넷 상에서는 사용할 수 없으며 로컬 사이트 내에서만 사용한다.


LIST

<IP(Internet Protocol)>

네트워크 계층에 해당하고 전송 경로의 확립이나 네트워크 주소와 호스트 주소의 정의에 의한 네트워크의 논리적 관리 등을 담당한다.

모든 TCP/UDP, ICMP, IGMP 데이터는 IP 데이터그램을 사용하여 전송된다.

 

1. 비신뢰성(Unreliable)

IP 데이터그램이 목적지에 성공적으로 도달한다는 것을 보장하지 않는다는 의미이며, 최선의 서비스만을 제공한다.

 

2. 비접속형(Connectionless)

IP가 연속되는 데이터그램에 대한 어떠한 상태 정보도 유지하지 않는다는 것을 의미하며, 이것은 IP 데이터그램이 어긋난 순서로 배달될 수 있다는 것을 의미한다.

 

3. 주소 지정

네트워크 상에 접속해 있는 노드의 주소를 지정해주며, 이를 통해 목적지를 지정해 주는 역할을 한다. 각 호스트마다 주어진 IP주소를 말하며, 네트워크 상에 접속해 있는 각각의 노드를 식별하는 역할을 한다.

 

4. 경로 설정

목적지의 주소를 가지고 패킷을 전송하기 위하여 최적의 경로를 설정해주는 역할을 한다. 특정 목적지로 데이터를 전송할 때 어떤 경로를 경유하여 전송할지 결정하는 것이며, 이렇게 결정된 경로를 통하여 데이터 전송이 이루어지게 된다.

 

<IP 패킷 헤더>



1. 버전

현재 프로토콜 버전은 4이며 IPv4를 의미한다.

 

2. 헤더길이(Header Length)

option을 포함한 헤더의 길이를 나타낸다. 4bit필드이기 때문에 헤더를 60바이트로 제한한다. 4바이트를 기준으로 하기 때문에 헤더의 옵션필드가 없을 경우, 헤더길이가 5라면 4*5 = 20바이트를 말한다.

 

3. Type-Of-Service(TOS)

3비트의 우선권(Precedence)필드와 4비트의 TOS 필드, 그리고 값이 0인 사용되지 않는 1비트로 구성



4. 전체 길이(Total Length)

IP데이터그램의 전체 길이를 바이트로 나타낸다. 이 필드는 16비트이므로 IP 데이터그램의 최대 크기는 65,535바이트이다.

ex) 0030 -> 48byte (20byte(헤더) + 28byte(페이로드))

 

5. 식별자(Identification)

16비트이며, 호스트가 보낸 각 데이터그램을 유일하게 식별한다. 단편화가 이루어질 때 플래그 필드와 단편화 옵셋필드가 사용된다. 분할된 패킷들은 동일한 식별자 값을 얻는다.

 

6. 플래그(Flag)

3비트이며, 첫 번째 비트는 예약되어 있다. 사용하지 않음.



DF(Don’t Fragmentation) : 단편화금지 비트

0: 데이터그램 패킷을 분할 가능

1: 분할 불가능

 

MF(More Fragmentation) : 분할된 패킷이 마지막 것인지를 나타냄

0: 마지막 패킷

1: 마지막 패킷이 아님

 

7. 단편화 옵셋

13비트이며, 단편화된 조각들을 하나의 데이터그램으로 합칠 때, 전체 데이터그램에서의 상대적인 위치를 나타낸다.

Fragment가 완성된 메시지에서 어디에 속하는가를 표시


8. TTL(Time to Live)

데이터그램이 경유할 수 있는 라우터의 수에 대한 수를 결정한다. 데이터그램의 생존 시간을 제한하는 역할을 한다. 이 필드는 송신지에서 초기화되고, 각 라우터를 지날 때마다 라우터에 의하여 1씩 감소된다. 0이되면 데이터그램을 버려지고 송신자는 ICMP 메시지를 받게된다. 무한 루프를 방지하기 위해 사용된다.

 

9. 프로토콜

데이터그램의 상위 프로토콜이 어느 것이 사용되는지를 나타내 주는 필드이다. ICMP는 1, TCP는 6, UDP는 17이다.

 

10. 헤더 체크섬(Header Checksum)

IP헤더에 대해서만 계산된다. 데이터는 체크하지 않음.

내보내는 데이터그램에 대한 IP 체크섬을 계산하기 위해 먼저 체크섬 필드의 값은 0으로 설정된다. 그리고 헤더에 대한 16비트의 1의 보수의 합이 계산된다. 수신지의 계산된 체크섬은 송신지에서 저장한 체크섬을 가지고 있기 때문에 헤더 안에 아무것도 수정하지 않았다면 수신지의 체크섬이 모두 1비트일 것이다.

[방법/순서]

1) 송신자는 IP 데이터그램의 검사합 필드를 0으로 만든다.
2) 패킷을 16비트 단위로 나눈 후, 모두 합한다.
3) 구해진 합의 1의 보수를 구한다.
4) 구해진 검사합은 다시 검사합 필드에 저장한다.
5) 수신자는 받은 패킷을 16비트 단위로 나눈 후, 모두 합한다.
6) 만약 그 값이 모두 1이 나왔으면 패킷을 받아들이고, 그렇지 않으면 패킷을 폐기한다.

 


LIST

+ Recent posts