; ; RIR Transfer Log ; ; This is a ruleset for describing the transfers of Autonomous System ; Numbers and IP address networks transacted through Regional Internet ; Registries (RIRs). ; ; This ruleset conforms to JSON Content Rules, defined here: ; https://tools.ietf.org/html/draft-newton-json-content-rules-07 ; # jcr-version 0.7 # ruleset-id rir_xfer_stats ; ; The root of this JSON is a JSON object containing ; version information followed by the transfer information. ; { $version , $transfers } ; ; Describes the version of the file. ; This object is a member of the top level object. ; $version = "version" : { ; Denotes version 4.0 "stats_version" : "4.0" , ; Who produced the file: either one of the RIRs or the NRO "producer" : ( $rir | "NRO" ) , ; UTC offset of the producer. "UTC_offset" : -12..12 , ; Date and time the file was produced "production_date" : datetime , ; The period from which the records of this file are covered. "records_interval" : { "start_date" : datetime , "end_date" : datetime } , ; An optional array of strings, where each string contains a semantic distinct ; prose (in some contexts, these might be called paragraphs). ; This is where a producer would put copyright notices, terms of ; service for the data, and production notes. "remarks" : [ string * ] ? } ; ; Transfers is an array of transfer objects. ; $transfers = "transfers" : [ $transfer * ] $transfer = { ; The original_set describes the set of resources in the registry from which ; the transfer_set is taken. While these sets are often equivalent, the ; original_set can be larger than the transfer_set. There are transfers in ; which the original_set is unknown, such as transfer to an RIR from another ; RIR. That is, the receiving RIR may not have have knowledge of the original_set ; in the registry of the source RIR. "asns" : { "original_set" : $asn_set ? , "transfer_set" : $asn_set } ?, "ip4nets" : { "original_set" : $ip4_set ? , "transfer_set" : $ip4_set } ?, "ip6nets" : { "original_set" : $ip6_set ? , "transfer_set" : $ip6_set } ?, "source_organization" : $organization ? , "recipient_organization" : $organization ? , ; date of the transfer "transfer_date" : datetime ? , ; date of the registration of source resources ; in the source RIR before the transfer "source_registration_date" : datetime ? , "source_rir" : $rir , "recipient_rir" : $rir , ; The type of transfer. "type" : ( "MERGER_ACQUISITION" | "RESOURCE_TRANSFER" ) } ; ; An array of objects, each representing a continguous block ; of autonomous system numbers. $asn_set = [ { ; The first autonomous system number in the contiguous block. "start" : int32 , ; The last autonomous system number in the contiguous block. "end" : int32 } * ] ; ; An array of objects, each representing a contiguous block of IPv4 ; addresses. ; $ip4_set = [ { ; Start IP address "start_address" : ipv4 , ; End IP address "end_address" : ipv4 , ; An optional array for IPv4 CIDR blocks which make up this ; IP block "cidrs" : [ { "prefix" : ipv4 , "length" : 0..32 } + ] ? } * ] ; ; An array of objects, each representing a contiguous block of IPv6 ; addresses. ; $ip6_set = [ { ; Start IP address "start_address" : ipv6 , ; End IP address "end_address" : ipv6 , ; An optional array for IPv6 CIDR blocks which make up this ; IP block "cidrs" : [ { "prefix" : ipv6 , "length" : 0..128 } + ] ? } ] ; ; The list of the RIRs. ; $rir = ( "AFRINIC" | "APNIC" | "ARIN" | "LACNIC" | "RIPE NCC" ) ; ; Represents an organization that is either the source of the transfer ; or the recipient of the transfer ; $organization = { ; Name of the organization "name" : string ? , ; 2 letter country code, same as 2.3 "country_code" : /[A-Z]{2}/ ? }