一般来说,网上的购物.都是基于应用层的Http协议.那么在这一层协议书我们包装了什么呢,请看下图
一、应用层
Http头
http1.1、POST、URL、正文格式(content-type)、长度(content-length) |
请求参数:购买的产品信息、数量 |
应用层的协议除了http外,还有https(内容在网络中的传输是加密形式的,更为安全。一般支付都用https)
经过应用层的封装后,浏览器会将应用层的包交给下一层去处理,通过socket编程来实现。
二、传输层
传输层有两个协议,一个是无连接的UDP协议,另一种面向连接的TCP协议.TCP能保证请求能最终到达目标服务器,如果不能到达,就会重新发送。
老师经常讲的三次握手就是基于TCP协议 1.A→B请求 2.B←A响应 3.A→B建立连接
传输层封装了源目标及目标的端口号(程序在系统中都分配有唯一的端口号),这样就能确定执行此请求的目标程序
三、网络层
也是IP层,主要包装源地址和目标服务器地址
四、链路层
每台主机只要开机并联网(WiFi、网线)成功,系统都会根据DHCP协议会为电脑分配一个局域网的ip(如192.168.1.110)和独立的MAC地址.
这一层主要包装了源ip的MAC地址和目标ip的MAC地址
根据ARP协议便可得知(一般都是192.168.1.1)路由器(也是网关)的MAC地址,接着再包装网关的MAC地址.网卡再把包发出去.由于包里有网关的MAC地址,所以很快就能找到网关。而每个路由器都有自己的路由表.他会先查询是否在局网内,如果在局域网内的话就内部消耗.如果是外部地址的话,那就需要网关发送出去
举个例子:
每个国家都是一个局域网,而MAC相当于每个人的身份证
在国内探亲的话,我们可以随意到达
如果我们要出国探亲的话就得先经过海关.相当于网关
在网络中每两个网关之间连着一个国家
而国家与国家之间的通信,就要经过层层网关了
这里的网关也就是我们的路由器,路由器会通过路由表查询目标MAC.如果没有就分配一个就近的网关MAC
直到最后一个网关通过路由表查询到MAC地址,这时候就大吼一声谁是这个地址的,然后目标MAC回应后就可以跟目的地址发起连接通信了
总结:
下图是每个层的各种协议,我们可以按需整合包装
转载于:https://my.oschina.net/u/2283248/blog/1816140
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)