一些网络通信编程的小知识

来源:互联网 发布:天猫国际数据 编辑:程序博客网 时间:2024/09/21 09:28
网络通信技术是基于协议的,协议是网络上所有设备之间通信规则的集合。它定义了通信时信息必须采用的格式和这些格式的含义。只有相同网络协议的计算机才能进行通信。
一.TCP/IP协议
协议是分层的。
TCP/IP协议是一个协议族。它包含了许多协议,如FTP(远程文件传输协议)
POP3(邮件),Http(Web协议)等。
TCP/IP协议实现的五层,由下到上
1.物理层
2.链路层
位于物理层之上,又称网络接口层。一般包括操作系统中的设备驱动程序和计算机中的网卡接口等。
3.网络层
处理分组在网络中的活动。在TCP/IP协议族中,网络层协议包括IP协议(网际协议),ICMP协议(控制报文协议),IGMP(组管理协议)
4.传输层
主要为计算机上的应用程序提供端到端的通信。在TCP/IP协议族中,有两个不同的传输协议:TCP(传输控制协议),UDP(用户数据报协议)
TCP:提供可靠的数据通信,将应用程序交给它的数据分成合适的小块交给网络层。
UDP:只把数据报的分组从一台主机发送到另一台主机,但不保证数据报是否能到达另一端。
5.应用层
负责处理特定的应用程序细节,如定义网络通信和数据传输的用户接口,如提供Telnet(远程登录),FTP等标准服务
二.基于TCP/IP的数据传输
在通信中数据传输的基本传输单位是数据包
数据包:在TCP/IP下发送数据,事先要对数据进行封装,加上各种必需的数据结构,封装完后的数据就叫数据包。就像我们寄信要放上信封,贴上邮票才能成功送到收件人手里一样。
每经过协议的一层,就会给原始数据加上一个协议首部,用来实现特定用途。例如IP首部用来实现路由寻址,TCP首部用来确保数据可靠传输等。
封装好的数据包从一个主机发送到另一个主机
当另一个主机的网卡接收到数据包后,每经过一层就会去掉一层协议首部,最后还原成原始数据。
整个过程是(从网卡接收到数据开始):
网卡驱动层序(链路层)->IP(网络层)->TCP(传输层)->应用程序(应用层)。
原创粉丝点击