前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TCP/IP协议

TCP/IP协议

作者头像
吴老师
发布2018-09-05 10:58:51
6300
发布2018-09-05 10:58:51
举报
文章被收录于专栏:吴老师移动开发

TCP/IP协议的工作流程如下:

  • 在源主机上,应用层将一串应用数据流传送给传输层。
  • 传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。
  • 在网络层给TCP段加上包括源、目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包送交链路层。
  • 链路层在其MAC帧的数据部分装上IP数据包,再加上源、目的主机的MAC地址和帧头,并根据其目的MAC地址,将MAC帧发往目的主机或IP路由器。
  • 在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包送交网络层。
  • 网络层检查IP报头,如果报头中校验和与计算结果不一致,则丢弃该IP数据包;若校验和与计算结果一致,则去掉IP报头,将TCP段送交传输层。
  • 传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据。若正确,则向源主机发确认信息;若不正确或丢包,则向源主机要求重发信息。
  • 在目的主机,传输层去TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。

TCP/IP 协议的七层

  • **应用层(Application layer) **
  • 表示层(Presentation layer)
  • 会话层(Session layer)
  • 传输层(Transport layer)
  • 网络层(Network layer)
  • 数据链路层(Data link layer)
  • 物理层(Physical layer)

TCP和UDP的区别

  • TCP提供的是面向连接的、可靠的数据流传输
  • UDP提供的是非面向连接的、不可靠的数据流传输。
  • 简单的说,TCP注重数据安全,而UDP数据传输快点,但安全性一般.

建立连接协议(三次握手)

  • 客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。
  • 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。
  • 客户必须再次回应服务段一个ACK报文,这是报文段3。

连接终止协议(四次挥手)

由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。

  • TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送(报文段4)。
  • 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。
  • 服务器关闭客户端的连接,发送一个FIN给客户端(报文段6)。
  • 客户段发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.10.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TCP/IP协议的工作流程如下:
  • TCP/IP 协议的七层
  • TCP和UDP的区别
  • 建立连接协议(三次握手)
  • 连接终止协议(四次挥手)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档