TCP/IP不是一个协议,而是一个协议族的统称。里面包括IP协议、IMCP协议、TCP协议。跨越了多层模型的多层web
TCP/IP协议族按照层次由上到下,层层包装。最上面的是应用层,这里面有http,ftp,等等咱们熟悉的协议。而第二层则是传输层,著名的TCP和UDP协议就在这个层次。第三层是网络层,IP协议就在这里,它负责对数据加上IP地址和其余的数据以肯定传输的目标。第四层是数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输作准备。服务器
上图清楚地表示了TCP/IP协议中每一个层的做用,而TCP/IP协议通讯的过程其实就对应着数据入栈与出栈的过程。入栈的过程,数据发送方每层不断地封装首部与尾部,添加一些传输的信息,确保能传输到目的地。出栈的过程,数据接收方每层不断地拆除首部与尾部,获得最终传输的数据。网络
1.三、数据链路层tcp
物理层负责0、1比特流与物理设备电压高低、光的闪灭之间的互换。 数据链路层负责将0、1序列划分为数据帧从一个节点传输到临近的另外一个节点,这些节点是经过MAC来惟一标识的(MAC,物理地址,一个主机会有一个MAC地址)。编码
1.四、若是发生网络请求,如:get http://jd.com/auth/user/currentUser.如下叙述其过程url
一、DNS(53):blog
输入的是一个URL须要转化成IP地址。首先咱们知道咱们本地的机器上在配置网络时都会填写DNS,这样本机就会把这个url发给这个配置的DNS服务器,若是可以找到相应的url则返回其ip,不然该DNS将继续将该解析请求发送给上级DNS,整个DNS能够看作是一个树状结构,该请求将一直发送到根直到获得结果。ip
二、http(80)路由
主要职责是生成针对目标web服务器的http请求报文(请求行、请求头部)get
三、TCP
将http请求报文分割成报文段,按序号分为多个报文段。(三次握手四次挥手)
四、ICMP
辅助IP协议的协议
五、IP
搜索目标的地址,一边中转一边传送。(路由)
六、ARP
由于最终都要在数据链路层上进行传输,而数据链路层并不认识IP地址,因此ARP的职责就是把IP地址转换成数据链路层认识的MAC地址。
接下来到了数据链路层,把网络层交下来的IP数据报添加首部和尾部,封装为MAC帧,如今根据目的mac开始创建TCP链接,三次握手,接收端在收到物理层上交的比特流后,根据首尾的标记,识别帧的开始和结束,将中间的数据部分上交给网络层,而后层层向上传递到应用层;
经过数据链路层到达目标机器以后。
这实际上是ARP的逆过程,将MAC地址转换成Ip地址
将接收到的报文段按序号进行重组。
HTTP协议对http请求进行解析处理。