Internet Protocol Layer 의 5단계 중 2번째 단계인 Transport Layer에 대해 공부하여 마인드 맵으로 정리해보았다. 우선 크게는 4개의 가지로 나뉘어진다.
- TCP (Transmission Control Protocol)
- UDP (User Datagran Protocol)
- RDT (Reliable Data Transfer)
- Pipeline protocol
각각의 protocol의 특징들과 키워드를 위주로 정리하였으며, 보라색으로 색칠한 것은 추가적인 설명이 필요한 것들이다. 현재 공부하고 있는 내용은 개론에 해당하여 자세하게 공부하지 못하는 것이 아쉽지만 그래도 재밌게 공부한 것 같다. (이후 시간이 되면 하나씩 설명을 추가해야겠다)
※ 수정 사항
1. Selective Repeat: Window size * 2 <= Sequence number
당연하다, window size의 2배보다 sequence number가 작아질 경우, sender window와 receiver window가 서로 끝에 걸쳐있는 상황에서 sender window의 첫 Packet이 receiver에 도착시, 구분할 수 없기 때문이다.
2. Karn/Partridge algorithm
Time out시 RTO의 값으 1/2이 되는 것이 아니라 2배가 된다. 이러한 목적은 갑자기 congestion이 심해져서 기존의 RTO로는 RTT를 측정하지 못 하고 drop 되는 경우, RTT를 사용하여 CWND를 조정하는 등과 같은 congestion control을 해서 drop을 낮춰야 되는데 그러지 못한다. 따라서 timeout이 발생한 경우 RTO를 두배 증가시켜 확실하게 도달할 수 있게 해준다. 이후에 너무 많이 증가시킨 것이라면 Sample RTT를 통해 exponential averaging을 한 EstimateRTT와 DevRTT(분산)을 사용하여 RTO는 계속 update된다. 추가적으로 CWND(Congestion window)는 Sender window의 크기를 정하는 두가지 요소 중 하나로, TCP에서 Congestion control을 하기 위해 사용이 된다.
'네트워크 수업 공부' 카테고리의 다른 글
6. DataLink Layer Overview (0) | 2021.06.14 |
---|---|
5. Network Layer Overview (0) | 2021.06.14 |
3. Application Layer (0) | 2021.04.19 |
2. Application Layer(Basic+HTTP) (0) | 2021.03.21 |
1. Packet Switching vs Circuit Switching (0) | 2021.03.09 |