网络基础

网络安装覆盖方式的分类

  • 局域网 (LAN):作用范围一般为几米到几十公里
  • 城域网 (MAN):作用范围介于局域网和广域网之间
  • 广域网 (WAN):作用范围一般为几十到几千公里

局域网

局部区域网络(local area network),他是结构复杂程度最低的计算机网络。一般是仅仅在同一地点上经过网络连接在一起的一组计算机。
我们的路由器组成的网络就可以理解为一个局域网

广域网

广域网(wide area network),是连接不同地区局域网或者城域网计算机的远程网,可以跨接很大的物理范围。
就像那些跨洋的电话,xshell的远程连接什么的

网络协议

协议
协议指通信双方所约定的,使用同一种解析信息的手段来进行有效的沟通
在这里插入图片描述

网络协议
网络协议是指通信双方对数据交换和数据的传输做出的一种约定,也就是一个通信协议的标准。

计算机中有很多的网络协议,当这些协议汇总在一起的时候,就组成了一个协议簇

协议分层

参考模型
他定义了各种协议之间的一个关系,并且划分了每一种协议应该执行的任务

物数网传会表应

  • OSI参考模型:物理层,数据链路图,网络层,传输层,会话层,表示层,应用层
  • TCP/IP五层模型:物理层,数据链路层,网络层,传输层,应用层

TCP/IP五层模型

  • 应用层:负责应用程序之间的数据沟通
    比如:ssh协议,http协议

在这里插入图片描述

  • 传输层:负责端与端之间的数据传输,负责可靠的数据传输,以确保数据被可靠的传送到目标地址
    典型协议:TCP协议,UDP协议

在这里插入图片描述

  • 网络层:负责地址管理与路由选择
    典型协议:IP协议,ICMP协议
    设备:路由器
    在这里插入图片描述
  • 数据链路层:负责相邻设备之间的数据帧传输
    典型协议:以太网协议 (Ethernet)
    典型设备:交换机

在这里插入图片描述

  • 物理层:负责光电信号的传输
    典型协议:以太网协议
    典型设备:集线器

在这里插入图片描述

网络传输的封装与分用

不同的协议层对数据包有不同的称谓,在传输层叫做段,在网络层叫做数据报,在链路层叫做帧

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装

首部信息中包含了一些类似于首部有多长,载荷(payload)有多长, 上层协议是什么等信息.
数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,根据首部中的 “上层协议字段” 将数据交给对应的上层协议处理
在这里插入图片描述
用户在传输数据的时候
用户端:

  • 应用层:对数据进行包装
  • 传输层:在数据的首部加上协议,TCP协议
  • 网络层:加上网络地址IP协议
  • 数据链路层:在组合数据的头部加上以太头,尾部加上以太尾
  • 物理层:对数据进行拆分,变成二级制的数据流

再通过网卡设备发送到客户端
客户端:

  • 物理层:接收二进制的数据,并解密
  • 数据链路层:去掉以太头和以太尾
  • 网络层:去掉网络地址IP
  • 传输层:去掉协议的名称
  • 应用层:得到数据

ip地址

  • 作用

用来唯一标识一台主机,每一个主机的Ip地址都是独一无二的,相当于我们的身份证号一样。

ipv4

  • 本质

无符号的四个字节,uint32_t的值。他的最大范围是42亿多,所以说ipv4的地址可能有点不够用。

  • 格式

点分十进制表示方法,每一个点分割的最大数字为255,2的8次方-1

192.168.48.128

在网络通信过程中,每一条数据都需要具备五个信息,我们称之为5元组 = 源IP + 源端口 + 目的IP + 目的端口 + protocol

  • 源IP:标识数据的来源
  • 源端口
  • 目的IP:标识数据的需要到哪里
  • 目的端口

ipv6

ipv6 和 ipv4是两个不同版本的ip协议,但是ipv6并不向下兼容ipv4,因为两者ip协议的报头格式不一样

Ipv6 是16个字节的整数,表示的范围是2的128次方

port端口

端口是在一台主机当中标识一个进程

可以用命令查看nginx的信息,关于nginx的安装,可以参考https://www.runoob.com/linux/nginx-install-setup.html

在这里插入图片描述
本质:
uint16_t 端口的范围0~2^16 (0 ~ 65535)

  • 知名端口:0~1023
  • 注册端口(注册端口):从1024 到49151
    mysql -> 3306 ; oracle -> 1521
  • 动态和 / 或私有端口(动态和/或专用端口):从49152 到65535

端口的查看

  • netstat命令格式:
Netstat -a -e -n -o -s-an
  • a 表示显示所有活动的TCP连接以及计算机监听的TCP和UDP端口。

  • e 表示显示以太网发送和接收的字节数、数据包数等。

  • n 表示只以数字形式显示所有活动的TCP连接的地址和端口号。

  • o 表示显示活动的TCP连接并包括每个连接的进程ID(PID)。

  • s 表示按协议显示各种连接的统计信息,包括端口号。

  • an 查看所有开放的端口

客户端与服务端

  • 客户端:主动发起请求的一方
  • 服务端:被动的固定在同一个位置上接收请求的一方。防止客户端的数据发送到错误的端口,所以服务端选择固定在一个位置。

客户端与服务端的概念是相对的,而不是绝对的

为什么不使用PID作为请求主机当中查找进程的标志呢?

PID确实唯一标识一个进程,但是如果这个进程突然崩溃,下一次再重启的时候,PID并不是上一次的PID,就会出现客户端通过上一次PID找不到这个进程的情况,导致数据丢失

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值