perrynzhou

专注于系统组件研发

0%

tcp/ip 三次握手

tcp/ip 三次握手

image-20200620161218149

  • tcp/ip和系统api有啥关系
    • tcp/ip基于ip层来提供稳定的有连接的服务。tcp/ip编程中的socket是有几个元素组成,分别是:(文件描述符:源端IP、源端端口、目标端IP、目标端端口、协议)组成
    • tcp/ip中的发起第一次和服务端握手,体现在api中的connect是发起连接,第二次和第三次握手都是在网络协议栈中完成,其中服务端的api 中的accept完成了协议栈中从syn队列中取出握手信息到accept队列中。
  • read和recv区别?write和send区别?
    • linux系统调用read读取到fd,进入do_read函数,发现是网络socket套接字,最终执行的recv的函数;
    • 同理write函数和read函数也是这么做,read/write对应的是文件描述符;send/recv对应的是网络协议栈中的源端IP、源端端口、目标端IP、目标端端口、协议.一切接文件是linux的抽象