1.网络分层:osi体系结构
重点:网络层,传输层。
口诀:物数网传会表应。
可是osi体系过于理想,不过其为原型依旧通用:
TCP/IP协议 是Internet事实上的工业标准
2.TCP/IP 4层模型
1)网络接口与物理层
也叫做网络访问层
功能:包括ip地址与物理地址的映射(MAC),以及将上一层的ip报文封装层帧,转换成二进制比特流传输
MAC:物理地址,48bit全球唯一,网络设备的身份标识(cmd ---> ipconfig/all),由厂商出厂后确定。
切换网络后,ip地址改变,MAC地址不变
ARP/RARP 地址解析协议/逆向地址解析协议:
ARP(Address Resolution Protocol):通过ip地址获取其对应的mac地址。
RARP(Reverse Address Resolution Protocol):通过mac地址获取其对应的ip地址。
2)网络层
负责在主机之间的通讯中选择数据包传输的路径,即选择路由。
i. IP协议(Internet Protocol)
ip协议根据数据包的目的ip地址来决定如何投递数据包。
如果数据包不能直接投递给目标主机,那么ip协议就为他寻找下一个合适的下一跳路由器。
路由器工作是依据哪一层:网络层
IP地址
IP地址是因特网中主机的标识,每个数据包都必须携带目的IP地址和源IP地址,路由器依靠此信息为数据包选择路由。
1. IP地址的分类
- IPv4:采用4个字节的无符号整数存储,32bit。[0, 2^32-1] == >42.9亿多个
- 局域网:为了解决IP地址不够用的问题,让多台主机使用一个IP地址。
- LAN:local area network 局域网
- WAN:wide area network 广域网
- 局域网:为了解决IP地址不够用的问题,让多台主机使用一个IP地址。
- IPv6:采用16个字节的无符号整数存储,128bit, IPv4不兼容IPv6。
2. IP地址划分
IP地址的二级划分:将32位IP地址分为两部分,为了寻径更加有效。
IP = 网络号 + 主机号
网络号:确定计算机从属的网络,
主机号:标识设备在该网络中的主机编号。
ABC类为基本类,可以分配给主机使用。
D类不表示网络,用于组播,多播组
E类保留或实验室使用。
3. 点分十进制
为了方便记忆,使用点分十进制。
将32位IP地址的二进制数,以8bit为一组,用十进制表示,利用点分割。
A类地址 | 0.0.0.0~127.255.255.255 | 2^7(网络号) | 2^24(主机号) | 大型网络 |
B类地址 | 128.0.0.0~191.255.255.255 | 2^14 | 2^16 | 名地址网管中心 |
C类地址 | 192.0.0.0~223.255.255.255 | 2^21 | 2^8 | 校园网或企业网、家庭网 |
D类地址 | 224.0.0.0~239.255.255.255 | 组播地址 | ||
E类地址 | 240.0.0.0~255.255.255.255 | 保留 |
特殊的IP地址:不能分配给主机使用,掐头去尾
- 网络地址:有效网络号 + 全是0的主机号, 代表该网络
- 192.168.8.234 ---》 192.168.8.0
- 广播地址:有效网络号 + 全是1的主机号,向该IP地址发送数据,代表向该网络下的所有主机发送。
- 192.168.8.234 ---》 192.168.8.255
4. 子网掩码(重点!)
由于二级IP地址主机的基数还是比较大,所以引入了另外一个概念,子网掩码。
子网掩码可以将二级IP地址划分成三级IP地址。
IP = 网络号 + 子网号 + 主机号
子网号比二级划分更加灵活,用户可以自行设置,可以选择划分,也可以选择不划分。
子网掩码:用来划分IP地址中,哪一部分是网络号,哪一部分是子网号,哪一部分是主机号的。
1)子网掩码的格式
- 与IP地址一样长的32位整数,由一串连续的1,后面跟着一串连续的0组成。
- 默认子网掩码中,1的个数与IP地址中网络号的个数一致。0的个数与IP地址中主机号的个数一致。
5.域名系统
由于使用IP地址来指定计算机不方便人们记忆,且输入时候容易出错,用字符标识网络种计算机名称方法。
这种命名方法就像每个人的名字,这就是域名(Domian Name)
域名服务器(Domain Name server):用来处理IP地址和域名之间的转换。
域名系统(Domain Name System,DNS):域名翻译成IP地址的软件
一个域名,可以绑定多个ip
域名结构
例如域名 www.baidu.com.cn 从右向左看
cn为高级域名,也叫一级域名,它通常分配给主干节点,取值为国家名,cn代表中国
com为网络名,属于二级域名,它通常表示组织或部门
中国互联网二级域名共40个,edu表示教育部门,com表示商业部门,gov表示政府,军队mil等等
baidu为机构名,在此为三级域名,表示百度
www:万维网world wide web,也叫环球信息网,是一种特殊的信息结构框架。
6.网关
网关是一个网络通向其他网络的IP地址
目前家用路由器一般使用192.168.1.1和192.168.0.1作为LAN接口的地址,这个两个也是最常用的网关地址。
ii. ICMP协议(Internet Control Management Protocol)
英特网控制管理协议,ping检测网络就是用这个协议
用于在IP主机、路由器之间传递控制消息
iii. IGMP协议(Internet Group Management Protocol)
英特网分组管理协议,组播,广播。
3)传输层
负责提供应用程序之间通讯服务,这种服务又称之为端到端。
传输层与网络层不同,传输层只关心通讯的 起始端 和 目的端,并不在乎数据包的传输中转过程。
TCP:
(transmit contort Protocol 传输控制协议):提供面向连接的,一对一的可靠数据传输协议。
UDP:
(user datagram Protocol 用户数据报协议):提供无连接的,不可靠的尽力的传输协议,但是效率更高
4)应用层
负责处理应用程序的逻辑
i. HTTP/HTTPS
超文本传输协议,万维网数据通信的基础
http:明文发送, https加密传输
ii. 邮件协议
收:POP3(post office protocol)邮局协议第三个版本
从服务器接收右键,接收完后服务器就没有这个邮件了;
发:SMTP(简单邮件传输协议)
IMAP:
交互式邮件存储协议,与POP3类似的邮件访问标准协议之一。
收取邮件后,服务器上邮件依然存在,如果删除、标记服务器也会做相应操作。
iii. FTP(FILE Transfer Protocol)
文件传输协议,是用于在网络上进行文件传输的一套标准协议,使用TCP传输
iv. TFTP
简单文件传输协议,适用于在网络上进行文件传输的一套标准协议,使用UDP传输
v.DNS:域名解析
Telnet/ssh :远程登录
5) 网络封包与拆包
MTU :
Maximum Transmit Unit 最大传输单元
物理接口(数据链路层)提供给上层(网络层(IP层))最大一次传输数据的大小。
规定了数据链路层所能传送最大数据长度
以太网为例,缺省MTU=1500字节,这是以太网接口对IP层的约束
如果IP层
如果IP层>1500字节需要发送,需要分片才能发送(分片:帧)
限制数据包大小的协议是什么协议:MTU MSS
MSS:
Maximum Segment Size 最大报文长度
TCP提交给IP层最大分段大小,指TCP报文所允许传送数据部分最大长度。
不包含TCP头,MSS式TCP来限制应用层最大发送字节数。
如果MTU=1500,则MSS = 1500-20(IP header)-20(TCP header) =1460字节
如果应用有2000字节要发,需要2 Segment
第一个TCP Segment = 1460 第二个TCP Segment = 540
应用有2000字节要发,需要2 Segment
第一个TCP Segment = 1460 第二个TCP Segment = 540
3.TCP和UDP的异同点(重点!!!)
共同点:同属于传输层协议。
TCP --- 稳定
- 提供面向连接的,可靠的数据传输服务;
- 传输过程中,数据无误,数据无丢失,数据无失序,数据无重复到达。
- TCP会给每个数据包编上编号,该编号称之为序列号
- 每个序列号都需要应答包应答,如果没有应答,则会将上面的包,重复发送直到正确为止。
- 传输效率低,耗费资源多。
- 数据的收发是不同步的.
- 为了提高效率,TCP会将多个比较小,且发送间隔短的数据包,沾成一个包发送,该现象称之为粘包现象。
- 该粘包算法称之为Nagle算法。
TCP的适用场景:对传输质量比较高的,以及传输大量数据的通信。在需要可靠通信的传输场合,一般使用TCP协议。
例如:账户登录,大型文件下载的时候
UDP --- 快速
- 无连接的,不保证数据可靠的,尽力的传输协议。
- 数据有可能在传输过程中丢失,或者出现数据重复,数据失序等情况。
- 传输效率高,实时性高。
- 限制每次传输的数据大小,多出部分直接忽略删除。
- 收发是同步的。不会粘包。
UDP的适用场景:发送小尺寸的,在接收到数据给出应答比较困难的环境下。
例如:广播,通讯软件的音视频。