아래는 연세대학교 컴퓨터 네트워크 수업을 듣고 정리한 내용입니다.
(간략하게 정리하였기에 부족한 점이 있을 수 있습니다)
4.1 Overview of Network
두 개의 network-layer 기능
- Forwarding
- 라우터의 input으로 들어온 패킷을 output으로 움직이는 것
- Routing
- source부터 destination까지 routing 알고리즘을 통해서 route를 정하는 것
두 개의 network-layer 요소
- Data plane
- 각각의 router의 기능이다.
- router의 input 포트에서 output 포트로 어떻게 넘어갈 것인 지를 결정한다.
- forwarding function
- Control plane
- 보내는 host에서 받는 host까지 사이의 router들을 결정한다.
- 두 가지 control-plane 접근이 존재한다.
- Traditional routing algorithm
- Software-defined networking(SDN)
4.2 What's inside a router
라우터는
- Router input ports
- Router ouput ports
- High-seed switching fabric
- memory
- bus
- crossbar
- routing processor
Input port queueing
- Head-of-the-Line Blocking
- fabric이 처리하는 속도가 input port에 들어오는 packet들의 속도보다 느릴 때 생기게된다.
Output ports
- Ouput ports에서는 두 가지 일을 한다.
- Link Layer로 넘어가기 전에 datagram들을 잠시 queueing 해두는 일 -> Buffering
- 그리고 해당 datagram을 어떠한 순서대로 link layer에 던질 지를 결정하는 것 -> Scheduling
Scheduling mechanisms
- FIFO(First In First Out)
- Priority Scheduling
- Round Robin Scheduling
- 모든 class들에게 순차적으로 물어보는 것
- Weighted Fair Queuing(WFQ)
- Round Robin에다가 priority를 준 것이다.
4.3 IP: Internet Protocol
- Network Link는 MTU(Max.transfer.size)를 가지고 있다.
- 최대 link-level frame의 사이즈
- 따라서, 큰 IP datagram은 작은 datagram으로 나누어져야한다.
- Fragmentation
- 그리고, 도착지에서는 다시 reassemble이 된다.
- IP 주소는 host와 router의 interface의 식별자이다.
- 여기서 interface는 host/router와 physical link 사이의 연결점이라고 생각하면 된다.
- router는 여러 개의 interface를 가지고 있으므로, 여러 개의 IP address를 가질 수 있다.
- 그러나, host는 한 개 혹은 두 개의 IP address를 가질 수 있다.
- Subnets
- IP주소의 동일한 subnet 주소 파트를 가지고 있는 것들의 모임
- 즉, 같은 서브넷일 경우, router의 개입 없이도 서로 연결될 수 있다.
- 중간에 router가 없다!
- 각각의 고립된 network라고도 볼 수 있다.
IP addressing: CIDR
- CIDR
- Classless InterDomain Routing
- a.b.c.d/x와 같이 subnet bit를 임이의 길이로 정해줄 수 있다.
- 그 전에는 class가 정해져있기에 IP address의 갯수가 정해졌는데, 해당 방법은 클래스가 정해져있지 않기에 더 많은 IP address 갯수를 보장받을 수 있다.
DHCP
- Dynamic Host Configuration Protocol
- plug and play -> 자동으로 server에게서 IP 주소를 받아온다.
- Network server(ISP)에게서 동적으로 IP 주소를 할당 받는 것이다.
- Client는 broadcast를 통해서 DHCP server를 찾는다. 그리고 서로 메세지를 주고 받아 IP address를 전달 받는다.
- Client는 DHCP를 통해서 아래의 정보를 전달 받는다.
- Client의 First-Hop router의 주소
- DNS 서버의 이름과 IP 주소
- Network mask
NAT: network address translation
- IP 주소가 부족하므로 사용되는 기술 중 하나이다.
- Local network는 하나의 IP 주소만을 사용하여, 바깥 세상에서는 해당 IP 주소만을 활용해서 네트워크 통신을 한다.
IPv6, IPv4
- IP 주소가 부족하여 IPv6가 나오게 되었다.
- IPv6는 IPv4와는 다르게 fragmentation이 허용되지 않는다.
- 만약 datagram의 사이즈가 너무 크다면, ICMP 메세지를 통해서 datagram의 사이즈가 너무 크다고만 메세지를 통해서 알려준다.
- IPv4에서 IPv6로 변경되는 시기에는 IPv4를 지나가야되는 경우가 있는 데 이럴 때는 Tunneling 기술을 활용한다.
- 기존의 IPv6 datagram을 IPv4 datagram으로 감싼다.
'Computer Science > 컴퓨터 네트워크' 카테고리의 다른 글
[컴퓨터 네트워크] Chap3. Transport Layer(2) (0) | 2023.10.21 |
---|---|
[컴퓨터 네트워크] Chap3. Transport Layer(1) (0) | 2023.10.20 |
[컴퓨터 네트워크] Chap2. Application Layer(2) (1) | 2023.10.19 |
[컴퓨터 네트워크] Chap2. Application Layer(1) (0) | 2023.10.16 |
[컴퓨터 네트워크] Chapter 1: Introduction (1) | 2023.10.15 |