在说TCP/IP四层协议之前,就不得不说OSI七层模型
OSI七层模型:自底向上依次是物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
TCP/IP体系结构的优点:
1.简化了计算机网络的结构,从原来的七层模型变成了现在的四层,但是功能却没有减少
2.每一层即独立又有联系,独立是因为如果那一层出现问题了不会影响其他层的工作,联系是因为上层协议又使用下层协议提供的服务。
由上也可以看到TCP/IP协议族是一个四层的协议系统,从下到上依次是数据链路层、网络层、传输层、应用层。每一层通过若干协议完成不同的功能,上层协议使用下层协议提供的服务。下来我就谈一下每一层的功能和常用协议。
1.数据链路层
(数据链路层/网络接口层) :包括操作系统中的设备驱动程序、计算机中对应的网络接口卡
设备:交换机,网线,网桥,集线器
ARP(地址解析协议):是通过解析IP地址得到MAC地址的。
ARP协议在TCP/IP模型中属于网络层,在OSI模型中属于数据链路层
RARP(反向地址解析协议):允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。局域网网关路由器中存有一个表以映射MAC和与其对应的 IP 地址。当设置一台新的机器时,其 RARP 客户机程序需要向路由器上的 RARP 服务器请求相应的 IP 地址。假设在路由表中已经设置了一个记录,RARP 服务器将会返回 IP 地址给机器。
2.网络层
IP:网际协议。IP协议提供不可靠、无连接的传送服务。IP协议的主要功能有:无连接数据报传输、数据报路由选择和差错控制。IP地址是重要概念
ICMP:Internet控制报文协议。用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
RIP:路由信息协议。是一种分布式的基于距离矢量的路由选择协议。
3.传输层
提供分割与重组数据,按端口号寻址,连接管理差错控制和流量控制,纠错的功能。传输层要向会话层提供通信服务的可靠性,避免报文的出错、丢失、延迟时间紊乱、重复、乱序等差错。
TCP: 一种面向连接的、可靠的、基于字节流的传输层通信协议。
UDP: 用户数据报协议,一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
TCP和UDP的区别:
TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接
TCP要求的系统资源较多,UDP较少
TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付
TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)
每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
TCP首部开销20字节;UDP的首部开销小,只有8个字节
TCP的逻辑通信信道是全双工的可靠信道;UDP则是不可靠信道
4.应用层 括号中为端口号
HTTP(80):超文本传输协议,基于TCP,是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。
HTTPS(443):安全文本传输协议:是基于HTTP开发的,HTTPS应用了安全套接字层(SSL)作为HTTP应用层的子层,可以对数据进行加密和压缩。
SMTP(25):简单邮件传输协议,是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
FTP(20,21):文件传输协议,用于Internet上的控制文件的双向传输。同时也是一个应用程序。
TFTP(是一个传输文件的简单协议,它基于UDP协议而实现,但是我们也不能确定有些TFTP协议是基于其它传输协议完成的。
Telnet(23):是Internet远程登陆服务的标准协议和主要方式。为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。
SSH(22):安全外壳协议,为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。
DNS(53):是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
,能够使人更方便地访问互联网。
互联网安全协议(Internet Protocol Security,IPSec)(500)是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议簇(一些相互关联的协议的集合)。