通过UDP探测端到端MTU

P_MTU_D(Path MTU Discovery)

socket的UDP功能,去发现端到端MTU

#!/usr/bin/env python3
#-*- encoding:utf8 -*-
#Used UDP to learn the MTU of the end_to_end PATH_MTU

import IN,argparse,socket

if not hasattr(IN,‘IP_MTU‘):
    raise RuntimeError(‘cannot perform MTU discovery on this combination‘)

def send_big_datagram(host,port):
    sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    sock.setsockopt(socket.IPPROTO_IP,IN.IP_MTU_DISCOVER,IN.IP_PMTUDISC_DO)
    sock.connect((host,port))
    try:
        sock.send(b‘#‘*65535)
    except socket.error:
        print("also,the datagram did not make it")
        max_mtu = sock.getsockopt(socket.IPPROTO_IP,IN.IP_MTU)
        print(‘Actual MTU:{}‘.format(max_mtu))

if __name__ == ‘__main__‘:
    parser = argparse.ArgumentParser(description=‘Send UDP Packet to Get PATH_MTU‘)
    parser.add_argument(‘host‘,help=‘the target host‘)
    parser.add_argument(‘-p‘,metavar=‘port‘,type=int,default=1060,help=‘UDP port((default 1060)‘)
    args = parser.parse_args()
    send_big_datagram(args.host,args.p)
时间: 2024-12-19 11:27:10

通过UDP探测端到端MTU的相关文章

socket 网络编程快速入门(二)教你编写基于UDP/TCP的服务端多线程通信

在上一篇博文中,我们介绍了利用socket进行简单的UDP/TCP的服务端和客户端的通信. (一) 在基于UDP的程序中,你有没有想过,如果我的这台主机在通讯的时候要求既能够收到别的主机发来的数据,又能够自己向目的主机发出数据,该怎样实现?也就是说需要两个while循环同时进行.答案是使用多线程,一个线程用于接受数据,另一个线程用来发送数据.接下来我们介绍WinSock的多线程编程. 多线程的实现我们使用_beginthread()函数: uintptr_t _beginthread( void

黑马程序员——UDP接收端与发送端

看了Socket的网络编程,感觉这个东西好神奇啊 下面是Socket的发送端: /*  Socket编程,发送端 1.建立Socket发送端的端口,DatagramSocket 2.将数据进行封装,加入接收端地址和端口号,DatagramPacket 3.发送数据包send() 4.关闭资源 */ import java.io.*; import java.net.*; public class SocketSend{ public static void main(String [] args

QUdpSocket-Qt使用Udp通讯实现服务端和客户端

版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QUdpSocket-Qt使用Udp通讯实现服务端和客户端     本文地址:http://techieliang.com/2017/12/532/ 文章目录 1. QNetworkDatagram 2. 客户端 3. 服务端 4. 消息收发 1. QNetworkDatagram qt网络报文,可用其建立一个通讯内容包括目标ip.端口号.数据内容.同时接收到的信息也未此类型,可以访问接收数

端到端协议

端到端协议 第五章 从前几章研究的主机到主机的分组传递服务到转向进程到进程之间的通信信道,这正是网络体系结构中传输层(transport)的任务,由于它支持端点应用程序之间的通信,因此传输层协议有时也被称为端到端(end to end)协议. 因特网提供尽力而为(best-effort)的服务,为满足应用程序所需的高级服务,不同传输层协议用于不同的算法组合.代表性的4种有:一个简单的异步多路分解服务,一个可靠的字节流服务,一个请求/应答服务和一个用于实时应用的服务. 5.1 简单的多路分解协议

端到端 vs 点到点

比较(转自 百度经验) 端到端与点到点是针对网络中传输的两端设备间的关系而言的.端到端传输指的是在数据传输前,经过各种各样的交换设备,在两端设备问建立一条链路,就僚它们是直接相连的一样,链路建立后,发送端就可以发送数据,直至数据发送完毕,接收端确认接收成功. 点到点系统指的是发送端把数据传给与它直接相连的设备,这台设备在合适的时候又把数据传给与之直接相连的下一台设备,通过一台一台直接相连的设备,把数据传到接收端. 端到端传输的优点是链路建立后,发送端知道接收设备一定能收到,而且经过中间交换设备时

CCIE学习笔记之端到端QOS

Class-map默认行为match-all Match protocol http mime "*/audio/*" Match protocol http mime "*/video/*"  //分类器寻找特殊类型的音频和视频mime流量 Match protocol http "*.jpg|*.jpeg"     //匹配图片流量 注:MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自

Kafka端到端审计

概述 Kafka端到端审计是指生产者生产的消息存入至broker,以及消费者从broker中消费消息这个过程之间消息个数及延迟的审计,以此可以检测是否有数据丢失,是否有数据重复以及端到端的延迟等. 目前主要调研了3个产品: Chaperone (Uber) Confluent Control Center(非开源,收费) Kafka Monitor (LinkedIn) 对于Kafka端到端的审计主要通过: 消息payload中内嵌时间戳timestamp 消息payload中内嵌全局index

端到端流程解决方案

一.需求分析 1企业规模的不断发展.管理水平的不断提升,通常伴随着企业各业务板块管理分工更细.更专业,IT系统同样越来越多.越来越专 业化.不可避免的,部门墙和信息孤岛出现了,企业的流程被部门或者IT系统割裂. 2通常,企业端到端流程的实现从核心的业务流程开始,比如:制造行业的产品研发流程.订单管理流程, 地产行业的采购招标流程.合同管理流程,地产经纪的房产交易流程等等,通过核心业务流程的端到端管理,提升核心业务的管理水平,提 升核心竞争力. 3打破组织与IT系统边界,把流程从职能组织的背后移到

[Asp.net 开发系列之SignalR篇]专题二:使用SignalR实现酷炫端对端聊天功能

一.引言 在前一篇文章已经详细介绍了SignalR了,并且简单介绍它在Asp.net MVC 和WPF中的应用.在上篇博文介绍的都是群发消息的实现,然而,对于SignalR是为了实时聊天而生的,自然少了不像QQ一样的端对端的聊天了.本篇博文将介绍如何使用SignalR来实现类似QQ聊天的功能. 二.使用SignalR实现端对端聊天的思路 在介绍具体实现之前,我先来介绍了使用SignalR实现端对端聊天的思路.相信大家在前篇文章已经看到过Clients.All.sendMessage(name,