으래 컴퓨터를 어려서부터 접한 세대이고,
초딩 때 크아나, 바람의 시대 혹은 롤에서 키보드 배틀 좀 떠봤다 싶은 독자들이라면,
나보다 나이 좀 많아 보이는 형아들이 너 IP따서 디도스 공격한다.
라는 으름장에 맘을 졸여본 적이 있을 것이다.
그렇다. 사실 필자의 얘기다.
필자는 막연하게 IP가 뭐냐고 형제에게 물어봤다.
필자의 형제는 간단하게 말해서
IP란, 인터넷에서 사용하는 가상의 주소라고 답해줬다.
우리집에도 주소가 있듯, 컴퓨터에도 주소가 있다는 개념을 그 때 처음 알았다.
초딩 때 나를 발발 떨게했던 IP주소 딴다의 말의
IP의 풀네임을 수십년이 흐른 지금에야 알게 되었다.
인터넷 프로토콜 (Internet Protocaol)이다.
인터넷 프로토콜
네트워크 계층의 가장 핵심적인 프로토콜 하나를 꼽자면 단연 인터넷 프로토콜이다.
IP에는 두 가지 버전이 있다.
IP 버전 4(이하 IPv4)와 IP 버전 6(이하 IPv6)이다.
일반적으로 IP 혹은 IP 주소를 야기할 때는 주로 IPv4를 의미하는 경우가 많다.
따라서 IPv4를 기준으로 저술하겠다.
IP 주소 형태
IP 주소는 4바이트(32비트)로 주소를 표현할 수 있고,
숫자당 8비트로 표현되기에 0~255 범위 안에 있는 네 개의 10진수로 표기된다.
각 10진수는 점(.)으로 구분되며,
점으로 구분된 8비트(0~255 범위의 19진수)를 옥텟(octet)이라고 한다.
다음은 192, 168, 1, 1 각각 8비트로 표현된 옥텟이다.
(1바이트 = 8비트, 4바이트 = 32비트)
IP 주소
192.168.1.1
이런 형태의 IP주소는 IPv4에서 사용하는 IPv4 주소이다.
IPv6에서는 다르게 표기한다.
IP의 기능
IP의 기능은 다양하지만 대표적인 기능에는 두 가지가 있다.
IP 주소 지정과 IP 단편화이다.
IP(IPv4)를 정의한 인터넷 표준 문서(RFC 791)에도 이를 명확히 명시하고 있다.
이 두 역할을 중심으로 IPv4와 IPv6을 알아보겠다.
이 문장을 해석해보자면,
The internet protocol implements two basic functions:
addressing and fragmentation.
인터넷 프로토콜의 두 가지 기본 기능을 구현 :
(IP) 주소 지정과 (IP) 단편화
주소 지정은 언뜻 알겠는데 단편화? 단편화가 뭘까?
fragmentation는 단어 그대로 단편화라는 뜻이다.
"단편화"라는 뜻은, 큰 데이터를 더 작은 단위로 나누는 것을 의미한다.
데이터가 네트워크를 통해 전송될 때 네트워크의 제약에 맞추기 위해 나누는 과정을 뜻한다.
+++PLUS+++
어 근데 RFC 791이 뭔데 그렇게 믿고 정리하세요?
하실 수 있다.
RFC는 의미가 재미있다.
RFC(Request for Comments) 문서는 비평을 기다리는 문서라는 의미로,
컴퓨터 네트워크 공학 등에서 인터넷 기술에 적용 가능한
새로운 연구, 혁신, 기법 등을 아우르는 메모를 나타낸다.
이러한 RFC는 인터넷 기술을 발전시키기 위해
전 세계의 개발자와 연구자들이 협력하여 제안하고 논의한 결과물이다.
네트워크/인터넷 관련 신기술 제안, 의견 등을 남긴 문서이다.
RFC는 오늘날까지 사용되는 인터넷 표준이 되기도 한다.
이러한 인터넷 표준이된 RFC를 비롯한 영향력 있는
RFC 문서에는 번호가 부여되어 있다.
앞쪽에서 IP(IPv4)를 정의한 인터넷 표준 문서를 RFC 791이라 언급했다.
여기서 791은 RFC의 번호이다.
번호를 부여받은 RFC 문서는
새로운 RFC문서로 개정 출판될지 언정 폐지되거나 수정되지 않으니,
웹 브라우저 'RFC + RFC 번호(ex : RFC 791)'를 검색하면
어렵지 않게 원본을 찾아볼 수 있도록 정보 접근성을 열어두었다.
++++
IP 주소 지정은 IP 주소를 바탕으로 송수신 대상을 지정하는 것을 의미한다.
IP 단편화는 전송하고자 하는 패킷의 크기나
MTU라는 최대 전송 단위보다 클 경우,
이를 MTU 크기 이하의 복수의 패킷으로 나누는 것을 의미한다.
MTU란?
MTU란,
컴퓨터 네트워킹에서, 레이어의 커뮤니케이션 프로토콜의 최대 전송 단위이다.
최대 전송 단위(maximum transmission unit, MTU)란
해당 레이어가 전송할 수 있는 최대 프로토콜 데이터 단위의 크기(바이트)이다.
TU 크기는 표준(이더넷)에 의해 결정될 수도 있고,
시스템이 연결 시점에 결정될 수도 있다((point to point serial links)의 경우).
높은 MTU는 더 큰 효율성을 보장하는데, 그 이유는
해더 또는 패킷(정보의 블록)당 지연과 같은 고정된 프로토콜 오버헤드가 있는 반면,
각각의 패킷은 더 많은 데이터를 전송하기 때문이다.
더 큰 효율성은 대량 프로토콜 처리 성능의 약간의 향상을 의미한다.
또한 더 높은 MTU는 같은 양의 데이터를 처리하기 위해
더 적은 패킷을 사용한다는 것을 의미한다.
일부 시스템에서 패킷당 처리하는 퍼포먼스를 제약하는 중요한 요인이 될 수 있다.
그러나 높은 MTU는 단 몇 가지 단점도 가지고 있다.
큰 패킷은 때로 느린 링크를 점유할 수 있는데,
이는 이후 패킷들의 처리를 지연시킴으로써 지연 및 최소 대기 시간을 증가시킨다.
명시된 최대 전송 단위는 분할 없이 전송 가능한 IP 패킷의 최대 크기이다.
(IP 헤더는 포함하나 프로토콜 스택의 낮은 단계 헤더는 배제한다)
최대 전송 단위는 모든 호스트가 지켜야 하는 최소 데이터그램 크기와 혼동되어서는 안된다.
(IPv4 : 576 바이트, IPv6 : 1280 바이트)
MTU는 한 번에 전송 가능한 IP 패킷의 최대 크기를 말한다고 했다.
IP 패킷 헤더도 MTU 크기에 포함된다는 점을 유의하기를 바란다.
일반적인 MTU 크기는 1500바이트이며,
MTU 크기 이하로 나누어진 패킷은 수신지에 도착하면 다시 재조합된다.
참고 자료 및 서적
https://ko.wikipedia.org/wiki/%EC%B5%9C%EB%8C%80_%EC%A0%84%EC%86%A1_%EB%8B%A8%EC%9C%84
혼자 공부하는 네트워크
'컴퓨터 프로그래밍 공부 > 네트워크 서버' 카테고리의 다른 글
LAN을 넘어서는 네트워크 계층의 기능 (0) | 2024.11.16 |
---|---|
스위치와 VLAN (3) | 2024.11.14 |
허브 (0) | 2024.11.08 |
물리 계층과 데이터 링크 계층 - 이더넷 (0) | 2024.10.30 |
네트워크 미시적으로 살펴보기 (1) | 2024.10.27 |