본문 바로가기
대학원 공부/computer science

Network : Network Layer : Internet Protocol

by 월곡동로봇팔 2019. 12. 17.

Why we need Network Layer??


Internetworking

Internet 구조

우리들이 이용하고 있는 internet 들은 LAN(Local Area Network), WAN(Wide Area Network) 로 구성되어 있고, 그 사이는 router 들이 연결해주고 있다. 

따라서 움직임은 node to node, hop to hop 으로 연결되어있고, 이 때 MAC 주소를 써서 신호를 주고 받는다.

 

이렇게 우리는 data를 signal로 변환해서 보내는 physicl layer와 data link layer가 물리적으로 연결을 담당하고 있다.

 

Internetworking's Problem

위에서 R1을 담당하는 router들은 interface를 내보내는 어떻게 결정할까??

 

이 때 필요한 주소가 바로 IP 주소이다.

network layer

ip 주소는 보낸 주소에서 부터 도착지 주소까지의 경로를 찾기 위해 필요한 주소입니다.  
mac 주소는 한 주소 내에서 다양한 기기들이 있을 때, 해당 기기들이 각각 어떤 기기들인지 식별하기 위하여 필요한 주소입니다.

물론 MAC 주소로 통신을 하려고 하면 할 수는 있다.

하지만 통신기기들의 고유번호인 MAC주소를 router, switch들은 일일히 기록을 하려한다면, 매우 비효율적이고 과부하가 일어난다.

따라서 우리는 IP주소를 사용해서 목적지까지 packet을 보내고, 거기서 MAC주소를 비교해서 data를 주고 받는다.

 

 

How it works in Network Layer?


Network Layer 기능

  1. 여러 protocol(RIP, shortest path 등등) 에 의해 packet들을 생성한다.
  2. client는 packet의 header에 정보, 도착지의 IP주소를 적는다. 이 때, client에 있는 routing table을 참조해서 만든다.
  3. packet이 너무 크면 fragment로 잘라서 관리한다.
  4. routing table을 확인하여, packet을 어디로 보낼지 정한다. 이 과정에서 packet header를 재조합한다.
  5. data link layer로 다시 보낸다.
  6. 받는 IP주소가 동일하다면, Transport layer에서 받는사람이 data가 다 도착하기 전까지 모아두고, reassemble한다.

router의 processing 과정

 

Why Network Layer pursue "connectionless service"?


Connection-oriented service 로 했을 때

packet을 보낼 때 마다, 제대로 받았는지 항상 확인하고 다시 보내고 한다면, 이는 internet에 엄청난 traffic을 준다.

마치 고속도로에서 제대로 가고 있는지 계속 확인하는 것이다.

 

따라서 "일단 보내자, 그리고 connection은 위에 transport layer에 맡겨두자!!!" 라는 것이 추구하는 철학이다.

Datagram

위에서 언급했듯이, A에서 1234 순으로 보내지만, network layer에서는 1432 순으로 받게 된다.

이를 우리는 나중에 언급하게될, Transport Layer에서 얘기할 것이다.

 

댓글