계층 3 - Internet
internetworking
internetworking 이란?
LAN과 WAN 같이 특정 네트워크에 따라 specific한 기술을 적용해야 하며, 모든 필요성을 만족시키는 최적인 네트워크는 없기 때문에, 네트워크 마다
- 주소 체제가 다르거나
- 주고 받는 패킷의 형태가 달라서 통신이 불가능하다. (비호환) 그래서 이 비호환을 극복하고 통신을 제공하기 위해 고안해 낸 것이 internetworking이고, 물리적인 네트워크들을 연결해놓은 시스템을 internetwork 혹은 internet으로 부른다.
보통 internet(맨 앞 알파벳이 소문자인걸 주목하자) 은 몇 개의 네트워크 들을 포함하는 거고, global Internet이 우리가 보통 생각하고 있는 매우 커다란 인터넷을 말한다.
Internet 이란?
유저의 관점에서는 웹, email 같은 서비스와 어플리케이션으로 볼 수 있고, 네트워크 전문가의 관점으로는 서비스를 돌아가게 하는 빠르게 성장하는 플랫폼이라고 할 수 있다.
인터넷 구조 설계
주요 원리
- 앞으로의 새로운 서비스가 확장 되더라도 이를 수용할 수 있도록 디자인 되어야 한다.
- 어떤 네트워크도 수용할 수 있도록 디자인 되어야한다. 즉, 각각의 기술들이 적절히 사용되는 것이 수용되어야 한다.
인터넷이 가지고 있는 철학
- Infrastructure(인프라)
- 패킷 통신 서비스를 제공해야 한다.
- 패킷의 형태에 제약이 없고, 네트워크 기술에도 제약이 없음.
- 어떤 endpoint간에 아무 endpoint에 다 보낼 수 있다.
- 어떤 endpoint던 다 동일하게 취급한다.
- 붙어있는 endpoint들
- 모든 컨텐츠들을 제어하고 모든 서비스를 제공할 수 있게 한다.
- 인터넷 철학에서의 이점
- 서로 다른 네트워크도 수용한다.
- 서비스와 통신은 따로 분리를 시켜놓아야 해서, 서비스를 제공하는 사람은 통신 쪽을 몰라도 된다.
- 모든 서비스를 수용할 수 있다.
Router
인터넷에서의 철학을 구현하기 위해 생긴 것이 이 Router 이다.
Router는 다음과 같이 두 가지 일을 한다.
- 패킷 포워딩: 패킷을 받아서 그 다음으로 보내도록 하는 것. 목적지 까지 가려면 어느 길을 거쳐서 가야 최적인가?를 알려준다.
- 형식 변환: 서로 다른 네트워크는 주소/패킷의 형태가 다를 수 있기 때문에, 이를 변환해 주는 역할을 한다. 이 형식 변환을 프로토콜 소프트웨어가 해결하기로 하는데, 레이어 3의 기능을 실제로 구현한 IP라는 프로토콜 이 해결한다.(레이어 3에는 ARP, ICMP라는 프로토콜도 존재한다.)
Internet은 하나의 네트워크라고 가정은 했지만, 실제로 존재는 하지 않고 라우터와 작은 네트워크들로 구성된다. 그래서 virtual network라고도 부른다.
계층 3 IP 프로토콜에서 일어나는 일
전체의 네트워크에서 동일한 주소를 사용해야 하기 때문에, IP주소를 만들어서, 서로 다른 네트워크가 주소를 이해할 수 있게 한다. 하나의 네트워크에서는 패킷 형태가 따로 존재하는데, 즉 인터넷 계층에서 사용되는 패킷을 데이터그램 이라고 한다.
Host
- 인터넷에 연결되어 있고.
- 응용 프로그램을 수행하고 있는 컴퓨터를 Host라고 한다. 크기는 관계가 없다.(휴대폰이든 컴퓨터든)
예시
실제로 예를 들어 보자. A라는 맥주소를 가지고 있는 컴퓨터가, 또 다른 네트워크에 있는 B라는 컴퓨터한테 데이터를 보내려고 한다. 이때 일어나는 일을 단계별로 설명해보면,
-
계층 3에서 데이터 그램을 만든다. payload, header가 있는데, header에는 source와 destination을 적어야 한다. source에는 A의 ip주소를 적고, destination에는 B의 ip 주소를 적는다. 즉, 계층 3에서 하는 일은 전체 Internet에서의 통신을 하는 개념이라고 생각하면 된다.
-
계층 2에서는 프레임으로 전송한다. 계층 3에서 받은 데이터를 헤더까지 전체 다 payload로 지정하고, header를 붙인다. 여기서 헤더에는 source에 맥주소 A를 적게 되고, destination에는 router의 맥주소를 적는다.
계층 5는 실제 송신과 수신 역할을 하는 곳에서만 필요하다. 그래서 송신,수신 역할이 존재하지 않는 라우터에서는 계층 5가 필요가 없다(사실 계층 4도 필요가 없다)