发展史:
Internet网络的前身ARPANET,最开始使用网络控制协议(Network Control Protocol,NCP),后来发展成传输控制协议/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)。NCP仅能用于同构环境(相同的操作系统)中,TCP/IP可以使用在异构环境中。
TCP/IP协议组成:
TCP/IP分解:
1.应用层:
作用:从一个主机上的应用程序传输到另外一个主机上到应用程序到数据是字节流,无法被程序识别,因此应用层定义了各种协议来规范数据格式。定义数据格式并按照对应的格式解读数据。
协议:http(万维网),ftp(因特网),smtp(邮件传输应用),telnet(远程登录服务)
使用方式:请求Header中,分别定义了请求数据格式Accept和响应数据格式Content-Type
2.传输层:
作用:数据从一台主机发送到另外一台主机,是无法确定哪个应用程序要接收这个包。因此传输层使用协议来解决这个问题。定义每个应用程序的端口,标识应用程序身份,实现端口到端口的通信。
协议:UDP协议,TCP协议
区别:相比较UDP协议,TCP协议有确认机制,在传输前会建立三次对话的确认机制,保证传输到可靠性。UDP没有确认机制。
使用方式:加上端口信息
3.网络层:
作用:定义网络地址、区分网段、子网内MAC寻址、对于不同子网的数据包进行路由。
协议:IP协议,ARP协议,路由协议
详情:IP地址=网络地址+主机在局域网中的地址;ARP协议即地址解析,根据IP地址获取MAC地址的一个网络层协议;路由协议对于不同子网的数据包进行路由。
补充:
ARP协议工作原理如下:ARP首先会发起一个请求数据包,数据包的首部包含了目标主机的IP地址,然后这个数据包会在链路层进行再次包装,生成以太网数据包,最终由以太网广播给子网内的所有主机,每一台主机都会接收到这个数据包,并取出标头里的IP地址,然后和自己的IP地址进行比较,如果相同就返回自己的MAC地址,如果不同就丢弃该数据包。ARP接收返回消息,以此确定目标机的MAC地址;与此同时,ARP还会将返回的MAC地址与对应的IP地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。
路由协议:IP协议来判断两台主机是否在同一个子网中,如果在同一个子网,就通过ARP协议查询对应的MAC地址,然后以广播的形式向该子网内的主机发送数据包;如果不在同一个子网,以太网会将该数据包转发给本子网的网关进行路由。
4.数据链路层:
作用:对电信号进行分组并形成具有特定意义的数据帧,然后以广播的形式通过物理介质发送给接收方。
详情:接入网络的设备都必须安装网络适配器,即网卡,数据包必须是从一块网卡传送到另一块网卡。
参考文献