目录
1.TCP/IP历史简介
图 1 TCP/IP发展关键点
20世纪60年代,美国多家机构,包括美国国防部开始研究分组交换技术,目的是为了解决中心网络出现故障,导致整个网络都受影响的问题。
1969年,ARPAnet网络诞生,用于研究分组交换技术。
1975年,TCP/IP诞生,TCP/IP协议中核心协议被开发出来,并通过实际网络环境验证。
1983年,TCP/IP协议规范诞生,UNIX操作系统也支持TCP/IP协议。
1990年,TCP/IP迅速扩大,各种网络都开始倾向使用TCP/IP。
1995年,TCP/IP开始商用,互联网也开始越来越完善。
2.TCP/IP分层网络模型
图 2 TCP/IP分层模型
- 网络接口层
网络接口层对应物理层和数据链路层,网络接口层实现数据数据从一段发送到另一端,网络接口层实现不同网络(Ethernet,PPP,HDLC,FDDI)都能运行TCP/IP协议,不同网络能进行互联。
- 网际层
网际层对应网络层,网际层可以实现不同IP地址通信,主要通过路由功能对IP数据包进行转发,最终将分组转发到目的地,网际层的协议主要有:IP,ICMP,ARP协议等。
- 传输层
传输层主要包括TCP和UDP协议,但不是说只有TCP和UDP协议,TCP和UDP实现主机之间应用程序的通信。 TCP为面向连接协议,保证数据不丢失。 UDP为面向无连接协议,保证数据高效传输。
- 应用层
应用层协议概念非常广泛,基于TCP和UDP协议的应用层协议非常多,应用层通常采用C/S模型(客户端和服务端)进行通信,常见的应用层协议有:FTP,SSH,DNS,SMTP等等。
3.TCP/IP数据传输
图 3 TCP/IP数据传输流程
3.1 数据包封装
应用层处理完数据后,向下传递给传输层,如果选择TCP协议作为传输层协议,在数据前面加上TCP报文头,形成TCP数据段,如果选择UDP协议,则加上UDP报文头,形成UDP数据报,传输层处理完数据后向下传递给网络层,网络层加上IP报文头,形成IP数据包,网络层处理完数据后线下传递给数据链路层,数据链路层加上以太网头部,形成以太网数据帧。数据帧传递给物理层,物理层将数据帧以高低电平形式从网络设备发送出去。
3.2 数据包解封
网络设备接收高低电平数据后,形成数据帧传递给数据链路层,数据链路层去除以太网报文头后,向上传递给网络层,网络层去除IP报文头后,向上传递给传输层,传输层去除TCP或UDP报文头后,向上传递给应用层,应用程序成功收到数据。
4.TCP/IP分层模型的优点?
4.1 业务隔离
每一层网络只需要关注自生业务,把自生业务处理好,就能保证整个网络不会出现问题,通过减少网络层级的耦合,降低了业务开发成本也增强了网络的稳定性。
4.2 扩展灵活
每一层网络都可以实现不同的网络协议,业务可以选择符合的网络协议来传输数据,不同的网络能够实现兼容,非常利于业务的扩展和推广。
4.3 排错容易
网络出现异常后,只需一层一层分析,就能把问题准确定位和排查,排错流程可以标准化,出现问题后,可以根据标准化流程排错,减少维护成本。