linux网络编程

Posted xtusir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux网络编程相关的知识,希望对你有一定的参考价值。

一、CS架构,BS架构

(1)CS架构介绍(client server,客户端服务器架构),例如:qq、360网盘
(2)BS架构介绍(broswer server,浏览器服务器架构)例如:浏览器

二、TCP协议学习1

1、关于TCP理解的重点
(1)TCP协议工作在传输层,对上服务socket接口,对下调用IP层
(2)TCP协议面向连接,通信前必须先3次握手建立连接关系后才能开始通信。
(3)TCP协议提供可靠传输,不怕丢包、乱序等。
2、TCP如何保证可靠传输
(1)TCP在传输有效信息前要求通信双方必须先握手,建立连接才能通信
(2)TCP的接收方收到数据包后会ack给发送方,若发送方未收到ack会丢包重传
(3)TCP的有效数据内容会附带校验,以防止内容在传递过程中损坏
(4)TCP会根据网络带宽来自动调节适配速率(滑动窗口技术),如果接收方接收压力很小,发送方便会慢慢提高发送速率;相反接收方压力大,发送方会慢慢讲地发送速率
(5)发送方会给各分割报文编号,接收方会校验编号,一旦顺序错误即会重传。

三、TCP协议的学习2

1、TCP的三次握手

(1)建立连接需要三次握手
(2)建立连接的条件:服务器listen时客户端主动发起connect
2、TCP的四次握手
(3)关闭连接需要四次握手
(4)服务器或者客户端都可以主动发起关闭

 















以上是关于linux网络编程的主要内容,如果未能解决你的问题,请参考以下文章

Linux高级网络编程系列教程

linux怎么配置网络设置(linux怎么配置网络 连接外网)

linux 查看当前的网络配置

linux网络设置

理解 Linux 网络栈 (Linux networking stack):Linux 网络协议栈简单总结

Kali Linux该怎么进行网络配置