Where we are in the Course
- 네트워크 계층에서는 라우터를 통해 패킷을 전송한다
Why do we need a Network layer?
- 링크 계층에서 스위치를 통해 작은 네트워크는 구축할 수 있었다
- 네트워크 계층은 왜 필요한 것인가?
Shortcomings of Switches
- 우선 스위치마다 전세계의 모든 스위치에 대한 정보를 담은 테이블을 가지고 있는 것은 불가능하다
- 또한 도착지를 알기위해 전세계의 모든 스위치에 브로드캐스팅하는 방식도 불가능하다
- 여러 링크 계층의 기술간에 연동되어 동작하지 않을 수도 있다
- 스위치의 스패닝 트리 알고리즘은 최적의 경로를 제시하지 못한다
Network Layer Approach
Topics
Routing vs. Forwarding
- 인터넷에서의 라우터는 두가지 기능을 모두 맡고 있어서 헷갈릴 수 있다
- 라우팅은 패킷이 어디로 전송되어야 하는지 결정하는 과정이다
- 전체 네트워크에서의 traffic을 알아야 하므로 expensive
- 포워딩은 패킷을 전달받았을 때 어떤 동작을 하는지에 대한 과정이다
- local process라서 빠르다
Our Plan
- 이해하기 쉬운 forwarding부터 알고나면 routing은 이해하기 수월해진다
- routing을 이해하고 나면 어떻게 패킷을 전송하는지도 배운다
Topic
Two Network Service Models
- 데이터 그램은 각각의 정보를 개별적으로 전송하는 반면 Virtual circuit 방식은 연결 이후 파이프 등을 통해 연속적으로 데이터를 전송한다
- 각각의 방식에 장단점이 존재한다
Store-and-Forward Packet Switching
- 라우터의 동작 방식은 패킷 단위의 데이터를 일시적으로 저장해두고 어디로 전송 해야할 지 판단하는 과정을 거친다
- statistical multiplexing을 사용한다
- 스위칭을 하기 위해서는 내부 버퍼를 가진다
- 간단한 구조에서는 output port 하나 당 버퍼가 하나씩 존재하며, 패킷을 담는 큐 자료구조로 구성되어 있다
- 큐가 가득차면 패킷은 버려진다 (혼잡 제어는 추후 배울 예정)
Datagram Model
- 여러 경로 중에 하나로 패킷을 보낼 수 있다
- 테이블에서는 해당 목적지로 도착하기 위해서 다음 홉을 뛰어야 할 포트 정보가 저장되어 있다
- 상황에 따라 A의 테이블이 변하듯 테이블의 정보가 수정될 수 있다
IP (Internet Protocol)
- IP는 대표적인 Datagram의 예시이다
- 주소 정보는 32bit으로 저장되며 하단부에 Payload가 존재한다
Virtual Circuit Model
- 3단계로 구성된다
- 연결 구축
- 전송
- 연결 끊어짐, 정보 삭제
- 전화 방식과 동일하지만 virtual이라는 단어를 사용한 이유는 statistical multiplexing을 사용하기 때문
- 패킷은 full address 정보를 담을 필요없이 short label만 포함하면 된다
- 하나의 경로를 공유할 수 있다
- input 테이블과 output 테이블이 각각 존재한다
- label은 라우터를 거치면서 라우팅 테이블에 저장된 정보에 따라 계속 값이 수정된다
MPLS (Multi-Protocol Label Switching)
- ISP는 IP 패킷에 label 정보 등이 담긴 MPLS를 추가한다
- MPLS에 대한 자세한 정보는 별도로 찾아보라
Datagrams vs Virtual Circuits
Topic
How Networks May Differ
- 링크 계층에 따라 패킷의 사이즈가 다른 것도 architecture에 큰 영향을 미친다
Connecting Datagram and VC networks
- source에서 wifi를 통해 전송하는 패킷에는 address가 들어있을 텐데 이는 ethernet의 주소 형식과는 다를 것이다
- datagram의 주소값과 vc에서의 label이 적절히 매핑되어야 한다
- circuit이 연결이 구축되는데도 시간이 소모된다
road bump : 과속 방지턱, 사소한 문제
Internetworking - Cerf and Kahn
tackle : (문제 등을) 다루다
mandate : 위임하다
- 더 낮은 계층으로 문제를 위임하면 문제의 해결이 쉬움에도 불구하고 그렇게 하지 않았다
Internet Reference Model
IP as a Lowest Common Denominator
- IP 프로토콜을 가장 낮은 공통 분모로 만들고 다른 계층에 구애받지 않는 계층을 만들었다
IPv4 (Internet Protocol)
- Version : IPv4 등의 정보
- IHL : 헤더의 길이 (payload 제외)
- Total length : 전체 datagram의 길이
- Protocol : Payload에 담긴 data의 프로토콜 (TCP or UDP..)
- demultiplexing key
- Header checksum : 헤더의 reliability 검증
- datagram이므로 full address를 담아야 한다
- ethernet이냐 wifi냐에 따라 packet의 길이가 제각각이다
- 패킷을 분할하고 재조립하는데 사용된다
- Differentiated Services : QOS에 관련
- Time to live : ICMP에서 에러 처리와 관련
'Computer Science Lectures > Computer Networks - UW' 카테고리의 다른 글
Lecture 4.8 ~ 4.10: Packet Forwarding and Internetworking (8) | 2022.12.20 |
---|---|
Lecture 4.4 ~ 4.7: Packet Forwarding and Internetworking (0) | 2022.12.19 |
Lecture 3b-1 ~ 3b-8: Link Layer, Part B (0) | 2022.12.04 |
Lecture 3a.1 ~ 3a.5: Link Layer, Part A (0) | 2022.11.27 |
Lecture 2.1 ~ 2.5: Physical Layer (0) | 2022.11.23 |