【网络协议】TCP/IP协议

简介: 【网络协议】TCP/IP协议

TCP/IP的具体含义

TCP/IP实际上我们所说的是指TCP/IP==协议群==
在这里插入图片描述

互联网基础知识

互联网一次原指网际网,意思连接一个又一个网络。

TCP/IP协议分层模型

  1. 物理层(硬件):负责数据传输的硬件
  2. 网卡层
  3. 互联网层
  4. 传输层
  5. 应用层

IP:
IP是跨越网络传送数据包,使整个互联网都能收到数据的协议。IP协议使数据能够发送到地球的另一端,这期间它使用IP地址作为主机的标识。

ICMP:
IP数据包在发送途中一旦发生异常导致无法到达对端目标地址时,需要给发送端发送一个发生异常的通知。ICMP就是为这一功能而制定的。它有时也被用来诊断网络的健康状况。

ARP:
从分组数据包的IP地址中解析出物理地址的一种协议。

TCP:
TCP是一种面向有连接的传输层协议。它可以保证两端通信主机之间的通信可达。TCP能够正确处理在传输过程中丢包,传输顺序乱掉等异常情况。此外TCP还能够有效利用带宽,缓解网络拥堵。

UDP:
UDP有别于TCP,它是一种面向无连接的传输协议,UDP不会关注对端是否真的收到了传送过去的数据,如果想知道,则需要在应用程序中实现。

TCP/IP分层模型与通信示例

包:全能性术语。
帧:表示数据链路层中包的单位。
数据包:IP/TCP等网络层以上的分层中包的单位。
段:TCP数据流中的信息。
消息:应用协议中数据的单位。

==包首部就像是协议的脸==

数据包由两个部分组成:
1.协议所用到的首部
2.上层传过来的数据

发送数据包过程:

假设A给B发送电子邮件,内容为“早上好”。
1.应用程序处理:应用在发送邮件的那一刻建立TCP连接,从而利用这个TCP连接发送数据。

2.TCP模块的处理:TCP根据应用的提示,负责建立连接,发送数据以及断开连接,为了实现TCP的这一功能,需要在应用层数据的前端附加一个TCP首部。TCP首部包括源端口号和目标端口号(用以识别发送主机跟接受主机上的应用),序号(用以发送的包中哪部分是数据)以及校验和(用以判断数据是否被破坏)。随后将附加了TCP首部的包再发给IP。

3.IP模块的处理:IP将TCP传过来的数据的前部加上自己的IP首部。IP首部中包含接受端的IP地址以及发送端IP地址,紧跟着IP首部的还有用来判断其后面的数据是TCP还是UDP。
如果尚不知道接收端的MAC地址,可利用ARP查找,只要知道了对端的MAC地址,就可以将MAC地址和IP地址交给以太网的驱动程序,实现数据传输。

4.网络接口(以太网驱动)的处理:从IP传过来的IP包,对于以太网驱动来说不过就是数据,给这个数据附加上以太网首部并进行发送处理。以太网首部中包含接受端的MAC,发送端MAC地址以及标志以太网类型的以太网数据的协议。根据上述信息产生的以太网数据包将通过物理层传输到接收端。

在这里插入图片描述

接收数据包的过程

==包的接受过程是发送过程的逆序处理==
5.网络接口(以太网驱动)的处理:主机收到以太网包以后,首先从以太网的包首部找到MAC地址判断是否为发给自己的包。如果不是则丢弃数据。
若果是则判断以太网协议所传送过来的数据类型,IP则传到IP子程序,ARP则交给ARP处理。如果是无法识别的协议类型,则丢弃数据。

6.IP模块的处理:IP收到数据包后做出同样的操作,判断上一层的协议,是TCP还是UDP。

7.TCP模块的处理:在TCP模块中,首先会计算一下校验和,判断数据是否被破坏;然后检查是否按照序号接收数据,最后检查端口号,确定具体的应用程序。

8.应用程序的处理:顺利接收邮件“早上好”。

目录
相关文章
|
20天前
|
网络协议
网络通信的基石:TCP/IP协议栈的层次结构解析
在现代网络通信中,TCP/IP协议栈是构建互联网的基础。它定义了数据如何在网络中传输,以及如何确保数据的完整性和可靠性。本文将深入探讨TCP/IP协议栈的层次结构,揭示每一层的功能和重要性。
52 5
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
72 3
|
1月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
82 2
|
1月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
49 13
|
1月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
2月前
|
网络协议 算法 数据格式
【TCP/IP】UDP协议数据格式和报文格式
【TCP/IP】UDP协议数据格式和报文格式
157 3
|
2月前
|
XML JSON 网络协议
【TCP/IP】自定义应用层协议,常见端口号
【TCP/IP】自定义应用层协议,常见端口号
38 3
|
2月前
|
网络协议 Java 程序员
【网络】局域网LAN、广域网WAN、TCP/IP协议、封装和分用
【网络】局域网LAN、广域网WAN、TCP/IP协议、封装和分用
38 2
|
2月前
|
网络协议 网络架构
【网络】TCP/IP 五层网络模型:数据链路层
【网络】TCP/IP 五层网络模型:数据链路层
51 1
|
2月前
|
网络协议 算法 程序员
【网络】TCP/IP 五层网络模型:网络层
【网络】TCP/IP 五层网络模型:网络层
98 1