본문 바로가기
CS/네트워크

[데이터 통신] Network layer

by JooRi 2024. 4. 8.
728x90
SMALL

* Internet Protocol(IP)

IP는 CL 방식이기 때문에 unreliable 한 서비스를 제공한다.

따라서 IP packet이 전달되는 동안 분실되면 재전송이나 복구하지 않는다.

IP는 Best effort service로 IP packet을 전달하지만, packet이 분실되지 않는다고 100% 보장할 수 없다.

 

* IP Addressing

IP 주소는 4바이트로, network id와 host ID 부분으로 구분한다.

1st 바이트의 MSB 값에 따라 A, B, C, D, E class로 구분한다.

 

* Address 분류

- unicast: 수신 호스트가 하나인 경우 할당되는 주소

- multicast: 수신호스트가 group인 경우 할당되는 주소

- broadcast: directed broadcast와 limited broadcast로 구분

- anycast:  IPv6에서 사용하는 주소

 

* Example of subnetting

다수의 host가 다수의 그룹으로 분리되어 있는 경우 = host가 다수의 subnetwork에 연결되어 있는 것.

IP 주소의 host ID 영역 일부를 subnetwork을 구분하기 위해 사용한다. 이때 subnet mask를 통해 host ID에서 몇 비트를 사용하는지 알 수 있다. 

 

* VLS(Variable Length Subneting)

각 subnet에 연결되는 host의 수가 다른 경우로서, 각 interface 마다 subnet mask가 다르다.

 

* ARP(Address Resolution Protocol)

LAN 환경에서 수신 host의 network 주소를 알고 있는 상태에서 frame을 송신하려면, 수신 host의 hardware 주소를 알아야 한다. 이 hardware 주소는 ARP를 통하여 구한다.

ARP를 통해 구한 hardware 주소는 ARP cache에 보관되며, ARP cache에서 모든 host는 ARP table을 유지 관리한다.

 

* ARP Operation(ARP 동작)

ARP request

Target의 hardware 주소를 지정하지 않고 ARP request message를 broadcast 한다.

모든 host가 ARP message를 수신하지만, target의 IP 주소에 해당하는 host만 ARP reply를 송신할 수 있다.

 

ARP reply

위 ARP request와 반대로, Host B가 sender이고 host A가 target이 된다.

Unicast frame으로 ARP reply message가 host A에 전달된다.

(유니캐스트: 수신 호스트가 하나인 경우 할당되는 주소)

 

* Proxy ARP

바로 위에서 설명한 ARP 동작과 달리, 자신의 IP가 아닌 것에 대해서도 ARP를 응답하고, IP subneting을 외부에 숨길 수 있는 기능이다.

외부 router, host routing table을 조정하지 않고도 subnet을 운영할 수 있게 해 준다.

 

* ICMP(Internet Control Message Protocol)

CL 서비스를 제공하는 IP network 환경에서 error reporting과 query/response 기능을 제공한다.

- 경로에 문제가 있어 TTL이 expire 될 때까지 목적지에 전달되지 못한 packet을 discard 하고 송신 단말에 알림

- 도달할 수 없는 목적지에 packet을 계속 보내지 않도록 알려주는 기능

- Congestion이 발생한 router가 이 상황을 송신 단말에 알려서 packet 전송을 잠시 중단하거나 전송률을 낮추도록 하는 기능 - - 특정 단말이 동작하고 있는지 또는 down 되어 있는지 확인하는 기능

 

* Time Exceeded

Code 0인 경우

수신한 IP의 TTL이 0이면 해당 IP packet을 discard 하고, time exceeded의 ICMP message를 송신한다.

 

Code 1인 경우

destination host가 fragmented packet을 수신하면 timer를 start 시킨다.

규정된 시간 내에 모든 fragmented packet이 도착하지 않으면 수신한 모든 fragmented packet을 discard 하고 original source에게 time exceeded의 ICMP message를 송신한다.

 

* From Multicast Address to Physical Address

- LAN environment: P2MP link이므로 multicast 기능을 제공한다.

- WAN environment: P2P link이므로 multicast 기능을 제공하지 않는다.

 

* Tunneling

Subnet은 multicast 기능을 지원하지만 internet이 multicast 기능을 지원하지 않는 경우,

multicast packet을 전달하는 방법이다.

 

* Routing(라우팅)

Source host에서 destination host으로 packet을 전달하는 경우, 최적의 path를 찾아내는 task이다.

최적의 정의는 기준에 따라 달라질 수 있다.

Source에서 destination으로 packet을 전달하는 경우에 소요되는 cost가 최소인 path가 best path이다. Cost를 정의하는 방법은 routing protocol에 따라 달라질 수 있다.

 

* Routing protocol(라우팅 프로토콜)

router에서 인접한 router와 routing 정보를 주고받기 위하여 사용하는 protocol이다.

 

* Routing Table(라우팅 테이블)

Routing table의 구성요소는 routing protocol에 따라 달라진다.

Routing software에 의해서 주고받은 정보는 routing table에 반영된다.

 

* Gateway(게이트웨이)

Packet을 forwarding 하는 경우에 next hop router을 의미한다.

선택된 route entry의 gateway가 자신의 interface 중 하나이면 direct routing, 자기 자신이 아니면 indirect routing에 해당된다.

 

728x90
LIST

댓글