协议栈

首先,提一个问题,都知道OSI或,TCP/IP网络模型吧,采用最多的是五层模型,不用多说,其中数据从最高的应用层到最低的物理层,依次经过,
应用层 —> 传输层 —> 网络层 –> 数据链路层 —> 物理层;

每经过一层都会附加上头部或,尾部信息,比如,在传输层,如果采用的是TCP协议,则会添加上TCP报头,在网络层,会被加上IP报头,那么问题来了,是谁加的呢?

是协议栈,协议栈可以屏蔽掉各个厂家之间的差异,让上层感觉不到差别。由操作系统维护,操作系统叫各种协议封装好,然后提供socket给进程用来通信使用。

比如,在server端,系统会启动一个守护进程并在一个端口持续监听,比如http的80端口,ftp的21端口;

而对于client端,系统会随机分配一个端口,一般是10000以上,用于socket通信。

如何通信呢?

Client向server端发送SYNC请求,server端收到请求后,就知道了client端的端口了,后发送回给client端ACK,现在client端知道了server端有进程在监听,可以正常连接,再次发送ACK,此时,连接建立,这就是TCP的三次握手。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值