互联网的本质就是一系列的网络协议。连接两台计算机之间的internet实际上就是一系列统一的标准,这些标准称之为互联网协议。

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

每层运行常见物理设备

  

  三层交换机:既有路由功能,又有交换机功能。

  集线器目前很少在用了。

  不同设备连接,网线用直通线(T568A或者T568B)。

OSI七层协议数据传输的封包与解包过程 

1.物理层:完成组网,发送高低电压(电信号),高电压对应数字1,低电压对应数字0;

 

2.数据链路层:定义了电信号的分组方式。

  以太网协议(ethernet):

    一组电信号构成一个数据包,叫做‘帧’

    每一数据帧分成:报头head和数据data两部分

  mac地址:ethernet规定接入internet的设备都必须具备网卡,发送端和接收端的地址便是指网卡的地址,即mac地址。

  广播:有了mac地址,同一网络内的两台主机就可以通信了(一台主机通过arp协议获取另外一台主机的mac地址)

     ethernet采用最原始的方式,广播的方式进行通信,即计算机通信基本靠吼。

3.网络层:引入一套新的地址用来区分不同的广播域/子网,这套地址即网络地址。

  

  ip协议:规定网络地址的协议。它定义的地址称之为ip地址。

      广泛采用的v4版本即ipv4。

      规定网络地址由32位2进制表示,范围0.0.0.0-255.255.255.255

      通常写成四段十进制数,例:172.16.10.1。

      无法辨识一个ip所处的子网。

      作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。

  子网掩码:就是表示子网络特征的一个参数。形式上与IP地址一样。

  

    将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),

         然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。

      比如,已知IP地址172.16.10.1和172.16.10.2的子网掩码都是255.255.255.0,请问它们是否在同一个子网络?两者与子网掩码分别进行AND运算,

      172.16.10.1:10101100.00010000.00001010.000000001

      255255.255.255.0:11111111.11111111.11111111.00000000

      AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0

 

      172.16.10.2:10101100.00010000.00001010.000000010

      255255.255.255.0:11111111.11111111.11111111.00000000

      AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0

      结果都是172.16.10.0,因此它们在同一个子网络。

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

4.传输层:建立端口到端口的通信,端口范围0-65535,0-1023为系统占用端口。

  tcp协议:可靠传输,可以为各种各样的程序传递数据,比如Email、WWW、FTP等等;

      如果发送端在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失将会被进行重传。TCP用一个校验和函数来检验数据是否有错误;在发送和接收时都要计算校验和。

  udp协议:不可靠传输;

5.应用层:规定应用程序的数据格式。不同协议规定电子邮件、网页、FTP数据的格式,这些应用程序协议就构成了”应用层”。

6.socket(套接字):是应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信。

          一种"打开—读/写—关闭"模式的实现

  

小结:

 

posted on 2021-06-24 11:28  傲世逍遥  阅读(247)  评论(0编辑  收藏  举报