网络协议基础

Posted yu-931017

tags:

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

一、互联网协议:

英语是世界所有人通信的唯一标准,internet实际就是计算机之间一系列统一的标准。而这一些列标准就是互联网协议。互联网的本质就是一系列协议。

 

二、互联网协议按照功能不同细分为osi七层或tcp/ip五层,或tcp/ip四层,我们需要掌握五层的原理就够了。

     

 

五层协议对应的物理设备:

 

三、五层模型及对应协议:

  1. 物理层:

定义:计算机之间必须靠光纤等完成组网(即连接)

物理层功能:主要是通过物理层发送或接受高低电频(电信号)

 

  1. 数据链路层:

定义:单纯的电信号是没有意义的,必须对一串高低电频进行分组,每组代表  什么意思。

实现功能:定义了电信号的分组方式。

以太网协议:一个统一的分组标准。

一个数据报(帧)分为:head(固定长度18个字节)、data(最短46个字节、 最长1500个字节,data部分是数据的具体内容。)

head 18个字节中包含:源地址6个字节、目标地址6个字节、数据类型6                      字节.

mac地址:即网卡地址(独一无二),上面说的目标地址、源地址都是mac地址。

广播:有了mac地址,同一局域网中的计算机就能实现通信(有了数据链路层就   有了mac地址,就能实现局域网内通信)

有了以太网协议:就能在同一个局域网内以广播的方式进行通信。

 

  1. 网络层:(世界上所有计算机光靠mac地址通信,会造成广播风暴。。。)

定义:由于广播风暴,所以必须划分局域。

功能:引入一套新的地址来区分不同的广播域/子网

IP协议:规定网络地址的协议叫IP协议,它定义的地址称IP地址。

1.32位(4个字节)二进制,范围:0.0.0.0-255.255.255.255

一个IP地址通常携程四段十进制数,如:172.168.10.1

2.IP地址分为两部分:

网络部分:标识子网

主机部分:标识主机

注意一个单纯的IP地址段只是标识了IP地址的种类,无法确定所属的子网。

如:172.16.10.1172.16.10.2并不能确定二者处于同一子网。

3.子网掩码:它的网络部分全部为1,主机部分全部为0

知道子网掩码,我们就能判断任意两个IP地址是否处于同一个子网络,方法 是将两个IP地址与子网掩码分别进行AND运算(两个对应数位都为一,结果 1,否则为0),如果运算结果相同,就表明在同一个子网。

4.IP数据包:(分headdata

IP协议的作用:

  1. 为每一台计算分配一个IP地址。
  2. 确定哪些地址是在一个子网。

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

通信是基于mac地址的广播方式实现的,但是 计算机在发包时,获取自己的 mac地址是容易的,但是获取对方的mac就需要用到ARP协议。

 

通过IP地址和子网掩码区分自己所属的子网, 如果在相同子网,通过ARP协议返回目标计算机mac地址,如果不在相同子网,通过ARP协议返回目标网关mac地址。

 

4.传输层:网络层的IP协议的IP能帮我们区分子网,数据链路层的以太网协议mac地址能帮我们找到主机。但是需要定位传输层来定位主机上的应用程序。

端口即应用程序与网卡关联的编号。

传输层的功能:建立端口到端口的通信。

TCP协议:提供一种可靠的、确保数据不丢失不乱序的、端到端的传输。

TCP协议的三次握手与四次挥手

 

 

5.应用层

功能:固定应用程序的数据格式。

 

四、Socket

Socket是在应用层与传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象成几个简单的接口,封装在一个类中,共应用层调用实现进程在网络中的通信。

 

我们可以通过ip地址+TCP协议+端口号(端口号是应用程序与mac地址关联的编号)来唯一标识网络中的一个进程。

然后我们就能够利用socket进行通信了。

 

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

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

网络基础

网络基础之网络协议篇

网络基础之网络协议

网络基础之网络层

网络编程—网络基础概览socket,TCP/UDP协议