- Today
- Total
목록전체 글 (159)
Byeo

해당 포스트는 NSDI '15 https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-pfaff.pdf 를 번역해서 정리한 포스트입니다. 5. Caching-aware Packet Classification 여기서는 flow caching 기능에 적합하도록 위해서 tuple search algorithm을 어떻게 개선했는지 설명한다. 5.1 Problem Open vSwitch userspace가 openFlow table을 통해 packet 처리함에 따라, forwarding decision 과정에서 참고되는 packet bit들을 추적한다. 이 packet header field에 대한 bit단위 추적은 megaflow entry를 생성..

해당 포스트는 NSDI '15 https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-pfaff.pdf 를 번역해서 정리한 포스트입니다. 3. 디자인 3.1 Overview Open vSwitch는 두 가지 구성 요소로 이루어져있다. (1) userspace 데몬이자 운영체제와 상관없이 동일한 ovs-vswitchd와 (2) 성능을 위해 OS 마다 작성된 datapath kernel module이다. Figure 1은 이 두 개의 OVS component가 어떻게 협동하여 pacekt을 전달하는지 나타낸다. Kernel datapath가 가장 먼저 physical NIC이나 VM의 virtual NIC으로부터 packet 수신한다. ovs-..

해당 포스트는 NSDI '15 (Networked System Design and Implementation) https://www.usenix.org/system/files/conference/nsdi15/nsdi15-paper-pfaff.pdf 를 번역해서 정리한 포스트입니다. 0. 초록 해당 논문은 하이퍼바이저 플랫폼을 위한 multi-layer 가상 스위치인 open source Open vSwitch의 디자인과 구현을 설명한다. Open vSwitch는 가상 환경 네트워킹을 위한 de novo (새로운) 디자인이며, 이를 통해 기존의 전통 스위칭 구조에서 벗어나는 결과를 가져왔다. 본문에서는 Open vSwitch가 하이퍼바이저의 자원을 보존하고 작업을 최적화를 위해 적용한 발전된 flow cl..

이 글은 Conext '18에 공개된 The eXpress Data Path (XDP): Fast Programmable Packet Processing in the Operating System Kernel 를 번역해 정리한 글입니다. 이전 게시글 XDP1: https://byeo.tistory.com/entry/The-eXpress-Data-Path-XDP-Fast-Programmable-Packet-Processing-in-the-Operating-System-Kernel The eXpress Data Path (XDP): Fast Programmable Packet Processing in the Operating System Kernel 1 이 글은 Conext '18에 공개된 The eXpre..

발열 요즘 Unity로 주말에 틈틈이 만들고 싶었던 게임을 개발하고 있는데요. 게임을 테스트할 때 마다 CPU 팬 속도가 너무 오르는 것 같아 무언가 문제가 있음을 직감했습니다. 사실 올해 초에 Ixion 게임을 할 때도 CPU 팬이 미치게 돌아가는 소리를 들었었는데, 그래픽이 고급인 게임을 하느라 그랬구나 하고 팬이 주는 신호를 묵살했었죠. 하지만 직접 Unity로 게임을 만드는데 아무리 저사양으로 돌려도 문제가 해결되지 않길래 원인을 찾아 나섰습니다. 표면적인 원인은 당연히 발열일 것이라고 생각을 했었지요. 실제로 Unity 게임을 테스트하기 위해 한 번 돌리면 CPU온도가 아주 가뿐히 90도를 넘겨버렸습니다. 75도만 넘기면 FAN 속도가 최대로 설정이 되는데, 이 마저도 해결을 해주지 못한 것이죠..

이 글은 Conext '18에 공개된 The eXpress Data Path (XDP): Fast Programmable Packet Processing in the Operating System Kernel 를 번역해 정리한 글입니다. 이전 게시글 XDP1 XDP Design XDP는 패킷 처리 성능을 위하여 OS에 safety를 보장하면서 통합되었다. 지금도 꾸준히 Linux community로부터 의견을 받아가며 발전시켜 나가고 있다. 이 구조에는 몇 가지 한계와 교훈이 있으나, 논문에서는 다루지 않았다. 여기에서는 그보다 XDP의 구성 요소와 동작 원리, 그리고 다른 시스템과 어떻게 동작하는지 설명한다. Figure 1은 XDP와 Linux kernel이 어떻게 통합되었는지, Figure 2는 X..
이 글은 Conext '18에 공개된 The eXpress Data Path (XDP): Fast Programmable Packet Processing in the Operating System Kernel 를 번역해 정리한 글입니다. 개요 근래 연구는 packet을 처리하는 방법으로 kernel보다 userspace를 선호하고 있다. 이는 userspace가 kernel보다 프로그래밍에 용이하고, kernel-userspace 간의 context switch로 부터 야기하는 성능 저하를 피할 수 있기 때문이다. 하지만 Kernel을 우회함으로 인해 Kernel이 가져다주는 이점 (application isolation, 보안, 그리고 검증된 코드)들을 잃게 된다. eXpress Data Path (X..

tcpdump -nei any tcpdump -nei any의 결과는 위와 같았어요. Layer 2의 data는 '00 00 00 01 00 06 fa 16 3e 30 1a 9d 00 00 08 00' 였습니다. 이를 Linux cooked capture라고 칭하나 보네요. 이게 뭔지는 wireshark document에서 잘 설명이 되어있었습니다. Linux cooked capture https://wiki.wireshark.org/SLL.md SLL Linux cooked-mode capture (SLL) This is the pseudo-protocol used by libpcap on Linux to capture from the "any" device and to capture on some d..

개요 Linux에서 tcpdump를 사용하면 내 네트워크 interface에 들어오고 나가는 packet들을 캡쳐 (pcap = packet capture) 할 수 있습니다. 그런데 Linux의 tcpdump로 보기에는 CLI다보니 약간의 어려움이 있는데요. 이를 GUI application windows wireshark로 읽어와 쉽게 분석할 수 있습니다. 그런데 interface를 any로 잡으면 tcpdump에서 처음 보는 난해한 결과를 내뱉습니다. 이에 대해서 조금 분석해보고자 합니다. 내용 실행 환경은 NHN Cloud instance입니다. 2개의 instance 사이에서 ping을 주고받는 과정을 tcpdump로 capture합니다. NHN Cloud에서 instance 생성하는 방법: [링..

홍콩 여행 6일차 밤 마카오 타워에서 다시 호텔 체크인을 했던 타이파 베네시안으로 돌아옵니다. 버스를 타고 이동했습니다. 버스타고 돌아오니 어느새 해가 거의 다 졌네요. 밤에 가까워질수록 점차 화려해 집니다. 조명이 없는 건물이 없습니다. 런던을 표방한 지역인만큼 저 멀리 시계탑이 보입니다. 정각이 되면 종소리가 울렸던 것으로 기억해요. 저녁을 먹기 위해서 베네시안 건물로 들어갑니다. 이전 포스트에서 말씀드렸던 것처럼 마카오의 타이파는 화려함 그 자체입니다. 베네시안 마카오 내부도 금색이 이곳 저곳에 있어요. 위 보이는 사진에서 쭉 앞으로 걸어가면 카지노가 있습니다. 하지만 배가 고파서 이따가 가기로 하고, 저녁 먹을 곳을 찾습니다. 건물 내부에 노스라는 가게가 있습니다. 여러가지 요리를 판매하는데, 저..

홍콩 마카오 여행 6일차 (7월 3일) 7월 2일 홍콩을 뒤로하고 마카오로 이동합니다. 이동 수단으로는 One bus를 택했어요. 마카오에서 낮에는 관광, 저녁에는 호텔들을 돌아다녀보는 일정으로 구성했습니다. 홍콩에서 마카오로, One bus 홍콩과 마카오를 왕래하는 방법으로 페리와 버스로 나뉘는 것으로 알고 있어요. 마카오로 이동할 때는 버스로 이동하기로 결정했습니다. 아침 일찍 도미토리에서 나와 근처 One bus 탑승장으로 걸어갑니다. 홍콩에서 마카오로 향하는 One bus는 1시간 단위로 배차 간격이 구성되어 있었어요. 예매는 2일 전에 결제까지 버스 회사 사이트에서 미리 해 놨습니다: https://www.onebus.hk/en/ ONEBUS 由港澳直通巴士協會營運的「港澳一號」,將每日提供跨境巴士服..

홍콩 여행 5일차 (23년 7월 2일) 5일차는 오전에 비가 많이 쏟아져서 돌아다니지 않았습니다. 호텔에서 최대한 늦게까지 버티고 체크 아웃 한 뒤에, 여유롭게 시간을 가졌습니다. 오후에는 날씨가 흐렸지만 비는 그쳐서 돌아다니기 시작했습니다. 소나기 (오전) 5성급 호텔의 조식은 뷔페입니다. 이름은 조식이지만 어쩌다 중식까지 해결하게 됐습니다. 그만큼 맛있어요. 여기 조식은 또 생각나네요. 왼쪽 사진 가운데에 노란 계란처럼 보이는 것이 사실 딤섬입니다. 빼먹을 수 없죠! 호텔 식당이에요. 실외는 비가 오는 관계로 닫아 놓았습니다. 식당은 참 세련되고 깔끔했습니다. 5일차 오전에는 비가 내렸습니다. 강수량이 꽤 많아 돌아다니기는 어려울 정도였어요. 허리도 조금 아픈 겸 호텔에서 최대한 뻐팅기기로 마음먹었습..

Central (오후) 이제 바닷바람은 맞을 만큼 맞았으니 다시 홍콩 섬 북쪽으로 이동합니다. 버스 한 번이면 central로 바로 이동이 가능합니다. 버스 창가를 보니 Repulse bay beach 부근에서 수영하는 관광객들도 많더라구요. 수영에 관심 있으신 분들은 이 곳을 알아보셔도 좋을 것 같아요. 관람차 생각보다 일찍 도착해서 central의 관람차를 코스에 넣어보려고 했습니다. 그런데 웬걸, 사람이 너무 많습니다. 포기하고 바로 부두 구경 조금 하고 발걸음을 돌렸습니다. 아쿠아루나 심포니오브라이트를 빅토리아 하버에서 탑승하실 분은 이 부근 피어 번호를 찾아가시면 됩니다. 어쩔 수 없이 central 중심가로 향합니다. 타이청 베이커리 블로그를 찾다 보니 홍콩에서 유명한 에그타르트 집을 많이..

홍콩 여행 4일차 (23년 7월 1일) 본격적으로 여행이 시작된 날입니다! 활동 반경도 굉장히 넓었던 날이었어요. 평소에 잘 걷지 않다가 간만에 무리해서 그랬는지 밤 즈음에 허리가 아파서 너무 아쉬웠습니다. 호텔 체크 아웃 - 얼리 체크인 3일차와 4일차 숙소는 바로 건너편입니다. 다만 4일차 숙소가 너무 비싸서 2일 연속으로 잡지 못했죠. 그리고 많이 돌아다닐 날이다 보니 근처 호텔에 짐을 빠르게 처리해야 할 필요성이 있었습니다. Ibis 호텔 조식은 사진처럼 팬케이크, 에그스크램블, 베이컨, 소시지 등으로 구성되어 있었는데 조식에 딱 알맞았습니다. 조식 먹고 바로 체크 아웃 한 뒤, 바로 건너편 빅 온 더 하버 호텔로 발걸음을 옮겼습니다. 바로 얼리 체크인 하고, 짐 맡긴 뒤에 스탠리 마켓으로 떠났습..

홍콩 여행 3일차 (23년 6월 30일) 사실 제가 참석했던 학회는 6월 28일부터 6월 29일까지 이틀에 걸쳐 진행하는 학회였습니다. 하지만.. 저는 사실 석사를 졸업한 지 6개월이나 지났고, 학회 참석비, 항공편, 숙박비, 그리고 식비 모두를 자비로 지출했기에 '많이 돌아다녀야 한다!' 는 생각으로 뛰쳐나왔습니다. Central 방문 (오전) Five Guys 학회에서 제공해준 호텔을 체크아웃 하고 Central로 이동했습니다. 이때는 학회에 참석한 같은 대학의 다른 분과 함께 이동했습니다. 가장 먼저 central가서 했던 것은 five guys 햄버거 식사였습니다. 많이 유명하다고 하더라구요. 국내 강남과 신논현 사이에도 하나 생긴 것으로 알고 있습니다! 홍콩 물가는 비쌉니다. 세트(Combo)를..