网络编程-网络概述

经典协议

    应用层:常见的协议有HTTP协议、FTP协议

    传输层:常见协议有TCP/UDP协议。

    网络层:常见的协议有IP协议、ICMP协议、IGMP协议

    链路层:常见的协议有ARP协议、RARP协议。

    TCP:传输控制协议 是一种面向连接的、可靠的、基于字节流的传输层通信协议。

    UDP: 用户数据报协议 是OSI参考模型中一种无连接的传输层协议,提供面向事务的简单的不可靠信息传递服务。

    HTTP:超文本传输协议 是互联网上应用最为广泛的一种网络协议。

    FTP:文件传输协议。

    IP协议是因特网互联网协议。

    ICMP协议是Internet控制报文协议,它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。

    ARP协议是正向地址解析协议,通过已知的IP,寻找对应主机的MAC地址。

    RARP是反向地址转换协议,通过MAC地址确定IP地址。

网络分层架构/模型

   为了减少协议设计的复杂性,大多数网络模型均采用分层的方式来组织。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持。每一层利用下一层提供的服务来为上一层提供服务,本层服务的实现细节对上一层屏蔽。  如下左图。

    每一层都是为了完成一种功能,为了实现这些功能,就需要都遵守共同的规则,大家都遵守的规则就叫做“协议”。

    网络的每一层,都定义了很多协议。这些协议的总称,叫“TCP/IP”协议。TCP/IP协议是一个大家族,不仅仅只有TCP和IP协议,它还包括其他协议,如   下右图。

网络编程-网络概述_第1张图片   网络编程-网络概述_第2张图片

   各层功能:

      链路层:ARP

                    源mac-----目标mac

                    ARP协议作用:借助IP获取mac地址。

      网络层:IP

                    源ip-----目标ip

                    IP协议的作用:在网络环境中唯一标识一台主机。

                    IP地址本质:二进制数。

      传输层:TCP/IP

                    port-----在一台主机上唯一标识一个进程

      应用层:ftp、http、自定义

                    对数据进行封装,解封装。

  数据通信过程:

     封装:  从 应用层--->传输层--->网络层--->链路层     

网络编程-网络概述_第3张图片

     解封装:从 链路层--->网络层--->传输层--->应用层 

网络编程-网络概述_第4张图片

   总结通信过程:

      1.mac地址(不需要用户指定):(ARP协议)ip---->mac

      2.ip地址(需要用户指定):确定主机

      3.port端口号(需要用户指定):确定进程(程序)

              65535为端口上限。

 

你可能感兴趣的:(网络编程,go网络编程)