目录
网络发展
独立模式: 计算机之间相互独立
网络互联: 多台计算机连接在一起, 完成数据共享
局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起
广域网WAN: 将远隔千里的计算机都连在一起
所谓 "局域网" 和 "广域网" 只是一个相对的概念.
协议
基础概念
通信范畴:
- 丢包 —传输层—操作系统
- 定位问题—网络层—操作系统
- 解决下一跳主机的问题—数据链路层—驱动
- 物理层—硬件
应用范畴:
如何处理数据—应用层——(lib,shell,应用软件
网络协议层状结构
场景复杂
功能解耦便于人们进行维护
局域网通信过程
每一层都会在上一层当作整体基础上添加新报头
报文报头
- 每一层不同协议都会添加一个报头,然后在解包的时候一层一层去掉报头
- 快递单就相当于协议报头,整体快递就相当于报文,我们自己进行解包得到文件
- 不同身份区分能否识别该协议
- 协议报头就是收到的本身物品多出来的东西
封装本质:添加报头
解包本质 :去掉报头
OSI模型
OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;
TCP/IP五层(或四层)模型
TCP/IP是一组协议的代名词,它还包括许多协议,组成了TCP/IP协议簇.
TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求
通信范畴:
- 丢包 —传输层—操作系统
- 定位问题—网络层—操作系统
- 解决下一跳主机的问题—数据链路层—驱动
- 物理层—硬件
物理层我们考虑的比较少. 因此很多时候也可以称为 TCP/IP四层模型.
一般而言对于一台主机, 它的操作系统内核实现了从传输层到物理层的内容 ;对于一台路由器 , 它实现了从网络层到物理层 ;对于一台交换机 , 它实现了从数据链路层到物理层 ;对于集线器 , 它只实现了物理层 ;但是并不绝对 . 很多交换机也实现了网络层的转发 ; 很多路由器也实现了部分传输层的内容 ( 比如端口转发 );
网络传输基本流程
网络传输流程图
数据包封装和分用
- 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报 (datagram),在链路层叫做帧(frame).
- 应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation).
- 首部信息中包含了一些类似于首部有多长, 载荷(payload)有多长, 上层协议是什么等信息.
- 数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部, 根据首部中的 "上层协议字段" 将数据交给对应的上层协议处理
下图为数据封装的过程
下图为数据分用的过程
网络中的地址管理
认识
IP
地址
IP
协议有两个版本
, IPv4
和
IPv6.
我们整个的课程
,
凡是提到
IP
协议
,
没有特殊说明的
,
默认都是指
IPv4
IP
地址是在
IP
协议中
,
用来标识网络中不同主机的地址
;
对于
IPv4
来说
, IP
地址是一个
4
字节
, 32
位的整数
;
我们通常也使用
"
点分十进制
"
的字符串表示
IP
地址
,
例如
192.168.0.1 ; 用点分割的每一个数字表示一个字节
,
范围是
0 - 255;
认识
MAC
地址
MAC
地址用来识别数据链路层中相连的节点
;
长度为
48
位
,
及
6
个字节
.
一般用
16
进制数字加上冒号的形式来表示
(
例如
: 08:00:27:03:fb:19)
在网卡出厂时就确定了
,
不能修改
. mac
地址通常是唯一的
(
虚拟机中的
mac
地址不是真实的
mac
地址
, 可能会冲突
;
也有些网卡支持用户配置
mac
地址
).