ISO/OSI(pen System Internetwork)
根据网络功能划分层次:
物理层:
二进制比特流传输
定义了:电气规范,机械规范,过程规范
数据链路层:介质访问,点到点的连接
1.格式化数据:
2.物理寻址:用物理地址标识数据的发送者和接受者
3.错误检测:CRC算法,
定义了物理地址:
以太网:以太网地址,MAC地址,MAC(Media Access Control)
48 bits --> 12 xdigits
windows: 00-00-00-00-00-00
linxu/unix:00:00:00:00:00:00
Cisco:0000.0000.0000
注意:物理地址是直接烧录在网络接口设备的ROM芯片中;
网络层:路由选择
1.逻辑寻址:用逻辑地址来标识数据的发送者和接收者;
2.确定路由:根据逻辑地址标识确定数据传输路径;
3.地址解析:用逻辑地址解析物理地址;
定义逻辑地址:
IP地址:互联网地址,IPv4、IPv6
Ipv4地址:
32 bits --> digit,地址表示形式:点分十进制;
IPv6地址:IPng, 128 bits --> 32 xdigits --> 冒号分十六进制;
注意:逻辑地址用于标识主机在网络中的位置;物理地址用于进行数据通信;
传输层:端到端的连接,范围到范围的通信连接;
端到端连接的建立,维护和拆除;
可靠性传输和非可靠性传输;
可靠性传输:
面向连接
流量控制
数据重传和确认
序列化数据
非可靠传输:
面向无连接
无序列化数据
无数据重传和确认
无流量控制
数据快速传输
会话层:建立主机到主机之间的会话通信
主机之间的会话建立的主体是应用程序进程;
表示层:数据表示
1.数据编码和解码
2.数据加密和解密
3.数据压缩和解压缩
应用层:
1.为应用程序提供网络服务;
2.完成身份验证;
OSI的应用:
数据的封装和解封装:
发送数据一方实施数据封装;
接收数据一方实施数据解封装;
保障封装和解封装能够顺利进行的标准:
对等通信原则:
发送方和接收方双方的相同层次,必须拥有完全相同的数据处理方式;
TCP/IP:
协议栈,协议标准;
TCP/IP协议栈是根据协议来分层,分层标准模糊;
网络的实际应用标准;网络实现的事实标准;
物理层:
X.25,TIA/EIA,568A/B..
数据链路层:
PPP,PPPOE,HDLC,SLIP,Frame_Relay(FR),
网络层:
IP,IGMP,ICMP,ARP,RARP
传输层
TCP,UDP,OSPF,EIGRP
应用层
HTTP,HTTPS,FTP,DNS,DHCP,SMB,QQ,Thrunder,...
互联网层
IP的功能:
1.寻址和路由
2.数据分片和重组
3.无连接不可靠传输(无序传输)
IP寻址:
分层编址的地址:网络部分 + 主机部分
网络部分:描述主机所在的逻辑网络范围;
主机部分:描述在特定的逻辑网络范围内的具体位置;
IPv4地址:
32bits二进制构成的地址标识符号;4个8位组;
为了方便人读取,将其设置为点分十进制格式;
A.B.C.D
A:0-255
B:0-255
C:0-255
D:0-255
IPv4地址分类:
A类:最左侧的一位二进制数字是“0”,8个网络位,24个主机位
00000000 - 01111111
0-127
0:
127:主机环回地址;
可用地址范围:
1.0.0.0-126.255.255.255
B类:最左侧的二位二进制数字是“10”,16个网络位,16个主机位
10000000 000000000 - 101111111 11111111
128.0-191.255
可用地址范围:
128.0.0.0 - 191.255.255.255
C类:最左侧的三位二进制数字是“110”,24个网络位,8个主机位
10000000 000000000 00000000 - 101111111 11111111 11111111
192.0.0.0 - 223.255.255.255
可用地址范围:
192.0.0.0 - 223.255.255.255
D类:最左侧的四位二进制数字是“1110”,32个网络位,0个主机位
组播地址,多播地址;
224.0.0.0 - 239.255.255.255
E类:最左侧的四位二进制数字是“1111”,32个网络位,0个主机位
科学研究;
240.0.0.0 - 255.255.255.255
私有IP地址:
A:10.0.0.0 - 10.255.255.255
B:172.16.0.0 - 172.31.255.255
C:192.168.0.0 - 196.168.255.255
公有IP地址:
A:1.0.0.0 - 9.255.255.255 + 11.0.0.0 - 126.255.255.255
B:128.0.0.0 - 192.15.255.255 + 192.32.0.0 - 191.255.255.255
C:192.0.0.0 - 192.167.255.255 + 192.169.0.0 - 223.255.255.255
NAT:Network address Translation,网络地址转换
SNAT:
将数据的源ip地址从私有IP地址换为公有IP地址
多用于让客户端连接到互联网;
DNAT:
将数据的目的IP地址从公有IP地址换为私有IP地址
多用于将服务器上的服务发布到互联网;
IP PDU 首部:
第一行:
1.Ver:4bits,IP协议的版本号:0110 0100
2.IHL:4bits,Header Length:首部长度;0101 - 1111(20Bytes-60Bytes)
3.TOS and PRIORITY:8bits 前四位表示服务类型
0000:最大带宽,最小延迟,最高可行性,最高负载;
0000 ,1000 ,0100,0010,0001
0:保留位;
000:优先级,000-111;
4.Packet Length:数据包长度 16 bits,IP协议可以封装的数据包的最大长 65535 Bytes;
第二行:
1.Indentifier:16bits ,标识来源于哪一个上层协议报文;
2.Flag:3bits,
0:数据是否可分片;
0:是否为最后分片;
0:保留
3.offset:偏移量 13 bits,被切分为数据分片之后的各分片的顺序编号;
第一个分片为0,第二个分片为第一个分片的大小除以8的结果
第三行:
1.TTL:8 bits,为了防止数据包被路由时,因为缺少目的地址而无线循环;
数据包在经过任意的路由设备时,其TTL会减1,一旦TTL减到0,接收到此数据包的设备会将其丢弃;
2.Protocol:8 bits,互联网层和传输层的通信接口,通过此处指明的协议号,互联网层可以再上层找到对应的协议来继续处理该数据;
TCP:6 00000110
UDP:17 00010001
OSPF:89
EIGRP:88
3.Header Checksum: 16 bits, 首部校验和,将整个首部做hash,得到4位16进制数字;通常会在接收方主机上,对于接收到的数据包再次进行hash运算,将得到的结果与此次保存的结果进行异或比较,以确定首部内容是否在传输过程中被修改;
第四行:
源IP地址;
第五行:
目的IP地址;
IP地址的使用:
源IP地址:
1.手动配置:
2.自动配置:DHCP,RARP
目的IP地址:
1.手动指定;
2.名称解析;
hosts文件
原文地址:http://blog.51cto.com/liujingyu/2062505