初识网络协议


一、关于网络通信

网络通信: 网络中主机进程间的数据传输
网络划分:
(1)局域网
一般来说,某个小范围组建的网络,内部可以传输数据
典型:家里的路由器,连接多台主机
(2)广域网
多个局域网构建的一个大型网络
全球公认的广域网(一般是通过网络运营商提供的网络服务,来访问):公网,外网——广域网的子集
在这里插入图片描述
能够ping通,就是可以访问对应主机
一个局域网内部可以互相访问,但多个局域网之间,如果没有使用外部网络连接,是不能互相访问的
即使使用外部网络连接,但基于局域网的IP,是内部才能用,外部用不了

我的局域网IP,只有我这个局域网才能用

二、网络通信基础

1.IP地址

用于标识网络中唯一的一台主机
局域网ip是内部才能用(内部唯一),不同的局域网ip可能有重复
公网ip是全局唯一

格式:4位,每一位是0~255之间的数字(8位的二进制数)
本机ip:127.0.0.1

2.端口号

用于标识主机中的进程
发送: 发送端的进程向发送端口写数据,系统会把数据经过网卡传输到网络的其他设备
接收: 先由网卡接收数据,系统会把数据发送到指定的端口(数据中指定),再由端口对应的进程来接收

注意事项:
两个不同的进程,不能绑定同一个端口号,但一个进程可以绑定多个端口号(这里是两个不相关的进程)

例:学习测试过程中,我安装了一个mysql数据库,存在一个问题:
开发学习的时候也安装了mysql,同时存在两个mysql进程,绑定的都是3306端口
如果发现还有一个mysql:双击,改为停止,手动启动

3.认识协议

网络协议: 网络通信时,数据在网络设备中流转,都需要遵守的一组规则和约定
三要素:

  1. 语法
  2. 语义
  3. 时序

协议最终体现为在网络上传输的数据包的格式
http协议:协议格式
请求数据包4个部分组成
响应数据包4个部分组成
作用:双方使用一致的协议,接收端才知道如何解析

为知名协议预留的端口号

  1. 22端口:ssh协议
  2. 80端口:http协议
  3. 443端口:https协议

4.五元组

在TCP/IP协议中,用五元组来表示一个网络通信

  1. 源IP: 表示源主机
  2. 源端口号: 标识源主机中该次通信发送数据的进程
  3. 目的IP: 标识目的主机
  4. 目的端口号: 标识目的主机中该次通信接收数据的进程
  5. 协议号: 标识发送进程和接收进程双方约定的数据格式

五元组的5个字段,一次网络通信必须都指定好

查看五元组信息:

Windows:netstat -ano | findstr “查询字符串”
Linux:netstat -anp | grep “查询字符串”

三、协议分层

好处: 定义了不同网络分层,是用来干嘛的,调用方不用关心实现细节,而使用统一的接口来调用

1.OSI七层模型

一种偏理论的模型,并没有实际落地(真是搭建网络,采取的网络分层,没有把OSI七层模型全部实现)

  1. 物理层: 网线或wifi(电磁波)来传输0,1数据
  2. 数据链路层: 识别数据帧(发送数据包到下一个网络硬件设备)
  3. 网络层: 地址与路由选择
  4. 传输层: 确保数据传输的可靠
  5. 会话层: 建立会话(什么时候建立连接,什么时候断开连接)
  6. 表示层: 接收端用什么方式来展示数据
  7. 应用层: 应用程序所处的分层

从低到高的顺序
5,6是没有落地,真实实现的

2.TCP/IP 五层/四层模型

在这里插入图片描述

  • 对于一台主机,他的操作系统内核实现了从传输层到物理层的内容,也即是TCP/IP五层模型的下四层
  • 对于一台路由器,它实现了从网络层到物理层,也即是TCP/IP五层模型的下三层
  • 对于一台交换机,它实现了从数据链路层到物理层,也即是TCP/IP五层模型的下两层
  • 对于集线器:他只实现了物理层

网络通信时,经过的所有网络设备,每一个网络分层,都需要使用一致的协议
在这里插入图片描述
中间如果经过了一些网络设备,网络分层也要使用对应一致的协议

四、封装和分用

封装: 发送数据时,需要把数据包装成某个协议的格式,再发送

一个网络设备,按从高到低的顺序,使用对应分层的协议来一层一层包装数据

分用: 接受数据时,需要把数据按照某个协议格式来解析,再使用

一个网络设备,按从低到高的数据,按对应分层的协议,来解析使用数据

发送端主机,tomcat发送一个http协议的数据
在发送端主机,需要按网络TCP/IP四层模型,从高到低的顺序,来封装数据
在这里插入图片描述
封装的过程有点类似发快递时,一层一层,从里到外打包
分用的过程,类似接收快递时,从外到里拆包

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dhdhdhdhg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值