四层模型
应用层
应用层:最高的一层,直接面向用户,我们在电脑上用的各种各样的程序都是基于这一层。主要作用是处理传输层提交的信息,与用户交换,并把信息传到下一层发送。
传输层
传输层:主要作用是对数据包的分割、重组、链接管理、排序、重传等等,以及标记逻辑端口号。
常见协议:TCP、UDP
TCP:可靠,面向连 接,检验数据,超时重传,有序号,保证数据完整有序到达,但是协议复杂速度稍慢
UDP:不可靠,仅发送数据
端口:端口不是一个管道,而是一个标识。为了方便管理,当系统收到一个数据包,就会根据端口号,传递到监听此端口的程序,可以有在0--65535范围内的端口号。
网络层
网络层:主要作用是实现与远程设备的连接,是TCP/IP模型中最重要的一层,封装在IP头部。封装中的重要部分为IP地址,因 特网上的每台计算机和其它设备都规定了一个唯一的IP地址
查看IP地址与MAC地址:ifconfig
查看与远程设备所需要的的路由列表:traceroute
网络层的实现:网络层中层与中层之间互相独立,下层为上层提供服务,上层完成数据处理后交给下层,数据传到上一层则会丢弃前一层的信息,俗称“砍头处理”。
链路层
链路层:主要功能在两个网络实体之间提供数据链路连接,最常见的是以太网和IEEE 802封装,在封装中有一个重要的部分就是MAC地址(网卡地址),网卡出厂的时候厂商会把唯一的地址烧录在网卡上面(理论唯一)。
套接字
TCP协议:即流套接字,用于提供面向连接、可靠的数据传输服务(用户只能发送接收应用层数据)
UDP协议:即数据包套接字,提供了一种无连接的服务。该服务并不能保证数据传输的可靠性。
原始套接字:允许对低层次的协议直接访问,可以读写内核没有处理的数据包,可以发送接收从应用层到链路层所有的数据(只能在root下)