- Today
- Total
목록분류 전체보기 (158)
Byeo

이전 포스트https://byeo.tistory.com/entry/bind-system-call-2-inetbind bind system call 2 (inet_bind)이전 포스트 (bind system call 1: __sys_bind)https://byeo.tistory.com/entry/bind-system-call-1 bind system call 1 (__sys_bind)BSD socket API에서 socket을 생성한 뒤에는 server-side 측에서 bind를 실행합니다. bind는 나의 ip:port를 sbyeo.tistory.com 현재까지의 흐름도__inet_bind를 이어서 탐색해 봅시다. 4. __inet_bind3) __inet_bind로 돌아와서3-1) 주소 검사// net..

이전 포스트 (bind system call 1: __sys_bind)https://byeo.tistory.com/entry/bind-system-call-1 bind system call 1 (__sys_bind)BSD socket API에서 socket을 생성한 뒤에는 server-side 측에서 bind를 실행합니다. bind는 나의 ip:port를 socket과 연결하는 역할을 수행하죠. 이 번에는 BSD socket API중에서 bind를 분석해보려고 합니다. 이전byeo.tistory.com 현재까지의 흐름도3. inet_bind__sys_bind에서 그 다음으로 호출하는 함수는 sock->ops->bind였습니다.// net/socket.c/__sys_bind() :1693 err =..

BSD socket API에서 socket을 생성한 뒤에는 server-side 측에서 bind를 실행합니다. bind는 나의 ip:port를 socket과 연결하는 역할을 수행하죠. 이 번에는 BSD socket API중에서 bind를 분석해보려고 합니다. 이전 포스트 (socket system call)https://byeo.tistory.com/entry/socket-system-call socket system call 1 (syscall_socket ~ __sock_create)int socket(int domain, int type, int protocol); socket 시스템 콜의 동작을 한 번 들여다봅니다! https://man7.org/linux/man-pages/man2/socket...

본 포스트는 sigcomm '21의 Revisiting the Open vSwitch Dataplane Ten Years Later를 요약하였습니다. Abstarct 해당 논문은 수천 명의 VMware 고객이 사용하는 data center 가상화를 위한 NSX 상품의 일부로서, Open vSwitch를 지원하고 운영해온 경험을 공유한다. 2009년부터 시작된 OVS는 userspace와 kernel의 강한 결합을 분리하였다. 이 분리는 성능을 위해서 반드시 필요했지만, 유지 보수의 어려움이 남아있다. 나아가, in-kernel packet processing은 DPDK와 같은 새로운 option에 비해 상당히 느린 상황이다. kernel/user split으로부터 야기하는 이 문제들을 해결하기 위해서 O..

* BSD socket API에 대한 소개와 Kernel 흐름도를 정리합니다. (linux 5.15 기준)BSD Socket API Model* BSD Socket API: Berkeley Software Distribution Socket API출처: https://www.keil.com/pack/doc/mw6/Network/html/using_network_sockets_bsd.html출처: https://en.wikipedia.org/wiki/Berkeley_sockets 1. Socket()#include socket(int socket_family, int socket_type, int protocol); Socket Systemcall: https://byeo.tistory.com/entry..

이전 포스트: https://byeo.tistory.com/entry/socket-system-call-3 socket system call 3 (tcp_v4_init_sock)이전 포스트: https://byeo.tistory.com/entry/socket-system-call-2 socket system call 2 이전 포스트: https://byeo.tistory.com/entry/socket-system-call socket system call 1 int socket(int domain, int type, int protocol); socket 시스템 콜의 동byeo.tistory.com 7. sock_map_fd마지막으로 sock_map_fd 함수를 거칩니다. 이 함수는 기존에 tcp_ip..

이전 포스트: https://byeo.tistory.com/entry/socket-system-call-2 socket system call 2이전 포스트: https://byeo.tistory.com/entry/socket-system-call socket system call 1 int socket(int domain, int type, int protocol); socket 시스템 콜의 동작을 한 번 들여다 봅니다! https://man7.org/linux/man-pages/man2/socket.2.html linubyeo.tistory.com inet_create까지의 발걸음 6. tcp_v4_init_sock// net/ipv4/tcp_ipv4.c/tcp_v4_init_sock() :2236st..

급히 성남에서 대전까지 하루 만에 다녀와야 할 일이 생겨서 어쩌다 이용하게 되었다. 대전에서 성남으로 올라올 때, 대전에서 동탄까지 SRT를 이용하고 동탄에서 판교까지 지난 3월 30일에 개통한 GTX-A를 탑승하였다. 동탄에서 성남역 (판교역과 이매역 중간)까지 약 12분 소요! 엄청난 속도다! 동탄역 SRT를 이용해 동탄에서 하차하면 곧바로 GTX-A로 환승할 수 있게 연결되어 있다. 바로 교통카드를 찍고 입장하면 된다! 역 구성은 아주 심플하다. 동탄에서 곧바로 성남, 그다음 역이 수서역이다. 추후에 구성역이 개통될 예정이라고 한다. 동탄에 분포한 삼성전자와 판교에 분포한 IT기업들의 교류(이직?)가 더 쉬워질라나? GTX 개통 기념 현수막이 걸려있다! 내부 23시 13분 차를 탑승했는데, 사람이 ..

이전 포스트: https://byeo.tistory.com/entry/socket-system-call socket system call 1int socket(int domain, int type, int protocol); socket 시스템 콜의 동작을 한 번 들여다 봅니다! https://man7.org/linux/man-pages/man2/socket.2.html linux 5.15 기준입니다. 1. syscall_64.tbl 이전 포스트에서 리눅스 시스템 콜byeo.tistory.com 5. inet_create (net/ipv4/af_inet.c:248)사실 address family가 달라지면 호출될 함수가 달라지겠죠. 예를 들어서 AF_INET6을 지정했다면 inet6_create가 ..

int socket(int domain, int type, int protocol); socket 시스템 콜의 동작을 한 번 들여다봅니다! https://man7.org/linux/man-pages/man2/socket.2.html linux 5.15 기준입니다. 1. syscall_64.tbl 이전 포스트에서 리눅스 시스템 콜을 추가하면 서 확인했던 점은 시스템 콜의 시작 부분이 syscall_64.tbl에 등록되어 있다는 점이었습니다. 마찬가지로 linux 5.15 기준으로 socket 함수를 찾아봅니다. ... 40commonsendfilesys_sendfile64 41commonsocketsys_socket 42commonconnectsys_connect ... 이는 마찬가지로 syscalls.h..