TCP/IP 协议栈 gaunthan Posted on May 28 2016 ? Computer Networking ? ## 定义 **TCP/IP** (Transmission Control Protocal / Internet Protocol,传输控制协议/互联网协议)是目前Internet使用的一个协议簇(按不同层次组织的协议集)。它是由相互交互的模块组成的一个层次结构协议,每一个模块提供特定的功能。层次意味着较上层次的协议需要得到一个或多个较小层次协议提供的服务支持。 ## 层次模型 TCP/IP初始是一个4层模型,如下图所示:  后来TCP/IP发展成为五层模型,区别在于网络接口层细化为**数据链路层**和**物理层**。 ## 应用层 **应用层**决定了向用户提供应用服务时通信的活动。进程到进程的通信就是应用层的任务。 主要协议有: * Telnet(Terminal Network,远程登录) * FTP(File Transfer Protocol,文件传输协议) * SMTP(Simple Mail Transfer Protocol,简单邮件传输协议) * DNS(Domain Name System,域名系统) * SNMP(Simple Network Management Protocol,简单网络管理协议) ## 传输层 **传输层**负责向应用层提供服务:从运行于应用层的程序得到**信息**(message),并将它投递到目的主机相应的应用程序。传输层有多个协议,这意味着每个应用程序可以使用与它的需求最匹配的协议。 主要协议有: * TCP(Transmission Control Protocol,传输控制协议) 一个面向连接的协议,在传输数据之前,先在两台主机的传输层之间建立起一条逻辑连接。提供流量控制、差错控制、拥塞控制。 * UDP(User Datagram Protocol,用户数据报协议) 一种无连接协议,传输用户数据报之前不需要创建逻辑连接。每个用户数据报都是一个独立的实体,它和前一个或后一个用户数据报没有关系。 * SCTP(Stream Control Transmission Protocol,流传输控制协议) ## 网络层 **网络层**用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方。 主要协议有: * IP (Internet Protocol,因特网协议) 定义在网络层称为数据报的分组格式,以及在这一层使用的地址格式和结构。同时,负责从源主机把一个分组路由到目的主机。这种功能是通过每个路由器都将数据包转发到路径上的下一个路由器而实现的。 * ICMP (Internet Control Massage Protocol,因特网控制报文协议) 帮助IP报告遇到的问题。 * IGMP (Internet Group Management Protocol,因特网组管理协议) 协助IP进行多任务处理。 * DHCP(Dynamic Host Configuration Protocol,动态主机配置协议) 帮助IP获取一台主机的网络层地址。 * ARP(Address Resolution Protocol,地址解析协议) 在网络层地址已知时,帮助IP寻找一台主机或一台路由器的链路层地址。 ## 网络接口层 **网络接口层**用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)。硬件上的范畴均在网络接口层的作用范围之内。 ## References - JamesF.Kurose, KeithW.Ross, 库罗斯,等. 计算机网络:自顶向下方法[M]. 高等教育出版社, 2009. - 谢希仁. 计算机网络.第6版[M]. 电子工业出版社, 2013. 赏 Wechat Pay Alipay TCP/IP 通信传输流 Simple Mail Tranfer Protocol(SMTP)