网络的一些基本概念

本文介绍了IP地址和端口号在网络通信中的作用,解释了协议的概念及其在数据传输中的分层结构,包括OSI七层和TCP/IP五层模型,以及网络设备在这些模型中的位置。同时,详细阐述了封装和分用的过程,以QQ消息发送为例,展示了数据在网络中的传输和接收机制。
摘要由CSDN通过智能技术生成

1.IP地址

描述了一个设备在网络上的地址。一般情况下会把IP地址给表示成0-255之间的十进制数字,并且使用三个点进行分隔,点分十进制。

2.端口号

在网络通信中,IP地址用于标识主机网络地址,端口号可以标识主机中发送数据、接收数据的进程。简单说:端口号用于定位主机中的进程。

端口号是一个整数(两个字节)

一个端口号只能被一个程序绑定,但是一个程序可以绑定多个端口。

2字节=0-65335

注意:0一般不使用,1-1023这个范围的端口号,系统留作特殊用途。自己写的程序不应该占用。

在实际的通信过程中,IP和端口往往是”一对“。

3.协议

协议,网络协议的简称,网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。

协议(protocol)最终体现为在网络上传输的数据包的格式。

网络本质上是通过光电信号来传输数据。

例如:

低电平表示1,高电平表示0;

高频光信号表示1,低频光信号表示0。

4.协议分层

网络通信的场景,可能会比较复杂,有很多场景要通过协议来进行解决。这时如果搞一个大的协议来解决所有问题,此时这个协议就会非常庞大,不利于人们的理解。

此时我们就可以将大的协议拆分成多个小的协议,让每个小的协议各自完成自己的事情。

但是这么多的小协议又需要管理,于是就可以将协议进行分层。

上层协议调用下层协议,下层协议给上层协议提供支持

1.协议分层的好处

1.协议分层后,上层和下层彼此之间就进行了封装,上层不必管下层,下层不必管上层。这降低了协议的使用成本。

2.每一层协议都可以根据需要灵活替换

2.两种网络模型

1.OSI七层网络模型

分层  功能
应用层 网络服务与最终用户的一个接口(可理解为人机交互界面)
表示层  数据的表示,安全,压缩
会话层建立,管理,终止会话
传输层  定义传输数据的协议端口号,以及流控和差错校验
网络层 进行逻辑地址寻址,实现不同网络之间的路径选择
数据链路层建立逻辑连接,进行硬件地址寻址,差错校验等功能
物理层 建立,维护,断开物理连接

2.TCP/IP 五层网络模型

1.应用层:如何使用这个数据

2.传输层:关注起点和终点

3.网络层:进行路径规划

4.数据链路层:两个相邻节点之间的数据传输情况

5.物理层:描述的是网络通信的硬件设备

 

3.网络设备所在分层

  • 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下四层;

  • 对于一台路由器,它实现了从网络层到物理层,也即是TCP/IP五层模型的下三层;

  • 对于一台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层;

  • 对于集线器,它只实现了物理层;

    注意我们这里说的是传统意义上的交换机和路由器,也称为二层交换机(工作在TCP/IP五层模型的下两 层)、三层路由器(工作在TCP/IP五层模型的下三层)

5.封装和分用

描述了网络通信中基本的数据传输流程。

举个例子:qq发送消息

1.发送方

1.应用层

QQ应用程序,QQ就会把用户的“Hello”给打包成一个应用层的数据报。

源QQ-目的QQ-发送时间-发送内容

123456-654321-2023年10月31日13:14:22-Hello

2.传输层

就要对刚才的应用层数据再进行打包,变成传输层的数据报。

这里的打包过程,本质上还是“字符串拼接”,在刚才的应用层数据基础上拼接上传输层的包头

3.网络层

最重要的协议:IP协议

IP报头-UDP的报头-123456-654321-2023年10月31日13:14:22-Hello

4.数据链路层

以太网报头-IP报头-UDP的报头-123456-654321-2023年10月31日13:14:22-Hello

以太网报头中,包含了最重要的信息,就是源Mac地址,目的Mac地址

5.物理层

把上述数据转换成二进制的数据,以光电信号传输

数据发送出去后就会进行一系列的交换机和路由器进行进行转发。

2.接收方

1.物理层

拿到的光电信号转换成二进制数据,得到以太网数据报

2.数据链路层

通过以太网协议,针对以太网数据报进行解析。这会解析出头和尾以及中间的载荷。将载荷部分进一步给网络层的协议处理

3.网络层

IP协议针对网络层数据报进行解析。去掉报头,拿到载荷,再进一步将其给上一层。

4.传输层

此处使用UDP协议,针对这个数据报进行解析。拿到载荷,去掉报头。把载和数据给上一层。

5.应用层

把上述数据根据端口号,交给QQ程序

  • 18
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值