tcp/ip协议簇简要介绍
前言
1.上一节我们讲述了OSI七层参考模型,还没看的可点击下方链接进入观看:OSI参考模型
2.这一节我们介绍一下TCP/IP协议簇
提示:以下是本篇文章正文内容
一、TCP/IP模型的发端
TCP/IP模型发端于ARPAnet的设计和实现。
TCP/IP模型、TCP/IP功能模型、TCP/IP协议模型、TCP/IP协议簇、TCP/IP协议栈等说法在现实中是经常被混用的。
TCP/IP这个名字来自于这个协议簇中两个非常重要的协议,一个IP(Internet Protocol),另一个是TCP(Transmission Control Protocol)
二、TCP/IP模型的两个不同版本
TCP/IP模型一共两个版本,可以分为TCP/IP四层或五层模型,现实中常用的是五层模型;所以我们一般说TCP/IP模型通指五层的模型。
三、TCP/IP模型与OSI模型协议上的差异
TCP/IP五层 | 协议 |
---|---|
应用层 | HTTP、FTP、SMTP、SNMP… |
传输层 | TCP、UDP… |
网络层 | IP、ICMP… |
数据链路层 | PPP… |
物理层 | … |
OSI七层 | 协议 |
---|---|
应用层 | FTAM、X.400… |
表示层 | x226… |
会话层 | x225… |
传输层 | TPO、TPI… |
网络层 | CLNP、x.233… |
数据链路层 | ISO/IEC 766… |
物理层 | EIA/TIA-232… |
这里大家会发现,OSI七层模型的协议都很陌生,但TCP/IP模型的协议大家应该多多少少都见过。为什么呢?因为,诸如Internet等网络的设计与实现使用的几乎全是TCP/IP协议簇,而不是OSI七层模型。
四、TCP/IP模型的数据单元
在TCP/IP模型中:
物理层的数据单元:比特(Bit)
数据链路层的数据单元:帧(Frame)
网络层的数据单元:分组或包(Packet)
传输层的数据单元-TCP封装:段(Segment),即TCP段
传输层的数据单元-UDP封装:报文(Datagram),即UDP报文
应用层的数据单元-HTTP封装:HTTP报文(HTTPDatagram)
…等等
五、TCP/IP模型中数据的封装过程
假设我们现在要在网上下一个2MIB的软件,那么我们会先向web服务器请求下载这个2MIB的软件;之后这个软件被发送出去之前会在web服务器被逐层进行封装。应用层会对原始软件数据(Data)添加HTTP头部,形成一个HTTP报文;这里HTTP报文因为太长了,所以传输层会将该HTTP报文分解成几个部分,并在每部分前添加TCP头部,从而形成几个TCP段;网络层会对每个TCP段添加IP头部,形成IP包;数据链路层(使用以太网技术)会在IP包的前面和后面分别添加以太网帧头和帧尾,形成以太网帧;最后,物理层会将这些以太网帧转化为比特流。