Posix API与网络协议栈实现原理

简介: Posix API与网络协议栈实现原理

网络协议


网络协议栈分为7层和四层。


Posix API 接口


常用的API接口,socket,bind,listen.accept,send,recv,close.connect和可选setsockopt,getsockopt函数。


API接口


五元组 (sip,sport,dstip,dstport,proto)/(remoteip, remoteport,localip,localport,proto)


1.socket(),插座,产生listenfd 和tcb(tcp create block)tcp控制块。fd 使用户层,tcp是内核层。socket 实现fd 和tcp 关联。五元组是tcp 的唯一标识。

int socket(int domain, int type, int protocol);

2.bind() ,接受或者发送数据,用来填充本机的ip和端口。

int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);


例如: 0.0.0.0:8080 是把所有的ip 和8080绑定

上述socket 和bind 是服务端本机操作。

3.connect(),填充远端ip和端口。





目录
相关文章
|
8天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
34 13
|
2月前
|
网络协议 网络架构 数据格式
TCP/IP基础:工作原理、协议栈与网络层
TCP/IP(传输控制协议/互联网协议)是互联网通信的基础协议,支持数据传输和网络连接。本文详细阐述了其工作原理、协议栈构成及网络层功能。TCP/IP采用客户端/服务器模型,通过四个层次——应用层、传输层、网络层和数据链路层,确保数据可靠传输。网络层负责IP寻址、路由选择、分片重组及数据包传输,是TCP/IP的核心部分。理解TCP/IP有助于深入掌握互联网底层机制。
381 2
|
3月前
|
缓存 网络协议 Linux
扩展Linux网络栈
扩展Linux网络栈
71 3
|
3月前
|
Kubernetes 安全 Linux
在k8S中,Calico网络组件实现原理是什么?
在k8S中,Calico网络组件实现原理是什么?
|
6月前
|
网络协议 Linux API
Linux网络编程:shutdown() 与 close() 函数详解:剖析 shutdown()、close() 函数的实现原理、参数说明和使用技巧
Linux网络编程:shutdown() 与 close() 函数详解:剖析 shutdown()、close() 函数的实现原理、参数说明和使用技巧
521 0
|
5月前
|
网络协议 Java 程序员
TCP/IP协议栈是网络通信基础,Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用
【6月更文挑战第23天】 **TCP/IP协议栈是网络通信基础,它包含应用层(HTTP, FTP等)、传输层(TCP, UDP)、网络层(IP)、数据链路层(帧, MAC地址)和物理层(硬件信号)。Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用,如Socket和ServerSocket用于客户端和服务器通信。**
53 3
|
6月前
|
网络协议 Linux SDN
虚拟网络设备与Linux网络协议栈
在现代计算环境中,虚拟网络设备在实现灵活的网络配置和隔离方面发挥了至关重要的作用🔧,特别是在容器化和虚拟化技术广泛应用的今天🌐。而Linux网络协议栈则是操作系统处理网络通信的核心💻,它支持广泛的协议和网络服务🌍,确保数据正确地在网络中传输。本文将深入分析虚拟网络设备与Linux网络协议栈的关联,揭示它们如何共同工作以支持复杂的网络需求。
|
6月前
|
存储 网络协议 安全
POSIX API与网络协议栈
POSIX API与网络协议栈
67 0
|
6月前
|
机器学习/深度学习
【机器学习】生成对抗网络(GAN) 实现原理分析
【1月更文挑战第27天】【机器学习】生成对抗网络(GAN) 实现原理分析
|
6月前
|
网络协议 Linux API
Posix API与网络协议栈
Posix API与网络协议栈
154 0
下一篇
无影云桌面