TCP/IP协议

ISO推出OSI协议,七层:物理层,数据链路层,网络层,传输层,回话层,表示层,应用层。

TCP/IP参考ISO/OSI

应用层HTTP,FTP,DNS,NFS,...
传输层TCP,UDP(协议较少)
网络层IP,ARP,RARP,ICMP,IGMP(协议较少)
链路层Ethernet,Token Ring,FDDI,...

1.链路层

包括网络接口卡以及驱动程序,主要处理物理接口细节。

目标MAC地址(6B)源MAC地址(6B)类型(2B)数据(46~1500B)CRC(4B)

2.网络层

负责获取和维护主机的IP地址

IPv4地址=网络地址+主机地址

网络地址=IPv4地址&子网掩码

二进制全为0与全为1不能作为网络或者主机部分的地址

IPv4地址类型

类型第一个字节网络地址长度主机地址长度子网掩码
二进制形式十进制
A0xxxxxxx0~127824255.0.0.0
B10xxxxxx128~1911616255.255.0.0
C110xxxxx192~223248255.255.255.0
D(用于组播通信)1110xxxx224~239   
E(保留地址,用于实验)1111xxxx240~255   

 

IPv4特殊地址
地址说明
10.0.0.0/8

私网地址,只可用于局域网。配合NAT技术用于

扩展IPv4地址

172.16.0.0/12
192.168.0.0/16
169.254.0.0/16 
127.0.0.0/8Loopback地址,测试本机网络功能
224.0.0.0/4IP组播地址
240.0.0.0/4 
255.255.255.255广播地址

 

IPv6表示方式:1.冒分十六进制表示法 2.0位压缩表示法 3.内嵌IPv4地址表示法

ARP协议:地址解析协议。将网络层的IP地址对应到链路层的网卡MAC地址

RARP协议:反向地址解析协议。局域网获取IP地址

ICMP协议:主机与路由之间传递消息

IGMP协议:管理组播组成员的加入和离开


3.传输层

为了区分多个进程,引入端口号来标记不同的进程。

端口号=服务器端口号+客户端端口号

服务器端口号=熟知端口号+登记端口号

网络层的IP定位到主机,端口号定位到进程。

UDP:适用于一次传输少量数据和偶尔出现错误对结果影响不大的服务

源端口目标端口长度校验和数据

 

TCP:三次握手建立连接,四次挥手断开连接。


4.应用层

HTTP:用于传输HTML数据。互联网中的主机都可以用HTML交互。

HTTPS:加密

FTP:文件的传输和共享。下载和上传

DNS:互联网域名解析服务

SMTP:简单邮件传输协议

POP3:邮局协议版本3,用于收信方获取邮件。离线式协议。

DHCP:动态主机配置协议。动态分配IP地址


python 用到的包

获取本机网卡MAC地址:uuid psutil

获取IP地址:psutil

获取局域网网关:netifaces

获取主机收发数据的统计信息:psutil

获取指定服务器端的HTTP响应报文:urllib

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值