iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 网络通信协议/TCP,UD
  • 148
分享到

python 网络通信协议/TCP,UD

通信协议网络python 2023-01-30 23:01:45 148人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

一.osi七层协议 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 协议具体内容   各层的功能简述: 【1】物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率

一.osi七层协议

互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层

协议具体内容

 

各层的功能简述:
    【1】物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换),这一层的数据叫做比特。

  【2】数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问,这一层通常还提供错误检测和纠正,以确保数据的可靠传输。

  【3】网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择,Internet的发展使得从世界各站点访问信息的用户数大大增加,而网络层正是管理这种连接的层。

  【4】传输层:定义了一些传输数据的协议和端口号(WWW端口80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的), 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组,常常把这一层数据叫做段。

  【5】会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路,主要在你的系统之间发起会话或者接受会话请求(设备之间需要互相认识可以是IP也可以是Mac或者是主机名)。

  【6】表示层:可确保一个系统的应用层所发送的信息可以被另一个系统的应用层读取。例如,PC程序与另一台计算机进行通信,其中一台计算机使用扩展二一十进制交换码(EBCDIC),而另一台则使用美国信息交换标准码(ASCII)来表示相同的字符。如有必要,表示层会通过使用一种通格式来实现多种数据格式之间的转换。

  【7】应用层: 是最靠近用户的OSI层,这一层为用户的应用程序(例如电子邮件、文件传输和终端仿真)提供网络服务。

各层中涉及的协议的简单解释:
应用层
  ·DHCP(动态主机分配协议)
  · DNS (域名解析)
  · FTP(File Transfer Protocol)文件传输协议
  · Gopher (英文原义:The Internet Gopher Protocol 中文释义:(RFC-1436)网际Gopher协议)
  · Http (Hypertext Transfer Protocol)超文本传输协议
  · IMAP4 (Internet Message Access Protocol 4) 即 Internet信息访问协议的第4版本
  · IRC (Internet Relay Chat )网络聊天协议
  · NNTP (Network News Transport Protocol)RFC-977)网络新闻传输协议
  · XMPP 可扩展消息处理现场协议
  · POP3 (Post Office Protocol 3)即邮局协议的第3个版本
  · SIP 信令控制协议
  · SMTP (Simple Mail Transfer Protocol)即简单邮件传输协议
  · SNMP (Simple Network Management Protocol,简单网络管理协议)
  · ssh (Secure shell安全外壳协议
  · TELNET 远程登录协议
  · rpc (Remote Procedure Call Protocol)(RFC-1831)远程过程调用协议
  · RTCP (RTP Control Protocol)RTP 控制协议
  · RTSP (Real Time Streaming Protocol)实时流传输协议
  · TLS (Transport Layer Security Protocol)安全传输层协议
  · SDP( Session Description Protocol)会话描述协议
  · SOAP (Simple Object Access Protocol)简单对象访问协议
  · GTP 通用数据传输平台
  · STUN (Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议
  · NTP (Network Time Protocol)网络校时协议
传输层
  ·TCP(Transmission Control Protocol)传输控制协议
  · UDP (User Datagram Protocol)用户数据报协议
  · DCCP (Datagram Congestion Control Protocol)数据报拥塞控制协议
  · SCTP(STREAM CONTROL TRANSMISSION PROTOCOL)流控制传输协议
  · RTP(Real-time Transport Protocol或简写RTP)实时传送协议
  · RSVP (Resource ReSer Vation Protocol)资源预留协议
  · PPTP ( Point to Point Tunneling Protocol)点对点隧道协议
网络层
IP(IPv4 · IPv6) Internet Protocol(网络之间互连的协议)
ARP : Address Resolution Protocol即地址解析协议,实现通过IP地址得知其物理地址。
RARP :Reverse Address Resolution Protocol 反向地址转换协议允许局域网的物理机器从网关服务器的 ARP 表或者缓存上请求其 IP 地址。
ICMP :(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
ICMPv6:
IGMP :Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于IP 主机向任一个直接相邻的路由器报告他们的组成员情况。
RIP : 路由信息协议(RIP)是一种在网关与主机之间交换路由选择信息的标准。
OSPF : (Open Shortest Path First开放式最短路径优先).
BGP :(Border Gateway Protocol )边界网关协议,用来连接Internet上独立系统的路由选择协议
IS-IS:(Intermediate System to Intermediate System Routing Protocol)中间系统到中间系统的路由选择协议.
IPsec:“Internet 协议安全性”是一种开放标准的框架结构,通过使用加密的安全服务以确保在 Internet 协议 (IP) 网络上进行保密而安全的通讯。
数据链路层
  802.11 · 802.16 · Wi-Fi · WiMAX · ATM · DTM · 令牌环 · 以太网 · FDDI · 帧中继 · GPRS · EVDO · HSPA · HDLC · PPP · L2TP · ISDN
物理层
  以太网物理层 · 调制解调器 · PLC · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线

各层功能及协议的简单解释
各层功能及协议的简单解释

 

 

 

 

 

五层通信流程图

 

二.TCP,UDP区别

1.TCP三次握手 四次挥手

 

2.TCP/UDP下的Socket

TCP服务端(多人聊天版)

 1 import socket
 2 
 3 server = socket.socket()
 4 
 5 server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)  # 重用这个端口
 6 
 7 ip_port = ('127.0.0.1',8001)
 8 
 9 server.bind(ip_port)
10 
11 server.listen(3)
12 
13 while 1:
14     conn, addr = server.accept()
15 
16     while 1:
17         from_client_msg = conn.recv(1024)
18         print('来自宝宝的消息:',from_client_msg.decode('utf-8'))
19 
20         if from_client_msg.decode('utf-8') == 'byebye':
21             break
22 
23         to_client_msg = input('高望>>>')
24         conn.send(to_client_msg.encode('utf-8'))
25 
26     conn.close()

TCP客户端(多人聊天版)

 1 import socket
 2 
 3 client = socket.socket()  # 创建对象
 4 
 5 ip_port = '127.0.0.1', 8001  # 设置IP地址
 6 
 7 client.connect(ip_port)  # 绑定IP地址
 8 
 9 while 1:  # 循环
10     to_server_msg = input('宝宝说:')  # 输入发给服务端要说的话
11 
12     client.send(to_server_msg.encode('utf-8'))  # 发送上面输入的话到服务端
13 
14     if to_server_msg == 'byebye':  # 判断输入的话如果是byebye 则跳出循环
15 
16         break
17 
18     from_server_msg = client.recv(1024)  # 获取服务端发过来的内容
19 
20     print('来自高望的消息:',from_server_msg.decode('utf-8'))  # 打印获取到的服务端信息
21 
22 
23 client.close()

UDP服务端(多人聊天版)

import socket

udp_server = socket.socket(type = socket.SOCK_DGRAM)  # datagram

ip_port = ('127.0.0.1', 8002)

udp_server.bind(ip_port)

while 1:
    from_client_msg, client_addr = udp_server.recvfrom(1024)

    print(from_client_msg.decode('utf-8'),client_addr)


    to_client_msg = input('服务端说;')

    udp_server.sendto(to_client_msg.encode('utf-8'), client_addr)

UDP客户端(多人聊天版)

 1 import socket
 2 
 3 udp_client = socket.socket(type = socket.SOCK_DGRAM)
 4 
 5 ip_port = ('127.0.0.1', 8002)
 6 
 7 while 1:
 8     to_server_msg = input('客户端说:')
 9 
10     udp_client.sendto(to_server_msg.encode('utf-8'), ip_port)
11 
12     from_server_msg, server_addr = udp_client.recvfrom(1024)
13 
14     print(from_server_msg.decode('utf-8'), server_addr)

 

--结束END--

本文标题: python 网络通信协议/TCP,UD

本文链接: https://www.lsjlt.com/news/180678.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 网络通信协议/TCP,UD
    一.osi七层协议 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 协议具体内容   各层的功能简述: 【1】物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率...
    99+
    2023-01-30
    通信协议 网络 python
  • 第二十七天- 网络通信协议 TCP UD
        1.网络通信协议   osi七层模型:按照分工不同把互联网协议从逻辑上划分了层级       socket层   2.理解socket:   Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计...
    99+
    2023-01-30
    通信协议 十七天 网络
  • Python 基于TCP 传输协议的网络通信实现方法
    目录1、基础概念1.1 协议1.2 IP 地址1.3 端口2、TCP 网络编程实现2.1 服务器端编程2.2 客户端编程3 总结1、基础概念 什么是网络编程? 指在网络环境中,如何实...
    99+
    2022-11-13
  • 【网络原理】网络通信与协议
    ✨个人主页:bit me👇 ✨当前专栏:Java EE初阶👇 目 录 一. 网络发展史二. 网络通信基础1. IP地址2. 端口号3. 认识协议(核心概念)4. 五元组5....
    99+
    2023-08-16
    网络 java java-ee
  • 网络编程协议(TCP和UDP协议,粘包问
    网络编程协议 1.osi七层模型 应用层  表示层  会话层  传输层  网络层  数据链路层  物理层 2.套接字 socket  有两类,一种基于文件类型,一种基于网络类型 3.Tcp和udp协议 Tcp协议:面向连接,数据可靠,传输...
    99+
    2023-01-30
    协议 网络编程 TCP
  • Java基于TCP协议的Socket通信
    目录简介TCP简介JAVA Socket简介SocketImpl介绍TCP 编程构造ServerSocket1.1 绑定端口1.2 设定客户连接请求队列的长度1.3 设定绑定的IP ...
    99+
    2022-11-12
  • 网络协议分析-http/https/tcp/udp
    文章目录 TCP三次握手/TCP三次挥手TCP三次握手TCP四次挥手完整报文 实例代码HttpSampleClientHttpSampleServerHttpsSampleClientHttpsSampleServerTcpSa...
    99+
    2023-08-30
    网络协议 http https tcp upd
  • JavaTCP网络通信协议详细讲解
    TCP与UDP都属于TCP/IP协议 TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的...
    99+
    2022-11-13
  • 【Python爬虫与数据分析】UDP/TCP通信协议
    目录 一、网络编程基础 二、UDP协议 三、TCP协议 一、网络编程基础 数据编码与解码 str -> bytes:encode编码,发送信息的时候用encode编码bytes -> str:decode解码,打印接收的信息用decod...
    99+
    2023-09-06
    python udp tcp/ip 网络通信
  • 详解计算机网络TCP/IP协议
    这篇文章主要介绍“详解计算机网络TCP/IP协议”,在日常操作中,相信很多人在详解计算机网络TCP/IP协议问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”详解计算机网络TCP...
    99+
    2022-10-19
  • Java网络编程之基于TCP协议
    目录一、单向通信二、双向通信三、对象流传送四、加入完整的处理异常方式五、多线程接收用户请求一、单向通信 功能:客户端发送一句话到服务器: 客户端: public class ...
    99+
    2022-11-12
  • 【计算机网络】传输层协议——TCP(中)
    文章目录 1. 三次握手三次握手的本质是建立链接,什么是链接?整体过程三次握手过程中报文丢失问题为什么2次握手不可以?为什么要三次握手? 2. 四次挥手整体过程为什么要等待2MSL 3...
    99+
    2023-09-20
    计算机网络 tcp/ip 网络
  • 【计算机网络】传输层协议——TCP(下)
    文章目录 1. 拥塞控制慢启动滑动窗口最终大小为什么采用指数增加的方案,来设计对应的拥塞窗口的增加速度? 2. 延迟应答3. 粘包问题4. TCP异常情况(面试题)进程终止机器重启网线断开...
    99+
    2023-09-20
    计算机网络 tcp/ip
  • 网络传输模型/TCP协议/IP地址
    基本模型 层次划分 需要说明的是在网络传输层TCP可靠而UDP不可靠 传输层说明 说明一: 作为Python开发,咱们都是在应用层的HTTP协议之上进行开发的。 说明二: 网络编程,主要是了解我们Python能编写的最低的层次, 即...
    99+
    2023-01-30
    网络传输 模型 协议
  • .NET网络编程——TCP通信
    一、网络编程的基本概念 : 1. 网络         就是将不同区域的电脑连接到一起,组成局域网、城域网或广域网。把分部在不同地理区域的计算机于专门的外部设备用通信线路 互联成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相...
    99+
    2023-08-31
    网络 tcp/ip 服务器 .net eclipse java
  • Java网络编程 - TCP通信
    文章目录 TCP通信快速入门(一发一收)编写客户端代码编写服务器代码 多发多收多发多收(同时接受多个客户端)线程池优化 TCP通信 快速入门(一发一收) TCP协议回顾: TCP是一种面向连接,安全、可靠的...
    99+
    2023-08-16
    网络 tcp/ip java
  • Python网络编程之Python编写TCP协议程序的步骤
    目录TCP客户端程序开发1. 开发 TCP 客户端程序开发步骤回顾2. socket 类的介绍3. TCP 客户端程序开发示例代码执行结果:TCP服务端程序开发1. 开发 TCP 服...
    99+
    2022-11-13
    Python TCP协议程序 Python 网络编程TCP协议
  • 2023/4/4 常见的五种网络通信协议
    目录 一、Http协议 二、Https协议 三、Socket协议 四、WebSocket协议 五、WebService协议 六、总结 一、Http协议 HTTP协议是一种应用层协议,它是基于TCP/IP协议的,主要用于Web应用程序中的...
    99+
    2023-09-13
    服务器 网络 运维
  • Java中如何使用HTTP协议进行网络通信?
    Java作为一种广泛使用的编程语言,为我们提供了很多便利的网络编程工具。其中,HTTP协议是网络通信中最常见的协议之一。在这篇文章中,我们将会介绍Java中如何使用HTTP协议进行网络通信,以及一些实用的技巧。 首先,我们需要知道Java中...
    99+
    2023-06-14
    http numpy 索引
  • 如何使用WebSocket网络通信协议开发聊天室
    本篇内容主要讲解“如何使用WebSocket网络通信协议开发聊天室”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用WebSocket网络通信协议开发聊天室...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作