第3节网络编程

TCP/IP族 是一个协议族 不是两个协议

链路层 网络层 传输层 应用层

物理层 数据链路层 网络层 传输层 会话层表示层 应用层

端口

80端口分配给HTTP服务

21端口分配给FTP服务

知名端口 0-1023

动态端口 1024-65535

查看当前端口  # netstat -an

IP地址

ABC类地址  0 10 110  32位

D类地址用于多点广播 用于一次寻址一组计算机

私有IP 

10.0.0.0  10.255.255.255

172.16.0.0 172.31.255.255

192.168.0.0 -192.168.255.255

127.0.0.01-127.255.255.255 用于回路测试

套接字

函数 socket.socket 创建⼀个 socket,返回该 socket 的描述符,该函数带有两个参数:

Address Family:可以选择 AF_INET(⽤于 Internet 进程间通信) 或者AF_UNIX(⽤于同⼀台机器进程间通信),实际⼯作中常⽤AF_INET

Type:套接字类型,可以是 SOCK_STREAM(流式套接字,主要⽤于TCP 协议)或者 SOCK_DGRAM(数据报套接字,主要⽤于 UDP 协议)


Python3中  sendto()中 内容前面要加b  例如 sentto (b"haha",sendAddr)也就是 .encode("utf-8") 解码用 .encode("gb2312")

TFTP 

cmd_buf = struct.pack("!H8sb5sb",1,"test.jpg",0,"octet",0)  

网络协议部分

icmp  ping命令时使用

arp  根据ip找mac

rarp 根据mac找ip

tcp三次握手 必考

四次回首  先 C  后 S S  C接到最后一个S  发送确认  总共四次

DNS服务的底层为UDP

DHCP  自动分配IP  

TTL  路由器剩余转发次数

MSL  最长存活时间

计算密集型用多进程

io密集型用多线程或者协程

greenlet  = yield  类似c中的goto  假装出两条线程   

greenlet升级版: gevent  遇到耗时操作  自动切换 money.patch_all()写在最前面

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1三个相关数据结构. 关于socket的创建,首先需要分析socket这个结构体,这是整个的核心。 104 str...
    ice_camel阅读 7,891评论 1 8
  • 网络模型 物理层 物理层表示的是比特流传输,通常包括串口/COM口、并行/LPT口、USB、网线接口、电话线接口;...
    秋风弄影阅读 4,090评论 0 2
  • ·网络就是一种辅助双方或者多方能够连接在一起的工具 ·如果没有网络可想单机的世界是多么的孤单 2.使用网络的目的 ...
    chen_000阅读 1,513评论 0 1
  • tcp/ip简介 为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目...
    盛夏光年_49e9阅读 3,544评论 0 0
  • 1.UDP 1.1 网络通信概述 (1)什么是网络 ·网络就是一种辅助双方或者多方能够连接在一起的工具 ·如果没有...
    TENG书阅读 1,765评论 0 0

友情链接更多精彩内容