【网络协议】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.应用程序的处理:顺利接收邮件“早上好”。

目录
相关文章
|
11天前
|
网络协议 Java 关系型数据库
16 Java网络编程(计算机网络+网络模型OSI/TCP/IP+通信协议等)
16 Java网络编程(计算机网络+网络模型OSI/TCP/IP+通信协议等)
41 2
|
21天前
|
网络协议 算法 安全
【网络协议基础】TCP/IP协议大全
TCP/IP协议是现代计算机网络通信的基础,是互联网及局域网广泛使用的一套协议。TCP/IP协议集采用分层模型,以便于网络的设计、实现和管理。
15 2
|
27天前
|
缓存 网络协议 网络性能优化
网络协议详解:TCP/IP与HTTP
【7月更文挑战第24天】TCP/IP协议和HTTP协议是现代互联网通信的重要基石。TCP/IP协议提供了计算机之间数据传输和通信的底层支持,而HTTP协议则在此基础上实现了超文本数据的传输。随着互联网的不断发展,TCP/IP协议和HTTP协议将继续发挥重要作用,为各种网络应用提供稳定、高效的通信服务。
|
1月前
|
网络协议 程序员 定位技术
学习网络的第一步:全面解析OSI与TCP/IP模型
**网络基础知识概览:** 探索网络通信的关键模型——OSI七层模型和TCP/IP五层模型。OSI模型(物理、数据链路、网络、传输、会话、表示、应用层)提供理论框架,而TCP/IP模型(物理、数据链路、网络、传输、应用层)更为实际,合并了会话、表示和应用层。两者帮助理解数据在网络中的传输过程,为网络设计和管理提供理论支持。了解这些模型,如同在复杂的网络世界中持有了地图。
41 2
|
2月前
|
网络协议 Java 程序员
TCP/IP协议栈是网络通信基础,Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用
【6月更文挑战第23天】 **TCP/IP协议栈是网络通信基础,它包含应用层(HTTP, FTP等)、传输层(TCP, UDP)、网络层(IP)、数据链路层(帧, MAC地址)和物理层(硬件信号)。Java的`java.net`包提供工具,使开发者能利用TCP/IP创建网络应用,如Socket和ServerSocket用于客户端和服务器通信。**
40 3
|
3月前
|
网络协议 物联网 网络性能优化
物联网网络协议-MQTT协议的使用
物联网网络协议-MQTT协议的使用
214 2
|
11月前
|
网络协议 算法 安全
网络协议与攻击模拟-23-HTTPS协议
网络协议与攻击模拟-23-HTTPS协议
100 1
|
3月前
|
网络协议 安全 网络安全
网络 (TCP/IP 四层协议中常见网络协议)
网络 (TCP/IP 四层协议中常见网络协议)
67 7
|
3月前
|
缓存 移动开发 JSON
【网络安全 | 网络协议应用层】结合Wireshark讲解HTTP协议
【网络安全 | 网络协议应用层】结合Wireshark讲解HTTP协议
169 0