센로그

Chapter 20. NETWORK LAYER : INTERNET PROTOCOL 본문

CS/컴퓨터 네트워크

Chapter 20. NETWORK LAYER : INTERNET PROTOCOL

seeyoun 2022. 12. 5. 04:08


◆ Internetworking

어떻게해서 Internetworking(네트워크-네트워크 간 연결)이 되냐?

 

2계층에서 링크를 통해서 LAN -> Router 까지 전달.

3계층에서 Router -> Router 전달.

 


◆ Internetworking 과정

 

A 주소에서 D 주소로 패킷을 보낸다고 하자. (A와 D는 논리 주소)

LAN 안에서는 MAC 주소를 공유하기 때문에, 우선 2계층에서 D의 MAC 주소를 찾아봄.

(브릿지가 learn 했으니까, 학습이 되어 있으면 아마 바로 찾아갈 것임.)

근데 (같은 LAN 아니니까 당연하게도) LAN 안에서 D의 MAC주소 못 찾음!

그러면 바로 default gateway의 MAC주소를 찾아, 포트에 있는 MAC 주소로 보냄. 그러면 라우터(R1)가 받음.

WAN에 연결된 라우터들 끼리는 Net ID를 공유함!

라우터는 D의 Net ID(클래스로 구분된)만 보고, 어느 네트워크인지/내가 가지고 있는지 없는지/어느 포트로 나가야 하는지 결정함!

R3 라우터에게 제대로 보내면, 어 내꺼 맞네~ 하고 받고, 어 그거는 스위치 몇 번째 포트네~ 하고 MAC 주소를 보고 내보냄

목적지에 도착하면, 내 꺼 맞으면 다음 계층으로 보냄. 중간에 ATM 거쳐왔으면 다 잘라서 왔을 것이기 때문에 합쳐서 보냄.

 


◆ 3계층 (Network Layer)의 필요성

2계층이 링크-링크 사이 전달(hop-to-hop)은 해줬다.

그렇지만 호스트-호스트(host-to-host)를 찾아가려면, IP 주소체계를 이용해 외부로 나가야함

 

2계층만 쓸거면, 모든 컴퓨터들이랑 링크로 연결되어 있어야 하는데, 굉장히 비효율적이고 오래 걸리겠죠?

 


Internet as a Datagram Network

인터넷에서는 Datagram Switch(연결X, 순서X) 사용함. 왜?

 

  • Connection-oriented service : 먼저 연결을 맺고, 패킷을 보내는 것. Circuit과 Virtual Circuit 방식
  • Connectionless service : 연결 맺지 않고,상황에 따라 적절하게 보내는 것. Datagram 방식

 


◆ 왜 3계층에선 Connectionless를 쓸까?

Connectionless 방식은 Datagram처럼, 우선 연결을 맺는 작업 없이

바쁜가, 혼잡한가 이런 정보를 고려해서 보내는 방식임. 

 

 

네트워크의 자율성

 

상황에 따라, 

새로운 네트워크가 달라붙을 수도 있고

갑자기 어떤 네트워크가 죽을 수도 있고

이런 일들이 생각보다 많이 일어나기 때문에, 이에 대비하기 위해서 connectionless 방식을 쓴다!

 

버스나 기차에서 와이파이 되는 것도 이동하면서 계속 다른 네트워크에 붙으면서 가는 것임. (mobility)

 

(connection-oriented 방식인 경우, 연결 안될 때마다 새로 연결 만들고 난리 쳐야함)

 


◆ Datagram의 구조

IPv4에서 사용되는 패킷 단위는 Datagram

 

 

요기서 Service (8bits) 부분에서, 라우터에게 서비스를 요청할 수 있음.

D Delay를 최대한 적게해죠~

R Reliability를 좀 고려해죠~ 안전한 곳으로 보내조

T Throghput 좋게 해줘~

...

이런거를 요청하는 것. 차별화된 서비스를 라우터에게 요청하는거를 TOS bit라고 부른다

 


■ IPv4는 Best-effort delivery service이다. 

2계층에서는 에러 컨트롤을 했었다. 그런데..

IPv4의 경우에는 "전달"하기 위한 최선만 다한다.

에러 컨트롤? 플로우 컨트롤? 난 몰랑~ㅎ 하는거임 (Checksum, 즉 Error Detection만 함)

 

그럼 이제 다시, Network 전송 과정에서 뭔가 문제가 생겼구나! 를 알 수 있는 파트가 필요함

=> 4계층에서 담당함

 

 

Comments