Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。
层次概述 从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层、网络层、传输层、
应用层。
TCP/IP协议并不完全符合OSI的七层参考模型。传统的
开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、
数据链路层、网络层、传输层、会话层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
TCP/IP结构对应OSI结构
TCP/IP |
OSI |
应用层 |
应用层 表示层 会话层 |
主机到主机层(TCP)(又称传输层) |
传输层 |
网络层(IP) |
网络层 |
网络接口层(又称链路层) |
数据链路层 |
物理层 |
网络接口层 物理层是定义物理介质的各种特性:
1、机械特性。
2、电子特性。
3、功能特性。
4、规程特性。
数据链路层是负责接收IP数据报并通过网络发送之,或者从网络上接收物理帧,抽出IP数据报,交给IP层。
常见的接口层协议有:
Ethernet 802.3、Token Ring 802.5、X.25、Frame relay、HDLC、PPP ATM 等。
网络层 负责相邻
计算机之间的通信。其功能包括三方面。
一、处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。
二、处理输入数据报:首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。
三、处理路径、流控、拥塞等问题。
网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol)
控制报文协议、ARP(Address Resolution Protocol)地址转换协议、RARP(Reverse ARP)反向地址转换协议。
IP是网络层的核心,通过路由选择将下一跳IP封装后交给接口层。IP数据报是无连接服务。
ICMP是网络层的补充,可以回送报文。用来检测网络是否通畅。
Ping命令就是发送ICMP的echo包,通过回送的echo relay进行网络测试。
ARP是正向
地址解析协议,通过已知的IP,寻找对应主机的
MAC地址。
RARP是反向地址解析协议,通过MAC地址确定IP地址。比如无盘工作站和DHCP服务。
传输层 提供应用程序间的通信。其功能包括:一、格式化信息流;二、提供可靠传输。为实现后者,传输层协议规定接收端必须发回确认,并且假如分组丢失,必须重新发送。
传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram protocol)。
应用层 向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、
远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会话提供了基于字符的虚拟终端。文件传输访问FTP使用
FTP协议来提供网络内机器间的文件拷贝功能。
应用层一般是面向用户的服务。如FTP、TELNET、DNS、SMTP、POP3。
FTP(File Transmision Protocol)是文件传输协议,一般上传下载用FTP服务,数据端口是20H,控制端口是21H。
Telnet服务是用户远程登录服务,使用23H端口,使用明码传送,保密性差、简单方便。
DNS(Domain Name Service)是域名解析服务,提供域名到IP地址之间的转换。
SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,用来控制信件的发送、中转。
POP3(Post Office Protocol 3)是邮局协议第3版本,用于接收邮件。
总结
OSI中的层 |
功能 |
TCP/IP协议族 |
应用层 |
文件传输,电子邮件,文件服务,虚拟终端 |
TFTP,HTTP,SNMP,FTP,SMTP,DNS,RIP,Telnet |
表示层 |
数据格式化,代码转换,数据加密 |
没有协议 |
会话层 |
解除或建立与别的接点的联系 |
没有协议 |
传输层 |
提供端对端的接口 |
TCP,UDP |
网络层 |
为数据包选择路由 |
IP,ICMP,OSPF,BGP,IGMP,ARP,RARP |
数据链路层 |
传输有地址的帧以及错误检测功能 |
SLIP,CSLIP,PPP,MTU,ARP,RARP |
物理层 |
以二进制数据形式在物理媒体上传输数据 |
ISO2110,IEEE802,IEEE802.2 |
网络层中的协议主要有IP,ICMP,IGMP等,由于它包含了IP协议模块,所以它是所有基于TCP/IP协议网络的核心。在网络层中,IP模块完成大部分功能。ICMP和IGMP以及其他支持IP的协议帮助IP完成特定的任务,如传输差错控制信息以及主机/路由器之间的控制电文等。网络层掌管着网络中主机间的信息传输。
传输层上的主要协议是TCP和UDP。正如网络层控制着主机之间的数据传递,传输层控制着那些将要进入网络层的数据。两个协议就是它管理这些数据的两种方式:TCP是一个基于连接的协议;UDP则是面向无连接服务的管理方式的协议。
TCP/IP模型的主要缺点有:
首先,该模型没有清楚地区分哪些是规范、哪些是实现;其次