我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python 网络通信协议/TCP,UD

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python 网络通信协议/TCP,UD

一.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)

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python 网络通信协议/TCP,UD

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

下载Word文档

猜你喜欢

python 网络通信协议/TCP,UD

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

第二十七天- 网络通信协议 TCP UD

1.网络通信协议  osi七层模型:按照分工不同把互联网协议从逻辑上划分了层级    socket层 2.理解socket:  Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一
2023-01-30

使用TCP协议在Go语言中进行网络通信

目前编程网上已经有很多关于Golang的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文《使用TCP协议在Go语言中进行网络通信》,也希望能帮助到大家,如果阅读完后真的对你学习Golang有帮助,欢迎动动手指,评论留言并分
使用TCP协议在Go语言中进行网络通信
2024-04-04

【网络原理】网络通信与协议

✨个人主页:bit me👇 ✨当前专栏:Java EE初阶👇 目 录 一. 网络发展史二. 网络通信基础1. IP地址2. 端口号3. 认识协议(核心概念)4. 五元组5.
2023-08-16

网络编程协议(TCP和UDP协议,粘包问

网络编程协议1.osi七层模型应用层  表示层  会话层  传输层  网络层  数据链路层  物理层2.套接字 socket 有两类,一种基于文件类型,一种基于网络类型3.Tcp和udp协议Tcp协议:面向连接,数据可靠,传输效率低,面向字
2023-01-30

网络协议分析-http/https/tcp/udp

文章目录 TCP三次握手/TCP三次挥手TCP三次握手TCP四次挥手完整报文 实例代码HttpSampleClientHttpSampleServerHttpsSampleClientHttpsSampleServerTcpSa
2023-08-30

网络传输模型/TCP协议/IP地址

基本模型层次划分需要说明的是在网络传输层TCP可靠而UDP不可靠传输层说明说明一: 作为Python开发,咱们都是在应用层的HTTP协议之上进行开发的。说明二: 网络编程,主要是了解我们Python能编写的最低的层次, 即传输层的基本情况。
2023-01-30

Java网络编程 - TCP通信

文章目录 TCP通信快速入门(一发一收)编写客户端代码编写服务器代码 多发多收多发多收(同时接受多个客户端)线程池优化 TCP通信 快速入门(一发一收) TCP协议回顾: TCP是一种面向连接,安全、可靠的
2023-08-16

Python网络编程之Python编写TCP协议程序的步骤

这篇文章主要介绍了Python网络编程编写TCP协议程序的开发步骤,通过实例代码介绍了TCP客户端程序开发,案例讲解多任务版TCP服务端程序开发,需要的朋友可以参考下
2022-11-13

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录