Layering
복습) 왜 레이어링을 할까? => 복잡성을 줄이고, 유연성을 높이기 위해.
그러나 레이어링 때문에 최대성능을 내지 못하기도 함. 레이어간 볼 수 있는 정보가 제한적이기 때문에,
크로스레이어 정보를 이용하면 더 좋은 성능을 낼 수 있음.
Network Layer
네트워크 레이어의 주요 기능
- Forwarding
: 라우터로 들어온 패킷을 다른 라우터로 보내는 것
- Routing
: 패킷들이 출발지에서 목적지까지의 경로를 결정함. routing algorithms
라우팅은 출발지에서 목적지까지의 경로를 정하는데,
그 경로로 패킷을 이동시키기 위해 라우터는 라우팅 알고리즘을 통해 포워딩 테이블을 만든다
포워딩 테이블에는 라우터에 들어온 패킷을 어디로 보내야 할 지의 정보가 담겨있다.
그런데.. IPv4는 32bit 주소체계이다. 그럼 약 40억개의 주소를 표현할 수 있는데.. 테이블에 40억개의 주소를 넣어두면 난감할 것이다. 그래서 일일이 테이블에 40억 주소를 넣는것이 아니라, 범위별로 분류하여 사용한다.범위별로 분류되면, 다음 도착한 라우터에서도 또 범위별로 분류되고.. 하면서 계층적으로 세분화되어 목적지를 찾게되는 것이다.
포워딩 테이블에는 이런식으로 값들이 들어있다.
IP주소 범위를 11011011001**********와 같이 와일드카드*를 이용해서 범위를 나타낸다.
*(와일드카드)를 제외한 앞부분이 일치하는 주소의 Link interface를 선택하면 된다.
그런데 예시를 보면
11001000 00010111 00011*** ********
11001000 00010111 00011000 ********
이 테이블에 들어있다.
어떤 IP는 위 두 범위에 모두 포함될 수 있는데,
그러한 상황에서는 더 세부범위로 표현된 것을 선택한다.
(Longest Prefix Matching)
각각의 라우터는 두 개의 구성요소로 이루어져 있다.
1. control plane: 라우팅 알고리즘으로 목적지까지의 최적의 경로를 결정
2. data plane: Local forwarding table을 보고, 전달받은 패킷을 다음 패킷으로 전달
IP datagram format
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
version: IP 프로토콜 버전 넘버
IHL: (Internet)header length
Total Length: 헤더,데이터그램까지 전체길이
Time to Live(TTL): 패킷이 라우터를 통과할 때마다 1씩 감소하며 0이 되면 해당 패킷은 폐기됨.
(포워딩 테이블에 오류가 있어서 무한루프에 빠져 리소스낭비되는 경우를 막기위함)
.
네트워크레이어 데이터그램의 헤더는 20바이트이다.
'2023-1 > 컴퓨터네트워크및실습' 카테고리의 다른 글
Socket Basic (실습) (0) | 2023.03.17 |
---|---|
IP Addressing: classful, CIDR /IP Fragmentation /NAT (0) | 2023.03.17 |
Network Layer (1) | 2023.03.09 |
Network Core: Circuit switching, Packet switching (0) | 2023.03.09 |
연결지향성, 비연결성, TCP/UDP (0) | 2023.03.03 |
댓글