开发系统互连参考模型(OSI,Open System Interconnection)
TCP/IP协议从名称上看包括传输控制协议(TCP)和因特网协议(IP)两个协议。实际上,TCP/IP由许多协议组成,是Internet协议族,TCP和IP是其中两个最重要的协议。
IP |
因特网协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这一层。 对数据分组进行无连接的最佳传送路由选择(即提供全网范围的寻址功能) |
ARP |
地址解析协议(Address Resolution Protocol)此协议将网络地址映射到硬件地址。 为已知的IP地址确定网络接口层的MAC地址; |
RARP |
反向地址解析协议(Reverse Address Resolution Protocol)此协议将硬件地址映射到网络地址。 为已知的网络接口层MAC地址确定对应的IP地址。 |
ICMP |
网间报文控制协议(Internet Control Message Protocol)此协议处理信关和主机的差错和传送控制。 提供控制和传递消息的功能(但通信时需用IP封装) |
TCP |
传送控制协议(Transmission Control Protocol)这是一种提供给用户进程的可靠的全双工字节流面向连接的协议。它要为用户进程提供虚电路服务,并为数据可靠传输建立检查。(注:大多数网络用户程序使用TCP) |
UDP |
用户数据报协议(User Datagram Protocol)这是提供给用户进程的无连接协议,用于传送数据而不执行正确性检查。 |
FTP |
文件传输协议(File Transfer Protocol)允许用户以文件操作的方式(文件的增、删、改、查、传送等)与另一主机相互通信。 |
SMTP |
简单邮件传送协议(Simple Mail Transfer Protocol)SMTP协议为系统之间传送电子邮件。 |
Telnet |
终端协议(Telnet Terminal Procotol)允许用户以虚终端方式访问远程主机 |
HTTP |
超文本传输协议(Hypertext Transfer Procotol) |
TFTP |
简单文件传输协议(Trivial File Transfer Protocol) |
在TCP/IP模式中,因特网协议(IP)的主要任务是将数据分割成许多较小的封包(Packet),并且将这些包发送出去。IP属于无连接的通信协议,不能保证每个封包都正确无误地到达目的地。至于封包以何种方式传递,能否正确到达目的地,则由上次协议(TCP或UDP)负责。
编程接口即是套接字,是应用层到传输层的接口。套接字作为应用层与传输层的接口,是因为应用层具有以下几个方面的特点:
(1)应用层处理应用程序的细节,而不必知道通信细节。TCP/IP模型中应用层下面的3层不必知道应用程序的细节,但能处理所有通信细节
(2)通常应用程序形成用户进程,而TCP/IP模型中下面3层通常作为操作系统内核的一部分。
客户端与服务端之间是有TCP/IP进行通信如上图所示。传输层的通信是有的协议为TCP,网络层是有的协议为IP。客户端与服务器之间的数据在一端时从用户进程到内核,在另一端则是从内核到用户进程。套接字在应用层到内核之间和从内核懂爱应用层之间承担接口的角色。
UDP是User Datagram Protocol的缩写,是一种无连接的传输层协议,提供不可靠信息传输服务。UDP具有以下特点
TCP是Transmission Control Protocol的缩写,是一种面向连接的,可靠的,基于字节流的传输层通信协议。该协议在主机间建立一个虚拟连接,以实现可靠的数据通信。因特网协议(IP)不能保证数据包准确发送给目标主机,而TCP不同。发送数据时,TCP要求对方在连接数据后返回一个确认。如果在某个时限内TCP没有接收到对方的确认,那么TCP将重新发送数据包。在连接数据的一方,如果接收到无序的数据包,TCP还将负责数据包的重新排序。TCP具有以下特点:
建立一个TCP连接,需要经过一些几个步骤
由于在建立连接时至少需要交换3个分组,所以称为TCP的三次握手
TCP用3个分节建立连接,用4个分节终止连接,具体如下
因为每个方向都需要发送一个FIN和返回一个ACK,所以关闭连接时一般需要4个分节。但也不排除步骤(2)和步骤(3)的ACK与FIN合成一个分节的情况。
MAC地址 |
也叫物理地址。网卡的物理地址是由网卡生产厂家烧如网卡的EPROM,是全球唯一的48比特的整数,并以机器可读的方式存入主机借口中。Cmd>ipconfig/all ,Plysical Address的这一行,其后所显示的地址即为该设备的MAC地址。 每个网络设备(网卡,路由器)都有自己的物理地址(MAC地址),这是全球唯一的,可以保证不同网络设备间的准确通信。 介质访问控制(Media Access Control)地址一般位于网卡中,用于标识网络设备,控制对网络介质的访问。例如,网络设备要访问传输电缆(网线,位于物理层),必须具备一个MAC地址,发送的数据要到达目的地,必须知道目的地的MAC地址。因为一个网卡具有唯一的MAC地址,所以又叫做物理地址。 |
端口 |
在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。 查看端口: cmd->netstat -a -n,查看TCP和UDP链接的端口号及状态 端口分类:逻辑意义上的端口有多种分类标准,下面将介绍两种常见的分类: |