Python58_TCP-IP协议
计算机网络的层次
提到TCP-IP协议,就必须提到计算机网络的模型
虽然ISO(国际标准化组织)定义了计算机网络的7层体系结构(自上而下:应用层,表示层,会话层,传输层,网络层,数据链路层和物理层),但是由于一系列的原因,7层体系结构仅是理论上的标准,而TCP-IP的4层模型(自上而下:应用层,传输层,网络层以及链路层)却成为了事实上的标准。
当然,研究上为了方便一般将网络的层次分为5层,这里不多缀述
TCP-IP协议
定义:TCP-IP协议是一系列网络协议(即协议簇)的总和,它定义了电子设备如何接入互联网,以及数据如何在他们之间互相传输
作用:解决了互联网中数据怎么从一台主机传输到另外一台主机的问题
工作流程
1.在源主机上,应用层将一串应用数据流向下传输给传输层
2.传输层将应用数据截流成分组,并加上TCP报头形成TCP段,向下递交给网络层
3.在网络层给TCP段加上包括源主机,目的主机IP地址的IP报头,生成一个IP数据包,并将IP数据包向下递交给链路层
4.链路层在其MAC帧的数据部分装上IP数据包,再加上源主机,目的主机的MAC地址和帧头,并根据其目的的MAC地址,将MAC帧发往目的主机或IP路由器
5.在目的主机,链路层将MAC帧的帧头去掉,并将IP数据包向上递交给网络层
6.网络层检查IP报头,如果报头中校验和计算结果不一致,则丢弃该IP数据包,若校验和计算结果一致,则去掉IP报头,将TCP段向上递交给传输层
7.传输层检查顺序号,判断是否是正确的TCP分组,然后检查TCP报头数据,若正确,则向源主机发送确认信息,若不正确或丢包,则向源主机要求重发信息
8.在目的主机,传输层去掉TCP报头,将排好顺序的分组组成应用数据流送给应用程序,这样目的主机接收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样
TCP-IP协议工作流程图当然,在网络中传输的时候,会经过路由器、交换机等设备,此时数据的传输与上图相似,只是不会到达上面几层