TCP/IP协议四层模型学习笔记


TCP/IP参考模型:因特网标准

TCP/IP传输协议,即传输控制/网络协议,也叫作网络通讯协议。它是在网络的使用中的最基本的通信协议。TCP/IP传输协议对互联网中各部分进行通信的标准和方法进行了规定。并且,TCP/IP传输协议是保证网络数据信息及时、完整传输的两个重要的协议。TCP/IP传输协议严格来说是一个四层的体系结构,应用层、传输层、网络层和数据链路层都包含其中。

TCP/IP(DOD)模型比较OSI参考模型
在这里插入图片描述

TCP/IP—层次结构

1网络接口层:
是TCP/IP参考模型的最低层,它负责通过网络发送和接收IP数据包,相对于OSI的数据链路层和物理层,未规定在本层用什么样的协议来实现;

2互联网层:
使用IP协议提供“尽力而为(best effort)”的网络分组传输服务。将运输层报文封装成IP数据报,选择适当的发送路径,并将数据报转发给下一个结点。相对于OSI的网络层;

3运输层:
负责在会话的进程之间建立和维护“端与端”的连接。定义了两种不同的协议:传输控制协议(TCP协议,提供了可靠的数据传递需要面向连接)与用户数据报协议(UDP协议,不能提供可靠的数据传输也不能面向连接,它的优点是高效),对实时性要求比较高的传输可以使用UDP协议为其服务,例语音,视频。对应OSI的运输层;

4应用层:
和OSI参考模型的应用层类似,为应用软件提供多种网络服务。包含了OSI中的应用层,表示层,会话层的功能。
例传输万维网的数据使用了超文本传输协议HTTP;要传输文件,使用了文件传输协议FTP;想要收发电子邮件,使用了SMTP和POP。在应用层中允许客户去根据自己的需求定义多种不同的协议,来实现不同的网络通信类型。

TCP协议

TCP(传输控制协议)是一种面向连接的可靠协议

TCP的三次握手

在这里插入图片描述
第一次握手:建立连接时,客户端向服务器发送一个SYN包,其中SYN标志位为1,发送顺序号seq=X。客户端进入SYN_SENT状态,等待服务器确认。
第二次握手:当服务器收到客户端的请求后,此时要给客户端给一个确认信息ACK,同时发送SYN包,其中包SYN、ACK标志位为1,发送顺序号seq=Y,确认序号ack=x+1,此时服务器进入SYN_RECV接收状态。
第三次握手:客户端收到服务器发的ACK+SYN包后,向服务器发送ACK,ACK标志位为1,seq=x+1,ack=y+1,此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。
为什么三次?
第一次:客户端发送请求到服务器,服务器知道客户端发送,自己接收正常。
第二次:服务器发给客户端,客户端知道自己发送、接收正常,服务器接收、发送正常。
第三次:客户端发给服务器:服务器知道客户端发送,接收正常,自己接收,发送也正常。
这样通信的双方发送接受都是正常的,这样才是可靠的连接。

位码即tcp标志位,有6种标示:SYN(synchronous建立联机); ACK(acknowledgement 确认); PSH(push传送) ;FIN(finish结束) ;RST(reset重置) ; URG(urgent紧急);Sequence number(顺序号码) ; Acknowledge number(确认号码).

TCP的四次挥手

在这里插入图片描述
第一次挥手:客户端发送一个FIN,用来关闭客户端到服务器的数据传输,客户端进入FIN_WAIT_1状态;
第二次挥手:服务器收到FIN后,发送一个ACK给客户端,确认序号为收到序号+1(与SYN相同,一个FIN占用一个序号),服务器进入CLOSE_WAIT状态;
第三次挥手:客户端收到服务器确认结果后,进入TIME_WAIT_2状态。服务器发送一个FIN,用来关闭服务器到客户端的数据传输,服务器进入LAST_ACK状态;
第四次挥手:客户端收到FIN后,客户端进入TIME_WAIT状态,接着发送一个AKC给服务器,确认序号为收到序号+1,服务器进入CLOSED状态,完成四次挥手。

为什么四次挥手?
四次挥手时,当收到对方的 FIN 报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方是否现在关闭发送数据通道,需要上层应用来决定,有可能服务端还需要继续传输数据。
为什么客户端经过2个最长报文段寿命才会关闭?
客户端需要保证最后一次发送的ACK报文服务器成功收到,如果服务器未收到,可以请求客户端重发,这样客户端还有时间再发,重启2MSL计时。

tcp和udp的区别

1.TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
2.TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
3.Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
4.UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。
5.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
6.TCP对系统资源要求较多,UDP对系统资源要求较少。

TCP的协议包结构方面由哪些部分构成

在这里插入图片描述
16位源端口号和目的端口号;
序号(seq);确认序号(seq+1)
首部长度;保留6位;标志位:URG/ACK/PSH/RST/SYN/FIN;16位窗口大小;
16位检验和;16位紧急指针;
选项;数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值