美文网首页
TCP/IP协议学习

TCP/IP协议学习

作者: 盼旺 | 来源:发表于2019-09-14 12:03 被阅读0次

简介:

TCP/IP不是一个协议,而是一个协议族的统称。
它是利用 IP 进行通信时所必须用到的协议群的统称
里面包括了IP协议,IMCP协议,TCP协议,以及我们更加熟悉的http、ftp、udp协议等等

计算机网络体系结构分层

TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重通信协议必要的功能是什么,而 TCP/IP 则更强调在计算机上实现协议应该开发哪种程序

包、帧、数据包、段、消息

  • 包可以说是全能性术语;
  • 帧用于表示数据链路层中包的单位;
  • 数据包是 IP 和 UDP 等网络层以上的分层中包的单位;
  • 段则表示 TCP 数据流中的信息;
  • 消息是指应用协议中数据的单位。

每个分层中,都会对所发送的数据附加一个首部,在这个首部中包含了该层必要的信息,如发送的目标地址以及协议相关信息。通常,为协议提供的信息为包首部,所要发送的内容为数据。在下一层的角度看,从上一层收到的包全部都被认为是本层的数据。


数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。

数据处理流程

传输层中的 TCP 和 UDP

TCP/IP 中有两个具有代表性的传输层协议,分别是 TCP 和 UDP。

  • TCP 是面向连接的、可靠的流协议。流就是指不间断的数据结构,当应用程序采用 TCP 发送消息时,虽然可以保证发送的顺序,但还是犹如没有任何间隔的数据流发送给接收端。TCP 为提供可靠性传输,实行“顺序控制”或“重发控制”机制。此外还具备“流控制(流量控制)”、“拥塞控制”、提高网络利用率等众多功能。
  • UDP 是不具有可靠性的数据报协议。细微的处理它会交给上层的应用去完成。在 UDP 的情况下,虽然可以确保发送消息的大小,却不能保证消息一定会到达。因此,应用有时会根据自己的需要进行重发处理。
  • TCP 和 UDP 的优缺点无法简单地、绝对地去做比较:TCP 用于在传输层有必要实现可靠传输的情况;而在一方面,UDP 主要用于那些对高速传输和实时性有较高要求的通信或广播通信。TCP 和 UDP 应该根据应用的目的按需使用。

端口号

数据链路和 IP 中的地址,分别指的是 MAC 地址和 IP 地址。前者用来识别同一链路中不同的计算机,后者用来识别 TCP/IP 网络中互连的主机和路由器。在传输层也有这种类似于地址的概念,那就是端口号。端口号用来识别同一台计算机中进行通信的不同应用程序。因此,它也被称为程序地址

通过 IP 地址、端口号、协议号进行通信识别

三次握手,四次挥手

https://www.jianshu.com/p/a1be729da219

1.通过序列号与确认应答提高可靠性
2.重发保证数据能够到达对端
3.重发超时是指在重发数据之前,等待确认应答到来的那个特定时间间隔。
4.以段为单位发送数据,利用窗口控制提高速度

为什么建立连接是三次握手,而关闭连接却是四次挥手呢?

这是因为服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即close,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送

为什么TIME_WAIT状态需要经过2MSL(最大报文段生存时间)才能返回到CLOSE状态?

为什么客户端发送 ACK 之后不直接关闭,而是要等一阵子才关闭。原因就是,要确保服务器是否已经收到了我们的ACK 报文,如果没有收到的话,服务器会重新发FIN 报文给客户端,客户端再次收到 FIN 报文之后,就知道之前的 ACK 报文丢失了,然后再次发送 ACK 报文。·TIME_WAIT· 持续的时间至少是一个报文的来回时间。
文章参考:
https://juejin.im/post/5a069b6d51882509e5432656#heading-15

相关文章

  • TCP协议

    TCP/IP协议分层详解TCP/IP协议详解通俗易懂网络协议(TCP/IP概述)什么是TCP/IP协议?

  • TCP/IP协议

    一、关于TCP/IP TCP/IP协议是一个协议集合,HTTP协议,IP协议,TCP协议,DNS协议等都属于TCP...

  • 关于网络基础知识TCP/IP(三)

    四、掌握TCP/IP协议:TCP/IP3次握手 4.1 IP协议是TCP/IP协议中最重要的协议,它为TCP UD...

  • TCP HTTPS专题

    TCP HTTPS专题 TCP协议 TCP/IP协议分层 TCP/IP 协议族里重要的一点就是分层。 TCP/IP...

  • (二)TCP/IP四层模型

    1、基本介绍 TCP/IP协议,也称TCP/IP协议族或TCP/IP协议栈,其中: TCP:Transmissio...

  • TCP/IP 网络协议 简记

    参考文档TCP/IP网络协议TCP/IP 协议 **************************** 常见协议...

  • 详解TCP与UDP协议

    TCP/IP协议 首先弄清楚,TCP协议和UCP协议与TCP/IP协议的联系。 TCP/IP协议是一个协议簇。里面...

  • TCP/UDP、IP 、Socket、HTTP笔记

    1.1 TCP/IP协议组 TCP/IP协议(传输控制协议)由网络层的IP协议和传输层的TCP协议组成 IP层负责...

  • TCP/IP、TCP、UDP

    一、TCP/IP协议 TCP/IP协议是一个协议簇。其中包括UDP、TCP、IP等协议。之所以命名为TCP/IP协...

  • 《图解HTTP》

    网络基础TCP/IPTCP/IP协议族说法一:TCP/IP是指TCP和IP两种协议说法二:TCP/IP是在IP协议...

网友评论

      本文标题:TCP/IP协议学习

      本文链接:https://www.haomeiwen.com/subject/pennectx.html