网络基础
什么是网络
- 网络:计算机网络是一组计算机或网络设备通过有形的线缆或无形的媒介如无线,连接起来,按照一定的 规则,进行通信的集合。
- 通信,是指人与人、人与物、物与物之间通过某种媒介和行为进行的信息传递与交流。
- 网络通信,是指终端设备之间通过计算机网络进行的通信。
重要部件
- 交换机:提供更多的接口,让多台主机可以相连
- 路由器:转发数据
网络按范围分
- 局域网:小范围网络(校园网、企业网);
- 城域网:城市范围网络;
- 广域网:全国、全球网络(internet)
网络相关的术语
- 拓扑:物理拓扑-----体现了设备之间的连接关系 逻辑拓扑----设备之间的通信关系
- 数据载荷:传递的实际信息
- 报文(PDU--协议数据单元)(头部加上层数据)
- 数据头部的作用:区分应用程序、找到数据的接收者
- 数据尾部的作用:确保数据是完整的
- mac地址:全球唯一编号(设备的身份证号)
- IP地址:设备目前所在位置,逻辑上的地址(家庭住址)
- 网关:转发不同网段的数据(离PC最近的三层交换机或者路由器)
网关一定要真实存在,且和主机在同一(广播域)网段。(不同网段之间想通信,需要借助网关来转发数据)
信息传递的模式
- 单播--- 一对一(与好友进行私聊)
- 组播---一对多(小队队长对小队成员发送信息)
- 广播---一对所有(世界频道由喇叭发送信息) 广播域:一台机器发送广播,能收到消息的机器,都是在同一广播域
osi七层与TCP\IP协议
层次划分的要求和方法
- 网络的每层应当具有相对独立的功能(便于排错),这个功能用不了,必然是你这层处理问题
- 梳理功能之间的关系,使上一个功能可以实现为另一个功能提供必要的服务,从而形成系统的层次结构,环环相扣(紧密联系)
- 为提高系统的工作效率,相同或相近的功能仅在一个层次中实现,而且尽可能在较高的层次中实现
- 每一层只为相邻的上一层提供服务
层次划分的优点
- 各层之间相互独立,每一层只实现一种相对独立的功能,使问题复杂程度降低,利于针对解决问题
- 灵活性好,各层内部的操作不会影响其他层
- 结构上可分割开,各层之间都可以采用最合适的技术来实现
- 易于实现和维护,因为整个系统已被分解成相对独立的子系统
- 能促进标准化工作,因为每一层的功能及其提供的服务都有了精确的说明 概括下来就是:复杂问题简单化、便于排查故障、便于统一管理
七层模型
七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
应用层:网络服务与最终用户的一个接口(用户操作)//人与计算机交互的一个接口(即应用软件,比如微信,qq,浏览器)
应用层协议
- http:超文本传输协议,默认使用tcp的80端口
- https:加密超文本传输协议,默认使用tcp的443端口
- ftp: 文件传输协议 默认使用tcp端口号 20(权限) 21(真实数据)
- tftp:简单文件传输协议(体量较小),默认使用udp的69端口
- DNS:将IP地址转换成域名,默认 使用tcp和udp的53端口 www.baidu.com (ip地址 dns udp tcp 程序 进程: 运行中的程序0-65535)
- DHCP: 动态获取ip地址,默认使用udp的67和68端口
表示层:数据的表示、安全、压缩(人的语言翻译成计算机语言)
会话层:建立、管理、中止会话(两个微信之间进行通信)
传输层:定义传输数据的协议端口号,以及流控和差错校验 (传输数据,通过端口号区分应用程序) //
- Tcp:可靠,接不到可以重新传,速度慢
- udp: 不可靠,接不到不会重新传输,速度快
系统中每打开一个程序,系统会自动分配一个端口号(0-65535)
端口号:来区分应用程序
网络层:进行逻辑地址寻址,实现不同网络间的路径选择(传给哪台主机,加入ip地址,分析数据走哪条路快)
IP协议
- ICMP协议:ping(排查网络故障) //网络有问题,首先ping自己(本机地址:127.0.0.1)
- IGMP:组播协议
- ARP:将IP地址转换成mac地址
- RARP:将mac地址转换成ip地址
数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能(通过mac地址,确认数据是否正确传给需要的机器,并校验数据是否完整)
物理层:建立、维护、断开物理连接(将数据转换成电流信号,将二进制数字组成的比特流转换成电信号)
数据传输是否可同时在两个方向上进行?
- 单工:只能发送或只能接收(例如 学校广播)
- 半双工:虽然能接受和发送,但不可同时进行,同时只能进行一种(例如 对讲机)
- 全双工:可同时接收发送(例如 电话)
数据的封装与接收
总结
七层模型
| 层次模型 | 作用 | 数据单元 | 主要设备 |
|---|---|---|---|
| 物理层 | 将二进制数字组成的比特流转换成电信号 | 比特流 | 网卡 |
| 数据链路层 | 通过mac地址,确认数据是否正确传给需要的机器,并校验数据是否完整 | 数据帧 | 交换机 |
| 网络层 | 传给哪台主机,加入IP地址,分析数据走哪条路快 | 数据包 | 路由器 |
| 传输层 | 传输数据,通过端口号区分应用程序 | 数据段 | |
| 会话层 | 建立、管理、中止会话 | message | |
| 表示层 | 人的语言翻译成计算机语言 | message | |
| 应用层 | 人与计算机交互的一个接口 | message |
应用层、表示层、会话层为高三层,是面向用户的;网络层、数据链路层、物理层为低三层,是面向硬件的。
TCP/IP协议族的组成
| 模型层 | 协议 |
|---|---|
| 物理层 | IEEE802.3有线局域网(以太网);IEEE802.11无线局域网标准 |
| 数据链路层 | Point-to-Point Protocol(点对点协议) |
| 网络层 | IP (ICMP、IGMP、ARP、RARP) |
| 传输层 | TCP、UDP |
| 应用层 | HTTP、FTP、TFTP、SMTP、SNMP、DNS |
理想的网络设计
- 核心层:高速转发数据
- 汇聚层: 管理核心交换机
- 接入层: 提供更多接口