网络基础之网络协议

Posted

tags:

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

网络基础之网络协议

一.网络通信原理

  1.互联网的本质就是一系列网络协议

  计算机数据是由高低压信号构成的,多个计算机想要联系起来,就必须要统一这个信号的规范,让大

  家都能够读懂这些信号的意义,于是乎就产生了各种网络协议。

  2.互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 技术分享

     3.tcp/ip五层模型讲解

     我们将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞

     清楚了每层的主要协议就理解了整个互联网通信的原理。

     (1)物理层;电器发送高低电压。

     (2)链路层;以太网协议。规定一组信号组成叫“帧”的数据包。

每一数据帧包含包头head和数据data两部分

head包含:(固定18个字节)

 

     发送者/源地址,6个字节

 

     接收者/目标地址,6个字节

 

     数据类型,6个字节

 

data包含:(最短46字节,最长1500字节)

      

     数据包的具体内容;head长度+data长度=最短64字节,最长1518字节,超过最大限制就分片发送

 

     以太网协议规定,每个连入互联网的设备都要有一个网卡,而每个网卡都要有一个独一无二的mac地     

     址,以用于计算机之间的通信。以太网协议采用广播的形式传输。

 

     (3)网络层

      

为了信息能够准确的传送,引入一套新的地址来区分不同的广播子网,就是网络地址

 

  ip协议:

 

     规定网络地址协议为ip协议,它的地址称为ip地址,由32位二进制表示,通常写成十进制的形式,范围

      

     是0.0.0.0-225.225.225.225

 

ip之地分为两部分

 

     网络部分:标识子网

      

     主机部分:标识主机

 

  子网掩码:

 

     所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数

 

     字,它的网络部分全部为1,主机部分全部为0,有了子网掩码,就能够判断任意两个ip地址是否处于

 

     同一个子网。

 

  ip数据包

 

     ip数据包也分为head和data部分,无须为ip包定义单独的栏位,直接放入以太网包的data部分

 

     head:长度为20到60字节

 

     data:最长为65,515字节。

 

  而以太网数据包的”数据”部分,最长只有1500字节。因此,如果IP数据包超过了1500字节,它就需要分割

 

  成几个以太网数据包,分开发送了。

 

  arp协议

 

     arp协议功能:广播的方式发送数据包,获取目标主机的mac地址

 

     (4)传输层

 

  tcp协议:

 

     可靠传输,TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据

 

     包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。

 

  udp协议:

 

     不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包。

 

     (5)应用层

 

     TCP协议可以为各种各样的程序传递数据,比如Email、WWW、FTP等等。那么,必须有不同协议规

 

     定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。 技术分享

 

     (6)socket

 

     socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应

 

     用层调用已实现进程在网络中通信。

 

 

二.网络通信实现

 

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

 

     本机的IP地址

 

     子网掩码

 

     网关的IP地址

 

     DNS的IP地址

  获取这四要素分两种方式

      

     1.静态获取

 

     即手动配置

 

     2.动态获取

 

     通过dhcp获取

 

 

三.网络通信流程

 

  1.本机获取;获取本机的ip地址、子网掩码、网关ip地址、DNS的ip地址。

 

  2.打开浏览器,访问域名

 

  3.dns协议

 

  4.HTTP部分的内容

 

  5.TCP协议

 

  6.ip协议

 

  7.以太网协议

 

最后,IP数据包嵌入以太网数据包。以太网数据包需要设置双方的MAC地址,发送方为本机的网卡MAC地

 

址,接收方网关的MAC地址(通过ARP协议得到)。

 

经过多个网关的转发,目标服务器收到http请求再做出http响应,通过tcp协议发送回来。

 

本机收到HTTP响应以后,就可以将网页显示出来

 

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

网络基础之网络层

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

网络基础之网络协议

网络基础之网络协议

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

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