1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > python网络编程(初识tcp和udp)

python网络编程(初识tcp和udp)

时间:2018-07-30 02:52:27

相关推荐

python网络编程(初识tcp和udp)

前置知识

1、广域网

网络连接

2、路由器

路由器(Router),是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。 路由器是互联网络的枢纽,"交通警察"。目前路由器已经广泛应用于各行各业,各种不同档次的产品已成为实现各种骨干网内部连接、骨干网间互联和骨干网与互联网互联互通业务的主力军。路由和交换机之间的主要区别就是交换机发生在OSI参考模型第二层(数据链路层),而路由发生在第三层,即网络层。这一区别决定了路由和交换机在移动信息的过程中需使用不同的控制信息,所以说两者实现各自功能的方式是不同的。

路由器(Router)又称网关设备(Gateway)是用于连接多个逻辑上分开的网络,所谓逻辑网络是代表一个单独的网络或者一个子网。当数据从一个子网传输到另一个子网时,可通过路由器的路由功能来完成。因此,路由器具有判断网络地址和选择IP路径的功能,它能在多网络互联环境中,建立灵活的连接,可用完全不同的数据分组和介质访问方法连接各种子网,路由器只接受源站或其他路由器的信息,属网络层的一种互联设备。

3、局域网

局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。

4、子网掩码

所谓”子网掩码”,就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。比如,IP地址172.16.10.1,如果已知网络部分是前24位,主机部分是后8位,那么子网络掩码就是11111111.11111111.11111111.00000000,写成十进制就是255.255.255.0。

知道”子网掩码”,我们就能判断,任意两个IP地址是否处在同一个子网络。方法是将两个IP地址与子网掩码分别进行AND运算(两个数位都为1,运算结果为1,否则为0),然后比较结果是否相同,如果是的话,就表明它们在同一个子网络中,否则就不是。

比如,已知IP地址172.16.10.1和172.16.10.2的子网掩码都是255.255.255.0,请问它们是否在同一个子网络?两者与子网掩码分别进行AND运算,172.16.10.1:10101100.00010000.00001010.000000001255255.255.255.0:11111111.11111111.11111111.00000000AND运算得网络地址结果:10101100.00010000.00001010.000000001->172.16.10.0172.16.10.2:10101100.00010000.00001010.000000010结果都是172.16.10.0,因此它们在同一个子网络。

总结:IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。

交换机

mac地址

局域网

5、协议

是由多人指定的一种规则。在python中通过socket 模块去操作tcp和udp协议。

TCP协议:安全可靠的通信方式,面向连接

UDP:不安全,不可靠的通信方式,但速度快

ip地址:127.0.0.1 回环地址:无论什么时候,都可以代表本机的ip地址(只限在本机使用)

一、tcp协议

三次握手:注意必须是client先发起请求①client发送给sever我想连接你,可以么

②server回复client,可以,我也想连接你,可以么

③client回复server,可以

四次挥手:谁先发起要求都可以①client发送请求:我准备断开了,我没有数据需要发送了,如果你有数据可以继续发给我

② server回复:确认接收到你的请求,我开始着手准备断开的事宜

③server回复:我准备好了,你随时可以断开连接

④client回复:断开连接吧

二、OSI五层模型

应用层:py文件、http、fhttp传输层:tcp/udp网络层:ip协议数据链路层:arp协议、网卡物理层:网线、集线卡、光纤三、tcp和udp的对比

TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。

UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。