TCP/IP 协议及网络分层模型

简介: 互联网要互联连接,一条消息从发送到接受,都需要走一遍网络协议。我们讲讲 TCP/IP 协议以及网络分层模型

互联网要互联连接,一条消息从发送到接受,都需要走一遍网络协议。我们讲讲 TCP/IP 协议以及网络分层模型


先看网络分层模型


网络分层模型



在网络分层模型中,有两种模型,一是 TCP/IP 标准,它提出得早,1970年就被发明。它提出了分层概念,将网络通信分为四层,分别是链接层、网络层、传输层、应用层


另一种是 OSI,全称叫开放式系统互联通信参考模型,是国际标准,用来统一各种网络协议,始于上世纪70年代后期。是网络分层的"空架子老大"


OSI 模型分成了七层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层


两者的关系就好比手机系统的巨头是 iOS 和 Android,它们制定了标准,因为话语强,所以国际标准以它们为核心再添加指定一些其他标准,但核心是 iOS 和 Android。其中 TCP/IP 就是网络分层模型中的老大,OSI 就像英国女王那样,是皇室象征,是国际标准


TCP/IP 网络分层模型


很有意思,TCP/IP 明明是网络通信协议的统称,却以其中两个核心协议为名字来称呼。它总共有四层,像搭积木一样,每一层需要下层的支撑,同时又支撑着上层。如图所示:


image.png

TCP/IP 网络分层模型


最底层也是第一层叫 网络访问(链接)层,Network Access(link)layer,负责在以太网、Wi-Fi 这样底层网络上发送原始数据包。使用 MAC 地址来标记网络上的设备,所以有时候也叫 MAC 层


第二层叫网络互连层,internet layer, IP 协议就处在这一层。因为 IP 协议定义了 IP 地址的概念,所以就在链接层的基础上,用 IP 地址取代 MAC 地址


第三层叫传输层,transport layer,负责保证数据在 IP 地址标记的两点之间可靠地传输,例如 TCP、UDP、SCTP等


第四层叫应用层,顾名思义,是面向具体应用的协议,如 HTTP、SSH、FTP、SMTP、DNS等


按照 TCP/IP 模型,网络通信是一层包着一层,发送端每通过一层则增加首部,接收端每通过一层则删除首部


image.png

数据传输过程


这里要注意的是:


  • MAC 层的传输单位是帧(frame)


  • IP 层的传输单位是包(packet)


  • TCP 层的传输单位是段(segment)


  • HTTP 的传输单位则是消息或报文(message)


注:我们常说的丢包丢包丢的就是 IP 包


OSI 网络分层模型


官方定的分层模型叫 OSI,全称是开放式系统互联通信参考模型。你问我支不支持,我是支持的,但它又不是个强制标准,所以一直有四层(TCP/IP模型)、七层(OSI模型)之说。


image.png

OSI 网络分层模型


第一层:物理层,physical layer,网络的物理形式,例如电缆、光纤、网卡等;


第二层:数据链路层,data link layer,它基本相当于 TCP/IP 的链接层;


第三层:网络层,network layer,相当于 TCP/IP 的网络层;


第四层:传输层,transport layer,相当于 TCP/IP 的传输层;


第五层,会话层,session layer,维护网络中的连接状态,即保持会话和同步;


第六层,表示层,presentation layer,把数据转换为合适、可理解的语法和语义;


第七层,应用层,面向具体的应用传输数据


两个分层模型的映射关系


image.png

分层模型的映射关系


第一层:物理层,TCP/IP 里无对应;


第二层:数据链路层,对应 TCP/IP 的网络访问(链接)层;


第三层:网络层,对应 TCP/IP 的网络互连层;


第四层:传输层,对应 TCP/IP 的传输层;


第五、六、七层:统一对应到 TCP/IP 的应用层。


TCP/IP 协议



上诉我们知道两个网络分层模型是什么,由什么组成,并且知道它们的映射关系。虽然有国际标准,但这个世界还是以 TCP/IP 协议为主要标准。你可以理解为先入为主,也可以理解为单极霸权,甚至可以联想一下5G/6G 标准对世界话语权的重要性,总之,现阶段还是以 TCP/IP 协议为主。


四大层


网络访问(链接)层


MAC 地址,它表示的你的物理世界地址


网络层


IP 协议定义了 IP 地址


电影《黑客军团》中有个片段,被做成了程序员段子


image.png

程序员段子


A:你的地址是什么?


B:173.168.15.10(IP地址)


A:不,你的本地地址呢?


B:127.0.0.1


A:我的意思是你的物理地址


B:29:01:38:62:31:58(物理地址指的就是 MAC 地址)


你也可以通过 ipconfig /all 来查看你的所有地址


image.png

网络地址


传输层


具有代表性的是 TCP,可以说在 HTTP3 之前,传输层就是 TCP 的天下,它代表的就是传输层,可在 HTTP2 之后,发现影响性能瓶颈的地方成了 TCP 的队头阻塞,所以 UDP 开始活跃起来,真是此一时彼一时


关于 TCP 和 UDP ,这张图表能更好地对比分析


image.png

TCP 和 UDP


应用层


应用层有很多协议,例如 HTTP 协议、FTP 协议、SMTP 协议...


应用层协议 应用
HTTP 万维网
FTP 文件传输
DNS 域名转换
SMTP 电子邮件
TELNET 远程终端接入
... ...


参考资料





  • TCP 协议:如何保证页面文件能被完整送达浏览器[1]



  • TCP/IP协议族[2]


[1] TCP 协议:如何保证页面文件能被完整送达浏览器: https://blog.poetries.top/browser-working-principle/guide/part1/lesson02.html#%E4%B8%80%E4%B8%AA%E6%95%B0%E6%8D%AE%E5%8C%85%E7%9A%84%E2%80%9C%E6%97%85%E7%A8%8B%E2%80%9D


[2] TCP/IP协议族: https://link.zhihu.com/?target=https%3A//zh.wikipedia.org/wiki/TCP/IP%E5%8D%8F%E8%AE%AE%E6%97%8F%23cite_note-1

相关文章
|
14天前
|
网络协议 网络架构
TCP/IP协议架构:四层模型详解
在网络通信的世界里,TCP/IP协议栈是构建现代互联网的基础。本文将深入探讨TCP/IP协议涉及的四层架构,以及每一层的关键功能和作用。
68 5
|
14天前
|
网络协议
网络通信的基石:TCP/IP协议栈的层次结构解析
在现代网络通信中,TCP/IP协议栈是构建互联网的基础。它定义了数据如何在网络中传输,以及如何确保数据的完整性和可靠性。本文将深入探讨TCP/IP协议栈的层次结构,揭示每一层的功能和重要性。
40 5
|
14天前
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
36 3
|
24天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
68 3
|
24天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
69 2
|
1月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
49 13
|
25天前
|
运维 网络协议 算法
7 层 OSI 参考模型:详解网络通信的层次结构
7 层 OSI 参考模型:详解网络通信的层次结构
54 1
|
1月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
6天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
|
7天前
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
27 10