网络基础知识

网络模型

网络通信最初的设计模型为OSI 7层通信模型,所谓网络模型就是科学家对应如何实现网络通信的一种设计和设想。一个科学领域的某些技
术往往都是先建立问题模型,然后再做实现。

OSI模型

TCP/IP模型

IP地址

IP 也就是IP地址协议,它的作用就是标记网络中每台计算机的身份。网络中的每个计算机都有唯一的一个地址。

IP地址表示

● IPv4
它是由一个4字节32位的整数表示,为了方便记忆,使用点分10进制表示D.D.D.D,每8位使用一个0-255表示,用 . 分隔。 平时见到的 如192.128.1.12 这种就是 IPv4地址表示。

由于 表示容量的 问题 ,IPv4 早已不够使用,它的下一个版本IPv6 拥有更大的表示范围。

● IPv6

它是由一个16字节128位的整数表示,表示的范围更大,也就意味着IP地址越多,夸张到 沙漠中每一粒沙子都可以分配到一个IP,它使用8段16进制表示,每段0-65535。X.X.X.X.X.X.X.X 。

IP地址分类

端口

端口,计算机上通信程序的唯一标识,计算机中存在多网络软件,如何区分开不同的软件,就需要使用端口。不同的应用只通过固定端口收发数据。
端口的范围 0-6553

常见默认端口
MySQL-> 3306
Tomcat->8080
HTTP->80
SSH->22
FTP->21

TCP/UDP

TCP 特点
(1)TCP是面向连接的运输层协议。应用程序在使用TCP协议之前,必须先建立TCP连接,在传送数据完毕后,必须释放已经建立的TCP连接。
(2)每一条TCP连接只能有两个端点,即点对点的。
(3)TCP提供可靠交付的服务。通过TCP连接传送的数据,无差错、不丢失、不重复、并且按序到达。
(4)TCP提供全双工通信。TCP允许通信双方的应用进程在任何时候都能发送数据。
(5)面向字节流。TCP中的“流”指的是流入到进程或从进程流出的字节序列。面向字节流的含义是:虽然应用程序和TCP的交互是一次一个数据块(大小不等),但是TCP把应用程序交下来的数据仅仅看成是一连串的无结构的字节流。


UDP 特点

(1)UDP是无连接的,即发送数据之前不需要建立连接(当然,发送数据结束时也没有连接可以释放),因此减少了开销和发送数据之前的时延。
(2)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的连接状态表(这里面有很多参数)。
(3)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付IP层。UDP对应用层交下来的报文,既不合并,也不拆分,而是保留这些报文的边界。这就是说,应用层交给UDP多长 的报文,UDP就照样发送,即一次发送一个报文。
(4)UDP没有拥塞控制,因此网络出现的拥塞不会使源主机的发送速率降低。但是不使用拥塞控制功能的UDP有可能会引起网络产生严重的拥塞问题。
(5)UDP支持一对一、一对多、多对一和多对多的交互通信。
(6)UDP的首部开销小,只有8个字节,比TCP的20个字节的首部还要短。
UDP也用在路由信息协议RIP(Routing Information Protocol)中修改路由表。在这些应用场合下,如果有一个消息丢失,在几秒之后另一个新的消息就会替换它。UDP广泛用在多媒体应用中。

TCP三次握手四次挥手

TCP三次握手四次挥手(juejin)

三次握手

四次挥手