1.计算机网络背景
1.1 网络发展
- 独立模式:计算机之间相互独立
- 网络互联:多台计算机连接在一起,完成数据共享;
- 局域网LAN:计算机数量更多了,通过交换机和路由器连接在一起
- 广域网WAN:将远隔千里的计算机都连在一起;
所谓“局域网”和“广域网”只是一个相对的概念。
1.2 认识协议
协议就是一种约定。
计算机之间的传输媒介是光信号和电信号;通过“频率”和“强弱”来表示0和1这样的信息。要想传递各种不同的信息,就需要约定好双方的数据格式。
2.网络协议初始
2.1 协议分层
分层最大的好处在于“封装”,面向对象的例子
2.2 OSI七层模型
- OSI(开放系统互连)七层网络模型称为开放式系统互联参考模型,是一个逻辑上的定义和规范;
- OSI七层协议是一种框架性的设计方法,其主要的功能就是帮助不同类型的主机实现数据传输。
- 它的最大优点是将服务、接口和协议这三个概念明确的区分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。
- 应用层:针对特定应用的协议;
- 表示层:设备固有数据格式和网络标准数据格式的转换;
- 会话层:通信管理。负责建立和断开通信连接(数据流动的逻辑通路),管理传输层以下的分层;
- 传输层:管理两个节点之间的数据传输,负责可靠传输(确保数据被可靠地传送到目标地址);
- 网络层:地址管理与路由选择;
- 数据链路层:互连设备之间传送和识别数据帧;
- 物理层:以“0”、“1”代表电压的高低、灯光的闪灭,界定连接器和网络的规格。
2.3 TCP/IP五层(或四层)模型
TCP/IP通讯协议采用了5层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。
- 物理层:负责光、电信号的传递方式;物理层的能力决定了最大传输速率、传输距离、抗干扰性等。wifi无线网的电磁波,集线器(Hub)工作在物理层;
- 数据链路层:负责两台设备(同一数据链路节点)之间数据帧的传送和识别;有以太网、令牌环网,无线LAN等标准;交换机工作在数据链路层
- 网络层:在复杂的网络环境中确定一个合适的路径,负责地址管理和路由选择;IP,路由器工作在网络层,协议有(IP),技术(路由表)、代表硬件:路由器
- 传输层:负责两台主机之间的数据传输,使数据能够从发送端传输到接收端;操作系统内部的传输,从封装的函数中传输,TCP/UDP协议操作系统管理的程序;
- 应用层:满足日常需要的网络程序;负责应用程序间沟通,网络编程主要针对应用层;
总结:各层协议都有什么在其上工作
- 应用层:程序的协议(NAT/DNS/HTTPS/HTTP/SMTP)
- 传输层:协议(TCP/UDP)
- 网络层:协议(IP)、技术(路由表)、代表硬件(路由器)
- 数据链路层:协议(ARP/RARP)、技术(以太网、令牌环网、LAN)、代表硬件(交换机、switch)
- 物理层:双绞线、WiFi电磁波;代表硬件:集线器(Hub)
物理层考虑的比价少,如果说TCP/IP四层协议,则是没有物理层的。
ARP(Address Resolution Protocol,地址解析协议):IP和MAC映射,主机和路由器中,地址映射表,根据IP查找物理地址
NAT(Network Address Translation,网络地址转换) :私有IP和公网IP的映射,路由器中
DNS:域名和IP的映射,主机、路由器、DNS服务器
MAC地址表:MAC地址和端口映射,交换机
路由表:到某个IP的路径算法,路径上的MAC信息,路由器
NATP(了解):建立路由器端口和源IP+源端口映射
交换机:工作在局域网内部,把局域网内部计算机进行连接,并且进行计算机内部的信息,如IP,网卡信息;
路由器:内网的IP地址进行管理,信息的IP地址管理,对接到公网,外口,把数据传输到公网;
以太网:计算机局域网技术,基于数据包交换的。
令牌环网:以环形网络拓扑结构为基础发展起来的局域网
传统划分:
- 对于一台主机,它的操作系统内核实现了从传输层到物理层的内容;
- 对于一台路由器,它实现了从网络层到物理层;
- 对于一台交换机,它实现了从数据链路层到物理层。
- 对于集线器,它实现了物理层。
3.网络中的地址管理
3.1 认识IP地址
- IP协议有两个版本IPV4和IPV6,通常说的也就是IPV4
- IP地址:意思是“网络之间互联的协议”,也就是为计算机网络相互连接进行通信而设计的协议;
- IP地址是在IP协议中,用来标识网络中不同主机的地址;
- 对于IPv4来说,IP地址是一个4字节,32位的整数;
- IP地址工作在网络层
3.2 认识MAC地址
- MAC地址用来识别数据链路层中相连的节点;它是用来确认网上设备位置的地址;
- MAC地址工作在数据链路层
- MAC地址硬件出厂时即固化在硬盘里,不可随意更改;IP地址人为指定,符合网络要求的情况下可以随意更改。