读《《图解TCP-IP》》有感

读《《图解TCP/IP》》有感

TCP/IP


最近几天读完《《图解TCP/IP》》,收获蛮多,记得上学时读stevens的《《TCP/IP详解》》时那是一个囫囵吞枣,没认真看也看不下去。等有时间再拜读下《《TCP/IP详解》》吧,估计能有不少共鸣。

现在觉得,要想比较透彻理解TCP/IP,还得需要有服务器编程经验,学校应该同时开设《socket编程》》相关课程,最好同一个老师教,可以串讲,不然光理论不实战就是花架子,而且也不容易真正理解TCP/IP协议。

TCP/UDP一览

只有较为透彻的理解了TCP/UDP才知道为啥TCP叫传输控制协议,UDP叫用户数据包协议。TCP在背后帮你做了很多事,连接管理,保存时序,超时重发,拥塞控制,流控;通过mss自动帮你做分片,以减少传输途中路由器分片消耗(IPV6路由器是不会分片的),这叫传输控制协议,突出“控制”二字。而UDP什么都不帮你做,不保证时序,不做超时重传,是需要上层协议来保证,也就是用户来写规则,这也是第一个U(user)的含义;同时UDP没有mss,所以一次性发送数据最好不要太多,以免分片导致性能损耗。那UDP为什么叫用户数据包协议呢,说到数据包就得说说TCP和UDP的面向连接和无连接了。

我们知道TCP是面向连接的,而UDP是无连接的,这就直接导致了TCP会通过三次握手连接服务器,如果服务器端口不对TCP是知道,但UDP不一样,压根不知道服务器段的情况,即使服务器不在线,客户端照样发送数据。

In [22]: import socket

In [23]: s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

In [24]: s.sendto("hello world",("127.0.0.1",9999))
Out[24]: 11

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值