Windows Socket 学习笔记 之基础知识
2016-09-17 11:45
267 查看
一、基础知识
本部分作为Socket编程的基础知识的补充,讲述网络模型和网络协议介绍.对于网络协议非常清楚的大侠可以直接跳过,也可作为基本的了解。作为网络的理解,自己是在自己的理解基础之上进行的总结,难免也有不足之处,望多提意见共同探讨交流。
1、TCP/IP协议模型由TCP协议和IP协议连个协议构成,数据的模型包括数据链路层、网络层、传输层和应用层。具体模型如下所示:
1)套接字作为应用层到传送层的接口
2)下三层的具体实现作为Windows内核的一部分。
3)理解TCP/UDP协议是套接字编程的核心和重点。
2、协议介绍
1)UDP协议是一个面向无连接的传输协议,其具体的特点如下:
提供无连接服务,即在发送数据之前无需建立连接;
不能确保最终数据是否到达,也就是说数据的传输是不确定的。
传输的效率较高;
2)TCP协议是一个面向连接、可靠的和基于字节流的传送层通信协议。其具体的特点如下:
面向连接的服务
提供可靠的服务
提供流量控制
连接是全双工的
3)TCP的链接过程需要三路握手,首先建立连接,其次客户端发送链接请求;最后客户端发送确认请求。
4)终止链接,需要双方分别的发送和确认,最终完成关闭的动作。
5)主机和网络服务是一对多的关系,主机使用不同的端口号区分不同的网络服务。
本部分作为Socket编程的基础知识的补充,讲述网络模型和网络协议介绍.对于网络协议非常清楚的大侠可以直接跳过,也可作为基本的了解。作为网络的理解,自己是在自己的理解基础之上进行的总结,难免也有不足之处,望多提意见共同探讨交流。
1、TCP/IP协议模型由TCP协议和IP协议连个协议构成,数据的模型包括数据链路层、网络层、传输层和应用层。具体模型如下所示:
应用层 | 包括各种应用程序和协议,如HTTP、HTTPS、FTP等 |
传送层 | 包括传输控制协议和用户数据报协议 |
网络层 | 包括因特网协议、地址解析协议、反向解析协议和因特网控制消息协议 |
数据链路层 | 负责将数据编译成为比特流,并且准备开始物理传输,纠正传输中的错误 |
2)下三层的具体实现作为Windows内核的一部分。
3)理解TCP/UDP协议是套接字编程的核心和重点。
2、协议介绍
1)UDP协议是一个面向无连接的传输协议,其具体的特点如下:
提供无连接服务,即在发送数据之前无需建立连接;
不能确保最终数据是否到达,也就是说数据的传输是不确定的。
传输的效率较高;
2)TCP协议是一个面向连接、可靠的和基于字节流的传送层通信协议。其具体的特点如下:
面向连接的服务
提供可靠的服务
提供流量控制
连接是全双工的
3)TCP的链接过程需要三路握手,首先建立连接,其次客户端发送链接请求;最后客户端发送确认请求。
4)终止链接,需要双方分别的发送和确认,最终完成关闭的动作。
5)主机和网络服务是一对多的关系,主机使用不同的端口号区分不同的网络服务。
相关文章推荐
- 《JAVA2核心技术 卷一 基础知识(原书第七版)》《Core java2,Volume I-Fondamentsls Seven Edition》 学习笔记(三)对象的克隆
- 《JAVA2核心技术 卷一 基础知识(原书第七版)》《Core java2,Volume I-Fondamentsls Seven Edition》 学习笔记(二)BREAK和CONTINUE的区别
- Castle学习笔记一:基础知识
- MVC学习笔记一:基础知识
- Android Map开发基础知识学习笔记
- [ITIL学习笔记]ITIL基础知识
- 有关DataForm组件的研究_基础知识和实现服务端批量CURD——Silverlight学习笔记[23]
- Symbian C++学习笔记连载一:Symbian基础知识
- extjs 学习笔记(一) 一些基础知识
- WCF学习笔记 (一):基础知识之终结点
- C++学习笔记---------基础知识sizeof用法
- 摄影基础知识学习笔记之光与色:白平衡 - 水中沙 - 博客大巴
- C/C++ 基础知识学习笔记 (不断更新中)
- java学习笔记,关于java的一些基础知识,适用于初学者,第一节
- 《JAVA2核心技术 卷一 基础知识(原书第七版)》《Core java2,Volume I-Fondamentsls Seven Edition》 学习笔记(一)
- Linq学习笔记1(基础知识)
- JAVA学习笔记(基础知识)
- fedora学习笔记 1:fedora与linux的一点基础知识
- {传智播客} (学习笔记)--Oracle使用需要掌握的基础知识
- Solaris学习笔记:8.SSH配置(1.ssh基础知识)