网络原理笔记一

1、局域网(LAN)

局域网全称:Local Area Network;
局域网组建网络的方式有很多种,例如以下就是其中三种:
在这里插入图片描述

在这里插入图片描述

2、广域网(WAN)

广域网全称:Wide Area Network;
通过路由器将多个局域网连接起来,就形成了广域网,广域网内部的局域网都属于其子网。
在这里插入图片描述


3、网络通信基础

1、IP地址

IP地址用于定位主机的网络地址,就像发快递一样,IP地址就相当于收货地址;

IP地址的格式:
32位的二进制数,通常被分割为4个“8位二进制数”,也就是4个字节;
但是我们通常用“点分十进制”的方式来表示:例如:01100100 00000100 00000101 00000110我们通常用 100.4.5.6(都是0~255之间的十进制数)来表示
在这里插入图片描述

注意:当数据传输到主机后,需要主机中的那个进程来接收也是一个问题,此时就需要端口号来标识。


2、端口号

端口号定位主机的进程,就想发快递一样,不只需要收货地址(IP),还需要指定收货人(端口号)。
在网络通信中,进程可以绑定一个端口号来发送、接收网络数据;
注意:

1、两个不同的进程不能使用相同的端口号,但是一个进程可以使用多个端口号!

但是问题来了:网络数据全都是以二进制01传送,我们要怎么告诉对方发送的数据内容呢?看下面


3、认识协议

协议:即网络协议;网络协议是网络通信(即网络数据传输)经过的所有网络设备都必须共同遵从的一组约定、规则。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流,通常协议是有三个要素组成:
1、语法:即数据与控制信息的结构或格式;(类似于打电话时双方使用相同的语言)
2、语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;(类似于对话时双方都明白对方说话的意思,互相有回应)
3、时序:即事件实现顺序的详细说明;(例如通话时,由谁发起通话,由谁结束通话)

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

为什么需要协议?
计算机之间的传输媒介是光信号和电信号。通过 “频率” 和 “强弱” 来表示 0 和 1 这样的信息。要想传递各种不同的信息,就需要约定好双方的数据格式。
计算机生产厂商有很多;计算机操作系统,也有很多;计算机网络硬件设备,还是有很多;如何让这些不同厂商之间生产的计算机能够相互顺畅的通信? 就需要有人站出来,约定一个共同的标准,大家都来遵守,这就是 网络协议

4、协议分层

对于网络协议来说,往往分成几层进行定义
分层的作用:
1、降低了学习和维护成本(封装)
2、灵活针对这里的某一层协议进行替换


1、网络模型

目前有两种协议分层:1、OSI七层网络模型 (实际上是没有的) 2、TCP/IP五层(四层)网络模型(实际情况使用的)
在这里插入图片描述
因为OSI七层网络模型复杂且不适用,所以我们实际生活中并不适用七层网络模型;实际上都是以TCP/IP五层(四层)模型实现的。

在网络分层这里,下层协议为上层协议提供服务,上层协议要调用下层协议

1、物理层:网络通信中基础硬件设备是啥样的;例如通信时用的网线、网口,因此我们使用的网线、网口都是相同规格的
2、数据链路层:两个相邻接点之间的传输方式;(例如,我从北京到徐州,是坐高铁,还是坐火车,还是坐飞机,具体的交通方式就是有数据链路层决定的)
3、网络层:主要负责路径的规划;
在这里插入图片描述
此时我们选择哪条线路(1或2或3)就会有网络层决定的
4:传输层:我从徐州去深圳,并不关心我是乘什么交通工具去的,也不关心我是从哪里中转的,只要能到深圳就可以,我只关心起点和终点;这个过程就是传输层做的工作
5、应用层:应用程序,描述了传输数据,用户要如何使用类似于说明书,但是如何使用还是要看用户自己

以上五层协议各司其职;
问题:TCP/IP五层协议和四层协议有什么区别?
五层协议算上了物理层,四层协议没有算上物理层


2、网络数据传输的基本流程

例子:A在qq上给B发送hello;
1、发送方(A):用户在输入框输入hello,并按回车键
2、应用层:将hello这个字符串构造成下图的一个应用层数据报(本质上是一个遵守了约定格式的字符串)
在这里插入图片描述
接着程序会调用操作系统的api,把这个应用层数据交给传输层
3、传输层:(进入系统内核了)
在传输层中,会把上层应用层数据,构造成传输层数据报
传输层使用协议,最出名的就是UDP和TCP,此处使用的就是UDP,就需要构造出UDP数据报(如下图所示)(在应用层数据报的基础上加上了UDP报头)

UDP报头(相当于一个字符串)包含了两个重要信息:源端口和目的端口;

在这里插入图片描述
接着传输层就把这个UDP数据报嫁给了网络层
4、网络层:最知名的协议就是IP协议,IP协议就是要基于上述的UDP数据报,打包成一个IP数据报(如下图所示)
在这里插入图片描述

IP报头(相当于一个字符串)包含了两个非常重要的信息:源IP和目的IP;

5、数据链路层 最知名的协议是以太网协议,基于上述的IP数据报打包成一个以太网数据帧(如下图所示)
在这里插入图片描述

接下来,这个数据会继续往下传输,交给物理层
5、物理层:把上述的二进制数据(01010101010100000…)转换成电信号或者光信号然后发送,此时数据才算是真正意义上发送出去了


上述过程,从应用层到物理层,层层加码,这个过程称为“封装”

接收方(B)
1、物理层
网卡接收到的是电信号或者光信号,是在物理层,把这个光电信号转换为二进制数据;转换完的这个数据就是以太网数据帧
接着把该数据传输给数据链路层
2、数据链路层
接收到的数据是这样的(如下图所示)
在这里插入图片描述

数据链路层会去掉帧头帧尾,取出中间的载荷,然后将载荷(IP数据报)(如下图所示)交给上层的网络层
在这里插入图片描述

帧头里会记录这个载荷是不是IP数据报
3、网络层
传输过来的IP数据报在网络层中,IP协议会针对这个IP数据报进行解析,解析出IP报头,取出IP数据报的载荷,然后将传输层数据报(如下图所示)交给上层传输层
在这里插入图片描述

IP报头里会记录载荷是UDP还是TCP
4、应用层:qq程序
qq程序会针对应用协议进行解析,显示到应用界面上(如下图所示)
在这里插入图片描述


上述,从下到上层层解析,这个过程叫“分用”

封装:即“包装快递”
分用:即“拆快递”

1、上述传输过程中的一些协议都是固定的,这样才能让通信双方按照相同的方式来理解数据; 例如:发送方使用的qq协议,UDP协议,IP协议,以太网协议;那么接收方也一定是使用相同的协议; 2、整个的网络协议中,协议分成了很多层. 上层协议要调用下层协议(上层协议把数据交给下层,继续封装) .下层协议要给上层协议提供支持(下层协议解析好数据,交给上层). 3、这里的几层协议,都有明确的层级关系,只有相邻的两层之间才能相互交互(不能跨层交互);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值