TCP/IP
IP
-인터넷 프로토콜의 약자로 네트워크에 연결된 호스트, 서버들이 가진 고유의 주소를 의미한다.
-TCP/IP 프로토콜 계층의 네트워크 계층에서 사용하는 프로토콜
-IPv4에서 32bit의 숫자로 구성된 논리 주소이고,
1byte마다 점으로 구분한 10진수 형태로 표현된다.
-논리적으로 IP 주소의 범위는 0.0.0.0 ~
255.255.255.255 이다.
-네트워크 주소와 호스트 주소로 구분하며, 앞 쪽 네트워크 주소를 제외한 나머지가
호스트 주소에 해당한다.
CLASS |
비트 구분 |
사용 가능 주소 범위 |
호스트 수 |
A |
0으로 시작 0xxx xxxx… |
1.0.0.0 ~ 126.255.255.255 |
2^24 - 2 |
B |
10으로 시작 10xx xxxx… |
128.0.0.0 ~ 191.255.255.255 |
2^16 – 2 |
C |
110으로 시작 110x xxxx… |
192.0.0.0 ~ 223.255.255.255 |
2^8 - 2 |
-D 클래스는 IP 멀티 캐스팅용, E 클래스는 자원 확보 예비용으로 분류하며 실제 사용하는 것은 A,B,C 클래스 이다.
-네트워크 주소에서 모두 0 또는 1인
경우 특별한 의미의 주소로 제외시킨다.
-0.0.0.0은 사용하지 않는 주소, 127.x.x.x는 시스템 루프백 주소(가상
할당)로 사용하지 않는다.
-A 클래스: 네트워크 주소로 8bit, 호스트
주소로 24bit 사용
-B 클래스: 네트워크 주소 16bit, 호스트
주소로 16bit 사용
-C 클래스: 소규모 네트워크에서 가장 많이 사용하는 클래스로, 네트워크 주소 24bit, 호스트 주소로 8bit 사용
-D 클래스: 주소는 224
~ 239까지로 시작하며, 멀티캐스트 용도로 사용한다.
*멀티캐스트: 데이터 수신 대상이 네트워크에 연결되어 있고, 1:n으로 통신하는 방식
-E 클래스: 주소는 240
~ 255까지로 시작하는 예비용 주소.
l 사설 주소
공인 IP 주소 부족 현상 해결을 위해, 외부와
내부 네트워크 간 장비를 사용하여 연결 시 모든 호스트에 공인 IP를 할당하지 않고 내부 DHCP를 통한 사설 IP 주소 사용하는 방법. 외부로 나갈 때는 장비에 연결된 공인 IP 주소를 사용하고, 들어올 때는 다시 사설 IP에 맞게 변환하여 사용한다.
A 클래스 |
10.0.0.0 ~ 10.255.255.255 |
B 클래스 |
172.16.0.0 ~ 172.31.255.255 |
C 클래스 |
192.168.0.0 ~ 192.168.255.255 |
l 데이터그램
-IP 계층의 패킷을 데이터그램이라 하며, 헤더와 데이터 부분으로 구성된다.
-헤더의 크기는 20~60바이트로, 패킷
전달 시 필요한 모든 정보를 포함한다.
IP 버전 |
헤더 길이 |
서비스 유형 |
총 길이 (최대 2^16-1 바이트) |
|
식별 |
플래그 |
단편 오프셋 |
||
라이프 타임(TTL) |
프로토콜(상위
계층) |
헤더 checksum |
||
송신지 IP 주소 |
||||
수신지 IP 주소 |
||||
옵션 |
-서비스 유형: 라우터가 처리해야 하는 데이터 그램 규정을 나타내며, TOS라는 서브 필드를 갖는다. 8비트 중 4번째 비트부터 유형 정의
TOS bit |
유형 |
TOS bit |
유형 |
0000 |
표준 |
0100 |
높은처리율 |
0001 |
최소 비용 |
1000 |
낮은 지연 |
0010 |
높은 신뢰성 |
|
|
-플래그: 패킷 분할 제어
-단편 오프셋: 분할된 조각의 원본 데이터에서의 자리 표시 역할
-식별, 플래그, 단편 오프셋을 함께 사용하여 패킷 재결합에 사용한다.
-TTL: 패킷이 네트워크 상에서 생존 가능한 시간을 규정. 수신지를 찾지 못하는 패킷이 네트워크상에서 돌아다니는 것을 방지하기 위해 데이터그램이 통과하는 최대 라우터 수 제어한다. 라우터 통과 시 1씩 감소하고 0이 되는 경우 라우터에서 폐기. OS, 프로토콜별로 미리 정해져 있다.
-Checksum: TCP/IP 프로토콜에서 많이 사용되는 오류 제어 방법으로, 패킷 전송 중 발생하는 헤더 부분의 오류를 검사한다. 수신 측에서 패킷과 checksum을 계산하여 조건을 통해 폐기 여부를 결정한다. Header의 비트 합의 1의 보수를 사용한다.
IPv6
IP주소가 필요한 단말들이 많아지면서, IPv4 주소 고갈로 이어질 수 있기
때문에 등장했다. 128bit로 구성되며 16bit 마다 ‘:’으로 구분한다. 기존 IPv4 주소를 IPv6 주소로
표현할 때에는 하위 32비트에 주소를, 나머지는 0으로 채우는 방식을 사용한다.
주소 표기 시에 16진수 32개로
표현하며 4개마다 ‘:’으로 구분하여 표기한다. 또한
두 개의 콜론 사이에서 앞쪽의 0은 생략
가능하다. 0으로만 구성된 섹션은 0을
모두 지우고, 콜론 2개로 대치가 가능하며, 한 번만 허용된다.
ABCD : 0000 : 0000 : 0000 : 0000 : CDCD : 0001 : DDDD >> ABCD :: CDCD : 1 : DDDD
-IPv6 데이터그램은 기본 헤더와 페이로드로 구성된다.
IP 버전 |
우선순위 |
흐름 레이블 |
페이로드 길이 |
다음 헤더 |
홉 제한 |
송신지 주소 |
||
수신지 주소 |
||
페이로드 확장 헤더 |
-우선순위: 동시 접속에 대한 패킷 우선순위 규정
-흐름 레이블: 데이터 특정 흐름을 다루도록 설계된 것
-페이로드 길이: 기본 헤더를 제외한 데이터그램 전체 길이
l IPv4 to IPv6 통신
-IP 전환
전환 기술은 IP 버전 별
각 네트워크 망 간 변환기를 사용하여 상호 연동, 게이트웨이를 이용하여 주소체계를 호환하는
기술이다. 서버와 클라이언트가 다른 방식의 IP를
가질 때 사용된다.
Ø 응용계층 게이트웨이 방식: 트랜잭션(변환) 서비스를 위한 ALG(Application Layer
Gateway)로, ALG가 두 프로토콜을 동시에 지원할 때 변환 메커니즘으로
사용 가능하다. 응용 계층에서 변환되며, 각
서비스는 IP 각 프로토콜로 밀폐되어 있어 FTP,
DNS, telnet 등 응용 프로토콜에 내장된 주소 변환 시 용이하다.
*ALG: 특정 어플리케이션 프로토콜을 관리하는 소프트웨어 구성 요소. 어플리케이션
서버와 인터넷 사이 중간 매개체 역할. 엔드포인트 서버로
인식되며, 서버로의 트래픽을 허용/거부를 제어. 트래픽 분석, 리소스 할당, 게이트웨이로의 트래픽 전달 동적 정책 정의.
Ø 전송 계층 릴레이 방식: TCP/UDP 각 IP 세션을
중간에서 릴레이.
1. TCP 요청이 릴레이 서버에 도착하면, 네트워크 계층은 수신지가
서버의 주소가 아니어도 TCP 요청을 TCP 계층으로
전송. 서버는 TCP 패킷을 받아 송신지 호스트와 TCP 연결.
2. 서버는 실제 수신지로 TCP 연결을 하나 더 생성 뒤 2개의 연결이 구축되면, 하나에서 데이터를 읽어
나머지 연결에 기록한다.
Ø 헤더 변환 방식: 네트워크 계층에서 IP 패킷 헤더를 변환하는 방식.
-듀얼 스택: 하나의 시스템에서 IPv4와 IPv6 프로토콜 모두 처리하는 기술
-터널링 방법: IPv6 네트워크 사이에 인접 IPv4 네트워크에 터널을 만들어 통신하는 기술'System Engineering > Network' 카테고리의 다른 글
HTTP - GET, PUT, POST (0) | 2018.07.24 |
---|---|
HTTP - 3. URI, URL (0) | 2018.07.12 |
TCP/IP - 1. TCP (0) | 2018.07.10 |
HTTP - 2. Message (0) | 2018.07.06 |
HTTP 1. HTTP (0) | 2018.07.02 |