UNIX网络编程第三版(卷1)读书笔记以及习题-章节2

本文是UNIX网络编程第三版(卷1)章节2的读书笔记,详细介绍了TCP和UDP的区别以及连接过程。TCP是可靠的全双工通信协议,通过三次握手建立连接,四次挥手断开连接。而UDP则是不可靠协议,数据直接发送,无缓冲区。此外,还解释了netstat中ESTABLISHED和TIME_WAIT等状态的含义。
摘要由CSDN通过智能技术生成
1. 几个关键点
  • 常用连接协议TCP、UDP的特点:

    • TCP:可靠的,全双工(同一时刻,允许数据在两个方向上同时传输)通信协议。

      • 完成一次连接需要进行3次握手:客户端发起请求(SYN) —— 服务器收到客户端请求(SYN)并返回确认(ACK) —— 客户端收到服务器确认(ACK)并发送确认的确认(ACK) —— 服务器收到客户端确认(ACK),建立连接。
      • 完成一次断开需要进行4次握手:主动关闭方发送(FIN) —— 接收方发送回复(ACK) && 接收方发送(FIN) —— 主动关闭放发送回复(ACK) —— 接收方收到回复(ACK),关闭连接。
      • 一个完整的请求流程:
        • 当服务器bind一个套接字的时候,一般服务器是一个多宿(简单理解为多个IP地址,一般bind一个端口,一个外网IP一个内网IP,例如xxx.xxx.xxx.xxx:21和192.168.1.100:21)的绑定。会生成一个套接字对,对应4节数据(本机地址:本机端口,对端地址:对端端口),初始绑定时,内容相当于( * :21;* : * ),*是通配符。
        • 客户端连接成功之后,客户端也会生成一个套接字对,例如(192.168.1.110:1500;192.168.1.100:21)这里的本地端口,客户端会开启一个空闲端口。
        • 服务器不管是否会开启新线程去处理连接,当客户端连接后,之前的套接字对会绑定客户端的I
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值