网络传输的参考模型有两种,一种是OSI(Open System InetConnection)参考模型,其有七层,另一种是TCP/IP参考模型,被减压成四层。OSI模型在当下以基本被TCP/IP模型所取代,因其造价太昂贵,没多少公司用得起。如下图所示:
数据在传输的过程中是以包的形式一包一包传的,故数据包是一个信息单位,作为一个整体,从网络中的一个设备传送给另一个设备。数据包创建于应用层,然后经过下面六层的一层层包装,以增加自己的信息(信头),最后通过网线或光纤发给对方的物理层,然后又再向上一次一次的拆包。
应用层(http,https,ftp,smtp,pop,TELENT,DNS)
- http:超文本传输协议,使用浏览器查询web服务器之间传输的协议
- ftp:文件传输协议,实现网上与主机之间文件交换的协议
- smtp:简单邮件传输协议,定义了邮件如何在邮件服务器之间传输的协议
- pop:邮件协议,定义了将用户从邮件服务器下载到本地服务器的协议
- Telent:远程登陆协议,远程使用网 上其他计算机使用的协议,以获取其他计算机上运行或存储的信息
- DNS:域名系统,实现域名到IP地址之间的转换
传输层(TCP/UDP,都属于网络通信协议)
- UDP(
①将数据以及数据源封装成数据包,不需要建立连接
②每个数据包的大小限制在64K中
③因为是无连接,是不可靠协议,容易丢失数据包
④不需要建立连接,所以速度快
)
- TCP(
①建立连接,形成传输数据的通道
②在连接中进行大数据的传输
③通过三次握手完成连接,四次挥手断开连接是可靠协议
④必须面向连接,所以效率会低
)
网络层(ip,ARP,RARP,ICMP)
- IP:因特网上的每台计算机和其它设备都规定了一种地址,叫做“IP 地址”。
- ARP:地址转换协议,完成IP地址到物理地址的转化
- RARP:反向地址转换协议,完成物理地址到IP地址的转换
- ICMP:控制报文协议,发送消息,并且报告数据包的传送错误
ipv4是第一个被广泛应用的ip,IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。ipv4的地址长度规定为32位,分为四段,每段8位且以点隔开,并以十进制形式表示,故每段的数值范围为0~255,即最小的为0.0.0.0,最大为255.255.255.255。由于ipv4位数使得其地址资源已被分配完,故产生了ipv6。ipv6的长度是ipv4的四倍,以十六进制形式表示,其被分为8段,每段以冒号隔开。如ABCD:EF01:2345:6789:ABCD:EF01:2345:6789。Ubuntu下输入指令ifconfig -a|grep "inet.*\ "查询,如下图所示:
什么是端口号?
这里说的端口号指的是逻辑端口,逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。ip地址用于区分不同的主机,而端口号是用于区分一个主机下的不同网络服务。
什么是MAC地址?
MAC(Media Access Control或者Medium Access Control)地址意译为媒体访问控制,或称为物理地址、硬件地址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC地址。每个主机都有一个属于自己唯一的MAC地址,其由网卡决定,在出厂时就已被设定好,故其是固定不可变的。MAC地址共48位,由16进制的数字组成,分为前24位和后24位,共分位6段,每段以冒号隔开,下图是我Linux下查询得到的MAC地址。