socket TCP 和 UDP
anlondon Lv6

简单概述

  1. 在互联网中,不同地区的计算机/设备通过Internet相互联系,但是因为习惯和语言的不同,容易造成双方不能直接沟通,因此加入了一系列协议,规定什么样的通信使用什么样的协议,这些协议称为互联网协议(Internet Protocol Suite),互联网的本质就是一系列协议;TCP协议和UDP协议就是众多协议中的一部分。

    网络通信原理_网络_梦心之魂的博客-CSDN博客

    • 如两个人打电话,双方说着不同的方言,为了沟通顺畅,可以一起使用同一标准的普通话。
    • 而当广西的A想给某国的C打电话时,双方语言不同,就得依靠翻译,增加了沟通成本。如果大家都能使用同一种语言(标准),这样沟通就方便多了。
    • 因此就诞生了互联网协议,这些协议定义计算机如何接入internet,以及接入internet的计算机通信的标准。
  1. 网络编程

    • 网络编程就是Socket编程
    • socket编程: 二进制 + IP + 端口通讯的一种模式
    • 在任何语言中都有socket编程,因此几乎所有的语言的socket都可以互通;如C可以和PHP、JAVA使用socket通讯
  2. 网络模型分层

image
每层运行常见物理设备

image

4.区分客户端和服务器端
- 谁发起请求,谁就是客户端(client)
- 谁接受请求,谁就是服务器端(server)

简单概述TCP、UDP

  • TCP

    • 点对点的建立链接
    • 如同两个人写信,你需要知道对方的具体地址(ip)还需要知道对方的姓名(port)^port
  • UDP

    • 一对多单向广播,一次最多64K
    • 如同学校广播通知,内容需要简短易懂(64k),接收信息的人特别多(一对多单向广播),不是所有人都能听到以及感兴趣

总结两者区别:UDP面向无链接,不管有没有接收方,都会发出去,但是发送的数据最多只有64kb,这种方式很有效率但是不够安全。而TCP协议则规定了数据传输时要三次握手四次分手的过程,是比较安全的,是点对点面向有链接的。
因此在做有链接的数据通讯编程时,TCP是首选,而不那么看中安全性以及面向无链接时,则可以选用UDP。


简述TCP的三次握手过程 - 清风木 - 博客园

总览图 image
TCP三次握手 image image
TCP四次挥手 image image
SYN:同步序列编号(Synchronize Sequence Numbers)

TCP 和 UDP 的优缺点

协议 特点 优点
TCP 点对点,面向链接 安全性高
UDP 一对多,面向无链接 效率高

注释

 Comments