티스토리 뷰
[인터넷의 재료 1탄] IP란?
Inter-network
라는 말에서 나온 인터넷은 여러 통신망을 하나로 연결하는 개념에서 출발하였으며 지금은 거대한 컴퓨터 통신망을 의미한다.
중앙에서 관리하는 사람이 없으며 누구도 소유할 수 없고 규칙을 지키는 한 모두가 접근할 수 있기 때문에 굉장히 열려있는 통신망이다.
인터넷은 서로 통신하는 방법을 정의한 protocol
규칙에 의해 네트워킹할 수 있으며 여러 계층의 protocol
에 의해서 구동된다.
이 인터넷이 어떻게 작동하는지, 어떤 protocol
들이 있는지 한 번 정리해보자.
Computer networks
컴퓨터 네트워크는 서로 연결되어 데이터를 전송하거나 수신할 수 있는 컴퓨터 디바이스의 그룹이다. 여기서 디바이스는 컴퓨터, 태블릿, 핸드폰 등등 프로그램을 실행할 수 있는 모든 장치를 말한다.
컴퓨터 디바이스 몇 개가 연결되었는지에 따라 토폴로지(네트워크의 요소를 물리적 혹은 논리적으로 연결시키는 방식)가 달라진다.
네트워크의 타입들
네트워크의 크기와 특성에 따라 각기 다른 용어를 사용해서 네트워크를 구분해놓았다. 그중 몇 가지는 다음과 같다.
LAN (근거리 통신망)
- Local area network
- 많이 사용되는 네트워크 타입으로 이름과 같이 제한된 영역을 아우르는 네트워크 방식이다.
- 회사, 집, 학교 등과 같이 하나의 물리적 위치에 함께 연결된 장치의 모음
- 단일 인터넷 연결을 사용하여 파일을 공유하거나 공유 프린터를 사용하거나 서로 액세스를 제어할 수 있는 장점이 있다.
client/server
,peer-to-peer
두 타입이 있다.
WAN (광역 통신망)
- Wide Area Network
- 수많은 LAN으로 구성된 가장 거대한 네트워크 타입이다.
- 인터넷의 네트워킹 타입이다.
- 주로 통신회사의 회선을 임대해서 연결
DCN
- Data Center Network
- 적은 딜레이로 교환되어야 하는 데이터에 사용하는 네트워크 방식이다.
네트워킹 프로토콜
컴퓨팅 디바이스가 연결될 때마다 서로 통신하기 위해서는 프로토콜이 필요하다.
인터넷 위에서 연결될 때에는 당연히 인터넷 네트워킹 프로토콜을 사용해야하지만 작업에 따라서 다른 프로토콜을 사용할 수 있다.
Internet Protocol (IP)
- IP 주소라는 것을 사용해서 장치를 고유하게 식별
- 데이터를 IP 주소로 보내기 위한 전략
위의 두 가지를 가능하게 하는 프로토콜이 IP 이다.
우리가 우편을 주고받을 때 집 주소가 필요하듯이 인터넷에 연결된 장치들이 주소를 갖는 것이다.
만약, 컴퓨터가 메시지를 다른 컴퓨터에 보내려고 한다면 다음과 같이 보내게 된다.
- 메시지를 받을 수신자의 IP를 지정한다.
- 메시지를 받기 위해 자신의 IP를 포함한다.
즉, IP는 나와 상대의 주소를 지정함으로써 패킷이 올바른 목적지에 도착하는지 확인하는 데 사용되는 프로토콜인 것이다.
IPv4 / IPv6
최근에는 두 가지 방법의 IP 버전이 사용되고 있다.
IPv4
- 인터넷에서 처음 사용되었다.
74.125.20.113
와 같이 지정된다.- 각각의 IP 주소는 4개의 숫자로 이루어지며 이 숫자들은 [0-255] 범위 안에서 정해진다.
IPv6
- IPv4 방식으로는 늘어나는 주소를 감당할 수 없을 것 같아 나온 방식
2001:0db8:0000:0042:0000:8a2e:0370:7334
와 같이 지정된다.- 십육진법을 이용하여 더 많이 주소를 사용할 수 있게된다.
IP Packets
한 번에 전송할 수 있는 데이터의 양에는 한계가 있기 마련이다. 그렇기 때문에 네트워킹 프로토콜들은 각 메시지를 작은 패킷으로 잘게 나눠버린다. IP 프로토콜은 어떤 방식으로 패킷을 나누는지 알아보자.
- 각각의 패킷은
header
와data
를 가지고 있다.header
- 20~24bytes
- 소스와 대상(목적지)의 IP 주소를 가지고 있다.
- 라우팅(최적의 경로를 선택하는 과정)에 도움이 되는 기타 필드가 포함된다.
data
- 다양한 길이
- 내용이 들어간다.
Internet routing protocol
Internet Protocol(IP)에서 메시지를 패킷들로 쪼개면 그 패킷들은 라우터와 라우터를 뛰어다니며 목적지로 향하게 된다.
(라우터란 패킷의 위치를 추출하여, 그 위치에 대한 최적의 경로를 지정하며, 이 경로를 따라 데이터 패킷을 다음 장치로 전달하는 네트워크 장치이다.)
패킷들이 어떻게 목적지에 도착할 수 있는지 과정을 살펴보자.
라우터로 패키지를 보낸다
- 컴퓨터는 가장 가까운 라우터에 첫 번째 패킷을 보낸다. 본인 컴퓨터 혹은 집 컴퓨터 옆에 있는 그 라우터에 말이다.
라우터가 패킷을 받는다.
- 라우터가 패킷을 받으면 IP
header
를 확인한다. 가장 중요한 것은 목적지 IP의 주소일 것이다.
- 라우터가 패킷을 받으면 IP
라우터가 패킷을 전달한다.
- 라우터에는 패킷을 보낼 수 있는 여러 경로가 있으며 라우터의 목표는 최종 목적지에 더 가까운 라우터에 보내는 것이다.
- 이때,
Forwarding Table(포워딩 테이블)
을 이용하여 대상 IP주소를 기반으로 다음 경로를 선택하는데 도움을 받는다.- 포워딩 테이블은 입력 포트의 수신 패킷을 어느 출력 포트로 보낼 것인가를 나타낸 표이다.
- 포워딩 테이블은 가능한 IP주소를 모두 가지기에는 그 수가 너무 많기 때문에 IP주소의 앞부분만 가지게된다. IP주소는 계층적이기 때문에 앞부분이 비슷한 IP주소들은 같은 네트워크에 있기 때문에 가능하다.
- 라우터가 대상 IP주소에 대해 포워딩 테이블의 도움을 받으면 해당 경로를 따라 패킷을 보낸다.
마지막 라우터가 메시지를 전달한다.
- 모든 과정이 잘 이루어진다면 패킷들이 적절한 곳에 잘 도착했을 것이다.
- 이제서야 라우터는 대상 IP주소로 메시지를 보낼 수 있다.
IP Only?
IP는 패킷의 모든 결과를 처리해주지는 않는다. 다음과 같은 상황들 말이다.
- 컴퓨터가 대상에 여러 메시지를 보내면 대상이 어떤 패킷이 어떤 메시지에 속하는지를 식별해야 할 경우
- 패킷이 순서 없이 도착할 경우
- 패킷이 오염되었을 경우
- 패킷이 손실되었을 경우
다행히, IP 위에서 이런 경우를 다룰 수 있게 해주는 더 높은 수준의 프로토콜들이 존재한다. 그 프로토콜들을 다음 편에서 알아보자.
스포: TCP / UDP
https://www.cisco.com/c/en/us/products/switches/what-is-a-lan-local-area-network.html#~benefits
https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B0%ED%84%B0
http://www.ktword.co.kr/test/view/view.php?m_temp1=1327
https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B0%ED%8C%85_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C
'CS' 카테고리의 다른 글
[인터넷의 재료 2탄] IP위에서 돌아가는 TCP/UDP 프로토콜 (0) | 2022.02.15 |
---|