网络编程

网络编程:

网络编程从大方面说就是对信息的发送到接受,中间传输为物理线路的作用。

网络编程最主要的工作就是在发送端把信息通过规定好的协议进行包装,在接受端按照规定好的协议把包进行解析;

从而提取出对应的信息,达到通信的目的。中间最主要的就是数据包的组装,数据包的过滤,数据包的捕获,数据包

的分析,当然最后再做一些处理,代码,开发工具,数据库,服务器架设和网页设计这五部分我们都需要了解。

软件架构:分为B/S架构和C/S架构。

B/S架构结构是随着互联网的发展,web出现后兴起的一种网络结构模式。这种模式统一了客户端,让核心的业务处

理在服务端完成。你只需要在自己电脑或手机上安装一个浏览器,就可以通过web Server与数据库进行数据交互。

b/s架构的b指的是浏览器,s指的是服务器。

C/S架构结构是一种软件系统体系结构,也是生活中很常见的。这种结构是将需要处理的业务合理地分配到客户端和

服务器端,这样可以大大降低通信成本,但是升级维护相对困难。比如我们手机中安装的微信、qq、王者荣耀等应

用程序就是C/S结构。

c/s的c指的是客户端,s指的是服务端。

OSI协议:

  OSI七层协议:

    应用层

    表示层

    会话层

    传输层

    网络层

    数据链路层

    物理连接层

简单化的OS[协议有五层分别是:

  OSI五层协议:

    应用层

    传输层

    网络层

    数据链路层

    物理连接层

物理链接层:

  是基于电信号传输0010101010二进制数据。

数据链路层:

  1.规定了电信号的分组方式。

  2.规定了任何一台接入互联网的计算机都必须有一块儿网卡。(这两点合称为以太网协议。)

每一块网卡呢它都有刻有世界上独一无二的编号,编号格式是用12位的16进制书写的;

前六位表示的是厂商编号,后六位表示的是流水线编号。

交换机呢它是基于以太网通讯,不能跨局域网通讯。而互联网是由N多个局域网彼此之间连接而成的。

网络层:

  也就是IP协议,规定了只要接入互联网的计算机都必须有一个IP地址。

  IP地址目前有两个版本:IPV4  IPV6(由于IPV4已经不够表示目前存在的计算机了 所以推出了IPV6版本)

  IP地址的特点是点分十进制

  IP地址最小为:0.0.0.0 

  IP地址最大:255.255.255.255

  IP地址是动态分配的

ip地址:用来唯一标识接入互联网的一台计算机

port端口:用来唯一标识一台计算机上的某个应用程序

ip+port:唯一标识接入互联网一台计算机上的某个应用程序

传输层 :
TCPUDP都是基于端口工作的协议
端口(port)
计算机与计算机之间其实是计算机上的应用程序与应用程序之间的通信
  端口:用来唯一标识一台计算机上的某个应用程序

  端口号的范围:0~65535

  需要注意的是:0~1024这些都是操作系统默认使用的端口号

  建议:使用8000之后的端口

  MySQL默认端口:3306

  Redis默认端口:6379

  django默认端口:8000

  flask默认端口:5000

  端口号是动态分配的

  第一次起qq分配到的是8989

  将qq关闭再次启动端口号可能就变了

应用层:
HTTP协议:

  HTTP是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以

及得到什么样的响应。


FTP协议:

  是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。


TCP协议

TCP指在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成对进程之

间依靠TCP提供可靠的通信服务。

流式协议,可靠协议

基于TCP协议通信 必选先建立双向通道

连接终止:

  建立一个连接需要三次握手,而终止一个连接要经过四次挥手。

三次握手建连接:



四次挥手断连接:

  

  

原文地址:https://www.cnblogs.com/sweet-i/p/11311991.html