Recent Posts
Recent Comments
Archives
- Today
- Total
Byeo
BSD Socket API 본문
반응형
* 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 <sys/socket.h>
socket(int socket_family, int socket_type, int protocol);
Socket Systemcall: https://byeo.tistory.com/entry/socket-system-call
2. Bind()
#include <sys/socket.h>
int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
bind system call: https://byeo.tistory.com/entry/bind-system-call-1
3. Listen()
#include <sys/socket.h>
int listen(int sockfd, int backlog);
4. accept
#include <sys/socket.h>
int accept(int sockfd, struct sockaddr *_Nullable restrict addr, socklen_t *_Nullable restrict addrlen);
accept system call: https://byeo.tistory.com/entry/accept-system-call-1-sysaccept4
읽어볼 자료
- SO_REUSEADDR vs SO_REUSEPORT : https://stackoverflow.com/questions/14388706/how-do-so-reuseaddr-and-so-reuseport-differ
- TCP connection repair: https://lwn.net/Articles/495304/
- TCP SYN and Accept queue concept: https://blog.cloudflare.com/syn-packet-handling-in-the-wild
반응형
'프로그래밍 (Programming) > 네트워크 스택' 카테고리의 다른 글
bind system call 2 (__inet_bind) (0) | 2024.04.28 |
---|---|
bind system call 1 (__sys_bind) (0) | 2024.04.27 |
socket system call 4 (sock_map_fd) (0) | 2024.04.14 |
socket system call 3 (tcp_v4_init_sock) (0) | 2024.04.06 |
socket system call 2 (inet_create) (0) | 2024.03.31 |
Comments