网络基础知识

一、网络

(一)、原始网络

用线把各个主机连在一起,像个蜘蛛网一样。人们通过这些电线吵架撕逼,但是线太多,网络变大后,密密麻麻的,主机端口也不够用了,吵架的时候,还容易迷路,这咋办?
在这里插入图片描述

(二)、局域网

相当于一个快递机构,把线路变少了,主机用户直接撕逼的时候,有帮忙把信息通过正确路径发送。此时就组成了一个局域网。只有这个局域网类的主机才能互相撕逼…
在这里插入图片描述

(三)广域网

我打字健步如飞,祖安10年,双亲尚在。区区一个局域网类的用户,都被干下阵来,再也无法满足我触碰键盘的双手,那咋办?再买一台其他局域网的主机?显然不用,把局域网变大变大,可以认为有N多台主机的网路,比较大的局域网,就成为广域网。
在这里插入图片描述

二、网络通信

这些主机通过网络连接起来后,要怎么具体的撕逼呢?我用中文和一讲英文的人撕逼的前提是,要么我们之间有一个人会两种语言,要么中间有一个翻译器,同样的我这台主机定义0/1是“你好”的意思,到另一台主机哪里0/1被翻译成“滚蛋”,这种情况咋办?

(一)、协议

说白了就是一个局域网或者广域网中的所有主机规定了一个通用的“语言”,本质上讲就是约定,发出来的数据是啥样的格式,接收方又按照对应的格式翻译。在这协议中不仅要另一台主机知道这个格式数据讲了啥,还要路由器知道这个协议要发送给那一台主机上。

(二)协议分层:OSI七层网络模型:

把一个大协议分成写小协议,不同专业的人只关注自己那一层协议,如:我是个程序员就关注应用层协议是啥样的
(注):真实情况下常使用OSI的简化版本,TCP/IP五层(四层)网络模型

  • 物理层:网络通信中的硬件设备,以0/1表示光电信号,规定要使用这片网的主 机和路由器之间的接口、网卡、数据线、网线是什么规制的,口径要多大等。
  • 数据链路层:负责完成相连的两个设备之间的通信,规定互联设备之间传送和识别数据帧。
  • 网络层:负责点到点之间的连线,任意节点到任意节点之间的通信,规划好A主机要怎么走,要经过多少台路由器或其他主机才能到达B主机。
  • 传输层:负责端到端之间的传输,只关注结果,A主机上的那个应用软件要在B主机上的那个“应用软件”才能使用。
  • 应用层:主机A传到主机B的数据是干啥用到。
    在这里插入图片描述

三、IP地址和端口号

主机之间连成网络了,协议也搞好了。没有地址,还是和别人不能撕逼,回到刚开始问题,我的主机是A,别人的主机也叫A,怎么区分是从哪到哪的地址呢?
也就是在网路层中,必须给每个主机一个唯一的表示地址,才能进行点到点之间的连线。

(一)IP地址:

描述网络上一个之间位置,在ipv4协议中是32位的整数,为了人类好识别采用点分十进制的表示方法,如:127.139.12.255
(注:IPv4协议地址是不够用的,怎么解决这个不够用的问题,下回再说)

(二)端口号:

描述主机上某个应用程序的位置,本质上是两个字节的无符号整数。
如:3306,就是mysql默认的端口号
范围:0~~65535
(注:这丫的也不够用,咋办?下次再说)

四、封装

把这些一整个大协议给分开了,那还是要合并起来,人家才看得懂呀,那怎么合并起来呢?就是层层封装。

(一)应用层:

程序猿自己实现了软件,写了些代码,然后通过调用操作系统提供的API(socket API),把应用层数据打包交给传输层(进入操作系统内核)。
在这里插入图片描述

(二)、传输层

传输层根据传过来的数据,基于当前的传输层协议(UDP /TCP),来构造一个传输层协议报文。在这里插入图片描述

  • TCP/UDP数据报有源端口号和目的端口号,从而知道主机应用到那个主机应用的传输。

(三)、网络层

网络层得到传输层的的数据报,再根据当前使用的网络层协议(IP),再次封装,把TCP数据报构造成一个IP数据报。

在这里插入图片描述

  • IP数据报中有源IP和目的IP,以此来知道从那个主机到那个主机的传输。

(四)数据链路层

在IP数据报的基础上,根据当前使用的数据链路层协议(以太网),再次封装,构造出一个数据链路层的数据报:“以太网数据帧”
在这里插入图片描述

  • 帧头和帧尾是接下来一个相邻节点的地址(网络传输路线中的中转站)。

总结:从上往下,数据从上层协议不断的交给下层协议,由下层协议进行封装,构造出层层协议报文。

(五)、分用

封装的逆过程,逐层解析,主机A把数据封装成一个大报文,交个路由器或者主机B,那主机B就要层层解析,最终看见应用层数据。

在这里插入图片描述

至此:你可以愉快的在网上撕逼啦

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值