본문 바로가기

Domain/네트워크

[네트워크] 3. Internet

Internet

네트워크의 네트워크로, 전 세계의 서로 다른 네트워크들이 TCP/IP 프로토콜로 연결되어 통신이 가능하다.

TCP/IP 프로토콜을 통해 프레임 형식, 주소 지정 방식 등이 통일된다.

인터넷의 장점

  • 서로 다른 네트워크를 모두 수용 가능하다.
  • 여러 개의 서비스와 응용 프로그램을 수용할 수 있다.
  • 서비스와 통신이 분리되어 있다.

 

IP: Internet Addressing

IP란 서로 다른 네트워크 간의 연결을 위한 계층3의 프로토콜이다. 32bit의 고유한 주소를 사용한다.

  • prefix: 특정 네트워크를 구별하기 위해 사용하는 비트
  • suffix: 그 네트워크 내의 호스트를 구별하는데 사용하는 비트
Dottted Decimal Notation,32bit IP 주소를 사람이 알기 쉽게 8bit의 정수로 끊어서 표현하는 방식이다.  EX) 0.0.0.0 ~ 255.255.255.255

 

IP 주소 지정 방식의 변화

1. Original(class) IP address

 네트워크를 크기 별로 구별하여 주소를 지정하는 방식이다. 하지만 실제 네트워크의 크기는 굉장히 다양하고, 이러한 방식은 주소의 부족 문제를 야기한다.

 

2. Subnet(or Classless addressing)

 위처럼 class 방식은 주소 부족 문제를 야기하여 class 방식을 뺀 주소 지정 방식이다. Address mask를 통해 prefix는 1로, suffix는 0으로 표현한다.

 

3. CIDR notation

 IP 주소 마지막에 '/숫자' 방식을 통해 prefix의 비트 수를 표현한다. ISP가 기업 고객에게 IP 주소를 할당할 때 유리하다. 가장 낮은 주소인 ...000은 네트워크 주소로 사용되고 가장 큰 주소인 ...111은 방송 주소로 사용된다. 따라서, /28과 같은 경우에는 실제 16개 중에 14개의 주소만 컴퓨터의 주소로 부여할 수 있다.


IP Datagram

IP의 패킷으로 가변적 크기를 갖지만 최대의 길이는 정해져 있다.

 

IP header

  • Version: IP의 버젼을 나타낸다. 보통 0x4
  • H.LEN: 헤더의 길이로 보통 5이다. 계산방식: 4X5 = 20B
  • Total length: 패킷의 총 길이
  • FLAGS: 데이터그램이 단편화 되었는지 나타낸다. 0 혹은 4이면 단편화 되었다.
  • FRAGMENT OFFSET: 단편화된 위치를 나타낸다. 100이라면 8을 곱하여 800에서 잘림
  • TIME TO LIVE: 패킷이 라우터 혹은 목적지로 이동할 수 있는 남은 횟수를 의미한다.

IP header

MTU(Maximum Transmission Unit): 네트워크 상에서 최대로 보낼 수 있는 패킷의 데이터 크기를 의미한다. 네트워크는 기반구조를 공유하기 때문에 독점을 방지하기 위함이다. Datagram을 여러 fragment로 나누어 MTU을 충족시킨다. Fragment로 나누어진 패킷이 수신자에게 도착하면 이를 다시 조립하는 reassembly 과정을 거친다. ID와 fragment offset 값을 통해 패킷을 구분하고 순서를 맞춘다.

 

 

EX) 와이어샤크 패킷 캡쳐

  • Version: 4
  • Header: 4*5 =20
  • Total length = 0x28=40
  • FLAGS: X
  • TTL: 0x80=128

 


Forwarding Table

라우터에 존재하는 테이블로, 목적지 컴퓨터의 네트워크 주소를 결정하고 다음 전송할 hop을 판단한다. Address mask를 이용하여 목적지 주소와 1bit씩 and 연산을 통해 목적지 네트워크 주소를 획득한다. 만약 

Encapsulation

송신에 필요한 정보(헤더)를 붙여 하위 계층으로 보내는 기술을 의미한다.

계층3(datagram)에서 계층2(frame)로의 캡슐화
캡슐화를 통해 패킷이 전달되는 과정. IP header가 교체되며 다음 ip 목적지 주소가 계속 바뀌어 최종적으로 목적지에 도달함.