一文带你了解TCP/IP模型以及封装和分用

本文涉及的产品
.cn 域名,1个 12个月
简介: 一文带你了解TCP/IP模型以及封装和分用

1. 网络协议

网络协议是计算机网络中用于规定数据在网络中传输和处理的规则,它定义了在网络中通信的格式、规范和顺序。网络协议可以分为不同的层次,每个层次负责不同的功能和任务,通过协议栈的方式实现网络通信。


常见的网络协议包括:


1.传输控制协议(TCP):TCP协议是一种面向连接的、可靠的传输协议,它通过建立连接、数据分段、流量控制、拥塞控制等机制来实现可靠的数据传输。

2.网络互联协议(IP):IP协议是一种无连接的、不可靠的协议,它负责将数据包从源主机传输到目标主机,并为它们分配唯一的IP地址。

3.超文本传输协议(HTTP):HTTP协议是一种用于在Web上传输超文本的协议,它定义了浏览器和服务器之间的通信规则,包括请求和响应的格式、状态码、请求方法等。

4.网际组管理协议(ICMP):ICMP协议是一种用于传输与IP协议相关的消息的协议,它用于网络异常、错误、路由信息等的传输和通知。

5.动态主机配置协议(DHCP):DHCP协议是一种用于自动分配IP地址的协议,它允许在局域网上自动分配和管理IP地址,避免了手动配置的繁琐性。

6.域名系统(DNS):DNS协议是一种用于将域名转换为IP地址的协议,它通过将域名映射到相应的IP地址,实现了人类可读的域名与计算机可理解的IP地址之间的转换。

7.文件传输协议(FTP):FTP协议是一种用于在计算机之间传输文件的协议,它支持文件上传、下载、删除、重命名等操作。

8.简单邮件传输协议(SMTP):SMTP协议是一种用于在计算机之间传输电子邮件的协议,它定义了邮件的传输格式和通信规则。

网络协议分层有两种: OSI七层网络模型和TCP/IP(五层/四层)


2. OSI七层网络模型

1.应用层:负责处理用户应用程序之间的通信和数据交换。这包括应用程序协议(如HTTP、FTP、SMTP等)、资源定位和身份验证等功能。

2.表示层:负责数据格式的转换和加密解密等。它可确保不同计算机之间的数据能够正确交换和解释,并处理数据的压缩和加密。

3.会话层:负责建立、管理和终止会话(会话是应用程序之间的通信会话)。它提供了会话控制和同步功能,以确保数据在不同应用程序之间的有序传输。

4.传输层:负责在网络中的端到端通信提供可靠性和数据流控制(如TCP),或者提供无连接的、不可靠的数据传输(如UDP)。它还处理数据的分段和重组以及错误检测和纠正。

5.网络层:负责处理不同网络之间的路由和转发,以及数据包的传输。这包括IP地址的分配和路由选择。

6.数据链路层:负责将数据包转换为比特流并在网络的物理媒介上进行传输。它通过物理地址(如MAC地址)来识别网络设备,提供了数据帧的传输和错误检测等功能。

7.物理层:负责在物理媒介上传输比特流。它定义了电压、电缆规范、传输速率等细节,确保数据能够在物理媒介上正确传输。

OSI七层网络模型其实并不适用,了解即可


3.TCP/IP (五层/四层)

对于TCP/IP是五层还是四层,其实都是对的.有的地方说五层是因为把"物理层"算进去了. 这一层属于"硬件". 而其它四层都属于"软件". 所以导致有的地方没把物理层算进去.


与OSI七层模型相比,TCP/IP模型更简洁:


1.应用层

2.传输层

3.网络层

4.数据链路层


4. 封装和分用

假设张三要在微信上给李四发一句"hello"


2164b95b6cbd4ceca5251e430a05063b.png

上述就是一个简单的封装过程


应用层对应着应用程序

传输层是操作系统内核实现的,操作系统会提供一系列API给应用程序,调用这些系统API就可以把应用层的数据交给传输层

传输层有很多协议,最典型的就是TCP,以TCP为例,TCP协议就要在原来数据的基础上添加TCP协议报头.传输层再把数据交给网络层

网络层中最典型的协议就是IP协议,IP协议把整个TCP数据报视为整体,作为载荷部分,再添加IP协议报头

数据链路层中的协议也很多,最典型的就是"以太网"

封装是由上往下,依次添加信息,

896bd20d356d4022bc8764dfcf127162.png


当李四这个客户端收到张三发来的数据报时


数据链路层会根据以太网协议,去除帧头和帧尾,拿到载荷部分并交给网络层

网络层会根据IP协议,去除IP协议报头,拿到载荷部分并交给传输层

传输层根据TCP协议,再去除TCP报头,再交给应用层

应用层再把数据进行解析,再显示在应用程序上

而分用则是从下往上,依次去除添加的信息.


c54d9975d0ee4e68a8b778e82ca5126b.gif


相关文章
|
7天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
22 2
|
27天前
|
网络协议 数据安全/隐私保护 网络架构
|
19天前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
1月前
|
网络协议 Java 程序员
【网络】局域网LAN、广域网WAN、TCP/IP协议、封装和分用
【网络】局域网LAN、广域网WAN、TCP/IP协议、封装和分用
32 2
|
1月前
|
网络协议 网络架构
【网络】TCP/IP 五层网络模型:数据链路层
【网络】TCP/IP 五层网络模型:数据链路层
49 1
|
1月前
|
网络协议 算法 程序员
【网络】TCP/IP 五层网络模型:网络层
【网络】TCP/IP 五层网络模型:网络层
80 1
|
1月前
|
XML JSON 网络协议
【网络】TCP/IP五层网络模型:应用层
【网络】TCP/IP五层网络模型:应用层
21 1
|
3月前
|
网络协议 Linux 数据安全/隐私保护
在Linux中,TCP/IP 的七层模型有哪些?
在Linux中,TCP/IP 的七层模型有哪些?
|
3月前
|
网络协议 Java 关系型数据库
16 Java网络编程(计算机网络+网络模型OSI/TCP/IP+通信协议等)
16 Java网络编程(计算机网络+网络模型OSI/TCP/IP+通信协议等)
85 2
|
3月前
|
网络协议 网络架构
OSI 和 TCP/IP 模型
【8月更文挑战第24天】
69 0