TCP와 IP 각각이 프로토콜 이면서, 두개를 합쳐서 네트워크 모델로 본다.
개방향 프로토콜로 표준 모델이다. 물리적인 네트워크와 컴퓨터 하드웨어 또는 소프트웨어로부터 독립적이므로 어느 환경에서도 사용 가능하다.
범용성으로 인해 새로운 네트워크 기술을 쉽게 수용 가능
IP는 네트워크 계층에 존재하는 프로토콜이다.
IP 주소체계를 이용하여 인터넷에 연결된 모든 호스트들과 데이터통신이 가능하다.
TCP/IP 프토콜에서 전송 메커니즘 즉 라우팅을 제공한다.
비 신뢰성/비 연결형 데이터그램 프로토콜로 오류제어 기능 수행없이 best effort delivery service를 제공함
IP에서 사용하는 패킷을 데이터그램 이라 함
IP 데이터그램은 헤더 부분과 사용자 데이터 부분으로 구분됨
IP 데이터그램은 길이는 가변적이고, 기본 헤더의 크기는 20바이트이며, 옵션 영역을 사용하면 최대 60바이트까지 확장가능
버전 영역(VER)
1) IP 프로토콜의 버전을 나타내기 위한 영역 ex) IPv4, IPv6 4또는 6이 들어감
2) IPv6의 사용이 점점 증가흔 추세
헤더 길이 영역(HLEN)
- 4바이트를 기본 단위로 하여 헤더 부분의 길이를 규정 : ex) 20,24,28 ... 바이트 이렇게 들어간 바이트값은 4로 나누어서 헤더길이 영역에 들어간다 ex) 20이면 5가 들어감
차별화된 서비스(DS) 또는 서비스 유형
1) 데이터의 전송 목적에 따라 서로 다른 우선권을 설정하기 위한 영역
2) 네트워크를 통한 데이터 전송 시 사용자의 데이터마다 우선권을 부여함
3) 우선권이 높은 데이터가 먼저 서비스를 받도록 허용하며 차별화된 서비스를 위한 영역으로 사용할 수 있도록 규정
전체길이
- 바이트 단위로 헤더를 포함한 전체 패킷의 길이를 규정 -> ip 데이터그램의 총 길이
데이터그램 식별자
1) IP 데이터그램을 식별하기 위해 사용됨
2) 패킷 분할시 이 영역 값을 참조하면, 어느 원본 데이터그램으로부터 분할됐는지를 구분 가능
플래그
- 전송되는 패킷이 분할된 패킷인지 아닌지 여부에 대한 정보를 나타냄
패킷분할 옵셋
- 8바이트 단위로, 분할된 패킷의 일부분을 나타냄
ex) 1000바이트짜리 패킷이 500바이트 단위로 나눠짐, 첫번쨰 옵셋 0, 두번째 옵셋500
이 들어가 있다. 안에 들어가는 value값은 8로 나누어진 값이 들어간다.
존재시간 영역(TTL) = 네트워크에 돌아 다닐 수 있는 수명
1) 라우터를 지날 때 마다 TTL 값을 하나씩 감소시킴
2) 만일 TTL의 값이 0이 되면 그 패킷을 폐기함 -> 전송 측에 패킷이 폐기 됐다는 오류 메시지(ICMP TIME EXCEEDED MSG) 전송 - IP에는 메시지를 전송하는 기능이 없기 때문에 ICMP 프로토콜을 이용하여 메시지를 전송함
상위계층 프로토콜
1) IP 계층 서비스를 사용하는 상위계층 프로토콜이 무엇인지 나타냄
2) 프로토콜 영역의 값에 따라 해당하는 상위계층 프로토콜의 예 -> 표[9-2]
3) 만일 이 영역의 값이 6이라면, 서비스를 사용하는 상위계층 프로토콜이 TCP라는 의미
헤더 체크섬 : IP는 라우팅이 중요하다. 헤더가 중요하다. 헤더가 오류가 있는지 확인
1) 네트워크를 통해 패킷이 전송될 때 발생한 오류를 검출하기 위해 사용
2) IP헤더를 16비트 단위로 다 잘라서 더한다. 그리고 캐리가 발생하면 해당 캐리도 더한다. 그리고 1에 대한 보수 연산을 수행한다. 그래서 이것의 값이 0이면 오류가 없는 것이고, 다른 값이면 오류가 있는 것이다.
전송 측(source)과 목적지(destination) 주소 영역
1) 패킷을 전송하는 호스트의 주소와 패킷을 수신하는 호스트의 주소를 나타내는 영역
2) 32비트로 구성
IPv4 전송 측과 목적지 주소 영역이 각각 32비트로 구성
Ipv4는 기본적으로 클래스로 구분되는 주소체계를 취함
심볼화된 이름, 즉 도메인이름을 사용 : www.~~ 를 32비트의 숫자로 나타낸다.
호스트 컴퓨터 A는 IP 주소체계를 이용해서 호스트 컴퓨터 B로 데이터 패킷을 전송
네트워크상에서 데이터통신을 위해서는 반드시 고유한 IP 주소가 필요함
IP 주소는 32비트체계로 이루어져 있으며, 이는 네트워크의 규모에 따라 주소체계를 선택할 수 있도록 클래스로 구분되어 있다.
이진수 32비트로 이루어진 IP주소는 8비트 4개의 영역으로 구분하여 10진수로 표현함
-> '점으로 구분된 십진표기법(dotted-decimal notaion)'
클래스의 종류 : A 클래스, B 클래스, C 클래스, D 클래스, E 클래스가 있다.
앞의 4비트로 식별 -> 0이면 A, 10이면 B, 110이면 C, 1110이면 D, 1111이면 E
총 가능한 IP 주소 중 50%가 A 클래스에, 25%는 B 클래스에, 12.5%는 C 클래스에 할당되고, D 클래스와 E 클래스에는 각각 6.25%씩 할당
각 클래스는 'IP 네트워크 주소(또는 네트워크 ID,Netid)'와 'IP 호스트 주소(호스트 ID, Hostid)'의 조합으로 구성
IP 네트워크 ID : 네트워크의 식별을 위한 것
IP 호스트 ID : 네트워크의 호스트 컴퓨터를 식별하기 위한 것
서브넷 : 네트워크를 나눈것이다. 하나의 IP 네트워크 주소를 네트워크 내부에서 적절히 분할하여, 실제로는 다수의 상호 연결된 하부 네트워크로 나누어 사용하는 방법
서브넷팅 : 나눈 네트워크를 관리하는 것이다. 자신의 회사나 조직에 할당된 네트워크 ID의 IP 주소를 사용하여 내부적으로 여러 개의 서브넷을 구성하는 과정
네트워크 크기를 감소시키기 위해
네트워크의 관리와 유지보수를 용이하게 하기 위해
어떤 회사나 기관에서 서로 다른 LAN 기술을 수용할 수 있도록 구성하기 위해
전기적 신호 혹은 광신호의 특성에 따라 연결할 수 있는 호스트 수와 케이블의 길이에도 제한과 함께, 연결해야 하는 호스트 수가 많아지면 네트워크를 여러 그룹으로 분리할 필요성 때문
관리의 유용성을 증대 -> 트래픽에 따른 영역의 분리가 가능하도록 하여
점대점 링크를 사용할 수 있도록 구성하기 위해
ex) NetId 10.108.0.8 NetMaskt 255.255.255.252. /30
HostIP : 10.108.0.9, 10.108.0.10
먼저 필요한 서브넷의 크기가 결정되면, 이에 따라 필요한 비트수를 계산해야 함
사용 예
6개를 사용하는 이유는 서브넷 주소가 전부다 0이거나 1인 경우에 대해서는, 지역으로 간다거나, 브로드캐스트를 하는 주소이기 때문에 3비트를 할당하여 8개가 이용할수있는 서브넷 주소가 8개에서 2개를 뺸 6개가 된다.
서브넷 마스크는 하나의 IP 네트워크 주소를 다시 여러 IP 서브 네트워크로 분할하는 기능을 수행
IP 네트워크 ID 주소부를 나타내는 영역을 IP 호스트 주소 영역까지 확장하여, 하나의 IP 네트워크 주소를 또 다른 여러 개의 IP 네트워크 주소 생성
서브넷으로 구분하지 않는 IP네트워크 주소에 대한 네트워크 마스크는 모든 네트워크를 나타내는 영역의 비트(네트워크 비트)를 1로 설정하고, 모든 호스트를 나타내는 영역의 비트(호스트 비트)를 0으로 설정
출처 ) 초연결 사회의 데이터통신과 네트워킹