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