- 前言
- Go 与操作系统
- Go 内部机制
- Go 基本数据类型
- 4 组合类型的使用
- 5 数据结构
- 6 Go package 中不为人知的知识
- 7 反射和接口
- 8 Go UNIX 系统编程
- 08.1 关于 UNIX 进程
- 08.2 flag 包
- 8.2 flag 包
- 08.3 io.Reader 和 io.Writer 接口
- 08.4 bufio 包
- 08.5 读取文本文件
- 08.6 从文件中读取所需的数据量
- 08.7 为什么我们使用二进制格式
- 08.8 读取 CSV 文件
- 08.9 写入文件
- 08.10 从磁盘加载和保存数据
- 08.11 再看strings包
- 08.12 关于bytes包
- 08.13 文件权限
- 08.14 处理 Unix 信号
- 08.15 Unix 管道编程
- 08.16 遍历目录树
- 08.17 使用 ePBF
- 08.18 关于 syscall.PtraceRegs
- 08.19 跟踪系统调用
- 08.20 User ID 和 group ID
- 08.21 其他资源
- 08.22 练习
- 08.23 总结
- 9 并发 Goroutines、Channel 和 Pipeline
- 10 Go 并发-进阶讨论
- 11 代码测试、优化及分析
- 12 Go 网络编程基础
- 13 网络编程 - 构建服务器与客户端
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
12.2 关于 TCP/IP
TCP/IP是保障互联网运行的一组基础协议。它的名字来自它最著名的两个协议:TCP协议和IP协议。
TCP协议的全称是传输控制协议(Transmission Control Protocol)。TCP软件使用称为TCP报文的数据段,在机器之间传输数据。TCP协议可靠得传输能力是其主要的特点,也就是说在不需要程序员进行额外编码的情况下,该协议可以确保发送的数据包送达接收方。如果数据包发送没有被确认,TCP协议将重新发送该数据包。也就是说,TCP协议可以用于建立连接、传输数据、发送确认和关闭连接。
当两台主机之间建立TCP连接时,这两台机器之间会创建一个与电话呼叫类似的全双工虚拟链路。这两台主机会通过不断地通信,以确保数据发送和接收正确。如果由于某种原因连接中断,两台主机都会向上层应用程序返回错误。
IP协议的全称是Internet协议(Internet Protocol)。IP协议本质上不是一个可靠的协议。IP协议通过封装通过TCP/IP网络传输的数据,根据IP地址将数据报文从源主机传送到目标主机。IP协议还具备将数据报文有效发送到目的地的寻址方法。尽管路由器作为专用设备执行IP路由转发,但每个TCP/IP设备都或多或少执行一些基本的路由转发。
UDP协议的全称是用户数据报协议(User Datagram Protocol),该协议基于IP协议,因此不确保可靠传输。简而言之,UDP协议比TCP协议要简单,因为该协议从设计上就没有考虑可靠性。因此,UDP消息可能会丢失、重传或乱序。此外,UDP数据报文的到达速度可以比接收方的处理能力快。因此当性能比可靠性更重要时,更多使用UDP协议。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论