1、ip地址:设备在网络中的地址,是唯一的标识。
IPv4:
IPv4正确的ip地址格式是x.x.x.x,IPv4的设计是32位(bit),分为4组,每组1个字节,用点号分隔。其中x的取值范围是0~255(十进制),那么是为什么呢?
因为1个字节(Byte)是8个二进制位(bit),是00000000~11111111之间的二进制值,转换为十进制是0~255。而我们使用的ip地址格式是采用十进制,则全部IPv4地址的范围为:0.0.0.0~255.255.255.255。
IPv6:
IPv6正确的ip地址格式是x:x:x:x:x:x:x:x,IPv6的设计是128位(bit),分为8组,每组2个字节,用冒号分隔。其中x的取值范围是0~FFFF(十六进制,字母不分大小写),那么是为什么呢?
因为2个字节(Byte)是16个二进制位(bit),是0000000000000000~1111111111111111之间的二进制值,转换为十六进制是0~FFFF。而我们使用的IPv6地址格式是采用十六进制,则全部IPv6地址的范围是0:0:0:0:0:0:0:0~ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff。其中字母不分大小写,当x为0时,可以省略不写,如:1234:2345:0:0:4567:8910:0:ffbc缩写为1234:2345:::4567:8910::ffbc。
ipv6跟ipv4的区别
1、地址(IP地址)的数量:IPv4协议具有32位(4字节)地址长度;IPv6协议具有128位(16字节)地址长度。
2、安全性:IPv6的安全性更高,用户可以在网络层认证与加密数据并对 IP 报文进行校验。
3、传输速度:IPv6的路由表更小,聚合能力更强,提升了网络数据转发的效率。
地址的表示方法:IPv4地址是以小数表示的二进制数。 IPv6地址是以十六进制表示的二进制数。即使IPv6的地址是IPv4地址的4倍。但报头只有它的2倍大。
4.包的大小:IPv4协议的数据包需要576个字节,碎片可选 。IPv6协议的数据包需要1280个字节,不会碎片。
总结
IPv6是IP地址的未来。但是,从IPv4过渡到IPv6的过程却是漫长而复杂的。如果您对使用IPv6地址感到好奇,建议将其用法与IPv4结合使用,因为大多数网站和应用程序仍仅支持IPv4地址。IPv4和IPv6使用的结合称为双重堆栈。
2、端口:应用程序在设备中唯一的标识。
端口号:
用两个字节表示的整数,取值范围为0~65535。其中0~1023之间的端口用于一些知名的网络服务或者应用,我们自己使用1024以上的端口号就行了。一个端口只能被一个应用程序使用。
3、协议:数据在网络中传输的规则,常见的协议有UDP协议和TCP协议。
UDP协议(用户数据报协议):
是面向无连接的通信协议,速度快,有大小限制,一次最多发送64k,数据不安全,易丢失数据。
用户数据报协议(User Datagram Protocol)。UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。
简单来说,当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收端在收到数据时,也不会向发送端反馈是否收到数据。
由于使用UDP协议消耗资源小,通信效率高,**所以通常都会用于音频、视频和普通数据的传输例如视频会议都使用UDP协议**,因为这种情况即使偶尔丢失一两个数据包,也不会对接收结果产生太大影响。
但是在使用UDP协议传送数据时,由于UDP的面向无连接性,不能保证数据的完整性,因此在传输重要数据时不建议使用UDP协议。
TCP协议(传输控制协议):
TCP协议是面向连接的通信协议,速度慢,没有大小限制,数据安全。
传输控制协议 (Transmission Control Protocol)。TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。
在TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求,每次连接的创建都需要经过三次握手,断开连接需要进行四次挥手。
三次握手:
第一次握手,客户端向服务器端发出连接请求,等待服务器确认。
第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求。
第三次握手,客户端再次向服务器端发送确认信息,确认连接。
“三次握手”的通俗理解
四次挥手
(1) TCP客户端发送一个FIN报文,用来关闭客户到服务器的数据传送。
(2) 服务器收到这个FIN报文,它发回一个ACK报文,确认序号为收到的序号加1。和SYN一样,一个FIN报文将占用一个序号。
(3) 服务器关闭客户端的连接,发送一个FIN给客户端。
(4) 客户端发回ACK报文确认,并将确认序号设置为收到序号加1。
“四次挥手”的通俗理解
UDP和TCP的区别
1.TCP 面向连接(如打电话要先拨号建立连接)提供可靠的服务,UDP 是无连接的,即发送数据之前不需要建立连接,UDP 尽最大努力交付,即不保证可靠交付。
2.UDP 具有较好的实时性,工作效率比 TCP 高,适用于对高速传输和实时性有较高的通信或广播通信。
3.每一条 TCP 连接只能是一对一的,UDP 支持一对一,一对多,多对一和多对多的交互通信。
4.UDP 分组首部开销小,TCP 首部开销 20 字节,UDP 的首部开销小,只有 8 个字节。
5.TCP 面向字节流,实际上是 TCP 把数据看成一连串无结构的字节流,UDP 是面向报文的一次交付一个完整的报文,报文不可分割,报文是 UDP 数据报处理的最小单位。
6.UDP 适合一次性传输较小数据的网络应用,如 DNS,SNMP 等。