网络基础之网络协议

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络基础之网络协议相关的知识,希望对你有一定的参考价值。

 

一、什么是互联网协议及为何要有互联网协议

1,计算机与计算机之间为了交换数据和信息,而制定的一系列的标准,称之为互联网协议。

2,因为协议是用来描述进程之间信息交换数据时的规则术语。在计算机网络中,两个相互通信的实体处在不同的地理位置,其上的两个进程相互通信,需要通过交换信息来协调它们的动作和达到同步,而信息的交换必须按照预先共同约定好的过程进行。所以必须要有网络协议.

二,OSI五层模型

 

技术分享

想实现网络通信,每台主机需具备四要素

  • 本机的IP地址
  • 子网掩码
  • 网关的IP地址
  • DNS的IP地址

 

 三,用户上网流程

1,计算机获取IP地址,子网掩码,网关以及DNS

2,打开浏览器,输入网址,例如:www.sohu.com

3,DNS协议,每一个域名都对应一个惟一的IP地址,在Internet上域名与IP地址之间是一一对应的,DNS就是进行域名解析的服务器

4,HTTP协议

5,TCP协议,TCP数据包需要设置端口,接收方(Google)的HTTP端口默认是80,发送方(本机)的端口是一个随机生成的1024-65535之间的整数

6,IP协议,然后,TCP数据包再嵌入IP数据包(IP数据包需要设置双方的IP地址)

7,以太网协议,最后,IP数据包嵌入以太网数据包。以太网数据包需要设置双方的MAC地址,发送方为本机的网卡MAC地址,接收方为网关的MAC地址(通过ARP协议得到)。

8,服务器端响应,

经过多个网关的转发,sohu的服务器,收到了这四个以太网数据包。

根据IP标头的序号,sohu将四个包拼起来,取出完整的TCP数据包,然后读出里面的”HTTP请求”,接着做出”HTTP响应”,再用TCP协议发回来。

本机收到HTTP响应以后,就可以将网页显示出来,完成一次网络通信。

 

 

 

以上是关于网络基础之网络协议的主要内容,如果未能解决你的问题,请参考以下文章

网络基础之网络层

网络编程基础:网络基础之网络协议socket模块

网络基础之网络协议

网络基础之网络协议

网络编程之快速理解网络通信协议(上篇)

网络编程之快速理解网络通信协议(下篇)