您的位置:首页 > 理论基础 > 计算机网络

Linux TCP 传输协议

2017-04-09 14:29 99 查看

Linux TCP vs UDP 网络编程

网络模型:

ISO(理论)7  VS    TCP/IP(实际)4
应用层     ->      应用层     http/ftp/ssh
表示层
会话层
传输层     ->      传输层     TCP/UDP
网络层     ->      网际层      路由器(IP)IPCM/ARP
链路层     ->      数据链路层   网卡/交换机
物理层                         网线/集线器


TCP(Transmission Control Protocol,传输控制协议):

是面向连接的协议,在正式收发数据前,必须和对方建立可靠的连接。使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。

TCP三次握手过程

1 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立连接,通过这个数据段,

主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我.

2 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响应主机A,也告诉主机A两件事:

我已经收到你的请求了,你可以传输数据了;你要用哪个序列号作为起始数据段来回应我

3 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:”我已收到回复,我现在要开始传输实际数据了

这样3次握手就完成了,主机A和主机B 就可以传输数据了.

3次握手的特点

没有应用层的数据

SYN这个标志位只有在TCP建产连接时才会被置1

握手完成后SYN标志位被置0







Linux使用tcp 网络编程:

客户端服务器
socketsocket
-bind
-listen
connectaccept
write/readread/write
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: