一 网络模型
OSI七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
网络设备:集线器(数据转发)、交换机(数据转发)、路由器(网络层)、主机(应用层)
注:交换机和路由器指传统设备,现在网络发展较快,有3、4层交换机,4层路由器了
TCP/IP五层模型(四层模型没有物理层),从下到上:
层 | 代表硬件 | 协议/技术 | 特性 |
---|---|---|---|
物理层 | 硬件双绞线,WiFi电磁波,集线器 | 发送0,1光电信号 | |
数据链路层 | 交换机 | 以太网、令牌环网、无线LAN、ARP | |
网络层 | 路由器 | IP | |
传输层 | TCP/UDP | (主机系统内核实现) | |
应用层 | HTTP、DNS、NAT、NATP、FTP、SMTP | (应用程序实现) |
- 对于一台主机,操作系统内核实现了从传输层到物理层
- 对于一台路由器,实现从网络层到物理层
- 对于一台交换机,实现从数据链路层到物理层
- 对于集线器,只实现物理层
1、集线器:只转发数据报,广播发送到其他所有主机(以太网帧首部的硬件地址填FF:FF:FF:FF:FF:FF表示广播)
2、交换机:
- 只转发数据报,根据数据包中的目的MAC发送
- MAC地址表:建立MAC地址和端口映射(端口连接所有主机)
3、路由器:
- WAN提供公网IP的端口,连接公网上的网络设备
- LAN提供私网IP的端口,相连局域网的设备
- IP地址:WAN口使用公网IP,LAN使用私网IP
- MAC地址
- 具有应用程序,可以处理NAT、NAPT协议,所以可修改路由器所在网络层上的传输层数据报头(修改端口号)
4、主机:
- 发送数据报(网址)程序发送数据报时,知道五元组信息(协议号 + 源IP/MAC + 目的IP/MAC)
(1)DNS协议:域名转换为IP
a.本机缓存中查找
b.本机找不到,往上一级设备/DNS服务器查看,最终在全球顶级域名服务器中查询,如果还没有,就是没有该域名
(2)系统封装分用物理层到传输层的数据报头
5、ARP缓存表:主机和路由器
-
IP地址和
6、IP地址和MAC地址区别
- IP地址描述的是路途总体的起点和终点
- MAC地址 描述的是路途上每一个区间的起点和终点
7、网络设备进行数据传输,硬件通过MAC地址来发送数据包
二 数据包封装
(具体可类比分发快递操作:封装类似发送快递包裹,需要从内向外打包;分用类似拆快递,需要从外向内拆包)
封装:每层协议都要加上一个数据首部(header)
端口号在传输层封装
IP地址在网络层封装
MAC地址在数据链路层封装
三 五元组
- IP:定位网络中某一台主机,在网络层包装IP地址。本机IP默 认为127.0.0.1
- 端口号:绑定主机中某一个应用程序,应用程序都是通过在传输层包装端口号发送/接收数据
- 五元组:源IP+ 源端口号+目的IP+ 目的端口号+ 协议号
- IP+ 端口号:可以定义到网络上具体的某个应用程序
- 发送数据:五元组
- 接收端响应数据:目的IP+ 目的端口号 = 发送数据包中的源IP + 源端口
MAC地址
- MAC地址用来识别数据链路层中相连的节点
- 长度28位6个字节,一般用16进制加上冒号形式表示(08:00:27:03:19)
- 在网卡出厂时确定,不能修改,MAC地址通常是唯一的(虚拟机中的MAC地址不是真实地址,可能会冲突,也有些网卡支持用户配置MAC地址)