네트워크쟁이의 tcp 이야기 · 2019-01-23 · • tcp에서는 패킷 유실에 의해서...
TRANSCRIPT
![Page 1: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/1.jpg)
네트워크쟁이의 TCP 이야기
Gunyoung Yoon, Korea Ubuntu Community
![Page 2: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/2.jpg)
• Gunyoung Yoon (21)
• Korea Ubuntu Community
• S/W Developer
• Linux Kernel
• TCP/IP Stack
About Me
![Page 3: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/3.jpg)
• Why Network in Ubuntu Session?
• Than What is Network?
• What is TCP? and Why?
• TCP Basic & Features
• Story of TCP/IP Stack Developer
![Page 4: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/4.jpg)
Why “Network” in Ubuntu Session?
![Page 5: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/5.jpg)
Than, What is Network?
![Page 6: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/6.jpg)
Network Components
![Page 7: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/7.jpg)
What is TCP?
![Page 8: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/8.jpg)
• 교과서에서 많이 나오는 이야기 말고!
• 진짜 TCP를 한마디로 똑 부러지게 말한다면?
• “신뢰성”있는 통신 프로토콜
• “신뢰성”을 지키면서 “좋은 성능”을 내야 한다.
![Page 9: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/9.jpg)
Basic TCP
![Page 10: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/10.jpg)
야 철수야, 내가말이야,
오늘 진짜 어이가없어가지고, 와 진짜
그 내 동기 알지? 민희라고, 내가 오늘 전해들
었는데, 계가 말이야 진짜 내가 진짜 친구한테 듣다 화딱지가나
가지고…
주저리 주저리 이러쿵 저러쿵 뭐라써야하지
스크립트 쓰기 어렵네용 우분투 짱짱 마소 짱짱 여러분 안뇽
꺄꺄꺄
영희는 도대체 뭘 말하고 싶은걸까 하 발표자료 만들기 너무 어렵네요 ㅠㅠ 발표자가 아직 미숙한가봅니다 하핳 사이트이슈봐야ㅕ
하는데… 허허허허허
. . .
철수야, 근데 내말은 듣고있니?
![Page 11: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/11.jpg)
응 듣고있지~ 계속해봐
야 철수야, 내가말이야,
오늘 진짜 어이가없어가지고, 와 진짜
오늘 제 세션 들으러 와주셔서너무 감사드려료 근데 제목이 달라졌네요 하하하하하 망
했넹 죄송함다 ㅠㅠㅠㅠ
주저리 주저리 이러쿵 저러쿵 뭐라써야하지
스크립트 쓰기 어렵네용 우분투 짱짱 마소 짱짱 여러분 안뇽
꺄꺄꺄
영희는 도대체 뭘 말하고 싶은걸까 하 발표자료 만들기 너무 어렵네요 ㅠㅠ 발표자가 아직 미숙한가봅니다 하핳 사이트이슈봐야ㅕ
하는데… 허허허허허
아 그래?
철수야, 근데 내말은 듣고있니?
응 그래서?
헐 진짜?
![Page 12: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/12.jpg)
OK I GOT WHAT YOU SENT
I WANT TO CONNET
OK WE ARE CONNECTED
Client Server
I’M READY, LET’S CONNECT
![Page 13: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/13.jpg)
OK LET’S CONNECT
I WANT TO CONNET
OK WE ARE CONNECTED
Client Server
![Page 14: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/14.jpg)
DATA “A B C”
Give me “A B C D E F”
I GOT “A B C”
DATA “D E F”
I GOT “D E F”
Client Server
![Page 15: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/15.jpg)
TCP Features
![Page 16: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/16.jpg)
DATA “A B C”
Give me “A B C D E F”
I GOT “A B C”
DATA “D E F”
I GOT “D E F”
Client Server
![Page 17: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/17.jpg)
DATA “A B C”
Give me “A B C D E F G H I J K L”
DATA “D E F”
I GOT “A to I”
Client Server
DATA “G H I”
DATA “J K L”
![Page 18: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/18.jpg)
More?
![Page 19: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/19.jpg)
TCP Flow & Congestion Control
![Page 20: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/20.jpg)
![Page 21: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/21.jpg)
• TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다.
• TCP 흐름제어에서는 Window size라는, 내가 받을 수 있는 버퍼의 크기를 매 패킷에 실어서 보낸다.
• 각 네트워크장비에서는 window size를 기반으로 패킷을 적당하게 보내도록 제어한다.
• 이를 TCP 흐름제어라고 한다.
![Page 22: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/22.jpg)
![Page 23: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/23.jpg)
• TCP 흐름제어가 Client와 Server의 패킷 속도 차이가 다른 것으로 인해서 나오는 유실을 막기위한 제어 시스템이라면
• TCP 혼잡제어는 End-point와 네트워크 망의 패킷 처리 속도 차이에서 나오는 유실을 막기 위한 제어 시스템
• TCP 혼잡제어는 “알고리즘”이 정말 중요하다.
![Page 24: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/24.jpg)
• 번외로 TCP 혼잡제어 알고리즘 이야기를 좀 해보자면…
• TCP 혼잡제어의 90%
• 어떻게 유실을 감지하고, 예측하고, 유실시 어떻게 대응할까
• OS마다 다르고, 다르게 설정도 가능하다
• 표준은 없다. 있는 알고리즘을 잘 검토해서 써야한다
• 우리도 만들 수 있다!!!
![Page 25: 네트워크쟁이의 TCP 이야기 · 2019-01-23 · • TCP에서는 패킷 유실에 의해서 생기는 지연을 줄이고자 TCP 흐름제어를 사용한다. • TCP 흐름제어에서는](https://reader034.vdocuments.pub/reader034/viewer/2022042802/5f3e6d7799cc716c29284b25/html5/thumbnails/25.jpg)
X
Thank You