互联网协议
osi七层模型
OSI参考模型具有以下优点:
(1) 开放的标准化接口:通过规范各个层次之间的标准化接口,使各个厂商可以自由地 生产出网络产品,这种开放给网络产业的发展注人了活力.
(2) 多厂商兼容性:采用统一的标准的层次化模型后,各个设备生产厂商遵循标准进行产品的设计开发,有效地保证了产品间的兼容性。
(3) 易于理解、学习和更新协议标准:由于各层次之间相对独立,使得讨论、制定和学习协议标准变得比较容易,某一层次协议标准的改变也不会影响其他层次的协议。
(4) 实现模块化工程,降低了开发实现的复杂度:每个厂商都可以专注于某一个层次或某一 模块, 独立开发自己的产 品,这样的模块化开发降低 了单一产品或模块的复杂度,提髙了开发效率,降低f开发费用。
(5) 便于故障排除:一旦发生网络故障,可以比较容易地将故障定位于某一层次,进而快速找出故障根源。
OSI参考模型的诞生为淸晰地理解互连网络开发网络产品和网络设计等带来了极大的方便。但是OSI参考模型过于复杂,难以完全实现;OSI参考模型各层功能具有一定的重复性,效率较低;再加上OSI参考模型提出时,TCP/IP协议已逐渐占据主导地位,因此OSI参考模型并没有流行开来,也从来没有存在一种完全遵守OSI参考模型的协议族。
TCP/IP起源于20世纪60年代末美国政府资助的一个分组交换网络研究项目,到20世纪90年代已发展成为计算机之间最常用的网络协议,它是一个真正的开放系统,因为协议族的定义及其多种实现可以免费或花很少的钱获得。它已成为“全球互联网”或“因特网”的基础协议族.与OSI参考模型一样,TCP/IP也采用层次化结构,每一层负责不同的通信功能。但是
TCP/IP协议简化了层次设Th只分为4层
- 应用层
- 传输层
- 网络层
- 网络接口层
数据链路层
数据链路层负责在单个链路上的节点间传送以帧为pdu的数据,数据链路层的主要功能如下:
- 链路的接入控制
- 提供透明传输
- 流量控制
- 差错控制
以太网协议
以太网协议规定
- 必须要要有一块网卡,这块网卡要有一个唯一的标识,物理地址。
- 一组电信号,构成一组数据包,叫做 “帧”(数据包就是由一组01010二进制组成)
- 每一个数据帧,被分为报头“head”,数据“data”(请求头又可以叫做,请求报文)
head包含:(固定18个字节)
发送者/源地址,6个字节
接收者/目标地址,6个字节
数据类型,6个字节
data包含:(最短46字节,最长1500字节)
数据包的具体内容
head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送。
mac地址
网卡的唯一识别号,用于局域网通信。
以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网络设备位置的位址。在OSI模型中,第三层网络层负责IP地址,第二层数据链路层则负责MAC位址 。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址 。
head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址
mac地址:每块网卡出厂时都被烧制上一个世界唯一的mac地址,长度为48位2进制,通常由12位16进制数表示(前六位是厂商编号,后六位是流水线号)
广播
在原始的局域网的中,使用广播的方式进行通信,一个计算机发送的数据帧,局域网内的机器都能够接受到,不是发给自己的数据帧的时候就直接丢弃,是自己的数据帧就接收;这就是广播方式通信。然而计算机在通信的过程中,不止一个用户在发送数据,如果大家都在发送数据,除了接收人之外其它计算机都会收到没用的数据,然后丢弃,这样就造成了资源的浪费,严重还会造成网络瘫痪,这就是广播风暴。
网络层
网络层由来:有了ethernet、mac地址、广播的发送方式,世界上的计算机就可以彼此通信了,问题是世界范围的互联网是由一个个彼此隔离的小的局域网组成的,那么如果所有的通信都采用以太网的广播方式,那么一台机器发送的包全世界都会收到,这就不仅仅是效率低的问题了,这会是一种灾难。
网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向运输层提供最基本的端到端的数据传送服务。
IP:
连接到Internet上的设备必须有一个全球唯一的IP地址(IPAddress) 。IP地址与链路类型、设备硬件无关, 而是由管理员分配指定的, 因此也称为逻辑地址(Logical Address) 。每台主机可以拥有多个网络接口卡,也可以同时拥有多个IP地址。路由器也可以看做这种主机,但其每个IP接口必须处于不同的IP网络,即各个接口的IP地址分别处于不同的IP网段。
Internet上的每个节点既有IP地址, 也有物理地址(即常说的MAC地址) 。MAC地址是设备生产厂家固化在网卡上的,可以在全球范围唯一标识一个节点。既然如此,为什么还需要IP地址呢?MAC地址是固化在设备上的, 不便于修改, 因此实际组网中, 不能够方便地根据客户的需求定义网络设备地址;而IP地址是一种逻辑地址,可以按照客户的需求规
划和分配整网的地址,非常灵活。同时使用IP地址,设备更易于移动和维修。如果一个网卡坏了,可以被更换,而不需更换一个新的IP地址;如果一个IP节点从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。
IP地址的构成
是由4段,八位二进制数字构成,因为不方便记忆所以使用十进制的数字,每一段的范围是0-255,点分十进制。
IP 192.168.1.1
二进制格式
11000000.10101000.00000001.00000001
IP地址的分类
(1) A类IP地址的第一个八位段(octet) 以0开始。A类地址的网络号为第一个八位段,网络号取值范围为1126(127留作它用)。A类地址的主机号为后面的3个八位段,共24位。A类地址的范围为1.0.0.0126.255.255.255,每个A类网络有224个A类IP地址。
(2)B类IP地址的第一个八位段以10开始。B类地址的网络号为前两个八位段,网络号的第一个八位段取值为128191。B类地址的主机号为后面的两个八位段共16位。B类地址的范围为128.0.0.0191.255.255.255,每个B类网络有2个B类IP地址。
(3)C类IP地址的第一个八位段以110开始。C类地址的网络号为前3个八位段,网络号的第一个八位段取值为192223。C类地址的主机号为后面的一个八位段共8位。C类地址的范围为192.0.0.0223.255.255.255,每个C类网络有2=256个C类IP地址。
(4)D类地址第一个八位段以1110开头,因此D类地址的第一个八位段取值为224~239。D类地址通常为组播地址。
(5)E类地址第一个八位段以11110开头,保留用于研究。
子网掩码
子网掩码和ip可以计算出网段的概念,通常与IP地址配对出现,其功能是告知主机或者路由设备,IP地址的哪一部分是网络号部分,哪一部分是主机号部分。
(1)A类地址的默认掩码为255.0.0.0 ; 也可以表示成 /8 的方式。
(2)B类地址的默认掩码为255.255.0.0。
(3)C类地址的默认掩码为255.255.255.0。
IP 192.168.1.1/24
所表示的意思是,前面三段内容表示的是网络为,后面的内容表示的是主机位。
11000000.10101000.00000001.00000001
网络位:192.168.1
二进制:11000000.10101000.00000001
主机位:1
二进制:00000001
传输层
建立端口到端口的通信,端口的范围0-65535,0-1023为系统占用端口。
会话层
会话层主要三大功能:
1.建立会话:A、B两台网络设备之间要通信,要建立一条会话供他们使用,在建立会话的过程中也会有身份验证,权限鉴定等环节;
2.保持会话:通信会话建立后,通信双方开始传递数据,当数据传递完成后,OSI会话层不一定会立刻将两者这条通信会话断开,它会根据应用程序和应用层的设置对该会话进行维护,在会话维持期间两者可以随时使用这条会话传输局;
3.断开会话:当应用程序或应用层规定的超时时间到期后,OSI会话层才会释放这条会话。或者A、B重启、关机、手动执行断开连接的操作时,OSI会话层也会将A、B之间的会话断开。
应用层
应用层由来:用户使用的都是应用程序,均工作于应用层,互联网是开发的,大家都可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式
应用层功能:规定应用程序的数据格式。
例:TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。
表示层
表示层主要三大功能:
1.内码转换
2.压缩与解压缩
3.加密与解密。
ssl优化参数
server {
listen 443 ssl;
server_name blog.driverzeng.com;
root /var/www/wordpress;
index index.php;
# 指定证书的路径
ssl_certificate ssl/215089466160853.pem;
ssl_certificate_key ssl/215089466160853.key;
include ssl_params;
}
#在建立完ssl握手后如果断开连接,在session_timeout时间内再次连接,是不需要再次获取公钥建立握手的,可以使用之前的连接
ssl_session_cache shared:SSL:10m;
#ssl连接断开后的超时时间
ssl_session_timeout 1440m;
#配置加密套接协议
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#使用TLS版本协议
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#nginx决定使用哪些协议与浏览器通信
ssl_prefer_server_ciphers on;
[root@lb01 /etc/nginx]# vi ssl_params
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1440m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;