OSI七层模型
1.互联网协议
网络建立的目的是为了数据交互
如何实现通信:
1.建立好底层的物理连接介质
2.有一套统一的通信标准,称之为互联网协议
互联网协议就是计算机界的英语
互联网协议按照功能不同分为OSI七层或tcp/ip五层或tcp/ip四层
2.各层介绍
2.1物理层
物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0
2.2数据链路层
数据链路层的由来:单纯的电信号0和1没有任何意义,必须规定电信号多少位一组,每组什么意思
数据链路层的功能:定义了电信号的分组方式
以太网协议:
早期的时候各个公司都有自己的分组方式,后来形成了统一的标准,即以太网协议ethernet
2.3网络层
网络层的由来:有了ethernet、mac地址、广播的发送方式,世界上的计算机就可以彼此通信了,问题是世界范围的互联网是由一个个彼此隔离的小的局域网组成的,那么如果所有的通信都采用以太网的广播方式,那么一台机器发送的包全世界都会收到,这就不仅仅是效率低的问题了,这会是一种灾难。
网络层功能:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址
2.4传输层
传输层的由来:网络层的ip帮我们区分子网,以太网层的mac帮我们找到主机,然后大家都是应用程序,你的电脑上可能同时开启qq,暴风影音,等多个应用程序。
那么我们通过ip和mac找到了一台特定的主机,如何标识这台主机上的应用程序呢,答案就是端口,端口即应用程序与网卡关联的编号
传输层功能:建立端口到端口之间的通信
端口范围0-65535,0-1023为系统占用端口
2.5应用层
应用层的由来:用户使用的都是应用程序,均工作于应用层。互联网是开放的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式
应用层功能:规定应用程序的数据格式
其实应用层再细分可以分为三层:
会话层:建立、管理和维护会话
表示层:数据格式转换、数据加密
应用层:为应用程序提供服务
3.各层里比较重要的协议,以及一些重要的知识点
以太网协议:在数据链路层
以太网协议规定:一组电信号构成一个数据包,叫“帧”,每一数据帧分成:报头head和data两部分
head包含(固定18字节):
发送者/源地址,6个字节
接受者/目标地址,6个字节
数据类型,6个字节
mac地址:上面的地址指的都是mac地址。每块网卡出厂时都被烧制世界唯一的mac地址
IP协议:网络层
IP协议:
规定网络地址的协议叫IP协议,它定义的地址称之为ip地址,目前广泛采用的是v4版本即ipv4,它规定网络地址由32位2进制表示。其范围为0.0.0.0-255.255.255.255。一个ip地址通常写成四段十进制数,例如:172.16.10.1
ip地址分成两部分:
网络部分,标识子网
主机部分,标识主机
子网掩码:所谓的子网掩码,就是表示子网络特征的一个参数,它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0.比如,IP地址172.16.10.1,如果已知网络部分是前24位,主机部分是后8位,那么子网掩码就是111111 111111 111111 000000,写成十进制就是255.255.255.0
ip数据包
ip数据包也分为head和data部分,无须为ip包定义单独的栏位,直接放入以太网包的data部分
head:长度为20到60字节
data:最长为65515字节
而以太网数据包的数据部分,最长只有1500字节,因此,如果IP数据包超过了1500字节,它需要分割成几个以太网数据包,分开发送了
ARP协议:网络层
ARP协议的功能:将IP地址映射为以太网址,广播的方式发送数据包=,获取目标主机的mac地址。
协议工作方式:每台主机ip都是已知的
例如:主机172.16.10.10/24访问172.16.10.11/24
TCP协议:传输层
TCP协议:可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割
UDP协议:传输层
UDP协议:不可靠传输,报头部分一共只有8个字节,总长度不超过65535字节,正好放进一个IP数据包
HTTP协议:应用层
FTP协议:应用层