BGP routing algorithm 의 한 종류이다. 이름이 굉장히 특이해서 처음에 교수님께서 이 알고리즘 이름을 말씀하셨을 때, 뭔가 굉장히 우스웠다. 이름에 대해 해석을 해주시기를 뜨거운 감자를 손에 쥐고 있으면 뜨거우니깐(?) 최대한 빨리 다른데로 넘겨버리는 것과 비슷하게 동작하는 알고리즘이기 때문에 Hot potato routing 이라고 했습니다. 위의 그림에서 router 1b는 x로 가는 2가지 경로에 대해 학습하게 될 것 입니다. Hot potato routing 에서 선택되는 라우터는 시작하는 라우터에서 부터 NEXT-HOP cost가 제일 작은 라우터가 선택됩니다. 여기서 cost 라는 개념에 대해 잘 생각해보아야 합니다. 왜냐하면 무엇을 cost 로 보는지에 따라 결과가 달라지기 ..
이제까지 다루었던 Transport layer 는 서로 다른 host 에서 동작하는 어플리케이션 프로세스들의 논리적인 통신을 제공하였습니다. 논리적인 통신이라 함은, 서로를 마치 하나의 머신의에서 동작하는 프로세스라고 생각할 수 있을만치 추상화시켜놓은 것이죠. 그래서 네트워크가 어떻게 구성되어있는지(라우터와 링크 구조)들을 알 필요없이 통신할 수 있었습니다. Networl Layer에서는 host와 host사이의 logical 한 communication을 지원해줍니다. 둘의 차이를 조금 더 구체적으로 보면 Transport Layer 는 Data가 어떻게 보내질지 결정합니다. UDP 를 쓸지? 아니면 TCP를 써서 congestion control과 flow control 을 제공받을지? Network..
UDP 와 달리 TCP는 congestion control 을 지원해준다고 했다. TCP 의 congestion control은 sender 가 receiver 에게 보낼 데이터 양을 제한함으로써 이루어진다. 만약에 TCP sender가 경로에 congestion이 없다고 판단하면 send rate 를 높이는 식이다. 반대로 경로상에 congestion 이 있다고 판단하면 send rate를 낮추어서 congestion을 줄이기 위해 노력한다. TCP connection 은 receive buffer와 send buffer와 여러 변수들로 이루어져있다고 했었다. sender 측에서 작동하는 TCP congestion control 메커니즘은 추가적인 변수인 congestion window 를 유지한다. ..
TCP 는 flow control service 를 제공한다. Flow control service의 지상목표는 sender 가 receiver 의 buffer를 overflow 시키지 않도록 해주는 것이다. 그래서, Flow control service 를 speed matching service 라고 말 할 수 있다. sender 에서 produce 하는 속도와 receiver 가 consume 하는 속도를 매칭시켜서 receiver 가 overflow 되거나 지나치게 위축되어서 둘 사이의 Link capacity 를 충분히 활용하지 못 하는 상황을 방지해서 최적의 균형점을 찾아주는 service 인 것이다. TCP는 sender 측에서 receive window 라는 변수를 유지함으로써 근본적으로 ..
Transport Layer의 목적은 "서로 다른 두 호스트에서 실행중인 프로세스들 간의 logical 한 communication을 제공한다" 즉, 서로 수 천 km 가 떨어져 있는 머신에서의 프로세스일지라도, 서로 연결되어 있는 것 처럼 작동한다는 것이다. 두 end-to-end host 사이의 통신을 위해서 여러 라우터를 거치고, ISP 를 거치고 나게 되므로써 가능하게 된다. 두 호스트는 분명히 연결되어 있지만 직접적으로 연결되어 있지 않고 여러 Network infrastructure을 통해서 간접적으로 연결되어 있다는 것이다. Transport layer는 이러한 복잡한 infrastructure를 추상화 시켜서 두 호스트가 직접 연결되어 있는 것 처럼 통신을 할 수 있도록(logical co..
- Total
- Today
- Yesterday
- CMake 반복문
- CMake for
- react-native
- CMAke 파일이름 추출
- aws 청구문의
- 복습 어플
- 14714 어플리케이션
- 14714 공부법 어플리케이션
- 14714 앱
- get_filename_component
- 14714 플래너
- 복습 계획어플
- CMake get file name
- review reminder
- 토리파 공부법
- function pointer overflow
- CMake run protoc
- 함수포인터 오버라이트
- 14714 공부법
- 14714 복습법
- 14714 어플
- CMake 강좌
- 14714 review
- aws 프리티어 요금청구
- CMake probouf
- buffer-over-flow
- CMake 기초
- CMake run proto compiler
- CMake get_filename_Component
- CMake for문
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |