首页 > 技术文章 > 网络基础知识

zhyLeos 2018-04-20 14:23 原文

一、OSI七层模型

  OSI网络模型是一个开放式系统互联的参考模型。参考模型如下(摘自《Visual C++网络编程开发与实战》):

  

  每层功能概述:

  1. 物理硬件层:表示计算机网络中的物理设备。常见的有计算机网卡等。物理层的媒体包括架空明线、平衡电缆、光纤、无线信道等。

  2. 数据链路层:将传输数据进行压缩与解压缩。链路产品包括网卡,网桥等。

  3. 网络层:将传输数据进行网络传输。

  4. 数据传输层:进行信息的网络传输。协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层。

  5. 会话层:建立物理网络的连接

  6. 表示层:将传输数据以某种格式进行表示

  7. 应用层:应用程序接口。协议有:HTTP FTP TFTP SMTP SNMP DNS

二、 TCP/IP协议

  包含了FTP(文件传输协议)、SMTP(邮件传输协议)等应用层协议。

  四层模型:

  功能概述:  

    应用层:向用户提供一组常用的应用程序,比如电子邮件、文件传输访问、远程登录等。远程登录TELNET使用TELNET协议提供在网络其它主机上注册的接口。TELNET会               话提供了基于字符的虚拟终端。文件传输访问FTP使用FTP协议来提供网络内机器间的文件拷贝功能。

    数据传输层:格式化信息流;提供可靠传输。实现“三次握手”。传输层协议主要是:传输控制协议TCP(Transmission Control Protocol)和用户数据报协议UDP(User Datagram                 protocol)。

    网络层:处理来自传输层的分组发送请求,收到请求后,将分组装入IP数据报,填充报头,选择去往信宿机的路径,然后将数据报发往适当的网络接口。处理输入数据报:                首先检查其合法性,然后进行寻径--假如该数据报已到达信宿机,则去掉报头,将剩下部分交给适当的传输协议;假如该数据报尚未到达信宿,则转发该数据报。处理路径、               流控、拥塞等问题。网络层包括:IP(Internet Protocol)协议、ICMP(Internet Control Message Protocol)。

    数据链路层:负责接收IP数据包并通过网络发送,或者从网络上接收物理帧,抽出IP数据包,交给IP层。

  在数据传输层中包含了TCP和UDP协议。其中,TCP协议是基于面向连接的可靠的通信协议,它具有重发机制,即当数据被破坏或者丢失时,发送方将重发该数据。而UDP协议发送一条消息时,并不知道该消息已经发送到达接收方,或者在传输过程中是否已经丢失。但是在即时通信中,UDP协议在一些对时间要求比较高的网络数据传输方面有着重要的作用。

三、C/S编程模式

  C/S变成模式是基于可靠连接的通信模式。

四、 网络编程基础

  在实际编程过程中,通信双方的连接以及数据通信均是基于Socket(套接字)进行的。

1. Socket套接字

  网络通信双方各有特定的套接字,并且该套接字与特定的IP地址和端口号相关联。通常,套接字有两种乐行,分别是:流式套接字(SOCK_STREAM)和数据报套接字(SOCK_DGRAM)。其中流式套接字专门用于使用TCP协议通信的应用程序中,而数据报套接字则专门用于UDP协议进行通信的应用程序中。

2. 网络字节顺序

  网络字节顺序是指TCP/IP协议中规定的数据传输使用格式,与之相对的字节顺序是主机字节顺序。网络字节顺序首先将数据中最重要的字节进行存储。

五、 网络通信基本流程

  通过互联网通信的用户至少需要一对套接字(ClientSocket和ServerSocket)。套接字之间的连接过程分为:服务器监听、客户端请求和连接确认。

 

推荐阅读