python 网络编程_python网络编程基础概念

python 网络编程_python网络编程基础概念_第1张图片

网络通信标识符

1.IP :使用域名服务器(DNS)可将域名转换为IP

>IP:用于标记网络通信中不同网卡的身份.

2.端口号:在网络中服务类型必须和端口号对应

>80端口是Web服务的标准端口

>SMTP服务是25端口

>FTP服务是21端口

>端口号大于1024的,可以任意使用

3.地址参数:地址=IP+端口.在AF_INET下,以元组(ip,port)的形式表示地址

IP或域名(会自动转为IP),为字符串格式

端口port为int型如80

* 一个地址参数可以准确定位到该局域网下的一个进程

网络分类

1.网络通信最小单位-网卡

2.局域网(内网):局域网是由一个以上网卡组成的网络。

>0.0.0.0表示该局域网下的任意回环网的IP地址

3.广域网(外网):广域网是由世界组织建立的,世界上独一无二。

套接字socket

1.定义

用一个Socket表示“打开一个网络链接”,必须要绑定IP地址参数元组和指定协议类型。

2.TCP/UDP中的socket

>在TCP协议中的socket

由客户端和服务端分别创建socket,在完成连接后,客户端的socket会变为连接socket,服务端的也会返回一个新的socket(即连接socket)

* 对于连接socket:

-sk.getpeername()返回连接套接字的远程地址元组

-sk.getsockname()返回套接字本地的地址元组

>在UDP协议中的socket

在UDP协议中,客户端和服务端的socket是相同的

3.注意

>两个socket不能绑定在同一个IP下,可以绑定在同一网卡的不同IP下

E.TCP/IP协议族

1.应用层:负责产生相应格式的数据 ssh ftp nfs cifs dns http smtp pop3

>http协议:

获取网页'GET/HTTP/1.1\r\nHost:\r\nConnection: close\r\n\r\n'

2.传输层:UDP和TCP

>TCP流协议:

·特点:在客户端和服务端间建立连接,字节可以通过该连接顺序写出

·socket类型:客户端socket服务端socket连接socket

·服务器IP:bind绑定

·客户端IP:由socket分配确定

>UDP数据报协议:

·特点:不需要在客户端和服务端建立连接,它只在地址间传输报文

·socket类型:客户端socket服务端socket

3.网络层:连接不同的网络如以太网、令牌环网.IP ICMP IGMP ARP

4.数据链路层:以太网传输

5.物理层:主要任务是规定各种传输介质和接口与传输信号相关的特性

*.Socket是TCP/IP协议族通信的中间软件抽象层,它是一组接口。

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