1.网络编程的基本概念

1.协议

  协议就是通信双方的一个约定。一个简单的文件传输协议如下:

  (1)传送文件名,对方返回ok

  (2)传送文件大小,对方返回ok

  (3)传送文件内容1024字节,对方返回1024

  简单协议-----发展与完善----达到通用----指定标准协议------TCP/UDP.....

2.通信模式

  (1)C/S模式---客户端与服务端(体验效果好,需要下载,更新麻烦,开发成本高)

  (2)B/S模式---浏览器端与服务端(维护方便,开发成本低)

3.网络模型

  七层协议模型/四层协议模型

七层模型,从上到下各层的功能如下:

  应用层:为用户的应用程序提供网络服务。(DNS,FTP,HTTP)

  表示层:确保系统的应用层发送的信息可以被另一个系统的应用层读取,还可以用于多种数据格式的转换。(HTTP/HTML/FTP)

  会话层:通过传输层建立数据传输的链路。(SSH)

  传输层:定义数据传输协议以及端口号(TCP/UDP协议)。

  网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择。(IP(IPV4,IPV6),ICMP)

  数据链路层:定义了格式化数据传输的方式,以及如何控制对物理介质的访问,还可用于错误检测和纠正。(以太网,GPRS)

  物理层:定义物理设备标准,传输比特流。

四层模型:

  应用层:负责处理应用程序的逻辑。

  传输层:为两个主机上的应用程序提供端到端的通信,只关心通信的两端,不关心数据的传输过程。

  网络层:实现数据包的选录和转发。

  数据链路层:实现了网卡接口的网络驱动程序,以及处理物理数据在介质上的传输。

4.IP地址/端口号

  端口号是用来区分不同的网络进程的。常用5000-65536(unsigned short)。

  IP地址的分类:

    (1)A类地址 0+7数据类型 (0-127),0-255, 0-255,0-255(0.0.0.0 --- 127.255.255.255)。

    (2)B类地址 10+14数据位  0-255, 0-255(128.0.0.0 ----191.255.255.255

    (3)C类数据位 110+21数据位 0-255(192.0.0.0---223.255.255.255

    (4)D类地址 1110+28数据位 (224.0.0.0 ---- 239.255.255.255)组播地址

5.字节序

  

   网络中数据传输的过程

   如何判断系统是大端还是小端

unsigned int data =0x12345678
char *p = (char*)&data;  if(*p == 0x12)--大端

PS:哪里写错了请指正,互相学习。

原文地址:https://www.cnblogs.com/smallqizhang/p/12564179.html