TCP/IP 学习笔记
TCP/IP 参考模型
TCP/IP
参考模型是计算机网络的祖父ARPANET
和其后继的因特网使用的参考模型。ARPANET
是由美国国防部DoD(U.S.Department of Defense)赞助的研究网络。逐渐地它通过租用的电话线连结了数百所大学和政府部门。当无线网络和卫星出现以后,现有的协议在和它们相连的时候出现了问题,所以需要一种新的参考体系结构。这个体系结构在它的两个主要协议出现以后,被称为TCP/IP参考模型(TCP/IP reference model)。
由于国防部担心他们一些重要的主机、路由器和互联网关可能会突然崩溃,所以网络必须实现的另一目标是网络不受子网硬件损失的影响,已经建立的会话不会被取消,而且整个体系结构必须相当灵活。
四层协议
TCP/IP
是一组用于实现网络互连的通信协议。Internet
网络体系结构以TCP/IP
为核心。基于TCP/IP
的参考模型将协议分成四个层次,它们分别是:网络访问层、网际互联层、传输层(主机到主机)、和应用层。
- 应用层
应用层对应于OSI
参考模型的高层(应用层、表示层、会话层),为用户提供所需要的各种服务,例如:FTP
、Telnet
、DNS
、SMTP
等。 - 传输层
传输层对应于OSI
参考模型的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。该层定义了两个主要的协议:传输控制协议TCP
和用户数据报协议UDP
。TCP
协议提供的是一种可靠的、通过“三次握手”来连接的数据传输服务;而UDP
协议提供的则是不保证可靠的(并不是不可靠)、无连接的数据传输服务。TCP
建立在IP
之上,定义了网络上程序到程序的数据传输格式和规则,提供了IP
数据包的传输确认、丢失数据包的重新请求、受到的数据包重新装配。TCP
协议是面向连接的协议,类似于打电话,在开始传输数据之前,必须先建立明确的连接。UDP
也建立在IP
之上,但它是一种无连接协议,两台计算机之间的传输类似于传递邮件:消息从一台计算机发送到另一台计算机,两者之间没有明确的连接。UDP
不保证数据的传输,也不提供重新排列次序或重新请求的功能,所以说它是不可靠的。虽然UDP
的不可靠性限制了它的应用场合,但它比TCP
具有更好的传输效率。 - 网际互联层
网际互联层对应于OSI
参考模型的网络层,主要解决主机到主机的通信问题。它所包含的协议设计数据包在整个网络上的逻辑传输。注重重新赋予主机一个IP
地址来完成对主机的寻址,它还负责数据包在多种网络中的路由。该层有三个主要协议:网际协议IP
、互联网组管理协议IGMP
和互联网控制报文协议ICMP
。IP
协议是网际互联层最重要的协议,它提供的是一个可靠、无连接的数据报传递服务。如果没有使用一些监视系统进程的工具,用户是看不到在系统里的IP
的。网络嗅探器Sniffers
是能看到这些过程的一个装置(它可以是软件,也可以是硬件),它能读取通过网络发送的每一个包,即能读取发生在网络层协议的任何活动,因此网络嗅探器Sniffers
会对安全造成威胁。重要的网络层协议包括ARP
(地址解析协议)、ICMP
(Internet控制消息协议)和IP
(网际协议)等。 - 网络接入(接口)层(即主机-网络层)
网络接入层与OSI
参考模型中的物理层和数据链路层相对应。它负责监视数据在主机和网络之间的交换。事实上,TCP/IP
本身并未定义该层的协议,而由参与互连的各网络使用自己的物理层和数据链路层协议,然后与TCP/IP
的网络接入层进行连接。地址解析协议ARP
工作在此层,即OSI
参考模型的数据链路层。
OSI 参考模型
OSI 模型分层原则
ISO
为了更好的使网络应用更为普及,就推出了OSI
参考模型。其含义就是推荐所有公司使用这个规范来控制网络。这样所有公司都有相同的规范,就能互联了。提供各种网络服务功能的计算机网络系统是非常复杂的。根据分而治之的原则,ISO
将整个通信功能划分为七个层次,划分原则是:
- 网路中各节点都有相同的层次;
- 不同节点的同等层具有相同的功能;
- 同一节点内相邻层之间通过接口通信;
- 每一层使用下层提供的服务,并向其上层提供服务;
- 不同节点的同等层按照协议实现对等层之间的通信。
模型比较
OSI 七层模型 | TCP/IP 四层模型 | 网络协议 |
---|---|---|
应用层 | 应用层 | HTTP、HTTPS、FTP、Telnet、 NFS、SMTP、DNS、DHCP、TFTP、WWW。 |
表示层 | ||
会话层 | ||
传输层 | 传输层 | TCP、UDP |
网络层 | 网际层 | IP、ICMP、IGMP、RIP。 |
数据链路层 | 网络接口 | PPP、ARP、RARP。 |
物理层 | RJ-45、IEEE802.3、EIA/TIA RS232。 |
共同点
OSI
参考模型和TCP/IP
参考模型都采用了层次结构的概念。- 都能够提供面向连接和无连接两种通信服务机制。
不同点
OSI
采用的七层模型,而TCP/IP
是四层结构。TCP/IP
参考模型的网络接口层实际上并没有真正的定义,只是一些概念性的描述。而OSI
参考模型不仅分了两层,而且每一层的功能都很详尽,甚至在数据链路层又分出一个介质访问子层,专门解决局域网的共享介质问题。OSI
模型是在协议开发前设计的,具有通用性。TCP/IP
是先有协议集然后建立模型,不适用于非TCP/IP
网络。OSI
参考模型与TCP/IP
参考模型的传输层功能基本相似,都是负责为用户提供真正的端对端的通信服务,也对高层屏蔽了底层网络的实现细节。所不同的是TCP/IP
参考模型的传输层是建立在网络互联层基础之上的,而网络互联层只提供无连接的网络服务,所以面向连接的功能完全在TCP
协议中实现,当然TCP/IP
的传输层还提供无连接的服务,如UDP
;相反OSI
参考模型的传输层是建立在网络层基础之上的,网络层既提供面向连接的服务,又提供无连接的服务,但传输层只提供面向连接的服务。OSI
参考模型的抽象能力高,适合与描述各种网络;而TCP/IP
是先有了协议,才制定TCP/IP
模型的。OSI
参考模型的概念划分清晰,但过于复杂;而TCP/IP
参考模型在服务、接口和协议的 区别上不清楚,功能描述和实现细节混在一起。TCP/IP
参考模型的网络接口层并不是真正的一层;OSI
参考模型的缺点是层次过多,划分意义不大但增加了复杂性。OSI
参考模型虽然被看好,由于没把握好时机,技术不成熟,实现困难;相反,TCP/IP
参考模型虽然有许多不尽人意的地方,但还是比较成功的。