计算机网络参考模型

一、分层思想

1.含义:将复杂的流程分解为几个功能相对单一的子过程。使整个流程更加清晰,复杂问题简单化;更容易发现问题并针对性的解决问题

二、OSI参考模型

1.OSI 7层网络模型

        应用层:为应用程序提供交互服务,网络服务与最终用户的一个接口。人机交互窗口,把人的语言输入到计算机当中。例如,在QQ的对话窗口输入字符

        表示层:数据的表示、安全、压缩,确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。负责数据格式的转换,如加密解密、转换翻译、压缩解压缩等

        会话层:建立、管理、终止会话。负责在网络中的两节点之间建立、维持和终止通信,如服务器验证用户登录便是由会话层完成的

        传输层:定义传输数据的协议端口号,以及流控和差错校验。将上层应用数据分片并加上端口号封装成数据段,或通过对报文头中的端口识别,实现网络中不同主机上的用户进程之间的数据通信

        网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。将上层数据加上源和目的方的逻辑(IP)地址封装成数据包,实现数据从源端到目的端的传输

        数据链路层:建立相邻结点之间的数据链路,进行硬件地址寻址、差错校验等功能。将上层数据加上源和目的方的物理(MAC)地址封装成数据帧,MAC地址是用来标识网卡的物理地址,建立数据链路;当发现数据错误时,可以重传数据帧。

        物理层:建立、维护、断开物理连接。报文头部和上层数据信息都是由二进制数组成的,物理层将这些二进制数字组成的比特流转换成电信号在网络中传输

2.了解各类协议

TCP(传输控制协议)协议应用的端口及其协议功能----传输更加稳定可靠
80 HTTP(超文本传输协议):用于浏览器和Web服务器之间的请求和响应的交互
443 HTTPS(超文本传输安全协议):在HTTP的基础上加了SSL/TLS层(安全套接层)的安全的超文本传输协议
21 FTP(文件传输协议):用于控制连接FTP服务器
53 DNS(域名系统):用于连接DNS服务器
25 SMTP(简单邮件传输协议):用于发送邮件
110 POP3(邮局协议版本3):用于接收邮件
22 SSH(安全外壳协议):用于计算机之间的远程加密登录
3389 RDP(远程桌面协议):通过这个端口,用"远程桌面"等连接工具来连接到远程的Windows服务器

UDP(用户数据报协议)协议应用的端口及其协议功能----传输效率更高
69 TFTP(简单文件传输协议):用于小文件的传输
53 DNS(域名系统):用于解析DNS
111 RPC(远程调用协议):用于远程过程调用
161 SNMP(简单网络管理协议):用于网络设备的管理
123 NTP(网络时间协议):用于网络时间同步

IP(网际协议)协议及其功能:
ARP(地址解析协议):用于在局域网中根据IP地址获取物理地址
RARP(逆地址解析协议):用于在局域网中通过ARP表根据物理地址请求IP地址
ICMP(网际控制报文协议):用于验证网络是否畅通
IGMP(网际组管理协议):用于主机与组播路由器之间组播通信

三、TCP/IP模型

1.TCP/IP 网络模型

应用层(对应于OSI模型的应用层、表示层、会话层)
传输层(对应于OSI模型的传输层,为应用层实体提供端到端的通信)封装TCP/UDP头部 数据段
网络层(对应于OSI模型的网络层,提供主机到主机的通信)     封装IP头部        数据包
数据链路层(对应于OSI模型的数据链路层)      封装MAC头部       数据帧
物理层(对应于OSI模型的物理层)    

2.TCP/IP协议族的组成

3.TCP/IP协议数据单元

        TCP/IP协议数据单元在不同协议层有不同的表现形式。具体来说,在物理层,数据单元被称为比特流(Bit);在数据链路层,数据单元是数据帧(Frame);在网络层,数据单元是数据包(Packet);而在传输层,数据单元则是数据段(Segment)。在TCP/IP协议中,每一层都会对数据增加一些首部或尾部信息,这样的信息被称为协议数据单元(Protocol Data Unit,PDU)。

        特别地,在网络层,协议的数据单元是IP数据报。数据链路层的工作就是把网络层交下来的IP数据报封装为帧(Frame)发送到链路上,以及把接收到的帧中的数据取出并上交给网络层。

四、数据封装与解封装过程

1.数据封装与解封装

        数据封装,就是将业务数据映射到某个封装协议的净荷中,并填充对应协议的包头,形成封装协议的数据包。在数据网络传输之前,数据被添加上必要的协议信息,如目标地址、本地地址、纠错字节等,以实现数据的传输。这些操作确保数据能够可靠和准确地发送到目的地,并高效地利用传输资源。

        解封装则是封装的逆过程。它涉及拆解协议包,处理包头中的信息,并取出净荷中的业务信息数据。在接收端,数据包经过逐层处理,每个层次都移除之前添加的头部信息,最终还原出原始数据。这两个过程对于网络通信至关重要,它们保证了数据在发送和接收时的完整性和准确性,同时也提高了网络传输的效率。通过数据封装与解封装,计算机网络能够实现复杂的数据传输任务,支持各种应用和服务。

2.数据封装的过程

应用层:在这一层,原始的用户信息(如文字、视频、图片、音频等)被转换为数据,以便在网络上传输。这些数据通常被转换为能够被计算机识别的二进制数字格式。

传输层:在传输层,数据被进一步划分为数据段,并为每个数据段添加TCP或UDP报头。这些报头中包含了端口号等关键信息,用于识别上层协议或应用程序。

网络层:在网络层,数据段被封装成数据包,并添加IP头部。IP头部中包含了重要的信息,如IP地址,这是计算机在网络上的唯一标识,用于路由选择。

数据链路层:在这一层,数据包被封装成数据帧,并添加MAC头部。MAC头部中包含了MAC地址,这是网络设备上全球唯一的物理地址。

物理层:在物理层,数据帧被转换为比特流,并通过数字编码和时钟方案进行传输。

3.数据解封装的过程

物理层:比特流被转换为帧。

数据链路层:帧被解封装,MAC头部被移除,还原出数据包或数据报。

网络层:数据包或数据报被解封装,IP头部被移除,还原出数据段。

传输层:数据段被解封装,TCP或UDP报头被移除,还原出原始数据。

应用层:数据被转换为原始的用户信息格式,如文字、视频、图片等。

 

相关推荐

  1. 计算机网络概述及 参考模型

    2024-03-26 01:52:01       33 阅读
  2. 计算机网络参考模型(OSI和TCP/IP 网络模型

    2024-03-26 01:52:01       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-26 01:52:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-26 01:52:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-26 01:52:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-26 01:52:01       20 阅读

热门阅读

  1. 程序员35岁会失业吗?

    2024-03-26 01:52:01       17 阅读
  2. 树的广度遍历和深度遍历

    2024-03-26 01:52:01       21 阅读
  3. 递归——N皇后

    2024-03-26 01:52:01       18 阅读
  4. Python中图片的切块与合并

    2024-03-26 01:52:01       16 阅读
  5. 深度学习中一些常见的问题

    2024-03-26 01:52:01       18 阅读
  6. 【C++】学习记录--condition_variable 的使用

    2024-03-26 01:52:01       18 阅读
  7. Docker部署springboot项目

    2024-03-26 01:52:01       18 阅读