网络协议基础
什么是网络协议及为何要有网络协议
网络协议为计算机网络中进行数据交换而建立的规则、标准或约定的集合。为什么要有网络协议呢,为了有效的进行数据交换。如果没有网络协议,计算机之间各自对自己的电信号进行规定,同一段电信号不同计算机就有不同的解读,甚至没办法解读。这样,计算机之间就没有办法沟通。所以,需要网络协议要规定一致的解读方法,来保证交流的通畅。
TCP/IP五层模型:物理层、数据链路层、网络层、传输层、应用层。
用户上网流程:
1.本机插上网线,获取IP地址192.168.255.1子网掩码: 255.255.255.0默认网关: 192.168.16.254 DNS: 211.98.71.195
2.打开浏览器输入域名www.163.com
3. dns协议(基于udp协议解析为IP地址) 解析为IP地址
4. HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。
5.TCP协议
TCP数据包需要设置端口,接收方(Google)的HTTP端口默认是80,发送方(本机)的端口是一个随机生成的1024-65535之间的整数,假定为51775。
TCP数据包的标头长度为20字节,加上嵌入HTTP的数据包,总长度变为4980字节。
6. IP协议
然后,TCP数据包再嵌入IP数据包。IP数据包需要设置双方的IP地址,这是已知的,发送方是192.168.255.1(本机),接收方是122.70.142.182(ww.163.com)。
IP数据包的标头长度为20字节,加上嵌入的TCP数据包,总长度变为5000字节。
7.以太网协议
最后,IP数据包嵌入以太网数据包。以太网数据包需要设置双方的MAC地址,发送方为本机的网卡MAC地址,接收方为网关192.168.1.1的MAC地址(通过ARP协议得到)。
以太网数据包的数据部分,最大长度为1500字节,而现在的IP数据包长度为5000字节。因此,IP数据包必须分割成四个包。因为每个包都有自己的IP标头(20字节),所以四个包的IP数据包的长度分别为1500、1500、1500、560。
8.服务器端响应
经过多个网关的转发,163的服务器122.70.142.182,收到了这四个以太网数据包。
根据IP标头的序号,163.com将四个包拼起来,取出完整的TCP数据包,然后读出里面的”HTTP请求”,接着做出”HTTP响应”,再用TCP协议发回来。
本机收到HTTP响应以后,就可以将网页显示出来,完成一次网络通信。