TCP/IP四层模型简述

1、TCP/IP协议是由七层模型简化成四层而来。

七层有底向上分别是:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

简化后的四层分别是:主机到网络层(比特)、网络层(数据帧)、传输层(数据包)、应用层(数据段)。

每一层对于上一层来讲是透明的,上层只需要使用下层提供的接口,并不关心下层是如何实现的。

TCP/IP模型参考图如下(图为转载):

HAHA

TCP/IP层次模型参考如下图(图为转载):

HAHA

由图可见,TCP/IP协议实际上关心的是网络层和传输层之间得传输。

2、数据传输

传输数据时,传输端,将数据段分成数据包,然后在把每一个数据包分成数帧塞到网络互联层的数据帧中传输给对面。对面再将数据帧组合成数据包,最后解析成数据段供上层使用。

其中IP协议保证,数据帧可以从源主机传输到目标主机。在传输过程中采取某种策略以最优的方式达到目标主机。但并不保证到达的顺序,本身是不可靠的,不面向连接的。这里就需要上层的控制。

IP报文格式如下(图为转载):

HAHA

IP不提供发送、接收、出错等通知。
IP不提供“端口号”之类的标记来隔离发到目标IP地址的数据包。
IP不提供双向通讯。
IP不会用任何方式对多个包排序或分组。

上层(传输层)定义了两种不同的协议,即:传输控制协议TCP(transmission control protocol)和用户数据报协议UDP(user datagram protocol)。

TCP是一种面向连接(双向)的,安全的协议。连接时通过三次握手协议实现。TCP将源主机的数据有序无差错的发往目标主机,同时可以通过在协议中添加对方缓冲区的大小,来达到控制流量的目的。

UDP是一种不可靠的,无连接的协议,穿透性比TCP协议强。穿透性由TTL决定,每穿透一层TTL减1。

追求安全、稳定或想控制流量的的时候可以使用TCP协议,如文件传输FTP,超文本链接HTTP。

在数据量大、或者网络不稳定(TCP网络校验耗时不适合网络差的时候)、或要求高穿透性的时候可以使用UDP协议。比如QQ聊天(QQ聊天的UDP协议,会有QQ服务器加层控制保证数据可靠)。

TCP数据段格式如下:

H

   重点说下标志位字段,标志位字段中的AKG用来确认序号有效,连接和断开时都要使用。SYN表示发起一个连接,FIN表示结束。

UDP数据字段如下:

H

可以看出UDP和TCO都包含源端口号和目标端口号。


3、TCP的三次握手链接和四次握手释放

TCP连接需要3次握手,白话解释如下:客户端高速服务器我要连接了,然后发一个AKG过去,服务器接到之后高速客户端,我知道你想连接了,对AKG进行处理返回客户端,然后客户端收到后再高速服务器,恩,我知道你知道我要连接了,再将AKG处理发回服务器。然后就可以进行通信了。

详情如下:

源主机发送一个同步标志位(SYN)置1的TCP数据段。此段中同时标明初始序号(Initial Sequence Number,ISN)。ISN是一个随时间变化的随机值。  
目标主机发回确认数据段,此段中的同步标志位(SYN)同样被置1,且确认标志位(ACK)也置1,同时在确认序号字段表明目标主机期待收到源主机下一个数据段的序号(即表明前一个数据段已收到并且没有错误)。此外,此段中还包含目标主机的段初始序号。  
源主机再回送一个数据段,同样带有递增的发送序号和确认序号。

TCP释放需要4次握手,因为TCP/IP是双工管道,双方的读写都需要关闭,同时也是对称的,双方都可以先发起关闭。白话过程解释如下:

分两个阶段。

一、客户端先告诉服务器,我要关啦,然后服务器收到后,关闭自己的读通道,然后告诉客户端我接到你的请求了,客户端收到后,关闭自己的写通道。

二、然后客户端再告诉服务器,我知道你知道我想关闭了。服务器收到后,关闭自己的读通道。然后服务器告诉客户端我知道你知道我知道你想关闭了,客户端收到后关闭自己的读通道。

详情如下:

  第一阶段   客户机发送完数据之后,向服务器发送一个FIN数据段,序列号为i;
    1.服务器收到FIN(i)后,返回确认段ACK,序列号为i+1,关闭服务器读通道;
    2.客户机收到ACK(i+1)后,关闭客户机写通道;
   (此时,客户机仍能通过读通道读取服务器的数据,服务器仍能通过写通道写数据)
    第二阶段 服务器发送完数据之后,向客户机发送一个FIN数据段,序列号为j;
    3.客户机收到FIN(j)后,返回确认段ACK,序列号为j+1,关闭客户机读通道;
    4.服务器收到ACK(j+1)后,关闭服务器写通道。
这是标准的TCP关闭两个阶段,服务器和客户机都可以发起关闭,完全对称。

参考如下:http://www.cnblogs.com/BlueTzar/articles/811160.html  四层模型

http://www.cnblogs.com/Jessy/p/3535612.html  三次/四次握手

http://blog.csdn.net/herbert5069/article/details/31358641 网络穿透TTL



  • 18
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
TCP/IP四层模型和五层模型是两种常用的网络协议参考模型,用于描述计算机网络中不同层次的功能和通信规则。 TCP/IP四层模型包括:网络接口层、互联网层、传输层和应用层。网络接口层负责将数据包转换成适合传输的物理格式,并进行网络接口的选择。互联网层负责进行网络间的数据传输,通过IP协议来确定数据包的传输路径。传输层负责提供端到端的数据传输服务,包括TCP和UDP协议,TCP提供可靠的面向连接的传输服务,而UDP提供不可靠的面向无连接的传输服务。应用层包括各种网络应用协议,如HTTP、FTP、SMTP等,负责应用程序之间的通信。 五层模型TCP/IP四层模型的基础上增加了一个会话层。五层模型包括:物理层、数据链路层、网络层、传输层和应用层。物理层负责数据在物理媒介上的传输,包括电缆、光纤等。数据链路层负责将数据分帧,并进行错误检测和纠正,如以太网、无线局域网等。网络层负责进行数据包的路由选择和寻址,如IP。传输层提供端到端的数据传输服务,如TCP和UDP。应用层包括各种应用层协议,如HTTP、FTP等。 两种模型虽然在命名和层次划分上有所不同,但其基本结构和功能相似。TCP/IP模型是互联网中使用最广泛的模型,而五层模型是OSI参考模型中的一部分。无论使用哪种模型,它们都为网络的设计、实现和管理提供了一种标准化的方法,使不同厂商和组织之间的网络设备和应用能够进行互通和协作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值