小谈网络协议

一:TCP/IP网络层

在这里插入图片描述

二:各层小谈

2.1:运用层

运用层主要运用socket编程来实现对网络数据的传输:
服务器 客户端
socket() socket() //创建socket
bind()//绑定服务器的IP地址与端口 connect() //连接服务器
listen()//打开监听功能 while(1){
while(1){ io-ops}
accept();//等待client的连接,这个阻塞式等待 close()
io-ops
}
close()

2.2:传输层(TCP/UDP层)

1:tcp
tcp是面向连接的,可靠的,以字节流传输的网络数据方式,在listen()时就完成了3次握手
所谓的三次握手,不必拘束与发送syn这些信号啥的,我们可以形象的比喻为服务器与客户端的读写端口的检查

第一次:客户端发送SYN数据
第二次:服务器回复ACK //当服务器接收到数据后,服务器知道自己的RX->OK ,同时服务器知道客户端的TX->OK.
第三次:客户端回复FIN //当服务器接收到后,服务器知道自己的TX->OK 同时客户端知道自己的TX(在第一次握手)->OK,并且接收到服务器的数据说明客户端的RX->OK

断开是否的四次挥手
第一次:客户端发送EOF给服务器 -> 发给老哥(服务器),我要下线了,断开客户端的发送功能
第二次:服务器回复ACK给客户端 -> 发给小老弟(客户端),我收到你下线的消息了
第三次:服务器发送EOF给客户端 -> 发给小老弟(客户端),我已经把你的足迹都给释放了
第四次:客户端回复ACK给服务器 ->发给老哥(服务器),好的,老哥,我撤了。

2:udp
udp是无面向连接的,非可靠的以包方式传输的网络数据方式。没有什么三次友好握手和四次挥泪拜拜的说法:

注意:TCP传输中,read与write传输没有大小限制,他们都有各自的数据缓冲区,如果任何一方满了,另外一方都会被阻塞。
UDP传输中,任何一方满了新的数据将会被丢弃。

2.3:网络层(IP层)

IP层主要负责路由路径选择,它一次只能发送一包数据。

2.4:链路层

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值