当前位置:首页 > 经验 >

一文看懂tcpip协议(tcpip协议详解入门)

来源:原点资讯(www.yd166.com)时间:2022-10-29 23:55:23作者:YD166手机阅读>>

网际协议群

2. 数据包

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

以上五个术语都用来表述数据的单位,大致区分如下:

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

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

一文看懂tcpip协议,tcpip协议详解入门(5)

数据包首部

网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分是上一层传过来的数据。首部的结构由协议的具体规范详细定义。在数据包的首部,明确标明了协议应该如何读取数据。反过来说,看到首部,也就能够了解该协议必要的信息以及所要处理的数据。包首部就像协议的脸。

3. 数据处理流程

下图以用户 a 向用户 b 发送邮件为例子:

一文看懂tcpip协议,tcpip协议详解入门(6)

数据处理流程

  • ① 应用程序处理
  • 首先应用程序会进行编码处理,这些编码相当于 OSI 的表示层功能;
  • 编码转化后,邮件不一定马上被发送出去,这种何时建立通信连接何时发送数据的管理功能,相当于 OSI 的会话层功能。
  • ② TCP 模块的处理
  • TCP 根据应用的指示,负责建立连接、发送数据以及断开连接。TCP 提供将应用层发来的数据顺利发送至对端的可靠传输。为了实现这一功能,需要在应用层数据的前端附加一个 TCP 首部。
  • ③ IP 模块的处理
  • IP 将 TCP 传过来的 TCP 首部和 TCP 数据合起来当做自己的数据,并在 TCP 首部的前端加上自己的 IP 首部。IP 包生成后,参考路由控制表决定接受此 IP 包的路由或主机。
  • ④ 网络接口(以太网驱动)的处理
  • 从 IP 传过来的 IP 包对于以太网来说就是数据。给这些数据附加上以太网首部并进行发送处理,生成的以太网数据包将通过物理层传输给接收端。
  • ⑤ 网络接口(以太网驱动)的处理
  • 主机收到以太网包后,首先从以太网包首部找到 MAC 地址判断是否为发送给自己的包,若不是则丢弃数据。
  • 如果是发送给自己的包,则从以太网包首部中的类型确定数据类型,再传给相应的模块,如 IP、ARP 等。这里的例子则是 IP 。
  • ⑥ IP 模块的处理
  • IP 模块接收到 数据后也做类似的处理。从包首部中判断此 IP 地址是否与自己的 IP 地址匹配,如果匹配则根据首部的协议类型将数据发送给对应的模块,如 TCP、UDP。这里的例子则是 TCP。
  • 另外吗,对于有路由器的情况,接收端地址往往不是自己的地址,此时,需要借助路由控制表,在调查应该送往的主机或路由器之后再进行转发数据。
  • ⑦ TCP 模块的处理
  • 在 TCP 模块中,首先会计算一下校验和,判断数据是否被破坏。然后检查是否在按照序号接收数据。最后检查端口号,确定具体的应用程序。数据被完整地接收以后,会传给由端口号识别的应用程序。
  • ⑧ 应用程序的处理
  • 接收端应用程序会直接接收发送端发送的数据。通过解析数据,展示相应的内容。
三、传输层中的 TCP 和 UDP

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

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

1. 端口号

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

1.1 根据端口号识别应用

一台计算机上同时可以运行多个程序。传输层协议正是利用这些端口号识别本机中正在进行通信的应用程序,并准确地将数据传输。

一文看懂tcpip协议,tcpip协议详解入门(7)

通过端口号识别应用

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

  • 仅凭目标端口号识别某一个通信是远远不够的。

一文看懂tcpip协议,tcpip协议详解入门(8)

栏目热文

tcpip必背十个问题(100个通信基础知识普及)

tcpip必背十个问题(100个通信基础知识普及)

本节重点1.理解传输层的作用, 深入理解TCP的各项特性和机制 2.对整个TCP/IP协议有系统的理解 3.对TCP/I...

2022-10-29 23:41:25查看全文 >>

网络七层协议记忆口诀(网络七层协议的通俗理解)

网络七层协议记忆口诀(网络七层协议的通俗理解)

首先,请看软考原文教程是这样描述的:国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)联合制定的开放系统互连...

2022-10-29 23:18:40查看全文 >>

tcpip协议通俗易懂(tcp拥塞控制的四种算法)

tcpip协议通俗易懂(tcp拥塞控制的四种算法)

TCP/IP协议,或称为TCP/IP协议栈,或互联网协议系列。TCP/IP协议栈(按TCP/IP参考模型划分) 包含了一...

2022-10-29 23:09:37查看全文 >>

辣炸鸡的做法视频教程(香辣炸鸡正宗做法视频)

辣炸鸡的做法视频教程(香辣炸鸡正宗做法视频)

去夜市你们都会吃什么呢?炸物一定是其中会买的一项,这间在逢甲夜市里的「酱鸡铺」买一份边走边吃特别适合,他们家的炸鸡真的很...

2022-10-29 23:13:15查看全文 >>

正宗酸甜炸鸡的做法(六种口味炸鸡的做法)

正宗酸甜炸鸡的做法(六种口味炸鸡的做法)

好久没有光顾楼下的快餐炸鸡店了,今天想外卖买一份炸鸡,结果不出所料的没有开门营业。 他家的炸鸡真的超级好吃,吃着炸鸡,喝...

2022-10-29 23:07:31查看全文 >>

tcp三次握手和4次挥手的过程(tcp三次握手和4次挥手的过程图)

tcp三次握手和4次挥手的过程(tcp三次握手和4次挥手的过程图)

推荐阅读:PS:通俗一点的解释都会在引用块中Nothing is true, Everything is permitt...

2022-10-29 23:21:24查看全文 >>

什么是tcp协议通俗易懂(tcp协议几种)

什么是tcp协议通俗易懂(tcp协议几种)

优质文章,及时送达本文来源于嵌入式LinuxTCP 是互联网核心协议之一,本文介绍它的基础知识。一、TCP 协议的作用互...

2022-10-29 23:56:34查看全文 >>

tcp三次握手和4次挥手(tcp出现大量closewait解决办法)

tcp三次握手和4次挥手(tcp出现大量closewait解决办法)

作者:ThinkWon原文:https://blog.csdn.net/ThinkWon/article/details...

2022-10-29 23:56:05查看全文 >>

tcp协议三次握手动画(tcp四次挥手)

tcp协议三次握手动画(tcp四次挥手)

专注于Java领域优质技术,欢迎关注作者:老钱 占小狼博客TCP三次握手和四次挥手的问题在面试中是最为常见的考点之一。很...

2022-10-29 23:24:31查看全文 >>

tcpip协议基础知识(tcpip协议详细步骤)

tcpip协议基础知识(tcpip协议详细步骤)

参考书籍为《图解tcp/ip》-第五版。这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及...

2022-10-29 23:47:10查看全文 >>

文档排行